Çö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
Bu mimarinin bir Visio dosyasını indirin.
Veri akışı
- Geliştirici mevcut web uygulamasını kapsayıcıya dönüştürür.
- Geliştirici kapsayıcı görüntüsünü şu şekilde yayımlar:
- Özel kayıt defteri veya Docker Hub.
- Veya bir Azure Container Registry.
- App Service şu şekilde görüntü çeker:
- Kullanılıyorsa, özel kayıt defteri veya Docker Hub için kimlik bilgileri.
- Veya Azure Container Registry'ye erişmek için Microsoft Entra güvenlik sorumlusu kullanan yönetilen kimlik.
- Diğer Azure kaynaklarına erişmek için hizmet bağlayıcıları.
- 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:
- Marc Gelormino | İçerik Geliştirici
Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- Azure Uygulaması Hizmeti ile kapsayıcılı web uygulaması dağıtma ve çalıştırma
- Azure Container Registry'de kapsayıcı görüntülerini yönetme
- Linux'ta Kapsayıcılar ve Azure Uygulaması Hizmeti için Web App'e Genel Bakış
- Container Apps'i diğer Azure kapsayıcı seçenekleriyle karşılaştırma
- Azure hizmetleri için parolasız bağlantılar
App Service'te kapsayıcıların örnek dil dağıtımları:
- Azure Uygulaması Hizmetinde kapsayıcılı Python web uygulaması dağıtma
- Visual Studio Code ile Azure Uygulaması Hizmeti'ne Express.js dağıtma
- Visual Studio kullanarak ASP.NET Core kapsayıcısını Azure Uygulaması Hizmetine dağıtma
İlgili kaynaklar
İlgili mimari rehberlik: