Aracılığıyla paylaş


Genel bakış: MongoDB ile Azure'da kapsayıcılı Python web uygulaması

Bu öğretici serisi, bir Python web uygulamasını kapsayıcıya alıp yerel olarak çalıştırmayı veya Azure App Service'e dağıtmayı gösterir. App Service Kapsayıcılar için Web Uygulaması, kapsayıcı düzenleyiciyi yönetme ve bakımını yapma konusunda endişelenmeden kapsayıcılarınızı oluşturmaya odaklanmanızı sağlar. Web uygulamaları oluştururken Azure App Service, kapsayıcılarla ilk adımlarınızı atmak için iyi bir seçenektir. Bu kapsayıcı web uygulaması verileri depolamak için yerel bir MongoDB örneği veya Azure Cosmos DB için MongoDB kullanabilir. Azure'da kapsayıcıları kullanma hakkında daha fazla bilgi için bkz . Azure kapsayıcı seçeneklerini karşılaştırma.

Bu öğreticide siz:

Bu öğretici serisindeki makaleleri tamamladıktan sonra, Python web uygulamasının Azure'a Sürekli Tümleştirme (CI) ve Sürekli Dağıtım (CD) temeline sahip olacaksınız.

Hizmete genel bakış

Bu öğreticiyi destekleyen hizmet diyagramında iki ortam gösterilmektedir: geliştirici ortamı ve Azure ortamı. Geliştirme sürecinde kullanılan temel Azure hizmetlerini vurgular.

Öğretici - Azure'da Kapsayıcılı Python Uygulamasında kullanılan hizmetlerin ekran görüntüsü.

Geliştirme ortamı

Bu öğreticide geliştirici ortamını destekleyen bileşenler şunlardır:

  • Yerel Geliştirme Sistemi: Docker kapsayıcısını kodlamak, derlemek ve test etme amacıyla kullanılan kişisel bilgisayar.

  • Docker Containerization: Docker, uygulamayı ve bağımlılıklarını taşınabilir bir kapsayıcıda paketlemek için kullanılır.

  • Geliştirme Araçları: Yazılım geliştirme için bir kod düzenleyicisi ve diğer gerekli araçları içerir.

  • Yerel MongoDB Örneği: Geliştirme sırasında veri depolama için kullanılan yerel bir MongoDB veritabanı.

  • MongoDB Bağlantısı: Bağlantı dizesi aracılığıyla sağlanan yerel MongoDB veritabanına erişim.

Azure ortamı

Bu öğreticide Azure ortamını destekleyen bileşenler şunlardır:

  • Azure App Service

    • Azure App Service'te Kapsayıcılar için Web App, Docker kullanarak hem yerleşik görüntülerin hem de özel görüntülerin kapsayıcı barındırmasını sağlamak için Docker kapsayıcı teknolojisini kullanır.
    • Kapsayıcılar için Web Uygulaması, yeni görüntüler hakkında bilgilendirilmek üzere Azure Container Registry'de (ACR) bir web kancası kullanır. Kayıt defterine yeni bir görüntü gönderildiğinde, web kancası bildirimi App Service'in güncelleştirmeyi çekmesini ve uygulamayı yeniden başlatmasını tetikler.
  • Azure Container Registry

    • Azure Container Registry, Docker görüntülerini ve bileşenlerini Azure'da depolamanıza ve yönetmenize olanak tanır. Azure'daki dağıtımlarınızın yakınında bulunan ve Microsoft Entra gruplarınızı ve izinlerinizi kullanarak erişimi denetleme olanağı sağlayan bir kayıt defteri sağlar.

    • Bu öğreticide kayıt defteri kaynağı Azure Container Registry'dir, ancak küçük değişikliklerle Docker Hub'ı veya özel bir kayıt defterini de kullanabilirsiniz.

  • MongoDB için Azure Cosmos DB

    • MongoDB için Azure Cosmos DB, bu öğreticide veri depolama için kullanılan bir NoSQL veritabanıdır.

    • Kapsayıcılı uygulama, bir ortam değişkeni olarak depolanan ve uygulamaya sağlanan bir bağlantı dizesi kullanarak Azure Cosmos DB kaynağına bağlanır ve bu kaynağa erişir.

Kimlik doğrulama

Bu öğreticide, yerel olarak veya Azure'da bir Docker görüntüsü derleyip Azure App Service'e dağıtacaksınız. App Service kapsayıcı görüntüsünü bir Azure Container Registry deposundan çeker.

App Service, depodan görüntüleri güvenli bir şekilde çekmek için sistem tarafından atanan yönetilen kimliği kullanır. Bu yönetilen kimlik, web uygulamasına diğer Azure kaynaklarıyla etkileşim kurma izinleri verir ve açık kimlik bilgileri gereksinimini ortadan kaldırır. Bu öğreticide, App Service kurulumu sırasında yönetilen kimlik, bir kayıt kapsayıcı görüntüsü kullanılacak şekilde yapılandırılır.

Öğretici örnek web uygulaması, verileri depolamak için MongoDB kullanır. Örnek kod, bir bağlantı dizesi aracılığıyla Azure Cosmos DB'ye bağlanır.

Önkoşullar

Bu öğreticiyi tamamlamak için şunlara ihtiyacınız var:

Örnek uygulama

Bu öğreticinin nihai sonucu, Azure'da dağıtılan ve çalıştırılan, aşağıdaki ekran görüntüsüne benzeyen bir restoran yorum uygulamasıdır.

Öğretici - Azure'da Kapsayıcılı Python Uygulaması'nda kullanılan Python kapsayıcılı web uygulamasından oluşturulan örnek uygulamanın ekran görüntüsü.

Bu öğreticide, veri depolama için MongoDB kullanan bir Python restoran inceleme uygulaması oluşturacaksınız. PostgreSQL kullanan örnek bir uygulama için bkz. Yönetilen kimlikle Flask web uygulaması oluşturma ve Azure'a dağıtma.

Sonraki adım