IaaS için Azure Pipelines mimarisi

Önemli

IaaS uygulamaları için CI/CD, Azure DevOps kullanarak CI/CD işlem hattı tasarlamanın bir çeşididir. Bu makale, Web uygulamalarını Azure Sanal Makineler'a dağıtma özelliklerine odaklanır.

Azure Sanal Makineler, işleminizin esnek ve ayrıntılı bir şekilde yönetilmesini istediğinizde özel uygulamaları barındırmak için bir seçenektir. Sanal makineler (VM'ler), geliştirme yaşam döngüsü boyunca Hizmet Olarak Platform (PaaS) teklifleriyle aynı mühendislik düzeyine tabi olmalıdır. Örneğin, değişiklikleri VM'lere göndermek için otomatik derleme ve yayın işlem hatlarını uygulama.

Bu makalede, Azure Pipelines kullanarak sürekli tümleştirme (CI) ve sürekli dağıtım (CD) uygulamalarını kullanarak VM'lere uygulama değişikliklerini dağıtmak için üst düzey bir DevOps iş akışı açıklanmaktadır.

Mimari

Azure Pipelines'ın kullanıldığı CI/CD işlem hattının mimari diyagramı.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

Bu bölümde Azure Pipelines temel mimarisini okuduğunuz varsayılır ve yalnızca Azure Sanal Makineler'e iş yükü dağıtma ayrıntılarına odaklanılır.

  1. Çekme isteği işlem hattı - Taban çizgisiyle aynı

  2. CI işlem hattı - Bir Web Uygulamasını IaaS'ye dağıtmak için oluşturulan derleme yapıtlarının bir Web Dağıtımı paketi olması dışında temelle aynıdır

  3. CD işlem hattı tetikleyicisi - Taban çizgisiyle aynı

  4. Hazırlamaya CD sürümü - 2 özel durum içeren temelle aynıdır: 1) indirilen derleme yapıtı Web Dağıtım Paketidir ve 2) paket bir hazırlama Azure Sanal Makinesine dağıtılır.

  5. Üretime CD yayını - 2 özel durum içeren taban çizgisiyle aynıdır:

    a. Üretim sürümü, Azure Traffic Manager'ı hazırlama ve üretimle değiştirecek şekilde güncelleştirerek gerçekleştirilir. Bu strateji, üretimin etkinleştirildiği ve hazırlamanın devre dışı bırakıldığı iki uç noktaya sahip bir Traffic Manager profiline sahip olarak gerçekleştirilebilir. Hazırlama ve üretimi değiştirmek için, üretimi devre dışı bırakın ve hazırlamayı etkinleştirin.
    b. Geri alma işlemi, üretim ve hazırlamayı değiştirmek için Azure Traffic Manager güncelleştirilerek gerçekleştirilebilir.

  6. Izleme - taban çizgisiyle aynı

Bileşenler

Bu bölümde Azure Pipelines temel mimari bileşenleri bölümünü okuduğunuz varsayılır ve yalnızca Azure Sanal Makineler'e iş yükü dağıtma ayrıntılarına odaklanılır.

  • Azure Sanal Makineler, Windows veya Linux sunucuları kullanarak isteğe bağlı, yüksek ölçekli, güvenli, sanallaştırılmış altyapı sağlar. Sanal Makineler iş yüklerini barındırmak için bu mimaride kullanılır.

  • Sanal Makine Ölçek Kümeleri aynı yük dengeli VM'lerden oluşan bir grup oluşturmanıza ve yönetmenize olanak sağlar. Tanımlı bir zamanlamaya veya talebe yanıt olarak sanal makine örneği sayısı otomatik olarak artabilir ya da azalabilir. Ölçek kümeleri iş yüklerini barındırmak için de kullanılabilir.

  • Azure Traffic Manager , trafiği yapılandırılmış uç noktalara dağıtmak için kullanabileceğiniz DNS tabanlı bir trafik yük dengeleyicidir. Bu mimaride Traffic Manager, istemciler için tek giriş noktasıdır ve üretim Sanal Makinesini ve hazırlama Sanal Makinesini temsil eden birden çok uç noktayla yapılandırılır. Üretim Sanal Makinesi uç noktası etkinleştirilir ve hazırlama devre dışı bırakılır.

Alternatifler

Bu makalede yük dengeleyici olarak Azure Traffic Manager kullanımına odaklanmaktadır. Azure, göz önünde bulundurabileceğiniz çeşitli Yük dengeleme seçenekleri sunar.

Dikkat edilmesi gerekenler

Bu bölümde, Azure Pipelines temel mimarisindeki önemli noktalar bölümünü okuduğunuz varsayılır ve yalnızca azure Sanal Makineler bir iş yükü dağıtmaya yönelik önemli noktalara odaklanılır.

İşlem Mükemmelliği

  • Traffic Manager DNS tabanlı olduğundan IP adreslerinin istemci önbelleğe alınması gecikmeye neden oluyor. Traffic Manager'da bir uç noktayı etkinleştirip başka bir uç noktayı devre dışı bıraksanız da istemciler, DNS Yaşam Süresi (TTL) süresi dolana kadar önbelleğe alınmış IP adreslerini kullanmaya devam eder. Katman 4 veya katman 7'de hareket eden yük dengeleme seçeneklerini göz önünde bulundurun.

  • Geri alma, el ile kabul testi ve performans testi gibi işlemleri etkinleştirmek için yalnızca hazırlama ve üretim dışında ortamlar uygulamayı göz önünde bulundurun. Hazırlamayı geri alma ortamı olarak kullanma eylemi, bu ortamı başka amaçlarla kullanabilmenizi engeller.

Sonraki adımlar