Bugünlerde seçilebilecek çok sayıda dağıtım stratejisi var ve zaman geçtikçe daha fazlası da olacak. Bununla birlikte, günümüzün en büyük şirketlerinden bazıları tarafından aktif olarak kullanılan en yaygın dağıtım stratejilerinden ikisi Kanarya ve Mavi-yeşil dağıtım stratejileridir.
Mavi-Yeşil dağıtımı ile Canary'yi karşılaştırırken mesele yalnızca hız veya basitlik değildir; Bu stratejilerden birini seçerken dikkate alınması gereken en önemli faktörlerden biri dağıtım kesintisidir.
Dağıtım kesinti süresini en aza indirmek ve güncellemelerinizi veya değişikliklerinizi dağıtırken sorunsuz bir geçiş sağlamak için, Canary dağıtımından Mavi-Yeşil'e karşı daha uygun seçeneği seçmek çok önemlidir.
Öyleyse, Mavi-Yeşil konuşlandırma ile Kanarya'nın birebir karşılaştırması ve Kanarya konuşlandırması ile Mavi-Yeşil konuşlandırmayla ilgili kendi deneyimlerimiz de dahil olmak üzere her stratejinin neler sunduğuna bakalım.
Mavi-Yeşil Dağıtım Nedir ve Neler Sunar?
Mavi-Yeşil dağıtım stratejisinde, bir uygulamanın yeni sürümü test edilip doğrulandıktan sonra hemen devreye alınabilir. Bu, iki özdeş ortam sayesindedir: mavi ve yeşil ortamlar, dolayısıyla Mavi-Yeşil dağıtımı adı da buradan gelir.
Bunun işe yaramasının nedeni, bu ortamlardan birinin etkin, diğerinin etkin olmamasıdır. Bu, bir uygulamanın yeni sürümünün aktif olmayan ortama (örneğin yeşil olana) dağıtılabileceği anlamına gelir. Bu iki ortam kaynaklar, altyapı ve yapılandırmalar açısından tamamen aynı olduğundan, güncellemedeki herhangi bir aksaklık, güncelleme tam olarak dağıtılmadan önce çözülebilir.
Güncelleme test edildikten ve geliştiriciler çalıştığından emin olduktan sonra canlı trafik bu etkin olmayan ortama aktarılır. Bu, aktif olmayan ortamı (yeşil olanı) aktif ortamı ve daha önce aktif olan ortamı (mavi olanı) pasif hale getirir.
Artık etkin olmayan mavi ortam, bekleme durumuna geçer ve yeşil ortam etkinken, yeni dağıtılan güncellemeyi çalıştırarak daha yeni güncellemeleri test etmek için kullanılabilir. Bu şekilde, trafik anında etkin olmayan ortama geçtiği için neredeyse hiç kesinti yaşanmaz.
Ayrıca güncellemede herhangi bir sorun olması durumunda geri alma özelliği, uygulamanızın eski sürümüne geri dönmenize olanak tanır. Bununla birlikte, geliştiriciler etkin olmayan ortamda yeni bir güncelleme üzerinde çalışmaya başladığında sorunlar ortaya çıkarsa, eski sürüm artık bu ortamda mevcut olmadığından bu ortama geri dönüş artık geçerli değildir.
Birçok şirket ve kuruluş bu stratejiyi kullanırken, bu stratejinin uygulamalı bir örneğini Spotify'da görebilirsiniz. Spotify hizmetlerinin 7/24 erişilebilir olması gerektiğinden, yeni güncellemeler yayınlandığında her zaman yedek, aktif olmayan ortamı hazır bulundurur.
Kanarya Dağıtımı Nedir ve Neler Sunar?
Canary dağıtımı ile Mavi-Yeşil arasındaki temel fark, Canary dağıtım stratejisinde güncellemelerin tüm kullanıcılara aynı anda dağıtıldığı iki ortama sahip olmak yerine, güncellemelerin ilk olarak küçük bir kullanıcı grubuna yayınlanmasıdır.
Güncellemede herhangi bir sorun varsa kullanıcıların yalnızca küçük bir kısmı bu sorunla karşılaşıyor ve geri bildirimde bulunuyor. Sorunlar çözüldükten sonra güncelleme kullanıcıların daha büyük bir bölümüne yayınlanır ve kullanıcılar herhangi bir sorunla karşılaştıklarında geliştiricilere geri bildirimde bulunurlar.
Bu döngü, giderek daha büyük kullanıcı bölümleriyle tekrarlanır ve güncellemeyle ilgili tüm sorunlar, güncelleme kullanıcıların %100'üne yayınlanana kadar çözülür. Örneğin, güncelleme ilk başta kullanıcıların yalnızca %2'sine, ardından %25'ine, ardından %75'ine ve son olarak %100'üne yayınlanacaktı.
Canary dağıtımı ve Mavi-Yeşil arasındaki bu kademeli sürüm, daha kontrollü ve esnek bir dağıtım sunarak geliştiricilerin özellikleri ve güncellemeleri yalnızca küçük bir bölümün potansiyel sorunlarla karşılaştığı kontrollü bir ortamda test etmesine olanak tanır.
Son olarak Canary de benzer bir geri alma özelliği sunuyor; ancak dağıtım kademeli olarak ve aşamalar halinde yapıldığından, Canary'de gerçekleştirilen geri alma işlemi de kararlı bir sürüme ulaşılıncaya kadar kademeli olarak ve aşamalar halinde gerçekleştirilir.
Bu dağıtım stratejisinin iyi bilinen bir örneği, Netflix'in Canary'yi, sistemlerinde kasıtlı olarak hatalara yol açan Chaos Monkey adlı bir araçla birlikte kullanmasıdır. Bir arızanın canary ortamını etkilemesi durumunda Netflix ekibi sistemin nasıl tepki vereceğini analiz edip buna göre ayarlama yapabilir. Bu şekilde Netflix, güncellemenin olumsuz koşullar altında bile kararlı ve dayanıklı kaldığını doğrulayabilir.
Mavi-Yeşil Dağıtım Vs. Kanarya
Bu dağıtım stratejilerinin her ikisi de kendi benzersiz faydalarını sunar; ancak bunların da sınırlamaları vardır. Bu nedenle bir karar vermeden önce Mavi-Yeşil gelişiminin Kanarya'ya karşı artılarını ve eksilerini tartmak önemlidir.
Bu bölümden sonra hala hangisine gitmeniz gerektiğinden emin değilseniz, bu iki stratejiyle ilgili deneyimlerimize ve öğrendiklerimize de bu makalenin sonunda yer verdim.
Kesinti Süresini Azaltma
Bu makalenin ana endişelerinden biri ve odak noktası, Kanarya'ya kıyasla Mavi-Yeşil dağıtımının dağıtım kesinti süresinin azaltılmasıdır. Mavi-Yeşil dağıtımının güçlü yönlerinden biri hızıdır; çünkü iki ortamı kullanarak uygulama güncellemenizi veya özelliğinizi anında dağıtabilirsiniz.
Öte yandan, Canary'nin kademeli dağıtım yaklaşımı, yalnızca küçük bir kullanıcı alt kümesinin sorunları yaşaması nedeniyle kesinti sürelerinin minimuma indirilmesine olanak sağlamakla kalmıyor, aynı zamanda her aşamada geri bildirim sağlandığı için sorun giderme işlemlerinin çok daha hızlı ve herhangi bir kesinti olmadan yapılabilmesini sağlıyor.
Ek olarak, her iki hizmet de geri alma özellikleri sunsa da Blue-Green dağıtımının geri alma özelliği anlıktır ve geliştiricilere herhangi bir önemli sorun durumunda güvenilir bir yedekleme sağlar. Bununla birlikte, daha önce de belirttiğim gibi, etkin olmayan ortamda daha yeni bir sürüm üzerinde çalışma yapılıyorsa yedek sürüm mevcut olmayacaktır.
Canary'nin geri alma özelliği, dağıtım sürecinde olduğu gibi yalnızca kademeli olarak kullanılabilir. Ancak eski, kararlı sürüm, yeni güncellemelerin test edildiği ve üzerinde çalışıldığı ortama bağlı olmadığından her zaman kullanılabilir.
Dağıtım kesinti süresinin azaltılması açısından, Canary dağıtımı ile Mavi-Yeşil karşılaştırıldığında, Canary risk kontrolü ve ayrıntılı kontrol açısından üstündür; ancak yalnızca kesinti süresini azaltmayı düşünüyorsak, geçiş anında gerçekleştiği için Mavi-Yeşil bu ikisinden daha iyidir.
Bununla birlikte, Mavi-Yeşil dağıtımı ile Canary dağıtımı tartışılırken, kesinti süresinin azaltılması dışındaki faktörlerin de dikkate alınması önemlidir.
Başvuru Türü
Genel olarak uygulamaları işlem ağırlıklı veya içerik odaklı uygulamalar olarak ayırabiliriz. İşlem ağırlıklı uygulamalarda, yüksek hizmet kullanılabilirliği ve minimum kesinti süresi öncelikli olduğundan Blue-Green dağıtımı çok daha iyi bir seçenektir; bu nedenle Blue-Green'in anında geçiş ve anında geri alma özellikleri onu Canary'nin önüne koyar.
Öte yandan içerik odaklı uygulamalar gerçek zamanlı işlemlere bağlı değildir. Bu uygulamalar genellikle sosyal medya platformları ve kullanıcı etkileşim hizmetleri için kullanıldığından, güncellemeleri kademeli olarak kullanıma sunabildiğiniz ve her aşamada sürekli olarak geri bildirim alabileceğiniz için Canary çok daha iyi bir stratejidir.
Altyapı Maliyetleri
Mavi-Yeşil konuşlandırma ile Kanarya konuşlandırması arasında seçim yaparken karşılaşılan bir diğer temel endişe ise maliyetlerdir. Doğal olarak Mavi-Yeşil kurulumunda iki ayrı ortamın korunması gerektiğinden maliyetler daha yüksek olacaktır.
Canary'nin tekli üretim ortamının çok daha uygun maliyetli bir seçenek olmasının nedeni budur; bu da onu daha küçük ekipler veya daha az kaynak yoğun uygulamalar için daha uygun bir seçenek haline getirir.
Ölçeklenebilirlik ve Uzun Süreli Bakım
Son olarak, mavi-yeşil dağıtımlar ölçeklendirilebilirken, büyük ölçekli uygulamalar için iki eksiksiz ortamın sürdürülmesi kaynak açısından yoğun ve karmaşık olabilir. Zamanla, yinelenen ortamların yönetimi ve bakımı, özellikle karmaşık altyapı ihtiyaçları olan uygulamalar için önemli miktarda ek yük getirebilir.
Bu, ölçeklenebilirlik ve bakım açısından Canary dağıtımını Mavi-Yeşil dağıtımına karşı karar verilmesi oldukça kolay hale getiriyor. Canary dağıtımıyla ölçeklenebilirlik, yinelenen ortamlar gerektirmediği için genellikle daha basit ve daha uygun maliyetlidir.
Bunun yerine, yeni değişikliklere maruz kalan kullanıcı tabanını kademeli olarak genişleterek birincil ortam içinde ölçeklendirmeye odaklanır. Bu kurulum, altyapı karmaşıklığını azalttığı ve bakımı basitleştirdiği için uzun vadede çok daha kolay yönetilebilir.
Cloudzy'nin Mavi-Yeşil Dağıtım Deneyimi vs. Kanarya Dağıtımı
Müşterilere DevOps hizmetleri sağlarken müşteri memnuniyetinin, yüksek kullanılabilirliğin ve minimum kesinti süresinin iş başarıları için kritik öneme sahip olduğunu anlıyoruz. Belirli bir durumda, bir müşteri büyük bir altyapı yükseltmesine yardımcı olmak için bize başvurdu. Ekip, sistemleri için Mavi-Yeşil dağıtımı ile Kanarya dağıtımı arasında karar vermekle görevlendirildi.
Uzun uzun düşündükten sonra, hemen hemen hiç kesinti sunmadığından öncelikle Mavi-Yeşil dağıtımını denemeye karar verdik. Benzer bir yeşil ortam oluşturduk ve yükseltmeyi kullanıma sunmaya hazırlandık. Bir düğmeye basıldığında tüm trafik yeşil ortama aktarılacağı için çok fazla baskı vardı ve geliştiricilerin bildiği gibi, bunları ne kadar test ederseniz edin, nasıl sonuçlanacağı hala biraz zar atılması gereken bir şey.
Çok şükür her şey yolunda gitti. Geçiş tereyağı kadar yumuşaktı ve neredeyse hiç sorun yaşamadık. Zamanla müşterilerimizin hizmetleri ve kullanıcıları büyüdükçe yeni özellikler sunmamız gerekti ve Mavi-Yeşil ile Kanarya arasındaki tartışma yeniden alevlendi.
Ancak bu sefer çok fazla tartışma olmadı. Bunlar nispeten daha küçük özelliklerdi ve kesinlikle altyapı güncellemesinin ölçeğinde değildi. Bu nedenle, doğal olarak, özellikleri müşterilerimizin kullanıcı tabanının küçük bölümlerine sunabildiğimiz ve kullanıcı geri bildirimleri yoluyla yaşadıkları sorunları çözebildiğimiz için Canary'yi tercih ettik.
Bu kesinlikle doğru bir karardı, çünkü herhangi bir büyük sorun yaşamamış olsak da, bazı küçük sorunlar ortaya çıkmaya başladı ve bu, müşterimizin kullanıcı tabanının %5'i tarafından özelliğin kullanıma sunulduğu bildirildi.
Cloudzy olarak kişiye özel çözümlerin gücüne inanıyoruz. İşletmenizin ister Mavi-Yeşil dağıtımının güvenilirliğine ister Canary dağıtımının esnekliğine ihtiyacı olsun, DevOps ekibimiz altyapınız için en iyi stratejiyi uygulayacak deneyime ve bilgiye sahiptir. Bize Ulaşın Burada Dağıtım sürecinizi nasıl optimize edebileceğimizi ve operasyonlarınızın sorunsuz çalışmasını nasıl sağlayabileceğimizi öğrenmek için bugün.
VPS'den bahsetmişken, dünya çapında 12'den fazla konum, 10 Gbps'ye varan özel internet bağlantıları, kurumsal NVMe SSD depolama, güçlü 3,23 GHz turbo hızlı AMD EPYC işlemciler ve %99,95 çalışma süresi gibi özelliklerle VPS endüstrisindeki en düşük hızlardan bazılarını sunuyoruz. Bizim göz atın VPS fiyatlandırması daha fazla ayrıntı için.
Son Düşünceler
Günün sonunda, Kanarya konuşlandırması ile Mavi-Yeşil konuşlandırmayı tartışırken birinin diğerinden önemli ölçüde daha iyi olduğunu gerçekten söyleyemezsiniz. Bu sadece bir kullanım durumu meselesidir ve hangisinin özel ihtiyaçlarınıza en iyi şekilde uyacağıdır.
SSS
Mavi-yeşil ve kanarya konuşlandırmaları arasındaki temel fark nedir?
Mavi-Yeşil ve Kanarya dağıtım stratejileri arasındaki temel fark, güncellemelerin nasıl yayınlandığıdır. Mavi-Yeşil dağıtımı, güncellemelerin etkin olmayan ortama uygulandığı iki özdeş ortam kullanır ve neredeyse hiç kesinti olmadan anında geçiş yapılmasına olanak tanır. Buna karşılık, Canary dağıtımı, güncellemeleri kademeli olarak önce küçük bir kullanıcı grubuna yayınlar, sorunları izleyerek tüm kullanıcı tabanına kademeli olarak dağıtılır.
Arıza süresini azaltmak için Mavi-Yeşil dağıtımı mı yoksa kanarya dağıtımı mı daha iyidir?
Mavi-Yeşil konuşlandırma, ortamlar arasında anında geçişe izin verdiği için kesinti süresini azaltmak açısından genellikle daha iyidir. Bu olası aksaklıkları en aza indirir. Canary dağıtımı aynı zamanda kesinti süresini en aza indirmeyi amaçlasa da, bunu yalnızca küçük bir kullanıcı alt kümesini etkileyen bazı küçük, yerelleştirilmiş sorunları içerebilecek kademeli bir dağıtım yoluyla gerçekleştirir.
Mavi-yeşil ve kanarya dağıtımlarının maliyet hususları nelerdir?
Mavi-Yeşil dağıtımları, iki tam ortamın korunmasını gerektirdiğinden genellikle daha pahalıdır. Öte yandan Canary dağıtımları, yinelenen altyapı gerektirmediğinden daha uygun maliyetlidir; güncellemeler birincil ortamda kullanıma sunulur; bu da onu daha küçük ekipler veya daha az kaynak yoğun uygulamalar için daha iyi bir seçim haline getirir.