Aracılığıyla paylaş


Buluta özel çözümleri planlama

Bulutta yerel çözüm, yeni iş yükleri oluşturarak veya mevcut iş yüklerini geliştirerek iş değeri oluşturur. İster yeni bir uygulama geliştiriyor ister mevcut bir sisteme yeni özellikler ekliyor olun, buluta özel geliştirme, iş yüklerinizi planlama, oluşturma, dağıtma ve iyileştirme yolculuğudur. Bu çerçeve, uygulamanızı iş hedefleriyle, mimari en iyi yöntemlerle ve risk yönetimiyle uyumlu hale getirmek için rehberlik sağlar.

Önkoşullar:Azure giriş bölgesi

Her hizmet için karar noktaları içeren Microsoft ve Azure hizmetlerini gösteren diyagram.

Bulutta yerel çözümler için iş hedeflerini tanımlama

  1. Net iş hedefleri ile başlayın. Yeni bir dijital ürün etkinleştirme, yeni bir pazara girme, müşteri deneyimini iyileştirme veya operasyonel maliyetleri azaltma gibi çözümünüzün elde etmesi gereken belirli sonuçları tanımlayın. Başarıyı ölçmek için gelir büyümesi, pazara çıkış süresi azaltma veya destek bileti hacmi gibi ölçülebilir göstergeleri kullanın. Yeni özellikler için müşteri deneyimini geliştirme, operasyonel maliyetleri azaltma veya sistem ölçeklenebilirliğini artırma gibi hedefleri tanımlayın.

  2. Kısıtlamaları ve başarı ölçütlerini belirleyin. Bütçe, uyumluluk veya teslim zaman çizelgeleri gibi tüm iş kısıtlamalarını belgele. Her hedef için başarının nasıl göründüğünü tanımlayın. Örneğin, "Q4'e göre yeni bir müşteri portalı başlatın" veya "ödeme gecikme süresini 40%azaltın." Bu ölçütler öncelik belirlemeye yol gösterir ve planlama sırasında dengeleri değerlendirmeye yardımcı olur.

  3. Paydaş hizalamasını doğrulama. Tüm paydaşların (iş ve teknik) hedefler, kısıtlamalar ve başarının nasıl göründüğü konusunda hemfikir olduğunu onaylayın. Bu uyum atölye çalışması veya resmi onaylar içerebilir. Erken hizalama, daha sonra yanlış anlaşılmayı önler ve herkesin başlangıçtan itibaren aynı beklentileri paylaşmasını sağlayarak maliyetli bir yeniden çalışma yapılmasını önler.

Bulutta yerel çözümler için gereksinimleri tanımlama

  1. İşlevsel gereksinimleri belgeleyin. Sistemin kullanıcı gereksinimlerini karşılamak için sağlaması gereken özellikleri ve özellikleri belgele. Geliştirme çalışmalarının istenen sonuçları doğrudan desteklediğinden emin olmak için her gereksinim bir iş hedefine geri dönmelidir. Yüksek değerli sonuçları belirlemek için paydaş görüşmelerini ve iş stratejisi belgelerini kullanın. İş değerine ve teknik fizibiliteye göre özelliklerin önceliklerini belirleyin. Dahil edilmesini gerekçelendirmek için her gereksinimi ölçülebilir bir iş hedefine kadar takip edin.

  2. İşlevsel olmayan gereksinimler oluşturun. İşlevsel olmayan gereksinimler, işlevsel gereksinimleri ve idareyi karşılamak için teknik gereksinimleri tanımlar. Bu özellikleri desteklemek için gereken kalite özniteliklerini ve teknik hedefleri oluşturun. Çalışma süresi için hizmet düzeyi hedefleri (SLO'lar), kurtarma noktası hedefleri (RPO'lar) ve kurtarma süresi hedefleri (GPO'lar) gibi hedef güvenilirlik ölçümlerini tanımlayın. Bir güvenlik temeli oluşturun. Maliyet modeli oluşturma. Performans hedeflerini ayarlayın.

  3. Bulutta yerel çözümlerin kapsamını denetleme. İlk sürüm için kapsam içinde ve kapsam dışında olan özellikleri net bir şekilde tanımlayın. Daha fazla "hoş özellik" eklemek cazip gelebilir, ancak kapsam sürünmesi zaman çizelgelerini ve bütçeleri tehlikeye atabilir. Çözümünüzün sınırlarını belgeleyin ve yeni istekler için bir değişiklik denetimi işlemi uygulayın. Yalnızca tanımlı hedefleri doğrudan destekleyen ve zamanlama veya bütçeyi baltalamadan teslim edilebilen değişiklikleri onaylayın. Düşük öncelikli fikirleri gelecekteki bir birikime aktarın. Kapsamın sıkı bir şekilde yönetilmesi, ekibin kısıtlamalar dahilinde en değerli işlevleri sunmaya odaklanmasını sağlar.

Bulutta yerel mimarileri planlama

İyi planlanmış bir mimari, hedeflerinizi ve gereksinimlerinizi karşılamak için kritik öneme sahiptir. Her önemli mimari karar ölçeklenebilirlik, karmaşıklık, maliyet ve çeviklik açısından dengeleri içerir. Aşağıdaki adımlar ve karar noktaları, en iyi yöntemlerle uyumlu, bulutta yerel bir tasarım oluşturmanıza yardımcı olur:

Doğrulanmış bulut tabanlı mimarileri keşfedin

  1. Mimarinin temellerini gözden geçirin. Sıfırdan bir mimari icat etmeden önce Azure Mimari Merkezi'ndeki doğrulanmış başvuru mimarilerini ve temel bilgilerini gözden geçirin. Yaygın iş yükleri için doğrulanmış başvuru mimarilerini keşfedin. Bu mimariler tasarım kararlarını hızlandırmaya ve riski azaltmaya yardımcı olur.

  2. Uygun bir mimari stili seçin. İş yükünüzün özelliklerine ve ekip özelliklerine göre bir mimari stili seçin. Mimari stiller arasında N katmanlı (monolitik), mikroservisler, olay tabanlı (ileti tabanlı) ve web-kuyruk-işlemci yer alır. Örneğin, nispeten basit bir uygulama için hızlı geliştirme gerekiyorsa, iyi yapılandırılmış bir N katmanlı monolit yeterli olabilir. Farklı etki alanlarına sahip büyük ölçekli veya hızla gelişen bir uygulama için mikro hizmetler veya olay odaklı yaklaşımlar esneklik sunar (karmaşıklık karşılığında). Pratikte, birçok sistem karma stile sahiptir. Örneğin, bazı paylaşılan hizmetlere veya olay temelli bir alt sisteme sahip bir mikro hizmet çekirdeği vardır. Önemli olan, her stilin dengelerini anlamak ve ölçeklenebilirlik, dayanıklılık ve çeviklik gereksinimlerinizi en iyi karşılayan yaklaşımı seçmektir.

  3. Tasarım en iyi yöntemlerini uygulama. Hangi stili seçersensiniz seçin, bulut mimarisinin temellerine ve en iyi yöntemlerine uyun. Azure Mimari Merkezi, dağıtılmış iş yüklerindeki yaygın zorlukları ele alan bir bulut tasarım desenleri (Yeniden Deneme, Devre Kesici, CQRS) kataloğu sağlar. Bu desenleri tasarımınızla tümleştirmek güvenilirliği ve performansı artırabilir.

  4. Beş yapı taşını tasarım kararlarıyla tümleştirin. Güvenilirlik, güvenlik, performans verimliliği, maliyet iyileştirme ve operasyonel mükemmellik gibi kararlara yol göstermek için Well-Architected Çerçevesi'ni kullanın. Bu beş yapı tüm tasarım kararlarını bilgilendirmelidir. Örneğin, veritabanı seçerken doğru dengeyi sağlamak için güvenilirliği (yedeklilik, yedekleme), performansı ve maliyeti birlikte göz önünde bulundurun. Daha yüksek performans için daha fazla maliyet gibi sütunlar arasında dengeler kurabileceğinizi belgeleyin. Bu notlar, gelecekteki idare ve incelemeler için değerlidir.

Mevcut sistemlerle tümleştirmeleri planlama

  1. Tüm bağımlı sistemlerin ve hizmetlerin envanteri. Yeni buluta özel çözümler, erken aşamadaki bir başlangıç değilseniz nadiren yalıtımlı çalışır. Yeni iş yükünüzün veya özelliğinizin ortama nasıl uyduğunu göz önünde bulundurun. Veri akışlarını eşleyin ve standartlarla uyumluluğu sağlayın. İş yükünüzün etkileşimde olduğu tüm sistemlerin kapsamlı bir listesini oluşturun. Bu liste dahili API'leri, veritabanlarını, kimlik sağlayıcılarını (Microsoft Entra Id), izleme araçlarını, CI/CD işlem hatlarını ve VPN veya ExpressRoute aracılığıyla erişilen şirket içi sistemleri içerir. Bu ilişkileri görselleştirmek için mimari diyagramlarını ve bağımlılık haritalarını kullanın.

  2. Tümleştirme türlerini ve protokollerini sınıflandırma. Her tümleştirme noktasını türe (kimlik doğrulaması, veri değişimi, mesajlaşma) ve protokole (REST, gRPC, ODBC, SAML, OAuth2) göre kategorilere ayırın. Bu sınıflandırma, uyumluluk gereksinimlerini ve olası performans sorunlarını belirlemeye yardımcı olur.

  3. Kimlik ve erişim tümleştirmesini doğrulayın. Çözümünüzün kuruluşun kimlik sağlayıcısıyla tümleştirdiğinden emin olun. Örneğin, yeni bir kimlik sistemi tanıtmak yerine kimlik doğrulaması ve yetkilendirme için Microsoft Entra Id kullanın. Çoklu oturum açma (SSO), rol tabanlı erişim denetimi (RBAC) ve koşullu erişim ilkeleri desteğini onaylayın.

  4. Ağ bağlantısını ve güvenliğini değerlendirin. İş yükünüzün diğer sistemlere nasıl bağlanıp bağlanmayacağını gözden geçirin. Güvenlik duvarı kurallarını, DNS çözümlemesini ve yönlendirme yollarını doğrulayın. Karma senaryolar için ExpressRoute veya VPN yapılandırmalarının yerinde olduğunu ve test edildiğini onaylayın. Bağlantıyı izlemek ve sorunlarını gidermek için Azure Ağ İzleyicisi'ni kullanın.

  5. Veri akışı uyumluluğunu ve uyumunu sağlayın. Sistemler arasındaki veri akışlarını eşleme. Veri biçimlerini, şemaları ve dönüştürme gereksinimlerini onaylayın. Veri yerleşimi, şifreleme ve bekletme ilkeleriyle uyumluluğu sağlayın.

  6. Tümleştirme noktalarını erken ve sürekli test edin. Erken geliştirme aşamalarında tümleştirme testi gerçekleştirin. Kullanılamayan sistemler için mock veya stub kullanın. Azure DevOps veya GitHub Actions gibi araçları kullanarak CI/CD işlem hattınızda bu testleri otomatikleştirin. Gecikme süresi, aktarım hızı ve hata oranlarını izleyin. Örneğin, uygulamanızın gerekli yükü desteklememesine veya hizmetinizi engelleyen bir ağ güvenlik duvarına bağlı olduğu bir API'den kaçınmak istiyorsunuz.

  7. Belge tümleştirme sözleşmeleri ve SLA'lar. Her tümleştirme noktasının beklenen davranışını, kullanılabilirliğini ve performansını tanımlayın ve belgeleyin. Yeniden deneme mantığını, zaman aşımı ayarlarını ve geri dönüş mekanizmalarını dahil edin. Bağımlı sistemlerin hizmet düzeyi sözleşmeleriyle (SLA) uyumlu hale getirme.

Uygun Azure hizmetlerini ve hizmet katmanlarını seçme

  1. İş yükü gereksinimleriyle eşleşen hizmetleri seçmek için karar kılavuzlarını kullanın. Azure, uygulama kodunuzu çalıştırmak için her birinin artıları ve dezavantajları olan birden çok seçenek sunar. İşlevsel ve işlev dışı gereksinimlerinize uygun hizmetleri belirlemek için teknoloji seçeneklerine genel bakış makalesini gözden geçirin. Bu hizmetler altyapı yönetimi, düzeltme eki uygulama ve ölçeklendirme işlemlerini otomatik olarak gerçekleştirerek operasyonel ek yükü azalttığı için hizmet olarak platform (PaaS) seçeneklerinin önceliklerini belirleyin.

  2. Hizmet katmanlarını seçmek için kullanım düzenlerini ve performans gereksinimlerini tanımlayın. Hizmet katmanı seçimi hem maliyeti hem de yeteneği etkiler. Beklenen işlem birimlerini, eşzamanlı kullanıcı yüklemelerini, depolama gereksinimlerini ve yanıt süreleri ve aktarım hızı gibi performans hedeflerini belgeleyin. Önemli ölçüde fazla sağlama olmadan temel gereksinimleri karşılayan bir ilk hizmet katmanı (SKU) seçmek için bu ölçümleri kullanın. Dağıtımdan sonra gerçek kullanım desenlerine göre katmanları ayarlamayı planlayın.

  3. Seçili hizmet katmanları arasında özellik uyumluluğunu doğrulayın. Gelişmiş güvenlik özellikleri, yüksek kullanılabilirlik seçenekleri veya tümleştirme API'leri gibi kritik özellikler hizmet katmanına göre farklılık gösterir. Gerekli özellikleri kullanılabilir SKU'larla eşleyen bir özellik matrisi oluşturun. Daha sonra yüksek maliyetli geçişleri veya mimari değişiklikleri önlemek için seçilen katmanın tüm gerekli özellikleri desteklediğinden emin olun. Özellik kullanılabilirliğini ve sınırlamalarını onaylamak için hizmete özgü belgelere başvurun .

Kaç bölge kullanılacağını seçin

  1. Çok bölgeli dağıtımların dengelerini değerlendirin. Tek bölgeli mimariler daha basit ve daha ucuz olsa da bölgesel bir kesinti uygulamanızı çökertir. Çok bölgeli dağıtımlar daha yüksek kullanılabilirlik elde edebilir (bir bölge başarısız olabilir ve kullanıcılar başka bir bölgeden sunulur) ve ayrıca en yakın bölgeden kullanıcılara hizmet vererek performansı artırabilir. Dağıtım ve veri senkronizasyonunda artan karmaşıklık bir ödünleşimdir. Olası tutarlılık sorunları, genel trafik yönlendirmesi ve daha yüksek maliyetlerle bölgeler arasında veri çoğaltmayı işlemeniz gerekir. Bu kararı güvenilirlik gereksinimlerinizin yönlendirmesine izin verin.

  2. Bölgesel stratejiye yol göstermek için güvenilirlik hedeflerini kullanın. Bölgesel gereksinimleri belirlemek için hizmet düzeyi hedeflerini (SLO), kurtarma noktası hedeflerini (RPO) ve kurtarma süresi hedeflerini (RTO) tanımlayın.

  3. Veri yerleşimi düzenlemeleri ile uyumluluğu onaylayın. Bölgesel seçimlerin mevzuat yükümlülüklerini karşıladığından emin olmak için yasal ve uyumluluk ekipleriyle birlikte çalışın.

Belge mimarileri

  1. Ayrıntılı bir mimari diyagramı ve tasarım belgesi oluşturun. Belgeler uygulamayı, gözden geçirmeyi ve gelecekteki bakımı destekler. Seçili Azure hizmetlerini, SKU'ları, veri akışlarını ve kullanıcı etkileşimlerini ekleyin. Diyagramın uygulamayı ve incelemeleri desteklemek için mimarinin net bir görsel gösterimini sağladığından emin olun.

  2. Önemli tasarım kararlarını ve dengelerini kaydedin. Güvenilirlik, güvenlik ve performans gibi işlev dışı gereksinimler de dahil olmak üzere mimari seçimlerin ardındaki mantığı belgeleyin. Rakip öncelikleri dengelemek için yapılan dengelemeleri vurgulayın.

Bulutta yerel dağıtım stratejisini planlama

Bulutta yerel çözümü üretime dağıttığınızda geçici gönderim yerine planlı bir strateji izleyin. Sağlam bir dağıtım planı, kullanıcılar üzerindeki etkileri en aza indirir ve bir sorun oluştuğunda kurtarmanın yollarını sağlar.

Geliştirme ve dağıtım uygulamalarını planlama

Geliştirme ve dağıtım uygulamaları, ortamlar arasında tutarlı teslim ve operasyonel hazırlık sağlar. Bu uygulamalar dağıtım riskini azaltır ve ekip koordinasyonunu geliştirir.

  1. Dağıtım otomasyonu için DevOps uygulamaları oluşturun. DevOps uygulamaları, geliştirme ve operasyon ekiplerini otomasyon, sürüm denetimi ve CI/CD işlem hatları aracılığıyla uyumlu hale getirme. Derleme, test ve dağıtım iş akışlarını otomatikleştirmek için Azure DevOps veya GitHub Actions gibi araçları kullanın. Bu yaklaşım el ile yapılan hataları azaltır, yayın döngülerini hızlandırır ve ortamlar arasında tutarlı dağıtım işlemleri sağlar.

  2. Dağıtım etkinliklerini desteklemek için operasyonel hazırlığı planlayın. operasyonel hazırlık, dağıtım senaryoları için izleme, uyarı ve olay yanıtı yordamlarını içerir. Gerialım prosedürlerini, sağlık kontrollerini ve sorun giderme adımlarını içeren dağıtım runbook'larını ve otomasyon betiklerini belgeleyin. Dağıtım etkinlikleri sırasında erişilebilirliği sağlamak için bu kaynakları Azure DevOps Wiki veya GitHub gibi merkezi bir konumda depolayın.

  3. Güvenilir dağıtımları destekleyen geliştirme uygulamalarını tanımlayın. Kod kalitesini ve dağıtım hazırlığını sağlamak için kodlama standartlarını, eş gözden geçirmelerini ve otomatikleştirilmiş testleri kullanın. Dağıtımdan önce kalite geçitlerini zorunlu kılmak için bu uygulamaları CI/CD işlem hattınızla tümleştirin. Üretim için sistem hazırlığını doğrulamak için tümleştirme testleri, duman testleri ve performans doğrulaması gibi dağıtıma özgü testleri dahil edin.

Yeni iş yüklerini dağıtmayı planlama

  1. Etkiyi sınırlamak için aşamalı pozlamayı kullanın. Mevcut kullanıcısı olmayan yeni bir uygulama (greenfield) için geçici başlatma yapmanız gerekir. Üretime dağıtım yapın, ancak başlangıçta yalnızca iç kullanıcılara veya bir pilot gruba açın. Bu yaklaşım, yeni bir iş yükü için kanarya dağıtımı stratejisidir. Eğer gerçekten yepyeni ve yalıtılmışsa, tam üretim ortamına tek seferlik bir dağıtım mümkündür, ancak sorunları kontrollü bir şekilde yakalamak için yine de aşamalı dağıtım önerilir. İlk olarak gerçek dünya doğrulaması yapmadan sistemi ilk günden tüm kullanıcılara yayınlamayın. Daha fazla bilgi için bkz . WAF - Aşamalı pozlama modelini benimseme.

  2. İşletimsel yordamları ve yükseltme yollarını belgeleyin. Hizmetleri yeniden başlatmak, günlüklere erişmek, yaygın sorunları ele almak ve olayları üst seviyeye taşımak için açık belgeler hazırlayın. Destek ekiplerinin kullanılabilirliğini sağlamak için bu belgeleri SharePoint veya GitHub gibi paylaşılan bir depoda depolayın.

Yeni özellikler için dağıtımı planlama

  1. Yeni özelliğin entegrasyonunu değişiklik yönetimini kullanarak planlayın. Üretim değişikliklerini denetlemek ve belge etmek için kuruluşunuzun değişiklik yönetimi sürecini izleyin. Uygulama sürümlerini geri döndürme veya veritabanı yedeklerini geri yükleme gibi geri alma yordamlarını tanımlayın. İş hedefleriyle uyumlu olduğundan emin olmak için dağıtımdan önce paydaş onayını güvenli hale getirme. Daha fazla bilgi için bkz. CAF'de değişikliği yönetme .

  2. Küçük veya geriye dönük uyumlu değişiklikler için yerinde güncelleştirmeleri kullanın. Sıralı güncelleştirmeleri veya özellik bayraklarını kullanarak güncelleştirmeleri doğrudan üretim ortamına dağıtın. Kullanıcıların veya örneklerin küçük bir yüzdesiyle başlayın. Tam dağıtımdan önce kararlılığı doğrulamak için sistem ölçümlerini ve günlüklerini izleyin.

  3. Büyük veya yüksek riskli değişiklikler için paralel (mavi-yeşil) dağıtımlar kullanın. Yeni sürümü ayrı bir ortamda dağıtın. Davranışı doğrulamak için canlı trafiğin küçük bir bölümünü yeni sürüme yönlendirin. Başarılı olursa tüm trafiği yeni sürüme kaydırın. Sorun oluşursa, sürekliliği sağlamak için trafiği özgün sürüme geri döndürebilirsiniz.

  4. Yeni iş yükleri için operasyonel teslim planı. Dağıtım sonrasında çözümün çalıştırılmasından ve desteklenmesinden sorumlu ekibi belirleyin. Destek modelini (7/24 arama veya iş saatleri desteği) tanımlayın ve tüm paydaşların rollerini anlamasını sağlayın.

  5. Sahiplik ve destek sorumluluklarını tanımlama. Operasyon ekibinin yeni özelliği desteklemeye hazır olduğunu onaylayın. Belgeleri ve yükseltme yollarını yeni sorumlulukları yansıtacak şekilde güncelleştirin ve olay yanıtının hızlı olmasını sağlayın.

Bulutta yerel çözümler için geri alma planını tanımlama

Geri alma planı, bir dağıtım başarısız olduğunda veya risk oluşturduğunda ekiplerin değişiklikleri hızla tersine çevirmesini sağlar. İyi tanımlanmış bir plan kapalı kalma süresini en aza indirir, iş etkisini sınırlar ve sistem güvenilirliğini korur. Herhangi bir geçiş veya dağıtım başlatmadan önce her zaman geri alma ölçütleri ve yordamları oluşturun.

  1. Başarısız dağıtımı tanımlayın. Başarısız dağıtım olarak neyin önemli olduğunu belirlemek için iş paydaşları, iş yükü sahipleri ve operasyon ekipleriyle işbirliği yapın. Örnekler arasında başarısız sağlık denetimleri, düşük performans, güvenlik sorunları veya karşılanmayan başarı ölçütleri bulunur. Bu tanım, geri alma kararlarının kuruluşunuzun risk toleransıyla uyumlu olmasını sağlar. Dağıtım planınıza geri alma işlemini tetikleyen CPU kullanım sınırları, yanıt süresi eşikleri veya hata oranları gibi belirli koşulları ekleyin. Bu değerlendirme, olaylar sırasında geri alma kararlarını net ve tutarlı hale getirir.

  2. CI/CD işlem hatlarında geri alma adımlarını otomatikleştirin. Geri alma görevlerini otomatikleştirmek için Azure Pipelines veya GitHub Actions gibi araçları kullanın. Örneğin, sistem durumu denetimleri başarısız olursa önceki bir sürümü yeniden dağıtmak için işlem hatlarını ayarlayın.

  3. İş yüküne özgü geri alma yönergeleri oluşturun. İş yükü türünüz, ortamınız ve dağıtım yönteminizle eşleşen geri alma adımları yazın. Örneğin, IaC dağıtımları için geçmiş şablonların yeniden uygulaması gerekir. Uygulama geri alma işlemleri, önceki bir kapsayıcı görüntüsünü yeniden dağıtmayı içerir. Geri alma planınıza rollback betiklerini, yapılandırma anlık görüntülerini ve IaC şablonlarını ekleyin. Bu varlıklar süreci hızlandırıp el ile adım atılması gereksinimini azaltır.

  4. Geri alma prosedürlerini test edin. Geri alma işleminizin çalıştığını onaylamak için hazırlama ortamında dağıtım hatalarının simülasyonunu oluşturun. Otomasyon, izinler veya bağımlılıklardaki boşlukları bulun ve düzeltin. Geri alma yordamının sistemi kararlı, bilinen iyi bir duruma geri yüklediğini doğrulayın.

  5. Geri alma stratejilerini geliştirme. Her dağıtım veya geri alma işleminin ardından neyin işe yaradığını ve neyin çalışmadığını gözden geçirin. Alınan derslere göre geri alma kurallarını, adımlarını ve betiklerini güncelleştirin. Tasarım değişikliklerini veya yeni araçları dikkate almak. Geri alma planlarının güncel ve kullanışlı kalması için kılavuzlarınızı güncel tutun.

Sonraki adım