Microsoft AZ-400: Sürüm Yönetimi ve Dağıtım Stratejileri — Çalışma kılavuzu

Şunun bir parçası: Microsoft DevOps Engineer Expert AZ-400 — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Microsoft sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.

Genel Bakış

Azure’da sürüm yönetimi, kullanılabilirliği korurken geri bildirimi hızlandıran, tekrarlanabilir ve ilke tabanlı teslimata dayanır. Dağıtım stratejilerinde, kapılı doğrulamalarda (gated validations), halka tabanlı sunumda (ring-based exposure) ve özellik bayraklı karanlık lansmanlarda (feature-flagged dark launches) uzmanlaşmak, ekiplerin güvenlikten ödün vermeden sürekli teslimat yapmasını sağlar. Azure Pipelines, Azure Deployment Environments, Azure Front Door/Traffic Manager ve Azure App Configuration; aşamalı teslimat (progressive delivery), çoklu ortam düzenlemesi (orchestration) ve denetlenebilir değişiklik kontrolü için bütünleşik bir araç zinciri sunar. Bu bölümde, her bir yeteneğin ne zaman ve nasıl kullanılacağı, bunların birbirine nasıl bağlanacağı ve üretim seviyesindeki işlem hatlarında (pipeline) hangi geri alma (rollback) ve belgelendirme uygulamalarının beklendiği açıklanmaktadır.

Dağıtım Stratejileri ve Aşamalı Teslimat

Mavi-yeşil (blue-green) (kırmızı-siyah olarak da bilinir), mevcut sürüm (mavi) trafiğe hizmet verirken yeni sürümü paralel bir ortama (yeşil) dağıtır. Azure App Service’te, dağıtım yuvaları (deployment slots) mavi-yeşil stratejisini uygular: hazırlık (staging) yuvasına dağıtım yapın, uygulamayı ısıtın (warm up) ve ardından bir yuva takası (slot swap) gerçekleştirin. Geri alma, yuvaları tekrar takas ederek anında gerçekleşir; bu nedenle mavi-yeşil en hızlı geri alma seçeneğidir. Trafik yönlendirilmeden önce bağlamaları (bindings) ve uygulama ayarlarını doğrulamak için yuva takaslarını “Önizlemeli Takas” (Swap with preview) özelliğiyle birlikte kullanın.

Kanarya (canary) dağıtımı, önce kullanıcıların küçük bir bölümüne dağıtım yapar, ardından sistem sağlığı korundukça trafiği aşamalı olarak artırır. Azure’da kanarya dağıtımını şu yöntemlerle uygulayabilirsiniz:

Kademeli güncellemeler (rolling updates), örnekleri (instance) yavaş yavaş değiştirerek çift filo maliyetinden kaçınır. AKS’te, rollingUpdate‘i maxSurge ve maxUnavailable ile yapılandırın; readiness/liveness problarının ve PDB’lerin (Pod Disruption Budgets) kullanılabilirliği koruduğundan emin olun. VM Scale Sets için, uygulama sağlık yoklamaları (application health probes) ile kademeli yükseltme ilkelerini (rolling upgrade policies) kullanın. Kademeli güncelleme ekonomiktir ancak sistemsel gerilemelerden (systemic regressions) kurtulması mavi-yeşil dağıtıma göre daha yavaştır.

Özellik bayrakları (feature flags), sürüm yayınını (release) dağıtımdan (deploy) ayırır. Karanlık lansman (dark launching), özellikleri kullanıcılara sunmadan altyapıyı test etmek için kod yollarını varsayılan olarak devre dışı bırakılmış şekilde dağıtır. Bayrakları, maliyetli geçişleri (migrations) kontrol etmek, kullanıcı arayüzünü (UI) aşamalı olarak açmak ve sorunlu davranışları hızla sonlandırmak için kullanın. Bu yöntem, kanarya ve halka dağıtımlarını tamamlar: geniş çapta dağıtım yapın, ardından aşamalı olarak etkinleştirin.

Halka tabanlı dağıtım (ring-based deployment), kullanıcı grupları (cohorts) arasında aşamalı sunumu resmileştirir. R0 (iç kullanıcılar), R1 (kanarya müşterileri), R2 (tek bir bölge) ve R3+ (küresel) gibi halkalar tanımlayın. Bir sonraki halkaya geçiş kriterleri nesnel olmalıdır: SLO uyumluluğu, Sev2+ seviyesinde olay olmaması ve kabul edilebilir iş KPI’ları. Halkaları, trafiği erken durdurmak veya geri almak için trafik kaydırma (Front Door/Traffic Manager), ortam kontrolleri ve onay kapıları (approval gates) ile birlikte kullanın.

Aşamalı trafik kaydırma için Azure Front Door ve Traffic Manager karşılaştırması: Front Door, anlık değişiklikler, sağlık yoklamaları, oturum benzeşimi (session affinity), yol tabanlı yönlendirme (path-based routing) ve ağırlıklı bölmeler (weighted splits) ile katman 7’de çalışır; bu da onu uygulama katmanı kanarya dağıtımları ve A/B testleri için ideal kılar. Traffic Manager, DNS seviyesinde çalışır; coğrafi yönlendirme (geo-routing), bulutlar arası yük devretme (cross-cloud failover) veya bölge düzeyinde kanarya dağıtımları için daha iyidir ancak DNS TTL süreleri gibi dikkate alınması gereken noktaları vardır ve uygulama katmanı özellikleri sunmaz.

Ortamlar, Onaylar ve Kapılar

Azure Deployment Environments, koruma mekanizmaları (guardrails) ile geliştirme/test ortamlarının sağlanmasını standartlaştırır. Ortam tanımları (environment definitions), tekrarlanabilir yığınları (stacks) tanımlayan kod olarak altyapı (infrastructure-as-code) şablonlarıdır (Bicep/ARM/Terraform). Tanımlar, servise kaydedilmiş Git depoları olan kataloglarda (catalogs) yaşar ve bu sayede sürümlenmiş, keşfedilebilir ortam taslakları (blueprints) sağlar. Geliştiriciler, kurumsal ilkelerle (kotalar, RBAC, ağ yapılandırması) kısıtlanmış geliştirme/test örneklerini self-servis olarak oluşturabilir, bu da standart dışı (“snowflake”) ortamları ortadan kaldırır ve alt seviye ortamları üretim topolojisiyle uyumlu hale getirir.

Onaylar (approvals), gerektiğinde döngüye insan müdahalesini dahil eden kontroller oluşturur. Azure Pipelines’da:

Sürüm kapıları (release gates), bir üst aşamaya geçmeden önce nesnel kanıtları zorunlu kılar. Azure Pipelines aşağıdaki gibi kontrolleri destekler:

Sübjektif terfi kararlarından ölçülebilir terfi kararlarına geçmek için halka (ring) sınırlarında ve kanarya dağıtımı sırasında kapıları (gates) uygulayın.

Çok Ortamlı Pipeline’lar, Değişkenler ve Bağımlılıklar

Açık bağımlılıklara ve ortam kapsamına sahip çok aşamalı YAML pipeline’ları tasarlayın. Aşamalı dağıtımı (progressive rollout) modellemek için strateji blokları (runOnce, rolling, canary) içeren dağıtım işlerini (deployment jobs) kullanın ve otomatik geri alma (rollback) için preDeploy, routeTraffic, postRouteTraffic ve on: failure gibi kancaları (hook) dahil edin. Aşamalar, sonraki ortamların yalnızca önceki ortamlar kapıları (gate) ve onayları geçtikten sonra çalışmasını sağlamak için dependsOn ve koşulları (condition) bildirmelidir.

Ortama özgü yapılandırmayı şu yollarla yönetin:

Birden çok ortama yapılan dağıtımlar için, yükseltme (promotion) ile birlikte değişmez (immutable) yapıtları (artifact) tercih edin (bir kez oluştur, çok kez dağıt). Aynı yapıtın dev’den prod’a akışı sırasında izlenebilirliği sürdürmek için iş öğelerini (work item) commit’lere ve build’lere bağlayın; bu, doğru sürüm notları ve denetimler sağlar.

Geri Alma (Rollback) Stratejileri ve Veritabanı Hususları

Dağıtım yapmadan önce geri alma işlemlerini planlayın:

Azure App Configuration ile Özellik Bayrakları ve Sürüm Notları Otomasyonu

Azure App Configuration, .NET, Java, Node.js ve diğerleri için SDK’lar ile özellik yönetimini merkezileştirir. Bayrakları ortama veya dağıtım halkasına (ring) göre kapsamlandırmak için etiketler kullanın ve uygulamaların yeniden dağıtıma gerek kalmadan değişiklikleri alması için dinamik yenilemeyi etkinleştirin.

İzlenebilirlik ve iletişim sağlamak için sürüm notlarını otomatikleştirin:

Pratik Problem Senaryosu

Adobe, Azure’da barındırılan pazarlama sitelerine, yoğun kampanyalar sırasında dönüşüm oranlarını riske atmadan yeni bir kişiselleştirme motoru sunmalıdır. Ekibin sık sık dağıtım yapması, özelliği aşamalı olarak kullanıma sunması, SLO’ları doğrulaması ve KPI’lar düşerse anında geri alması gerekir.

  1. Azure Deployment Environments ile ortamları tanımlama
  1. Çok aşamalı YAML ile bir kez oluştur, çok kez dağıt
  1. Eski web katmanı için App Service slot’ları ile mavi-yeşil dağıtım kullanma
  1. Azure Front Door ağırlıklı yönlendirme ile kanarya dağıtımı sunma
  1. Yükseltmeleri nesnel denetimlerle kapıdan geçirme
  1. Kritik geçişlerde onayları zorunlu kılma
  1. Azure App Configuration özellik bayrakları ile sunumu kontrol etme
  1. Genişlet-daralt (expand-contract) geçişleri ile verileri koruma
  1. Geri alma yollarını otomatikleştirme

undefined

komutunu çalıştırır. Karmaşık senaryolar için operatörler tarafından manuel tek tıklamayla geri alma seçeneği mevcut kalır.

  1. Sürüm dokümantasyonunu otomatikleştirme

Bu yaklaşım, her aracı kendi gücüne göre kullanır: güvenli, tekrarlanabilir ortamlar için ADE; yönetilen akış için YAML stratejileri ve onayları; katmanlı aşamalı teslimat için Front Door ve App Configuration; nesnel kalite kontrolü için Azure Monitor ve kapılar; ve dayanıklılık ve izlenebilirlik için otomatik geri almalar ve sürüm notları.


Konteynerleştirme ve Kubernetes · Tüm alanlar · Güvenlik

Bu soruları çözün → · ExamRoll.io’da süreli pratik →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Sınavınızı geçin →

Microsoft'a göz atın →

Related guides

Hepsi bir arada erişim

Tek abonelik. Her sınav.

Her plan, sınırsız cevap aramayı, pratik testlerini, AI açıklamalarını ve tam kaynak kütüphanesini — 20'den fazla dilde — açar.

Aylık
24.87
Just €0.83/day
Her şey dahil:
  • Sınırsız cevap arama
  • Sınırsız pratik testi
  • AI destekli açıklamalar
  • Tam kaynak kütüphanesi
  • 20+ dil
  • Haftalık içerik güncellemeleri
  • Ödüller ve yönlendirmeler
  • Öncelikli destek
Ücretsiz denemeyi başlat

Kredi kartı gerekmez*

En iyi değer
12 ay
179.87
Just €0.49/daySave 40%
Her şey dahil:
  • Sınırsız cevap arama
  • Sınırsız pratik testi
  • AI destekli açıklamalar
  • Tam kaynak kütüphanesi
  • 20+ dil
  • Haftalık içerik güncellemeleri
  • Ödüller ve yönlendirmeler
  • Öncelikli destek
Ücretsiz denemeyi başlat

Kredi kartı gerekmez*

✓ Ücretsiz plan dahil · ✓ İstediğiniz zaman iptal edin · ✓ Tüm planlar tam ürünü açar