Azure kapsayıcı hizmeti seçme

Azure çeşitli iş yükleri, mimariler ve iş gereksinimlerini karşılamak için tasarlanmış bir dizi kapsayıcı barındırma hizmeti sunar. Bu kapsayıcı hizmeti seçim kılavuzu, hangi Azure kapsayıcı hizmetinin iş yükü senaryolarınıza ve gereksinimlerinize en uygun olduğunu anlamanıza yardımcı olabilir.

Not

Bu kılavuzda iş yükü terimi, bir iş hedefini veya bir iş sürecinin yürütülmesini destekleyen bir uygulama kaynakları koleksiyonunu ifade eder. İş yükü, belirli uçtan uca işlevler sunmak için birlikte çalışan API'ler ve veri depoları gibi birden çok hizmet kullanır.

Bu kılavuzu kullanma

Bu kılavuz iki makale içerir: bu giriş makalesi ve tüm iş yükü türlerinde paylaşılan önemli noktalar hakkında başka bir makale.

Not

Henüz kapsayıcıya alma konusunda kararlı değilseniz, iş yükünüzü barındırmak için kullanabileceğiniz diğer işlem seçenekleri hakkında bilgi için bkz . Azure işlem hizmeti seçme.

Bu giriş makalesinde, bu kılavuzun kapsamındaki Azure kapsayıcı hizmetleri ve hizmet modellerinin, müşteri tarafından yönetilen ve Microsoft tarafından yönetilen yaklaşımlar gibi yapılandırılabilirlik ve görüşe dayalı çözümler arasındaki dengeler açısından karşılaştırması açıklanmaktadır. Hizmet modeli tercihlerinize göre aday hizmetleri belirledikten sonra, bir sonraki adım ağ, güvenlik, operasyonlar ve güvenilirlikle ilgili paylaşılan konular hakkındaki makaleyi gözden geçirerek seçenekleri iş yükü gereksinimlerinize göre değerlendirmektir.

Bu kılavuz, iş yükünüzün teknik gereksinimlerine, boyutuna ve karmaşıklığına ve iş yükünüzün ekibinin uzmanlığına bağlı olarak yapmanız gerekebilecek dengeleri dikkate alır.

Bu kılavuz kapsamındaki Azure kapsayıcı hizmetleri

Bu kılavuz, Azure'ın şu anda sunduğu kapsayıcı hizmetlerinin bir alt kümesine odaklanır. Bu alt küme, web uygulamaları ve API'ler, ağ, gözlemlenebilirlik, geliştirici araçları ve işlemler için olgun bir özellik kümesi sağlar. Bu kapsayıcı hizmetleri karşılaştırılır:

Container Apps logosu

Azure Container Apps , altyapıyı düzenlemeden kod veya kapsayıcılardan HTTP ve HTTP olmayan uygulamalar dağıtmanıza yardımcı olan, tam olarak yönetilen bir Kubernetes tabanlı uygulama platformudur. Daha fazla bilgi için bkz . Azure Container Apps belgeleri.

AKS logosu

Azure Kubernetes Service (AKS), kapsayıcılı uygulamaları çalıştırmaya yönelik yönetilen bir Kubernetes hizmetidir. AKS ile, en geniş yapılandırılabilirlik düzeyini korurken ek özellikler için yönetilen eklentilerden ve uzantılardan yararlanabilirsiniz. Daha fazla bilgi için AKS belgelerine bakın.

App Service logosu

Kapsayıcılar için Web App, yerleşik altyapı bakımı, güvenlik düzeltme eki uygulama, ölçeklendirme ve tanılama araçlarıyla HTTP tabanlı web uygulamalarını barındırmaya yönelik tam olarak yönetilen bir hizmet olan Azure Uygulaması Hizmeti'nin bir özelliğidir. Daha fazla bilgi için App Service belgelerine bakın.

Tüm Azure kapsayıcı hizmetlerinin tam listesi için kapsayıcı hizmetleri ürün kategorisi sayfasına bakın.

Hizmet modeliyle ilgili dikkat edilmesi gerekenler

Hizmet modeli, genel basitliği ve kullanım kolaylığı karşılığında herhangi bir Azure kapsayıcı hizmetinin sağladığı esneklik ve denetim düzeyi hakkında en geniş içgörüleri sağlar.

Hizmet olarak altyapı (IaaS) ve hizmet olarak platform (PaaS) dahil olmak üzere hizmet modelleriyle ilgili terimlere ve kavramlara genel bir giriş için bkz . Bulutta paylaşılan sorumluluk.

Azure kapsayıcı çözümlerinin hizmet modellerini karşılaştırma

AKS

IaaS ve PaaS'ın bir karması olan AKS, basitlik üzerinde denetimi önceliklendirir. AKS temel alınan temel altyapının yönetimini kolaylaştırsa da, bu VM tabanlı platform uygulamalarınıza hala açık ve güvenlik ve iş sürekliliğini sağlamak için düzeltme eki uygulama gibi uygun korumalar ve işlemler gerektirir. İşlem altyapısı, Azure yük dengeleyiciler gibi doğrudan aboneliğinizde barındırılan ek Azure kaynakları tarafından desteklenir.

AKS ayrıca Kapsayıcı düzenlemesini özelleştirmenize ve böylece Cloud Native Computing Foundation'dan (CNCF) projeler dağıtmanıza olanak tanıyan Kubernetes API sunucusuna erişim sağlar. Sonuç olarak, Kubernetes'e yeni eklenen iş yükü ekipleri için önemli bir öğrenme eğrisi vardır. Kapsayıcılı çözümlerde yeniyseniz bu öğrenme eğrisi caydırıcı olabilir. Aşağıdaki PaaS çözümleri, giriş için daha düşük bir engel sunar. Gereksinimleriniz bu taşımayı dikte ettiğinde Kubernetes'e geçebilirsiniz.

Azure Container Apps

Bir PaaS teklifi olan Container Apps, denetimi basitlikle dengeler. İşletim sistemine düzeltme eki uygulama gereksinimini ortadan kaldıran veya işletim sistemine göre uygulamaların çevresinde korumalar oluşturan sunucusuz ve ayrılmış işlem seçenekleri sunar. Container Apps ayrıca kapsayıcı düzenleme API'sini tamamen soyutlar ve ekibinizin zaten aşina olabileceği Azure API'leri aracılığıyla temel işlevlerinin bir alt kümesini sağlar. Ayrıca, Katman 7 girişi, trafik bölme, A/B testi ve uygulama yaşam döngüsü yönetimi tamamen kullanıma hazır.

Kapsayıcılar için Web App

Kapsayıcılar için Web App aynı zamanda bir PaaS teklifidir, ancak Container Apps'ten daha basit ve daha az denetim sağlar. Kapsayıcı düzenlemesini soyutlar ancak yine de uygun ölçeklendirme, uygulama yaşam döngüsü yönetimi, trafik bölme, ağ tümleştirmesi ve gözlemlenebilirlik sağlar.

Barındırma modeliyle ilgili dikkat edilmesi gerekenler

Birden çok iş yükünü barındırmak için AKS kümeleri gibi Azure kaynaklarını kullanabilirsiniz. Bunu yapmak işlemleri kolaylaştırmanıza ve böylece genel maliyeti azaltmanıza yardımcı olabilir. Bu yolu seçerseniz, dikkat edilmesi gereken birkaç önemli nokta şunlardır:

  • AKS genellikle birden çok iş yükünü veya farklı iş yükü bileşenlerini barındırmak için kullanılır. Güvenlik gereksinimlerini karşılamak için ad alanları, erişim denetimleri ve ağ denetimleri gibi Kubernetes yerel işlevlerini kullanarak bu iş yüklerini ve bileşenleri yalıtabilirsiniz.

    Kubernetes API'sinin sağladığı ek işlevlere ihtiyacınız varsa ve iş yükü ekibiniz kubernetes kümesini çalıştırmak için yeterli deneyime sahipse AKS'yi tek iş yükü senaryolarında da kullanabilirsiniz. Daha az Kubernetes deneyimine sahip ekipler, işletimsel ek yükü azaltmak için azure tarafından yönetilen eklentilerden ve küme otomatik yükseltme gibi özelliklerden yararlanarak kendi kümelerini başarıyla çalıştırabilir.

  • Container Apps , paylaşılan güvenlik sınırına sahip tek bir iş yükünü barındırmak için kullanılmalıdır. Container Apps, kapsayıcı uygulamaları ortamı olarak adlandırılan tek bir üst düzey mantıksal sınıra sahiptir ve bu da gelişmiş güvenlik sınırı görevi görür. Ek ayrıntılı erişim denetimi için mekanizma yoktur. Örneğin, ortam içi iletişim kısıtlanmamıştır ve tüm uygulamalar tek bir Log Analytics çalışma alanını paylaşır.

    İş yükünün birden çok bileşeni ve birden çok güvenlik sınırı varsa, birden çok Container Apps ortamı dağıtın veya bunun yerine AKS'yi göz önünde bulundurun.

  • Kapsayıcılar için Web App, App Service'in bir özelliğidir. App Service, uygulamaları App Service planı olarak adlandırılan bir faturalama sınırında gruplandırr. Rol tabanlı erişim denetiminin (RBAC) kapsamını uygulama düzeyinde oluşturabildiğiniz için, birden çok iş yükünü tek bir planda barındırmak cazip olabilir. Ancak Gürültülü Komşu sorununu önlemek için plan başına tek bir iş yükü barındırmanızı öneririz. Tek bir App Service planındaki tüm uygulamalar aynı ayrılmış işlem, bellek ve depolamayı paylaşır.

    Donanım yalıtımını göz önünde bulundurduğunuz zaman App Service planlarının genellikle diğer Azure müşterileri ile paylaşılan altyapıda çalıştığını bilmeniz gerekir. Ayrılmış VM'ler için Ayrılmış katmanlar veya ayrılmış bir sanal ağdaki ayrılmış VM'ler için Yalıtılmış katmanlar'ı seçebilirsiniz.

Genel olarak, tüm Azure kapsayıcı hizmetleri birden çok bileşeni olan birden çok uygulamayı barındırabilir. Ancak Kapsayıcılar için Container Apps ve Web App, tek bir ekibin sahip olduğu ve uygulamaları çalıştırdığı benzer bir yaşam döngüsünü paylaşan tek iş yükü bileşeni veya yüksek oranda ilgili birden çok iş yükü bileşeni için daha uygundur.

Farklı, ilişkisiz olabilecek uygulama bileşenlerini veya iş yüklerini tek bir konakta barındırmanız gerekiyorsa AKS'yi göz önünde bulundurun.

Kontrol ve kullanım kolaylığı arasındaki denge

AKS en fazla yapılandırılabilirlik sağlar, ancak bu yapılandırılabilirlik, diğer hizmetlere kıyasla artan operasyonel ek yükün maliyetinden kaynaklanabilir. Container Apps ve Kapsayıcılar için Web App, Microsoft tarafından yönetilen özelliklerin benzer düzeylerine sahip PaaS hizmetleri olsa da Kapsayıcılar için Web App, hedef kitleye hitap etmek için basitliği vurgular: arabirimi tanıdık buan mevcut Azure PaaS müşterileri.

Temel kural

Genel olarak, daha basitlik sunan hizmetler, özellik geliştirmeye ve altyapıya daha az odaklanmayı tercih eden müşterilere uygun olma eğilimindedir. Daha fazla denetim sunan hizmetler, daha fazla yapılandırılabilirliğe ihtiyaç duyan ve kendi altyapısını yönetmek için gereken becerilere, kaynaklara ve iş gerekçelerine sahip olan müşterilere uygun olma eğilimindedir.

Tüm iş yüklerinde paylaşılan noktalar

bir iş yükü ekibi belirli bir hizmet modelini tercih etse de, bu model kuruluşun bir bütün olarak gereksinimlerini karşılamayabilir. Örneğin, geliştiriciler daha az operasyonel ek yükü tercih edebilir, ancak güvenlik ekipleri uyumluluk gereksinimlerini karşılamak için bu tür bir ek yükün gerekli olduğunu göz önünde bulundurabilir. Ekiplerin uygun dengeleri sağlamak için işbirliği yapması gerekir.

Paylaşılan konuların geniş kapsamlı olduğunu unutmayın. Yalnızca iş yükü türüne değil, aynı zamanda kuruluştaki rolünüze bağlı olarak yalnızca bir alt küme sizin için uygun olabilir.

Aşağıdaki tabloda hizmet özelliği karşılaştırmaları dahil olmak üzere dikkat edilmesi gereken noktalara yönelik üst düzey bir genel bakış sağlanmaktadır. Her kategorideki önemli noktaları gözden geçirin ve iş yükünüzün gereksinimleriyle karşılaştırın.

Kategori Genel bakış
Ağ konusunda dikkat edilmesi gerekenler Azure kapsayıcı hizmetlerinde ağ iletişimi, kolaylık ve yapılandırılabilirlik tercihinize bağlı olarak değişir. AKS yüksek oranda yapılandırılabilir ve ağ akışı üzerinde kapsamlı denetim sağlar, ancak daha fazla operasyonel çalışma gerektirir. Container Apps, Azure tarafından yönetilen ağ özellikleri sunar. Aks ile Kapsayıcılar için Web App arasında, App Service'i bilen müşterilere özel olarak tasarlanmış bir orta alan.

İş yüklerini yeniden dağıtmadan değiştirmenin zorlukları nedeniyle ağ tasarımı kararlarının uzun vadeli sonuçları olabilir. IP adresi planlaması, yük dengeleme sorumlulukları, hizmet bulma yöntemleri ve özel ağ özellikleri gibi çeşitli faktörler bu hizmetler arasında farklılık gösterir. Hizmetlerin belirli ağ gereksinimlerini nasıl karşılağını dikkatle gözden geçirmelisiniz.
Güvenlikle ilgili dikkat edilmesi gerekenler Kapsayıcılar için Container Apps, AKS ve Web App'in tümü Azure Key Vault ve yönetilen kimlikler gibi önemli Azure güvenlik teklifleriyle tümleştirme sağlar. AKS, çalışma zamanı tehdit koruması ve ağ ilkeleri gibi ek özellikler sunar. Container Apps gibi PaaS hizmetlerinin daha az güvenlik özelliği sunması gibi görünse de, bunun nedeni kısmen temel altyapı bileşenlerinin daha fazlasının Azure tarafından yönetilmesi ve müşterilere sunulmamasıdır ve bu da riski azaltır.
İşlemle ilgili dikkat edilmesi gerekenler AKS en fazla özelleştirmeyi sunsa da daha fazla işlem girişi gerektirir. Buna karşılık Container Apps ve Kapsayıcılar için Web App gibi PaaS çözümleri, Azure'ın işletim sistemi güncelleştirmeleri gibi görevleri işlemesine olanak sağlar. Ölçeklenebilirlik ve donanım SKU esnekliği çok önemlidir. AKS esnek donanım seçenekleri sunarken Kapsayıcılar için Kapsayıcı Uygulamaları ve Web App, ayarlanmış yapılandırmalar sağlar. AKS'de uygulama ölçeklenebilirliği müşterinin sorumluluğundadır. Container Apps ve Kapsayıcılar için Web App daha kolay yaklaşımlar sunar.
Güvenilirlikle ilgili dikkat edilmesi gerekenler Kapsayıcılar için Web App ve Container Apps sistem durumu yoklaması yapılandırmaları, tanıdık Azure Resource Manager API'sini kullandıklarından AKS'nin yapılandırmalarına göre daha kolaylaştırılmıştır. AKS, Kubernetes API'sinin kullanılmasını gerektirir. Ayrıca uygulama örneklerini düzgün zamanlamak için Kubernetes düğüm havuzu ölçeklenebilirliğini ve kullanılabilirliğini yönetme sorumluluğunu da üstlenmeniz gerekir. Bu gereksinimler AKS için ek yük getirir.

Ayrıca, Kapsayıcı Uygulamaları için SLA'lar ve Kapsayıcılar için Web Uygulaması, denetim düzlemi ve düğüm havuzlarının her birinin kendi SLA'larına sahip olduğu ve buna göre birleştirilmiş olması gereken AKS'den daha basittir. Tüm hizmetler, bunu sunan veri merkezlerinde alanlar arası yedeklilik sunar.

Önceki konuları gözden geçirdikten sonra, yine de mükemmel uyumu bulamadınız. Bu çok normal.

Dengeleri değerlendirme

Bulut hizmeti seçmek basit bir alıştırma değildir. Bulut bilişimin karmaşıklığı, birçok ekip arasındaki işbirliği ve insanlar, bütçeler ve zaman ile ilgili kaynak kısıtlamaları göz önünde bulundurulduğunda, her çözümün dezavantajları vardır.

Belirli bir iş yükü için bazı gereksinimlerin diğerlerinden daha kritik olabileceğini unutmayın. Örneğin, bir uygulama ekibi Container Apps gibi bir PaaS çözümünü tercih edebilir, ancak güvenlik ekibi, Kubernetes ağ ilkelerini kullanan yalnızca AKS özelliği olan birlikte bulunan iş yükü bileşenleri arasında varsayılan olarak reddetme ağ denetimleri gerektirdiği için AKS'yi seçebilir.

Son olarak, önceki paylaşılan noktaların en yaygın gereksinimleri içerdiğini ancak kapsamlı olmadığını unutmayın. Bir kararı onaylamadan önce tercih edilen hizmetin özellik kümesine karşı her gereksinimi araştırmak iş yükü ekibinin sorumluluğundadır.

Sonuç

Bu kılavuzda, bir Azure kapsayıcı hizmeti seçtiğinizde karşılaşabileceğiniz en yaygın noktalar açıklanmaktadır. İş yükü ekiplerine bilinçli kararlar alma konusunda yol gösterecek şekilde tasarlanmıştır. süreç, istenen denetim düzeyini belirlemeyi içeren bir bulut hizmeti modeli seçmekle başlar. Denetim basitlik pahasına gelir. Başka bir deyişle, kendi kendine yönetilen bir altyapı ile Microsoft tarafından yönetilen altyapı arasında doğru dengeyi bulma işlemidir.

Birçok iş yükü ekibi yalnızca tercih edilen hizmet modeline göre bir Azure kapsayıcı hizmeti seçebilir: PaaS ve IaaS. Hizmete özgü özelliklerin iş yükü veya kuruluş gereksinimlerini nasıl karşıladığını belirlemek için diğer ekiplerin daha fazla araştırması gerekir.

Ters çevrilmesi zor kararları önlemek için tüm iş yükü ekipleri, durum tespiti eklemeye ek olarak bu kılavuzu kullanmalıdır. Ancak, geliştiriciler hizmeti deneyip teori yerine deneyime göre karar verene kadar kararın onaylanmadığını unutmayın.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazarlar:

Diğer katkıda bulunanlar:

Sonraki adım

Bu makalede bahsedilen hizmetlerle ilgili paylaşılan mimari konuları hakkında daha fazla bilgi edinin.