Otomatik ölçeklendirme - Autoscaling - Wikipedia

Otomatik ölçeklendirme, ayrıca hecelendi otomatik ölçeklendirme veya otomatik ölçeklendirmeve bazen de denir otomatik ölçeklendirme, kullanılan bir yöntemdir Bulut bilişim bir sunucu çiftliğindeki hesaplama kaynaklarının miktarı, tipik olarak gruptaki yüke bağlı olarak otomatik olarak değişen etkin sunucuların sayısı ile ölçülür. Tipik olarak bu, kullanıcılar web sunucularınızda meşgul veya sessiz olduklarında ödediğiniz sunucu sayısının artması veya azalması anlamına gelir. Fikir ile yakından ilgilidir ve üzerine inşa edilir. yük dengeleme.[1][2]

Avantajlar

Otomatik ölçeklendirme aşağıdaki avantajları sunar:

  • Kendi web sunucusu altyapısını çalıştıran şirketler için, otomatik ölçeklendirme tipik olarak bazı sunucuların düşük yükte uykuya geçmesine izin vererek elektrik maliyetlerinden (ve ayrıca makineleri soğutmak için su kullanılıyorsa su maliyetlerinden) tasarruf anlamına gelir.[3]
  • Bulutta barındırılan altyapıyı kullanan şirketler için otomatik ölçeklendirme, daha düşük faturalar anlamına gelebilir çünkü çoğu bulut sağlayıcısı, maksimum kapasite yerine toplam kullanıma göre ücret alır.[4]
  • Herhangi bir zamanda çalıştırdıkları veya ödeme yaptıkları toplam bilgi işlem kapasitesini azaltamayan şirketler için bile, otomatik ölçeklendirme, şirketin düşük trafik zamanlarında otomatik ölçeklendirme ile serbest kalan makinelerde daha az zamana duyarlı iş yükleri çalıştırmasına yardımcı olabilir.[5]
  • Amazon Web Services tarafından sunulanlar gibi otomatik ölçeklendirme çözümleri, sağlıksız bulut sunucularının değiştirilmesiyle de ilgilenebilir ve dolayısıyla donanım, ağ ve uygulama hatalarına karşı bir şekilde koruma sağlayabilir.[6]
  • Otomatik ölçeklendirme, üretim iş yüklerinin değişken ve öngörülemez olduğu durumlarda daha fazla çalışma süresi ve daha fazla kullanılabilirlik sağlayabilir.

Otomatik ölçeklendirme, gerçek kullanım modellerine yanıt vermesi ve dolayısıyla trafik yükü için çok az veya çok fazla sunucuya sahip olmanın olası dezavantajını azaltması açısından sabit günlük, haftalık veya yıllık sunucu kullanımı döngüsünden farklıdır. Örneğin, trafik genellikle gece yarısı daha düşükse, statik bir ölçekleme çözümü bazı sunucuları gece uyumaya programlayabilir, ancak bu, insanların interneti daha fazla kullandığı bir gecede kesinti süresine neden olabilir (örneğin, bir virüs nedeniyle haber etkinliği). Öte yandan otomatik ölçeklendirme, beklenmedik trafik artışlarını daha iyi idare edebilir.[3][7]

Terminoloji

Aşağıdaki listede, tarafından kullanılan terminolojiyi kullanıyoruz Amazon Web Hizmetleri (AWS).[8] Ancak alternatif isimler not edilir ve adlar için Amazon hizmetlerinin isimlerine özgü terminoloji kullanılmaz.

Ad (AWS'de kullanılır,[8] Aksi belirtilmediği sürece)AnlamAlternatif adlar (Google Cloud Platform'da kullanılır,[9] Microsoft Azure,[10] veya diğer platformlar)
ÖrnekOtomatik ölçeklendirmeye tabi makine grubunun parçası olan tek bir sunucu veya makine
Otomatik ölçeklendirme grubuTüm ilişkili ilkeler ve durum bilgileriyle birlikte otomatik ölçeklendirmeye tabi örneklerin toplanmasıYönetilen örnek grubu (Google Cloud Platform)
BoyutOtomatik ölçeklendirme grubunun şu anda parçası olan örneklerin sayısı
İstenilen kapasite (veya istenilen büyüklükte)Otomatik ölçeklendirme grubunun belirli bir zamanda sahip olması gereken örnek sayısı. Boyut istenen boyuttan küçükse, otomatik ölçeklendirme grubu yeni örnekler başlatmaya (sağlamaya ve eklemeye) çalışacaktır. Boyut, istenen boyuttan fazlaysa, otomatik ölçeklendirme grubu örnekleri kaldırmaya (ayırmaya ve sonlandırmaya) çalışacaktır.
En küçük bedenİstenilen kapasitenin altına düşmesine izin verilmeyen birkaç örnek
En büyük boyİstenilen kapasitenin yükselmesine izin verilmeyen birkaç örnek
MetrikOtomatik ölçeklendirme grubuyla ilişkili bir ölçüm (CPU kullanımı, bellek kullanımı, ağ kullanımı gibi), bunun için düzenli olarak bir zaman serisi veri noktasının üretildiği. Otomatik ölçeklendirme politikalarını ayarlamak için metrik eşikleri kullanılabilir. Metrikler, otomatik ölçeklendirme grubu örnekleri için metriklerin toplamına veya otomatik ölçeklendirme grubuyla ilişkili yük dengeleyicilere dayalı olabilir
Ölçeklendirme politikası (veya otomatik ölçeklendirme politikası)Belirli eşikleri geçen metriklere yanıt olarak otomatik ölçeklendirme grubunun istenen kapasitesinde (veya bazen minimum ve maksimum boyutunda) bir değişiklik belirten bir politika. Ölçeklendirme politikalarının, belirli bir ölçekleme eyleminden hemen sonra ek ölçeklendirme eylemlerinin gerçekleşmesini önleyen ilişkili soğuma süreleri olabilir. İstenen kapasitede yapılan değişiklikler artımlı olabilir (belirli bir sayı kadar artar veya azalır) veya istenen kapasitenin yeni bir değerini belirtebilir. İstenilen kapasiteyi artıran ilkelere "ölçekleme" veya "ölçek büyütme" ilkeleri denir ve istenen kapasiteyi azaltan ilkelere "ölçekleme" veya "ölçeği küçültme" ilkeleri denir.
Sağlık kontrolüOtomatik ölçeklendirme grubunun kendisine eklenen örneklerin düzgün çalışıp çalışmadığını belirlemesinin bir yolu. Durum denetimi, örneğin hala var olup olmadığına ve erişilebilir olup olmadığına bağlı olabilir veya örneğin hala kayıtlı olup olmadığına ve ilişkili bir yük dengeleyiciyle hizmette olup olmadığına bağlı olabilir.
Yapılandırmayı başlatYeni bir örnek başlatılırken kullanılan parametrelerin ve komut dosyalarının açıklaması. Buna bulut sunucusu tipi, satın alma seçenekleri (AWS durumunda spot ve isteğe bağlı gibi), başlatma için olası kullanılabilirlik bölgeleri, makine görüntüsü ve başlatma sırasında çalıştırılacak komut dosyaları dahildirÖrnek şablonu (Google Cloud Platform)
Manuel ölçeklendirmeManuel olarak yürütülen bir ölçekleme eylemi
Planlanmış ölçeklendirmeBelirli bir zamanda, örneğin günün veya haftanın veya ayın veya yılın saatinde yürütülen bir ölçeklendirme politikası. Görmek # Planlanmış ölçeklendirme daha fazlası için

Uygulama

Amazon Web Hizmetleri (AWS)

Otomatik ölçeklendirme

Amazon Web Services, Amazon Elastic Compute Cloud (EC2) hizmeti, geliştiricilerin programlı bir şekilde bulut sunucuları (makineler) oluşturmasına ve sonlandırmasına olanak tanıyan Ağustos 2006'da.[11][12] AWS, ilk başlatma sırasında otomatik ölçeklendirme sunmuyordu, ancak örnekleri programlı olarak oluşturma ve sonlandırma yeteneği, geliştiricilere otomatik ölçeklendirme için kendi kodlarını yazma esnekliği sağladı.

AWS için üçüncü taraf otomatik ölçeklendirme yazılımı Nisan 2008'de görünmeye başladı. Bunlara Scalr'ın araçları dahildir[13] ve RightScale. RightScale, Facebook trafiğini otomatik ölçeklendirmeyi benimseyerek idare edebilen Animoto tarafından kullanıldı.[14][15]

18 Mayıs 2009'da Amazon, kendi otomatik ölçeklendirme özelliğini başlattı. Elastic Load Balancing, bir parçası olarak Amazon Elastic Compute Cloud.[16] Otomatik ölçeklendirme artık Amazon'un EC2 teklifinin ayrılmaz bir bileşenidir.[2][17][18] Amazon Web Services üzerinde otomatik ölçeklendirme, bir web tarayıcısı veya komut satırı aracı aracılığıyla yapılır.[19] Mayıs 2016'da Otomatik Ölçeklendirme, AWS ECS Hizmeti'nde de sunuldu.[20]

İsteğe bağlı video sağlayıcı Netflix çok değişken tüketici ihtiyaçlarını karşılamak için Amazon Web Services ile otomatik ölçeklendirme kullandıklarını belgeledi. Agresif ölçeklendirmenin ve gecikmeli ve dikkatli ölçek küçültmenin, çalışma süresi ve yanıt verme hedeflerine en iyi şekilde hizmet ettiğini buldular.[7]

İçin bir makalede TechCrunch AWS bulut altyapısını optimize etmeye yardımcı olan bir hizmet olan Newvem'in kurucu ortağı ve CEO'su Zev Laderman, Amazon Web Hizmetleri maliyetlerini düşük tutmak için yeni başlayanların otomatik ölçeklendirmeyi kullanmasını önerdi.[4]

AWS kullanımı için çeşitli en iyi uygulama kılavuzları, yükün değişken olmadığı durumlarda bile otomatik ölçeklendirme özelliğinin kullanılmasını önerir. Bunun nedeni, otomatik ölçeklendirmenin başka iki avantaj sunmasıdır: herhangi bir nedenle sağlıksız hale gelen herhangi bir örneği otomatik olarak değiştirme (donanım hatası, ağ hatası veya uygulama hatası gibi) ve fiyat veya kapasite nedeniyle kesintiye uğrayan spot örneklerin otomatik olarak değiştirilmesi, üretim amaçları için spot örnekleri kullanmak daha uygundur.[6][21][22] Netflix'in dahili en iyi uygulamaları, her örneğin bir otomatik ölçeklendirme grubunda olmasını gerektirir ve uygunluk maymunu, bu en iyi uygulamayı uygulamak için otomatik ölçeklendirme grubunda olmayan herhangi bir örneği sonlandırır.[23]

Microsoft'un Windows Azure

27 Haziran 2013 tarihinde, Microsoft otomatik ölçeklendirme desteğini eklediğini duyurdu. Windows Azure bulut bilişim platformu.[24][25][26] Özelliğin belgeleri şurada mevcuttur: Microsoft Geliştirici Ağı.[10][27]

Oracle Bulut

Oracle Bulut Platformu sunucu örneklerinin bir otomatik ölçeklendirme kuralı tanımlayarak bir kümeyi otomatik olarak içe veya dışa ölçeklendirmesine olanak tanır.[28] Bu kurallar CPU ve / veya bellek kullanımına dayanır ve düğümlerin ne zaman ekleneceğini veya kaldırılacağını belirler.

Google Bulut Platformu

17 Kasım 2014'te Google Compute Engine otomatik ölçeklendirme özelliğinin genel beta sürümünü duyurdu Google Bulut Platformu uygulamalar.[29][30][31][32] Mart 2015 itibarıyla, otomatik ölçeklendirme aracı hâlâ Beta sürümündedir.[9]

Facebook

Ağustos 2014'te bir blog gönderisinde bir Facebook mühendisi, şirketin enerji maliyetlerini düşürmek için otomatik ölçeklendirmeyi kullanmaya başladığını açıkladı. Blog yazısı, düşük trafik saatlerinde (gece yarısı civarında) enerji kullanımında% 27'lik bir düşüş ve tipik 24 saatlik döngüde enerji kullanımında% 10-15'lik bir düşüş bildirdi.[3][33]

Kubernetes Yatay Kapsül Otomatik Ölçekleyici

Kubernetes Yatay Kapsül Otomatik Ölçekleyici, sayıları otomatik olarak ölçeklendirir. bakla içinde çoğaltma denetleyicisi, dağıtım veya kopya kümesi gözlemlenen CPU kullanımına göre (veya bazı durumlarda beta desteği ile uygulama tarafından sağlanan metrikler )[34]

Alternatif otomatik ölçeklendirme karar yaklaşımları

Varsayılan kullanımlara göre otomatik ölçeklendirme reaktif trafik ölçeklendirmeyle başa çıkmak için karar yaklaşımı: ölçeklendirme yalnızca ölçümlerdeki gerçek zamanlı değişikliklere yanıt olarak gerçekleşir. Bazı durumlarda, özellikle değişiklikler çok hızlı gerçekleştiğinde, ölçeklendirmeye yönelik bu reaktif yaklaşım yetersizdir. Diğer iki tür otomatik ölçeklendirme karar yaklaşımı aşağıda açıklanmıştır.

Zamanlanmış otomatik ölçeklendirme yaklaşımı

Bu, günün belirli saatlerinde otomatik ölçeklendirme grubunun minimum boyutunda, maksimum boyutunda veya istenen kapasitesinde değişikliklerin yapıldığı otomatik ölçeklendirmeye yönelik bir yaklaşımdır. Zamanlanmış ölçeklendirme, örneğin günün belirli saatlerinde bilinen bir trafik yükü artışı veya azalması varsa, ancak değişiklik, reaktif yaklaşıma dayalı otomatik ölçeklendirmenin yeterince hızlı yanıt veremeyecek kadar ani olması durumunda yararlıdır. AWS otomatik ölçeklendirme grupları, zamanlanmış ölçeklendirmeyi destekler.[35]

Tahmine dayalı otomatik ölçeklendirme

Otomatik ölçeklendirmeye yönelik bu yaklaşım, tahmine dayalı analitik. Buradaki fikir, gelecekteki kullanımı tahmin etmek için son kullanım eğilimlerini geçmiş kullanım verileriyle ve diğer veri türleriyle birleştirmek ve bu tahminlere göre otomatik ölçeklendirmektir.

Netflix, altyapılarının bazı bölümleri ve belirli iş yükleri için, tahmine dayalı analiz motoru olan Scryer'ın Amazon'un reaktif otomatik ölçeklendirme yaklaşımından daha iyi sonuçlar verdiğini buldu. Özellikle şunlar için daha iyiydi:[36][33]

  • Yakın gelecekte talepte görülen büyük artışları tespit etmek ve kapasiteyi biraz önceden hazırlamak
  • Tüm kullanılabilirlik bölgelerinin ve bölgelerinin arızalanması gibi büyük ölçekli kesintilerle başa çıkma
  • Değişken trafik modelleriyle başa çıkmak, tipik seviye ve günün çeşitli saatlerinde talepteki değişim oranına bağlı olarak ölçeklendirme veya genişletme hızında daha fazla esneklik sağlar

20 Kasım 2018'de AWS, tahmini ölçeklendirmenin otomatik ölçeklendirme teklifinin bir parçası olarak kullanılabileceğini duyurdu.[37]

Ayrıca bakınız

Referanslar

  1. ^ "Bulutların Üzerinde: Bulut Bilişimin Berkeley Görünümü" (PDF). Berkeley EECS. 10 Şubat 2009. Alındı 21 Mart, 2015.
  2. ^ a b "Otomatik Ölçeklendirme". Amazon Web Hizmetleri. Alındı 21 Mart, 2015.
  3. ^ a b c Wu, Qiang (8 Ağustos 2014). "Facebook'un yazılım altyapısını Otomatik Ölçeklendirme ile daha enerji verimli hale getirme". Facebook Kod Blogu. Alındı 21 Mart, 2015.
  4. ^ a b Laderman, Zev (22 Nisan 2012). "Amazon Web Hizmetleri ile Yapılan En Büyük 10 Hata". TechCrunch. Alındı 21 Mart, 2015.
  5. ^ Park, Andrew; Denlinger, Darrell; Watson, Coburn (18 Eylül 2015). "Kendi EC2 Spot Pazarınızı Oluşturma". Netflix. Alındı 16 Aralık 2016.
  6. ^ a b Wittig, Michael (26 Aralık 2015). "Kaçınmanız gereken 5 AWS hatası". Cloudonaut. Alındı 16 Aralık 2016.
  7. ^ a b Orzell, Greg; Becker, Justin (18 Ocak 2012). "Amazon Bulutunda Otomatik Ölçeklendirme". Netflix Teknoloji Blogu. Alındı 21 Mart, 2012.
  8. ^ a b "Otomatik Ölçeklendirme Nedir?". Amazon Web Hizmetleri. Alındı 16 Aralık 2016.
  9. ^ a b "Otomatik ölçekleyici". Google Bulut Platformu. Alındı 21 Mart, 2015.
  10. ^ a b "Otomatik Ölçeklendirme Rehberi". Microsoft Geliştirici Ağı.
  11. ^ Cubrilovic, Nik (24 Ağustos 2006). "Neredeyse Özel: Amazon Readies Utility Computing Service". TechCrunch. Alındı 4 Aralık 2016.
  12. ^ Barr, Jeff (25 Ağustos 2006). "Amazon EC2 Beta". Amazon Web Hizmetleri Blogu. Alındı 31 Mayıs, 2013.
  13. ^ Çalışma, Henry (3 Nisan 2008). "Scalr: Otomatik Ölçeklendirmeli Açık Kaynak Amazon EC2 Çabası". TechCrunch. Alındı 21 Mart, 2015.
  14. ^ Howlett, Dennis (25 Haziran 2008). "RightScale bulut yönetimi MySQL'e kadar uzanıyor. Amazon Web Services platformu için bulut bilişim yönetimi konusunda uzmanlaşan RightScale, bugün MySQL Enterprise desteğini duyurdu. 1 Temmuz'da yayınlanacak olan hizmet, MySQL Enterprise ile birlikte otomatik dağıtım, yönetim ve ölçeklendirme sağlıyor büyük veritabanı uygulamaları için birinci sınıf destek ". ZDNet. Alındı 16 Aralık 2016.
  15. ^ von Eicken, Thorsten (23 Nisan 2008). "Animoto'nun Facebook Ölçeği". Arşivlenen orijinal Aralık 20, 2016. Alındı 16 Aralık 2016.
  16. ^ Barr, Jeff (18 Mayıs 2009). "Amazon EC2 için Yeni Özellikler: Elastic Load Balancing, Auto Scaling ve Amazon CloudWatch". Amazon Web Hizmetleri. Alındı 15 Haziran 2016.
  17. ^ "Otomatik ölçeklendirme nedir?". TechTarget. Alındı 21 Mart, 2015.
  18. ^ Barr, Jeff (30 Temmuz 2014). "Otomatik Ölçeklendirme Güncellemesi - Yaşam Döngüsü Yönetimi, Bekleme Durumu ve Ayırma Maddeleri". Amazon Web Hizmetleri (resmi blog). Alındı 21 Mart, 2015.
  19. ^ "Otomatik Ölçeklendirme Komut Satırı Aracı". Amazon Web Hizmetleri (topluluk tarafından düzenlenen sayfa). Alındı 21 Mart, 2015.
  20. ^ https://aws.amazon.com/blogs/compute/automatic-scaling-with-amazon-ecs/
  21. ^ Adams, Rich (3 Şubat 2014). "Keşke Başlamadan Önce Bilmem Gereken AWS İpuçları. Çeşitli oluşturup dağıtarak öğrendiklerime dayanarak birkaç yıl önce bana söylenmesini dilediğim Amazon Web Services (AWS) için rastgele ipuçları koleksiyonu. AWS'deki uygulamalar ". Alındı 16 Aralık 2016.
  22. ^ "Amazon EC2 Spot Bulut Sunucuları Nasıl Kullanılır". wikiHow. Alındı 16 Aralık 2016.
  23. ^ "Netflix Simian Ordusu". Netflix. 19 Temmuz 2011. Alındı 5 Aralık 2016.
  24. ^ Lardinois, Frederic (27 Haziran 2013). "Microsoft, Windows Azure'a Otomatik Ölçeklendirmeyi Ekliyor". TechCrunch. Alındı 21 Mart, 2015.
  25. ^ "Microsoft, Windows Azure'a otomatik ölçeklendirme ve uyarılar ekleyecek". ZDNet. 27 Haziran 2013. Alındı 21 Mart, 2015.
  26. ^ Butler, Brandon (7 Ağustos 2013). "Google, Microsoft, Amazon'u yakalar, yük dengeleme ve bulutlarına otomatik ölçeklendirme ekler". Ağ Dünyası. Alındı 21 Mart, 2015.
  27. ^ "Otomatik Ölçeklendirme Uygulama Bloğu". Microsoft Geliştirici Ağı. Alındı 21 Mart, 2015.
  28. ^ "PaaS Hizmetlerini Yönetme". Oracle Yardım Merkezi. Alındı 2018-05-16.
  29. ^ Balejko, Filip (17 Kasım 2014). "Otomatik ölçeklendirme, Google Compute Engine'e hoş geldiniz". Google Bulut Platformu Blog. Alındı 21 Mart, 2015.
  30. ^ Protalinski, Emil (17 Kasım 2014). "Google Compute Engine, uygulama kaynaklarını değişen trafik ve iş yüklerine göre ayarlamak için Otomatik Ölçekleyici'yi alıyor". VentureBeat. Alındı 21 Mart, 2015.
  31. ^ Lardinois, Frederic (17 Kasım 2014). "Google Otomatik Ölçeklendirmeyi Compute Engine'e Getiriyor". TechCrunch. Alındı 21 Mart, 2015.
  32. ^ Verge, Jason (17 Kasım 2014). "Google, Compute Engine'de Otomatik Ölçeklendirme Beta'yı Başlattı". Veri Merkezi Bilgisi. Alındı 21 Mart, 2015.
  33. ^ a b "Otomatik Ölçeklendirme: Bulut Nasıl Müthiş Bir Artış Sağlar". Morpheus. Kasım 2, 2016. Alındı 16 Aralık 2016.
  34. ^ "Horizontal Pod Autoscaler Walkthrough". Alındı Haziran 21, 2018.
  35. ^ "Zamanlanmış Ölçeklendirme". Amazon Web Hizmetleri. Alındı 16 Aralık 2016.
  36. ^ Jacobson, Daniel; Yuan, Danny; Joshi, Neeraj. "Scryer: Netflix'in Öngörülü Otomatik Ölçeklendirme Motoru". Netflix Teknoloji Blogu. Netflix. Alındı 28 Mayıs 2015.
  37. ^ Barr, Jeff (20 Kasım 2018). "Yeni - Makine Öğrenimi Tarafından Desteklenen EC2 için Tahmini Ölçeklendirme". Amazon Web Hizmetleri. Alındı 23 Kasım 2018.