Azure Uygulaması Hizmeti ile kapsayıcıları kaldırma ve kapsayıcılara kaydırma

Microsoft Entra ID
Azure Container Registry
Azure App Service

Çözüm fikirleri

Bu makale bir çözüm fikridir. İçeriği olası kullanım örnekleri, alternatif hizmetler, uygulama konuları veya fiyatlandırma yönergeleri gibi daha fazla bilgiyle genişletmemizi isterseniz GitHub geri bildirimi sağlayarak bize bildirin.

Bu çözüm, mevcut web uygulamalarını App Service'te dağıtılan kapsayıcılara geçirerek kapsayıcı düzenlemesini yönetme konusunda endişelenmenize gerek olmayan kapsayıcılar oluşturma konusuna odaklanmanızı sağlar.

Mimari

Mimari diyagramı, Azure veritabanlarına erişmek için Azure için Açık Hizmet Aracısı ile Azure Kubernetes Service'teki kapsayıcılara mevcut uygulama geçişini gösterir.

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

  1. Geliştirici mevcut web uygulamasını kapsayıcıya dönüştürür.
  2. Geliştirici kapsayıcı görüntüsünü şu şekilde yayımlar:
    1. Özel kayıt defteri veya Docker Hub.
    2. Veya bir Azure Container Registry.
  3. App Service şu şekilde görüntü çeker:
    1. Kullanılıyorsa, özel kayıt defteri veya Docker Hub için kimlik bilgileri.
    2. Veya Azure Container Registry'ye erişmek için Microsoft Entra güvenlik sorumlusu kullanan yönetilen kimlik.
  4. Diğer Azure kaynaklarına erişmek için hizmet bağlayıcıları.
  5. Geliştirici kapsayıcı kayıt defterine yeni görüntü gönderir ve bu da sürekli dağıtım etkinleştirildiğinde App Service güncelleştirmelerini tetikler.

Bileşenler

Kapsayıcılar için Web Uygulaması: App Service ile Windows ve Linux üzerinde kapsayıcılı web uygulamaları dağıtabilir ve çalıştırabilirsiniz. Kapsayıcılar için Web App, geliştiricilerin tam olarak yönetilen bir platformdan yararlanması için kolay bir rampa sağlar, ancak bir uygulamayı ve tüm bağımlılıklarını içeren tek bir dağıtılabilir yapıt da ister. Bir diğer hedef senaryo da, Azure Uygulaması Hizmeti platformunda yerleşik olarak bulunan varsayılanların ötesinde özel bir çerçeve veya sürümle çalışmak isteyen geliştiricilerdir. Azure Uygulaması Hizmeti'nde kapsayıcılı web uygulamaları gerektiğinde ölçeklendirilebilir ve Docker Hub, Azure Container Registry ve GitHub ile kolaylaştırılmış CI/CD iş akışlarını kullanabilir.

Azure Container Registry: Tüm OCI yapıtlarını destekleyen Docker ve Open Container Initiative (OCI) görüntülerinin kayıt defteri. App Service, Machine Learning ve Batch gibi Azure hizmetlerinde kapsayıcı görüntülerini kullanın. Örneğin, web uygulamanız için Kapsayıcılar için Web App'i yapılandırırken Azure Container Registry'den bir kapsayıcı görüntüsü belirtebilirsiniz.

Azure Cosmos DB: Ölçeklenebilir, yüksek performanslı uygulamalar oluşturmaya ve modernleştirmeye yönelik tam olarak yönetilen bir NoSQL veritabanı hizmeti. Azure Cosmos DB, Azure İşlevleri, IoT Hub, AKS (Azure Kubernetes Service), App Service ve daha fazlası dahil olmak üzere önemli Azure hizmetleriyle tümleşiktir. NoSQL için yerel Azure Cosmos DB, MongoDB için Azure Cosmos DB, Apache Cassandra için Azure Cosmos DB, Apache Gremlin için Azure Cosmos DB ve Tablo için Azure Cosmos DB gibi birden çok veritabanı API'si arasından seçim yapabilirsiniz.

Azure SQL Veritabanı: Yerleşik zekaya sahip tam olarak yönetilen ilişkisel veritabanı. Azure SQL Veritabanı, en yaygın diller için sürücü desteğiyle popüler platformlarda ve çerçevelerde yerel olarak veya bulutta uygulama oluşturmanıza yardımcı olur. SQL Veritabanı, Azure Uygulaması Hizmeti'nde çalışan web siteleri için yerel destekle geliştirmeyi basitleştirmenizi sağlar.

Azure Depolama: Azure Depolama dayanıklı, yüksek oranda kullanılabilir, yüksek oranda ölçeklenebilir bir bulut depolama çözümü sunar ve nesne, dosya, disk, kuyruk ve tablo depolama içerir. Azure depolama, web sitenizin taleplerini karşılamak için nesne, blok ve dosya depolama hizmetleri içerir. Örneğin, web siteleri fotoğraflar ve videolar gibi web sitesi medyaları için ölçeklenebilir ve güvenli blok depolama için Azure Blob Depolama kolayca kullanabilir.

Azure İzleyici: Uygulama Analizler, sistem durumu ve performans izleme ve tanılama sağlar. Azure İzleyici, bağlantı sayısı ve HTTP durum kodlarıyla sonuçlanacak istek sayısı gibi web sitesi ölçümlerini izlemek için Kapsayıcılar için Web App (App Service) ile kullanılabilir.

Azure Hizmet Bağlan or: Hizmet Bağlan veya Azure işlem hizmetlerini diğer yedekleme hizmetlerine bağlamanıza yardımcı olur. Örneğin, Azure Uygulaması Hizmeti ile MySQL için Azure Veritabanı veya PostgreSQL, Azure Depolama ve Azure Key Vault arasında bir hizmet bağlayıcısı kullanın. Desteklenen hizmetlerin tam listesi için bkz. Service Bağlan veya hizmetleri desteklenir.

Senaryo ayrıntıları

Mevcut web uygulamalarını kapsayıcılara kolayca geçirin ve kapsayıcılı web uygulamalarını Azure Uygulaması Hizmeti'ndeki Kapsayıcılar için Web App'te çalıştırın. Kapsayıcılar için Web App, temel alınan kapsayıcı düzenleyiciyi yönetme ve bakımını yapma konusunda endişelenmeden kapsayıcılarınızı oluşturma konusunda odaklanmanıza olanak tanır. Web uygulamaları oluştururken Kapsayıcılar için Web App, kapsayıcılarla ilk adımlarınızı atmak için iyi bir seçenektir. Kapsayıcılarınız depolama ve veritabanı hizmetleri gibi diğer Azure kaynaklarını kolayca tümleştirebilir.

Mevcut web uygulamalarını Azure kaynaklarıyla tümleştirdiğinizde, Azure hizmetleri için Parolasız bağlantılardan da yararlanabilirsiniz. Parolasız bağlantılar, birden çok Azure hizmetini kapsayan dilden bağımsız bir özelliktir. Parolasız bağlantılar kullandığınızda, web uygulamalarınız parolaları döndürmeye gerek kalmadan Azure tabanlı hizmetlere bağlanır. Tek ihtiyacınız olan yapılandırmadır; yeni kod gerekmez.

Olası kullanım örnekleri

Bu çözüm fikri, geçerli web uygulamalarını Azure'da çalıştırılacak kapsayıcılara geçirmek için idealdir. Bu çözüm fikri, aşağıdakiler geçerli olduğunda bir web sitesi oluşturmak için kullanılabilir:

  • Kapsayıcıyla dağıtılan web siteleri oluşturmak için kodla dağıtılan web siteleri oluşturmak için kullanılan mevcut programlama deneyimini kullanır. Mevcut web uygulamalarını App Service'te kapsayıcılara kaldırın ve kaydırabilirsiniz.

  • Visual Studio, Visual Studio Code, Azure CLI ve Azure Cloud Shell gibi araçlarla basitleştirilmiş geliştirme ve dağıtım.

  • Geliştirmeden üretime ve farklı bulutlara kadar farklı ortamlarda taşınabilirlik. Yerel olarak, üretim için dağıtılandan farklı bir platformda test edebilirsiniz.

  • App Service'te ölçeklenebilirlik, isteğe bağlı olarak kullanılan çalışan sayısının ölçeğini genişletebileceğiniz anlamına gelir.

  • Gelecekteki web sitesi için modülerlik, App Service'te veya Azure Container Apps ve Azure Kubernetes Service gibi diğer hizmetlerde çalışır. Kapsayıcılar için Web App, kapsayıcılara geçiş için iyi bir ilk adım olabilir.

  • Kapsayıcılar için Web App'te dağıtılan bir kapsayıcı sürekli tümleştirme ve sürekli dağıtım (CI/CD) için hazırdır. CI/CD özellikleri, güncelleştirmeleri daha hızlı göndermenizi sağlar.

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 yazar:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

App Service'te kapsayıcıların örnek dil dağıtımları:

İlgili mimari rehberlik: