Buluta özel çözümler oluşturma

Planlamadan sonra çözümü geliştirme ortamında derleyin ve yapılandırın. Test yoluyla en iyi yöntemleri izleyin ve kaliteyi sağlayın. Bulutta yerel çözüm, Azure hizmetlerinin avantajlarını en üst düzeye çıkarmak için ölçeklenebilir, dayanıklı ve gözlemlenebilir mimari desenleri kullanır. Güçlü test ve otomasyon uygulamalarıyla üretim dışı bir ortamda derlemek, üretim dağıtımı için kalite ve hazırlık sağlar.

Yeni buluta özel çözümler geliştirme

Bulutta yerel geliştirme, kalite uygulamalarını baştan tümleştiren yapılandırılmış bir yaklaşım gerektirir. Bu kılavuz, kanıtlanmış geliştirme uygulamaları aracılığıyla güvenilir, güvenli ve ölçeklenebilir çözümler oluşturmanıza yardımcı olur.

Geliştirme sırasında Well-Architected Framework ilkelerini uygulama

Bulutta yerel çözüm, Well-Architected Framework (WAF) ilkelerinin uygulanmasından yararlanır. Well-Architected Çerçevesi, etkili buluta özel geliştirme ilkeleri sağlar. Üretimde iyi performans gösteren sağlam uygulamalar oluşturmak için bu beş sütunu tümleştirin.

Üretim dışı bir ortamda çözüm geliştirme

  1. Üretim yapılandırmalarını yansıtan geliştirme ortamları oluşturun. Üretimi yakından yansıtan üretim dışı ortamlar (geliştirme, test, QA) ayarlayın. Test ortamlarınız üretim ortamına ne kadar yakın olursa, yayınlandığında işler o kadar güvenli olur. Bu yaklaşım özellikle mevcut bir iş yüküne yeni özellikler eklerken önemlidir.

  2. Üretim veri hacimlerini temsil eden gerçekçi veri kümeleri kullanın. Üretim iş yüklerinin boyutu ve karmaşıklığıyla eşleşen verilerle test edin. Büyük veri kümeleri, küçük test veri kümelerinin kaçırdığı performans sorunlarını ve ölçeklendirme sorunlarını ortaya çıkarır. Üretim verilerini anonimleştirin veya gerçek verilerin istatistiksel özelliklerini koruyan yapay veriler oluşturun.

  3. Üretim dışı ortamlar için maliyet denetimleri uygulayın. Kullanımda olmayan kaynakları otomatik olarak başlatmak ve durdurmak için Azure DevTest Labs veya kaynak zamanlamasını kullanın. Geliştirme iş yükleri için uygun hizmet katmanlarını uygulayın ve test verimliliğini korurken beklenmeyen maliyetleri önlemek için harcama sınırları uygulayın.

Daha fazla bilgi için bkz. WAF'de test ortamını yapılandırma .

Kaynak denetimi ve CI/CD kullanarak değişiklikleri uygulama

  1. Tüm kodu ve yapılandırmayı bir Git deposunda depolayın. Sürüm denetiminde uygulama kodunu, altyapı şablonlarını, dağıtım betiklerini ve yapılandırma dosyalarını izleyin. Bu uygulama değişikliklerin eksiksiz bir geçmişini sağlar ve ekip üyeleri arasında işbirliğine olanak tanır.

  2. Geliştirme çalışmalarını küçük ve sık komitlere bölün. Bağımsız olarak birleştirilebilen ve test edilebilen küçük artışlarla özellik geliştirmeyi tamamlayın. Bu yaklaşım tümleştirme çakışmalarını azaltır ve ortaya çıkan sorunların kaynağını belirlemeyi kolaylaştırır.

  3. Her kod değişikliğinde derlemeleri ve testleri otomatikleştirin. Değişiklikler işlendiğinde kodu otomatik olarak derleyen, testleri çalıştıran ve üretim dışı ortamlara dağıtan CI/CD işlem hatlarını yapılandırın. Hızlı geri bildirim döngüleri, geliştiricilerin sorunları hızla yakalamalarına ve çözmelerine yardımcı olur.

  4. Yeni işlevlerin yayınlanmasını denetlemek için özellik bayraklarını kullanın. Yeni özellikleri kullanıcılar için hazır olana kadar devre dışı bırakırken üretime kod dağıtmanıza olanak sağlayan özellik geçişlerini uygulayın. Bu strateji dağıtımı sürümden ayırır ve daha güvenli, daha denetimli dağıtımlar sağlar.

Geliştirme sırasında izleme işlemlerini uygulama

  1. Azure İzleyici ve Application Insights'ı uygulama kodunuzla tümleştirin. Önemli performans ölçümlerini, kullanıcı etkileşimlerini ve sistem durumu göstergelerini izlemek için izleme verileri toplamayı ekleyin. Üretim dağıtımı öncesinde doğru şekilde çalıştıklarından emin olmak için geliştirme sırasında bu araçları yapılandırın.

  2. Uygulamanız genelinde yapılandırılmış günlük kaydı uygulayın. Tutarlı günlük biçimlerini kullanın ve kullanıcı kimlikleri, istek kimlikleri ve iş süreci tanımlayıcıları gibi bağlamsal bilgileri ekleyin. Güçlü sorgulama ve analiz özelliklerini etkinleştirmek için günlüklerinizi JSON nesneleri olarak yapılandırabilir.

  3. Önemli ölçümler ve hata koşulları için uyarıları yapılandırın. Hata oranları arttığında, yanıt sürelerinin düştüğünde veya iş ölçümleri beklenen aralıkların dışında olduğunda sizi bilgilendiren proaktif izleme ayarlayın. Hizmet düzeyi hedeflerinize ve iş gereksinimlerinize göre uyarı eşikleri tanımlayın.

  4. Sistem performansına görünürlük sağlayan panolar oluşturun. Uygulamanızın, altyapınızın ve iş süreçlerinizin durumunu gösteren izleme panoları oluşturun. Veri odaklı kararlar almak için hem teknik ekipler hem de iş paydaşları için önemli olan ölçümleri ekleyin.

Daha fazla bilgi için bkz. İzleme sistemi tasarlama ve WAF içinde uygulama enstrümantasyonu.

Test ile bulutta yerel çözümleri doğrulama

Kapsamlı test, çözümünüzün iş gereksinimlerini karşıladığını doğrular ve gerçek dünya koşullarında güvenilir bir şekilde performans gösterir. Her test türü, çözüm kalitesinin sağlanmasında belirli bir amaca hizmet eder.

  1. İş akışlarını doğrulamak için uçtan uca işlevsel test yürütür. Gerçekçi veriler ve etkileşimler kullanarak kimlik doğrulamasından işlem tamamlamaya kadar tüm kullanıcı senaryolarını test edin. Yeni özelliklerin düzgün çalıştığını ve değişikliklerden sonra mevcut işlevlerin değişmeden kaldığını doğrulayın. İstenmeyen yan etkileri yakalamak için regresyon testleri çalıştırın.

  2. İş paydaşlarıyla kullanıcı kabul testi gerçekleştirme. Çözümün ihtiyaçlarını ve beklentilerini karşıladığını doğrulamak için gerçek kullanıcılarla veya iş temsilcileriyle etkileşime geçin. UAT ortamında önemli senaryoları test etmelerini ve kullanılabilirlik ve işlevsellik hakkında geri bildirim sağlamalarını sağlayın. Üretim dağıtımına geçmeden önce paydaşlardan resmi onay alın.

  3. Performansı doğrulamak için gerçekçi koşullar altında yük testi gerçekleştirin. Beklenen kullanıcı birimlerinin ve veri aktarım hızının benzetimini yapmak için Azure Yük Testi kullanın. Performans darboğazlarını ve ölçeklendirme sınırlarını belirlemek için en yüksek yük düzeylerinde ve ötesinde testler yapın. Çözümünüzün performans gereksinimlerini karşıladığından emin olmak için yanıt sürelerini, aktarım hızını ve kaynak kullanımını ölçün.

  4. Güvenlik açıklarını belirlemek için güvenlik ve uyumluluk testi yürütür. Uygulama kodu, kapsayıcı görüntüleri ve altyapı yapılandırmalarında otomatik güvenlik taramaları çalıştırın. Güvenlik yanlış yapılandırmalarını ve uyumluluk ihlallerini denetlemek için Bulut için Microsoft Defender kullanın. Dağıtımdan önce yüksek riskli güvenlik açıklarını giderin ve kabul edilen riskler için telafi denetimleri uygulayın.

  5. Üretim dağıtımı öncesinde kritik sorunları çözün. Test aşamalarını devam etmeden önce geçirilmesi gereken kalite geçitleri olarak değerlendirin. Hizmet düzeyi sözleşmelerinin karşılanmasını engelleyen performans sorunlarını düzeltin, önemli risk oluşturan güvenlik açıklarını çözün. Temel iş süreçlerini etkileyen işlevsel hataları giderin. Gelecekteki çözüm planlarıyla ilgili bilinen düşük öncelikli sorunları belgele.

  6. Otomatik birim ve tümleştirme testi paketlerini koruyun. Tek tek bileşenleri ve bunların dış bağımlılıklarla etkileşimlerini doğrulayan kapsamlı otomatikleştirilmiş testler oluşturun. Bu testleri CI/CD işlem hattınızın bir parçası olarak ve regresyonları önlemek için her hata düzeltmesinin ardından çalıştırın. Güçlü bir otomatikleştirilmiş test paketi, bulutta yerel ortamlarda güvenli sürekli teslim sağlar.

Yeniden kullanılabilir altyapı oluşturma

Modernleştirilmiş çözümünüz üretim dışı ortamdaki tüm testleri geçtikten sonra altyapı kurulumlarını ve yapılandırmalarını kod olarak yakalamanız gerekir, böylece üretim ortamlarında ve gelecekteki ortamlarda kolayca çoğaltılabilir. Yeniden kullanılabilir altyapı, tutarlılık ve hız için kod olarak altyapı (IaC) şablonları ve otomasyonu kullanmak anlamına gelir.

  1. Kanıtlanmış yapılandırmalar için IaC şablonları oluşturun. Test ortamınızın (üretim ortamında istediğiniz şekilde yansıtan) son mimarisini alın ve kodlayın. Altyapınızı tanımlamak için Bicep, Terraform veya Azure Resource Manager şablonları kullanın. Bu şablonları parametreleştirerek geliştirme, test gibi farklı aşamalar için yeniden kullanılabilmesini ve adlar veya boyutlar gibi küçük ince ayarlarla kullanılmasını sağlayın. Bu kurulum, oluşturduğunuz üretim ortamının test ettiğiniz ortamla eşleşmesini sağlar. Azure portalında kaynak oluşturmak için manuel tıklamaları önleyerek insan hatalarını önler. Altyapı dağıtımının hazır olduğu anlamına da gelir, bu da felaket kurtarma veya yeni bölgelere dağıtım gibi durumlarda çevreyi tekrar oluşturmanız gerektiği zamanlar içindir. Daha fazla bilgi için bkz. CAF Yönetme - Kod tabanlı dağıtımları yönetme.

  2. Şablonları sürüm denetiminde depolayın. Altyapı kodunuzu bir Git deposuna (uygulama koduyla birlikte veya ayrı bir depoda) denetleyin. IaC varlıklarını uygun sürüm denetimiyle yönetmek için GitHub veya Azure DevOps kullanın. Sürüm denetimi kod incelemelerine olanak tanır, ekip işbirliğini destekler ve projeler arasında şablonun yeniden kullanılmasını teşvik eder. Bu yaklaşım, altyapı değişiklikleri için tam izlenebilirlik sağlar ve sorunlar oluştuğunda geri alma özelliklerini destekler.

  3. Bağımlılık yükleme ve yapılandırmayı otomatikleştirme. Bu şablonları dağıtmak ve gerekli yapılandırma veya dağıtım görevlerini işlemek için betikler veya işlem hattı görevleri oluşturun. IaC şablonunu alıp hedef abonelik/kaynak grubuna dağıtan dağıtım işlerini çalıştırmak için Azure Pipelines, GitHub Actions kullanın. Uygulama bağımlılıklarını yüklemeyi, ayarları yapılandırmayı ve gizli dizi yönetimini otomatikleştirin. Amaç tek tıklamayla (veya tek komutla) ortam kurulumudur: sıfırdan test ettiğinizle eşleşen tam olarak çalışan bir ortama.

  4. IaC ve otomasyonu uçtan uca test edin. Korumalı alan olarak ayrı bir Azure aboneliği veya kaynak grubu kullanın ve şablonlarınızı ve betiklerinizi kullanarak ortamınızın tamamını sıfırdan dağıtma alıştırması yapın. IaC şablonlarınızın, işlem hatlarınızın ve betiklerinizin tüm altyapı yığınını hiç yoktan oluşturabileceğini test edin. Otomasyonun düzgün çalıştığını onaylamak için ilk dağıtım, yapılandırma güncelleştirmeleri ve geri alma yordamları dahil olmak üzere farklı dağıtım senaryolarını test edin.

Daha fazla bilgi için İş Yükü Geliştirme Tedarik Zinciri Tasarımı ve WAF'de Kod Olarak Altyapı başlıklarına bakınız.

Dağıtım belgeleri oluşturma

Otomasyonda bile dağıtımlarla ilgili iyi belgelere sahip olmak denetim, yeni ekip üyelerini ekleme ve gelecekteki bakım işlemleri için çok önemlidir. Dağıtım belgeleri, insan tarafından okunabilir biçimde yapılandırmaları, yordamları ve geri alma adımlarını kapsamalıdır.

  1. Belge yapılandırma ayarları ve adımları. Tüm ortama özgü ayarları, bağlantı dizelerini, hizmet uç noktalarını ve güvenlik yapılandırmalarını erişilebilir belgelere kaydedin. Adım adım dağıtım yönergelerini, önkoşul gereksinimlerini ve dağıtım sonrası doğrulama adımlarını ekleyin. Bu belge tutarlı dağıtımları etkinleştirir ve sorun oluştuğunda sorun gidermeyi destekler. Yeni bir mühendisin dağıtım yapmak zorunda olması durumunda bu belgeyi okuyabilir ve işlem hattının çıkışını izleyebilir veya anlayabilir.

  2. Geri alma ve kurtarma prosedürlerini güncelleyin. Testlerinizi tamamladıktan sonra, dağıtım sorunları oluştuğunda değişiklikleri geri döndürme adımlarını resmileştirin. Geri alma tetikleyicilerini, veri yedekleme ve geri yükleme yordamlarını ve kurtarma doğrulama adımlarını dahil edin. Gerektiğinde doğru çalıştığından emin olmak için geri alma ve kurtarma yordamlarını düzenli olarak test edin. Bu hazırlık kapalı kalma süresini azaltır.

  3. Tüm bu belgeleri merkezi bir konumda toplayın. Bu bilgileri depolamak için SharePoint, GitHub veya wiki kullanın. Ekip ve destek personelinin nerede bulacaklarını bildiklerinden emin olun. Yoğun strese neden olan bir olayda, açık belgelere sahip olmak bir hayat koruyucudur.

Sonraki adım