Azure'da SaaS iş yükleri için işlem
Hizmet olarak yazılım (SaaS) uygulamanızın bir işlem platformunda çalışması gerekir. Mimarinizdeki diğer bileşenler gibi, iş gereksinimlerini karşılaması ve iş modelinize göre tasarlanması gerekir. İşlem platformu seçimi önemli bir tasarım kararıdır. Kararınız müşteri yalıtımını, performansını ve dayanıklılığını, işlem platformunuz ise tüm SaaS çözümünüzün ölçeklendirilip büyüyebileceğini etkiler.
Bu makalede barındırma modelinizi seçme konusunda dikkat edilmesi gerekenler, bu modelin operasyonel yönleri ve hizmet düzeyi sözleşmelerinizi (SLA) ve hizmet düzeyi hedeflerinizi (SLO) karşılamanıza yardımcı olacak teknoloji seçeneklerinin nasıl iyileştirildiğini açıklar.
İşlem platformu seçme
SaaS iş yükünüz için doğru işlem platformunu seçmek önemlidir, ancak kullanılabilir seçeneklerin bolluğu seçimin zor olduğunu hissettirebilir. En iyi platform, uygulama mimarisi, ölçek, performans gereksinimleri ve kiracı yalıtım modeli gibi faktörlere bağlıdır. Bir uygulama için en uygun olan başka bir uygulama için olmayabilir.
Tasarımla ilgili dikkat edilecek noktalar
Barındırma modeli. Azure, öncelikle hizmet olarak altyapı (IaaS) ve hizmet olarak platform (PaaS) olmak üzere her biri kendi avantajları ve dezavantajları olan çeşitli barındırma modelleri sunar. Uygulamanızın gereksinimlerini değerlendirin ve en uygun modeli seçin.
IaaS, ağ ve depolama dahil olmak üzere sanal makineler (VM) ve bunlar üzerinde tam denetim sağlar. Ancak, işletimsel olarak yoğun olabilecek yönetim ve düzeltme eki uygulama gerektirir. Örnek olarak sanal makine ölçek kümeleri ve Azure Kubernetes Service (AKS) kümeleri verilebilir.
PaaS, temel alınan altyapıyı yönetmeden uygulamaları dağıtmanıza olanak tanır. Otomatik ölçeklendirme ve yük dengeleme için yerleşik özellikler içerir. Örnek olarak Azure Uygulaması Hizmeti ve Azure Container Apps verilebilir.
PaaS hizmetleri, IaaS ile karşılaştırıldığında daha az denetim sunar. Bu, uygulamanızın belirli bir yapılandırmaya ihtiyacı varsa sorunlu olabilir. Örneğin, uygulamanız PaaS hizmetinin desteklemediği bir işletim sisteminde çalışabilir.
İş yükü türü. Bazı platformlar belirli iş yükleri için özelken, diğerleri çok yönlü. Örneğin, App Service web uygulamaları için tasarlanırken AKS daha genel amaçlıdır. Web uygulamalarını, yapay zeka iş yüklerini ve toplu işlem görevlerini barındırabilir.
Ekip uzmanlığı geliştirme. Ekibin yeni platformla ilgili deneyimi yoksa büyük değişiklikler zor olabilir. Ekibinizin becerilerini değerlendirin ve bunları platform gereksinimlerinizle eşleştirin. Basit bir platformla başlayın ve doğrudan daha gelişmiş bir seçeneğe atlamak yerine mimarinizi aşamalı olarak geliştirin.
Örneğin, kapsayıcılı bir uygulama oluşturuyorsanız, kolay yönetim için Container Apps ile başlayın. İhtiyaçlarınız daha karmaşık hale geldikçe, zaman içinde platformu daha iyi anladığınızda AKS'ye geçiş yapabilirsiniz.
Yönetim yükü. İşlem platformları ek yük ve denetimi dengeler. Daha fazla yönetim sorumluluğunun ekibinizden uzak olması, platform üzerinde daha az denetim sahibi olunması anlamına gelir.
Örneğin, IaaS VM'ler üzerinde yüksek denetim sunar ancak önemli ek yük getirir. Uygulamanız bir müşterinin ortamında dağıtılıyorsa, yönetim işlemlerine sınırlı erişiminiz olabilir. Bu dengelerin kabul edilebilir ve uygulanabilir olup olmadığını değerlendirin.
Performans gereksinimleri. Bant genişliği ve gecikme süresi, GPU ve kullanılabilirlik gereksinimleri dahil olmak üzere CPU, bellek, ağ modellemesi yaparak uygulamanızın performans gereksinimlerini anlayın. Gelecekteki büyümeyi de göz önünde bulundurmalısınız. Vm'lerin serisi ve boyutu gibi uygun işlem kaynaklarını seçmek için bu bilgileri kullanın. Özel gereksinimleri karşılamak için belirli VM serisini destekleyen belirli bölgeleri de seçmeniz gerekebilir.
Güvenilirlik gereksinimleri. İşlem platformunuzun güvenilirlik özelliklerini göz önünde bulundurun ve güvenilirlik hedeflerinizi karşıladığından emin olun. Çözümünüzün birden çok örneğine sahip olmak için belirli hizmet katmanlarını kullanmanız veya daha yüksek güvenilirlik için kullanılabilirlik alanları arasında dağıtım yapmanız gerekebilir.
Güvenilirlik hedeflerini tanımlamak için RE:04 Önerileri'ne bakın.
Uygulama güvenliği ve uyumluluğu. İhtiyaçlarınızı karşıladığından emin olmak için her işlem platformunun güvenlik özelliklerini ve uyumluluk sertifikalarını değerlendirin. Örneğin, giden trafiği izlemeniz ve filtrelemeniz gerekiyorsa belirli işlem hizmetlerini veya katmanlarını seçmeniz gerekebilir.
Tasarım önerileri
Öneri | Avantaj |
---|---|
CPU, bellek, ağ ve GPU ölçek boyutlarını tahmin ederek işlem performansı gereksinimlerini değerlendirin. Modelleme alıştırmanızı bilgilendirmek üzere daha doğru veriler toplamak için yük testi gerçekleştirin. |
Bu görevler, işlem platformunuz için uygun boyutlandırmayı seçmenize ve sistemdeki yük arttığında uygun şekilde ölçeklendirmenize yardımcı olur. |
Ekibinizin yetkinliğini değerlendirin ve gereksinimlerinizi karşılayan veya ekibin zaten aşina olduğu en az karmaşık platformla başlayın. | Tanıdıkları bir işlem platformu seçerek daha sorunsuz operasyonlar sağlar ve ekibinize fazla yük devretmekten kaçınırsınız. |
Tasarımınızda esnek olun. Gelişen iş ve teknik gereksinimlere uyum sağlamak için zaman içinde yineleyebileceğiniz bir çözüm hedefleyin. | Esneklik, zaman içinde değişikliklere ve iyileştirmelere daha kolay uyum sağlamanızı sağlar. Gelişen iş ve teknik gereksinimlere etkili bir şekilde yanıt vekleyebilirsiniz. |
Çözümü çalıştırma maliyetleri de dahil olmak üzere toplam sahip olma maliyetini (TCO) değerlendirin. | Fiyatlandırma modelinizi planlama ve uygun maliyetli operasyonlar sağlama açısından çok önemli olan maliyetleri net bir şekilde kavramış olursunuz. |
Teknoloji yığınınız nedeniyle belirli işlem platformlarını kullanmanız gerekip gerekmediğini değerlendirin. Bazı işlem platformları belirli programlama dilleri, araçlar ve işletim sistemleri için daha uygundur. Teknoloji seçeneklerinizi yerel olarak destekleyen platformları kullanmaya çalışın. | Mimarinizi yeniden tasarlamanın maliyetinden kaçınabilirsiniz. Bu maliyet, yeni bir platforma geçmeyi içerebilir. |
Platformun güvenilirlik özelliklerini değerlendirin ve bulut hizmeti sağlayıcınızın garantilerini SLO'larınıza katsayılayın. | Güvenilirlik özelliklerini planlayarak ve kullanılabilir durumdaysa kullanılabilirlik alanlarını kullanarak yerelleştirilmiş veri merkezi kesintileri riskini azaltabilirsiniz. |
Kiracı modeli ve yalıtım
SaaS iş modeliniz, müşteriler için kaynakları barındırıp barındırmayabileceğinizi veya bunları müşterinin ortamında yönetip yönetemeyeceğinizi belirler. SaaS sağlayıcılarının çoğu kaynakları müşterileri adına barındırarak işlem platformu tasarımında esneklik sağlar. Müşteri deneyiminden veya performansından ödün vermeden maliyet verimliliğini iyileştirmek için müşteri iş yüklerini etkili bir şekilde yalıtma.
Tasarımla ilgili dikkat edilecek noktalar
Kiracı modelinizi planlayın. Kiracı modeliniz müşteriler arasında kaynak paylaşımını belirler ve iş ve fiyatlandırma modellerinden etkilenir. Tek kiracılı modellerin müşteri başına maliyeti tamamen çok kiracılı modellerle karşılaştırıldığında daha yüksektir. Fiyatlandırmanız bu farklılıkları yansıtmalıdır.
Müşteri gereksinimleri. Bazı müşterilerin veri yerleşimi, performans garantileri veya güvenlik uyumluluğu için belirli gereksinimleri olabilir. Bu gereksinimlerin normalden daha yüksek yalıtım düzeylerine ihtiyacı varsa, iş modelinizdeki artan maliyetleri nasıl yansıtacağını göz önünde bulundurun.
Gürültülü komşu sorunu. Kaynakları kiracılar arasında paylaşırken oluşan gürültülü komşu sorununa dikkat edin. İşlem kaynakları en çok etkilenir. Daha fazla bilgi için bkz . Gürültülü komşu kötü modeli.
Kiracı modeli seçtiğinizde, kaynak paylaşımının maliyet tasarrufunu müşteri performansını garanti etme gereksinimiyle dengeleyin. Fazla kaynak paylaşımı veya aşırı tüketime izin vermek müşteri deneyimini düşürebilir.
Denge: Performans ve maliyet. Kaynakların müşteriler arasında paylaşılması uygun maliyetli olabilir, ancak bazı müşteriler beklenenden daha fazla kaynak kullanıyorsa, bu yaklaşım diğerlerinin performansını düşürebilir. Bunu önlemek için, kiracı kullanımının beklenen sınırlar içinde kaldığından emin olmak için uygun kaynak idaresini uygulayın.
Tasarım önerileri
Öneri | Avantaj |
---|---|
kiracı modeli gereksinimlerinizi karşıladığından emin olmak için işlem platformunun yalıtım özelliklerini değerlendirin. | Önce kritik yapılandırmayı doğrulayarak platformunuzun yeniden çalışmasını önlersiniz. |
Yalıtım modelinizi zorunlu kılma. Yerel disk önbellekleri, sistem belleği ve dış önbellekler gibi paylaşılan kaynaklara dikkat edin çünkü düzgün yönetilmedikleri takdirde kiracılar arasında istemeden veri sızıntısı yapabilir. Yüksek yalıtım gereksinimleri için işlem platformunda ve uygulamada yalıtımı zorunlu kılın. |
Güçlü yalıtım, ciddi bir güvenlik olayı olan kiracılar arası veri sızıntısı riskini azaltır. |
Müşteri düzeyindeki ölçümlerin görünürlüğüyle kaynak idaresi ve izleme uygulama. Gürültülü komşu sorunlarını algılamak ve azaltmak için her müşterinin kaynak tüketimini proaktif olarak izleyin. |
Kaynak tüketimini izleyerek ve sorunları erken gidererek sorunların diğer müşterileri etkilemesini engellersiniz. |
Ölçeklenebilirlik ve maliyet verimliliği için yapılandırma
Müşterileriniz uygulamanızı farklı performans profilleriyle kullanabilir. Uygulamanın hız ve performanstan ödün vermeden artan kullanıcı taleplerini, büyük ölçekli verileri ve karmaşık iş yüklerini işlemesini bekler. Sistem mimariniz, yüzlerce veya milyonlarca kullanıcıyı yönetirken performans gereksinimlerini ve maliyetlerini dengelerken ölçeklenebilirlik ve en iyi performansı sağlamalıdır.
Denge: Performans ve maliyet. Performansı artırmak genellikle kaynak eklemeyi içerir ve bu da maliyetleri artırır. Ek maliyet için en fazla avantajı sunan kaynakları belirlemek için iş yüklerini bütünsel olarak gözden geçirin. Örneğin, en önemli müşterinizi ayrılmış altyapıda yalıtmak, diğer iş yüklerinden kaynaklanan performans sorunlarını önlemek için ek masraflara değer.
Maliyet yönetimi hakkında daha fazla bilgi için bkz . Azure'da SaaS iş yükleri için faturalama ve maliyet yönetimi.
Tasarımla ilgili dikkat edilecek noktalar
Yatay ve dikey ölçeklendirme stratejileri. Yatay ve dikey ölçeklendirme yaklaşımları, artan yükü işlemek için kullanılabilir. Kullandığınız yaklaşım, uygulamanızın birden çok örnek arasında ölçeklendirebilmesine bağlıdır.
- Yatay ölçeklendirme, daha fazla işlem düğümü örneği eklemeyi içerir. Mimarinizin gelen trafiği birden çok sunucu veya örneğe dağıtmak için bir yük dengeleyiciye ihtiyacı var.
- Dikey ölçeklendirme, CPU ve bellek gibi kaynakların tek bir sunucuda artırılmasını içerir. Önbellekler gibi dış durum depolarına ihtiyaç duymadan durum bilgisi olan uygulamalar için bu yaklaşımı kullanın. Dikey ölçeklendirme kısa hizmet kesintilerine neden olabilir ve tek bir sunucuda kaynak sınırına sahiptir.
Ölçeklendirme ve bölümleme için PE:05 Önerileri'ne bakın.
Otomatik ölçeklendirme. Sistemlerin değişen talep düzeylerini verimli bir şekilde işlemesi gerekir. Kullanıcı trafiği arttıkça uygulama kaynaklarınızın performansı korumak için ölçeği artırması gerekir. Talep azaldığında, kullanıcı deneyimini etkilemeden maliyetleri denetlemek için kaynakların ölçeği azalır. CPU kullanımı, günün saati veya gelen istekler gibi faktörler bu ayarlamalara yol gösterir. Otomatik ölçeklendirme, performansın ve maliyetin dengelenmesine yardımcı olur ve yüksek talebin diğer kiracılar üzerindeki etkisini azaltır.
Güvenilir ölçeklendirme için RE:06 Önerileri'ne bakın.
Kapasite planlaması ve işlem ayırma. SaaS iş yükünüzde yeni müşteriler eklemek kaynak kapasitesini tüketir. Dikey veya yatay ölçeklendirseniz bile, çözümünüzün ölçeklenebilirliği içinde ağ veya depolama kısıtlamaları gibi sınırlara ulaşırsınız.
Not
Dağıtım DamgaLarı düzeni, çözümünüzün birden çok bağımsız örneğini dağıtmanıza olanak tanır. Başka bir ölçeklendirme boyutu sağlar. Daha fazlasının ne zaman dağıtılacağına karar vermek için her damga damgasının kapasitesini anlamak çok önemlidir. Bu kavram, kutu paketleme olarak da bilinir.
Tasarım önerileri
Öneri | Avantaj |
---|---|
Dikey ölçeklendirmeye göre yatay ölçeklendirmeyi seçin. Yatay ölçeklendirme genellikle dikey ölçeklendirmeye göre daha az karmaşık, daha güvenilir ve daha uygun maliyetlidir. | Yatay ölçeklendirme genellikle daha basit, daha güvenilir ve uygun maliyetlidir ve dikey ölçeklendirmeden daha yüksek bir dereceye ölçeklendirmenize olanak tanır. |
Yük testi gerçekleştirin. | Kullanımın benzetimi, üretime dağıtmadan önce performans sorunlarını ve ölçeklendirme eşiklerini belirlemenize yardımcı olabilir. |
Yatay veya dikey ölçeklendirme yerine yeni bir damga dağıtmak için ölçeklendirme eşiğini tanımlayın. Performans kaybı olmadan uygun maliyetli ölçeklendirme için kiracılarınızı olabildiğince az kaynakta daraltın. |
Mevcut altyapınızın ötesindeki büyümeyle başa çıkabilmek için daha hazırlıklısınız. |
Mümkün olduğunda otomatik ölçeklendirmeyi uygulayın. Otomatik ölçeklendirme kurallarını uygulamanızın yükünü doğru yansıtacak şekilde ayarlayın. | Gerektiğinde kaynakları artırıp azaltarak performansı ve maliyeti iyileştirebilirsiniz. |
Müşteri kullanım düzenlerini izleyin ve değerlendirin. | Performansı artırmak veya maliyetleri iyileştirmek için altyapınızı ne zaman ayarlayabileceğinizi bilirsiniz. |
Mümkün olduğunda önbelleğe alma mekanizmaları uygulayın. | İşlem katmanındaki olası işleme yükünü azaltırsınız. |
Maliyet uyarılarını kullanın. | Uyarılar, yüksek kullanım ve denetim maliyeti sorunlarını erken algılamanıza yardımcı olur. |
Uzun vadeli taahhütleri ve tüm dönem için garantili işlem kullanımı olan müşteriler için Azure rezervasyonlarını kullanın. | Ayrılmış kapasitenizde maliyet verimliliğini en üst düzeye çıkarırsınız. |
Dayanıklılığa yönelik tasarım
İşlem katmanınızın dayanıklılığı, genel dayanıklılık stratejinizde büyük bir rol oynar. Uygulamanız, kullanıcı etkisi olmadan yaygın hataları otomatik ve sorunsuz bir şekilde tolere etmeli ve kurtarmalıdır.
Tasarımla ilgili dikkat edilecek noktalar
Güvenilirlik gereksinimleri. Net güvenilirlik gereksinimlerini ayarlayın. Bu gereksinimler, genellikle aylık %99,9 gibi çalışma süresi hedeflerini belirten iç hedefleri veya SLO'ları ve müşteri taahhütlerini veya SLA'ları içerir.
Güvenilirlik hedeflerini tanımlamak için RE:04 Önerileri'ne bakın.
Dağıtım stratejisi. Bulut kaynakları belirli coğrafi bölgelerde dağıtılır. Azure'da kullanılabilirlik alanları, bir bölge içindeki yalıtılmış veri merkezi kümeleridir. Dayanıklılık için uygulamaları birden çok kullanılabilirlik alanına dağıtın. Bölgeler veya bulut sağlayıcıları arasında dağıtım, dayanıklılığı artırır, ancak maliyet ve operasyonel karmaşıklık ekler.
Kullanılabilirlik alanlarını ve bölgelerini kullanmak için RE:05 Önerileri'ne bakın.
Durum bilgisi olmayan iş yükleri. Dayanıklı uygulamaları dağıtmak için genellikle yedekli kopyaları farklı konumlarda çalıştırmanız gerekir. Bu görev, oturum durumunu koruması gereken durum bilgisi olan iş yükleri için zor olabilir. Mümkün olduğunda durum bilgisi olmayan iş yükleri oluşturmayı hedefleyin.
Tasarım önerileri
Öneri | Avantaj |
---|---|
Uygulamanızdaki geçici hataları işleyin. | Küçük sorunlardan hızla kurtararak kullanılabilirliğinizi artırırsınız. |
Durum bilgisi olmayan uygulamaları seçin. Uygulamanızın durum bilgisi olması gerekiyorsa, durumu depolamak için önbellek gibi bir dış durum depolama mekanizması kullanın. | Hatalı yük dengeleme veya kesinti gibi bir örneğin kullanılamamasından kaynaklanan durum kaybını önlersiniz. |
Kullanılabilirlik alanlarını kullanın. | Yerelleştirilmiş veri merkezi kesintilerini azaltarak dayanıklılığınızı artırırsınız. |
Bunu yapmak için iş gerekçesi olduğunda çok bölgeli bir mimari tasarla. | Yüksek çalışma süresi gereksinimlerini karşılar ve farklı bölgelerdeki kullanıcıları desteklersiniz. |
Kaos mühendisliği yapın. | Hata noktalarınızın nerede olduğunu daha iyi anlarsınız ve bir kesinti oluşmadan önce bunları düzeltebilirsiniz. |
Birden çok damganın paylaştığı bileşenlerin kullanımını sınırlayın. | Tek hata noktalarını ortadan kaldırır ve kesinti için olası etki alanını azaltırsınız. |
Ek kaynaklar
Çok kiracılılık, SaaS iş yüklerini tasarlamaya yönelik temel bir iş metodolojisidir. Bu makaleler, işlem platformunda dikkat edilmesi gerekenler hakkında daha fazla bilgi sağlar:
Sonraki adım
SaaS iş yükleri için ağ konusunda dikkat edilmesi gerekenler hakkında bilgi edinin.