Kanarya Testi: Nedir ve Bundan Nasıl Yararlanabilirsiniz?

Yayınlanan: 2022-08-20

Bir programcı değilseniz, muhtemelen kanarya testini hiç duymamışsınızdır. Sorun değil, ancak muhtemelen bunun ne olduğunu merak ediyorsunuz ve neden buna kanarya testi deniyor?

Terim, “kömür madenindeki kanarya” deyiminden türemiştir. Kömür madencileri, kanaryaların zehirli gaza karşı daha düşük toleransı olduğundan, kömür madenine kafesli bir kanarya getirirdi.

Bu nedenle işçiler, kanarya ölürse madenden çıkmaları gerektiğini biliyorlardı. Yazılım geliştirme açısından, yeni yazılım oluştururken amaç, sorunları kullanıcılar için bir sorun haline gelmeden önce mümkün olan en kısa sürede tespit etmek ve çözmektir.

kanarya meme

Kanarya Testi Nedir?

Kanarya testi, kullanıcının tarafında umarız minimum olumsuz etkiyle yeni işlevleri ve özellikleri deneme yöntemidir. Bu tür testler normalde uygulamanın küçük değişikliklerle sunulduğu küçük bir kullanıcı grubuyla kullanılır. Bu şekilde, kullanıcıların çoğunluğu yazılımın güncel sürümünü kullanmaya devam ederken, seçilen daha küçük kullanıcı grubu biraz yükseltilmiş bir sürüm kullanacak.

Bu alıştırmanın amacı, yazılımı kullanan kişilerin çoğunluğunun, kullanıcıların yalnızca küçük bir yüzdesi için değişiklikleri zorlarken, herhangi bir sorun yaşamadan yazılımla çalışmaya devam etmelerini sağlamaktır.

Tüm bunlar, uygulamanın hem mevcut hem de yeni sürümünü aynı anda çalışır durumda tutarken yapılır. Ardından, kanarya testi herhangi bir hata döndürmezse, daha büyük kullanıcı yüzdelerine genişletmeye devam edebilirsiniz.

Okuyucuların da Keyfini Çıkarın : Hızlı Uygulama Geliştirme Nedir? RAD Metodolojisinin 4 Aşaması – DevriX

Kanarya Testi Nasıl Yapılır?

Kanarya testindeki ilk adım, yeni kodu çalıştırmak için bir dizi arka uç sunucu veya kapsayıcı başlatmaktır. Yeni kullanıcılar olduğunda, yük dengeleyiciniz bunların bir yüzdesini "kanarya kümesine" gönderir.

DevOps uzmanları daha sonra hesaplama yükü veya daha yüksek G/Ç oranları gibi olası sorunları belirlemek için sunucuları izler. Ayrıca, ciddi sorunlar ortaya çıksa bile, süreç yazılımı kullanan herkesi etkilemediğinden, her şeyi eski haline döndürmenin kolay olduğunu unutmayın.

Aksi takdirde, yeni kodu kullanan kullanıcı miktarını belirlemek için Spinnaker gibi araçları kullanarak kanarya testini kolayca uygulayabilir ve otomatikleştirebilirsiniz.

Söz konusu yüzde genellikle %5 civarındadır ve atanan DevOps ekibi herhangi bir sorun olmadığını belirlediğinde, herkes uygulamanın yeni kod sürümünü kullanana kadar bu yüzdeyi istikrarlı bir şekilde artırabilir.

Ayrıca, geliştirme veya hazırlama ortamlarının üretim ortamıyla tam olarak eşleşmediği durumlarda kanarya testi faydalıdır. Küçük bir test kullanıcı grubu kullanmak, hazırlama veya geliştirme ortamları sırasında tespit edilmeyen sorunları ortaya çıkarabilir.

Okuyucular da Keyif Alır: WordPress ile A/B Testi: Kesin Kılavuz – DevriX

Kanarya Testinin Faydaları ve Dezavantajları

Kanarya yöntemini kullanarak teste gelince iyiyi ve kötüyü tanımlayalım.

Kanarya Testinin Artıları ve Eksileri

Kanarya Testinin Faydaları

  • Gerçek dünya testi . Kapalı, dahili ortamlarda test yapmak harikadır, ancak yazılımı gerçek kullanıcılar üzerinde test edebilmek sizi bir adım daha ileriye taşır. Kanarya dağıtımları ile tam olarak bunu yapabilirsiniz – tamamen yeni bir uygulama yayınlama riski olmadan uygulamanızı küçük ölçekli bir hedef kitle üzerinde test edin.
  • Daha iyi risk yönetimi . Yeni özelliklerin kademeli olarak piyasaya sürülmesi ve düzgün çalıştıklarından emin olunması, önemli hataları ve arızaların toplam maliyetini büyük ölçüde azaltır.
    Kanarya test yöntemini kullanarak, temel olarak büyük güncellemeleri geri alma veya büyük miktarda kodu yeniden yazma ihtiyacını ortadan kaldırırsınız.
  • Daha çok iş odaklı . Yöneticilere ve pazarlama/satış personeline iş verilerini sunmanız mı gerekiyor? Kanarya ile sonuçları çok hızlı bir şekilde görüntüleyebilirsiniz. Örneğin, yeni bir yazılım özelliğini test etmek istiyorsanız – küçük bir kullanıcı grubu için yeni bir özellik dağıtabilir ve ardından özelliğin iyi çalışıp çalışmadığını görmek için bekleyebilirsiniz. ürününüz.

Kanarya Testinin Dezavantajları

  • Yazılım sorunları . Hâlâ test edilmemiş kodlar var, dolayısıyla doğal olarak riskler de var. Birkaç kullanıcının bile belirli bir özellikle ilgili önemli sorunlar yaşaması durumunda, daha katı dahili testler lehine kanarya testini atlamak en iyisidir.
  • Daha büyük masraflar . Kullanıcıları bölmek için bir yük dengeleyici kullanmayı düşünüyorsanız, ek altyapıya ve daha fazla yönetime ihtiyacınız olacaktır. Bu, testi yürütmek için iki ayrı üretim ortamı ve arka uç oluşturmanız gerekeceği anlamına gelir. Yani, iki uygulama sunucusu, iki kod satırı, iki web sunucusu ve bakımı gereken bir ağ altyapısı.
  • Kötü kullanıcı deneyimi . Bazı kullanıcılar, test denekleri olarak kullanılma fikrine pek hevesli olmayabilir. Neler olup bittiği konusunda açık olmak istiyorsanız, bir "erken evlat edinme" programı veya benzeri bir şey aracılığıyla kullanıcılara "kanarya" olarak kullanıldıklarını bildirebilirsiniz.

Kanarya Testi Ne Zaman Kullanılmaz?

Kanarya testi birçok durumda faydalıdır, ancak her şeye kesin bir cevap değildir (bu 42).

Kanarya yaklaşımını kesinlikle kullanmamanız gereken zamanlar:

  • Sürekli dağıtım için uygun olmayan ortamlarda.
  • Yaşamı destekleyen sistemler veya nükleer reaktörler gibi kritik yazılımlarla uğraşırken.
  • Başarısızlığın önemli bir ekonomik etkiyle sonuçlanabileceği finansal sistemler.

Yazılımı uzaktan güncelleyemediğinizde.

Kanarya Dağıtımı Nasıl Yapılır?

Şimdi bir kanarya konuşlandırması gerçekleştirmek için yapmanız gereken gerekli adımlara bir göz atalım.

  1. Hazırlama sunucusunda dağıtım için hazırlanın.
  2. Yük dengeleme yoluyla kanarya düğümlerini hariç tutun.
  3. Yeni sürümü kanarya düğümlerine dağıtın.
  4. Otomatik test komut dosyalarıyla yeni sürümü test edin.
  5. Yük dengeleme ile kanarya düğümlerini trafiğe bağlayın.
  6. Güncellemeyi kalan üretim düğümlerine dağıtın.

Uygulamada dağıtım, hazırlama sunucusunun hazırlanmasıyla başlar. Yapılandırma dosyalarını kontrol edin, komut dosyalarını test edin, yapıtları oluşturun vb. Bundan sonra, otomatik veya manuel testler yapabilir veya sunucuyu canlı bırakarak her şeyin yolunda gidip gitmediğini veya çöküp çalışmadığını görebilirsiniz.

Kanarya Üretime Ne Zaman Geçmeli?

Kanarya güncellemenizi kullanıcıların %5 veya %10'unda test ettikten ve her şey düzgün çalıştığında, test kullanıcılarının yüzdesini ikiye veya üçe katlayabilirsiniz.

Ardından tekrar test edin, metriklerden geri bildirim toplayın ve her şeyin yolunda gittiğini değerlendirdikten sonra, bir kez daha üretim ortamının %70'ini güncellemeye devam edebilirsiniz.

Son olarak, test prosedürünü tekrarlayın ve her şey yolundaysa, yazılımın yeni sürümünü kullanıcıların %100'üne sunun ve tabii ki izlemeye devam edin.

Kanarya Dağıtımını Uygulayan Şirketler

Kanarya dağıtımının popüler bir uygulama yöntemi olduğunu size göstermek için, kanarya dağıtımını kullanan bazı şirketlere göz atacağız.

Netflix

Akış hizmeti devi, 2018'den beri Kayenta ile otomatik kanarya analizini kullanıyor. Bu, Netflix'in prodüksiyon ortamında son derece hızlı güncellemeler sağlıyor. Şirket, bu dağıtım yönteminin geliştiricilerin üretkenliğini artırdığını ve üretim ortamlarında değişiklik yapma riskini azalttığını belirtiyor.

Instagram

Bu sosyal medya platformu aynı zamanda uzun zamandır kanarya dağıtımının hayranı olmuştur. Kurucu ortakları ve CTO'su Mike Krieger, kanarya sürümlerinin böceklerin çok fazla zarar vermemesini ve yalnızca küçük bir grup insanı etkilemesini sağladığını paylaştı.

Google

Google Chrome'un geliştiricilere yönelik özel bir sürümü olduğunu biliyor muydunuz? Bu doğru, Google Chrome Canary, yeni web platformu API'lerini test etmenize ve tarayıcının geleceğinin herkesten önce nasıl görüneceğini görmenize olanak tanır.

Microsoft

Microsoft, tüm ürün güncellemelerini test etmek için kendi personelini kullanır. Süreç, Windows Vista ve Microsoft Azure'dan beri yürürlükte. Windows 10 yükseltmesi, çalışanlarının işletim sistemlerinin kanarya güncellemeleri kullanılarak da yapıldı.

Özet

Kanarya testi, gerçek dünya test ortamlarında yeni uygulama sürümlerini hızlı bir şekilde tanıtmanın harika bir yoludur. Sadece bu değil, daha iyi risk yönetimi ve daha fazla izlenebilir veri sağlar.

Kanarya testinin pek çok faydası olmasına rağmen, her durumda her zaman çözüm değildir. Bir kanarya dağıtımına başlamadan önce araştırmanızı yaptığınızdan emin olun, aksi takdirde size geri tepebilir.