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 mongoDB örneğini veya Azure DocumentDB'yi (MongoDB uyumluluğuyla) 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 eğitimde şunları yapacaksınız:

Bu öğretici serisindeki makaleleri tamamladıktan sonra, bir Python web uygulamasını Azure’a Sürekli Tümleştirme (CI) ve Sürekli Dağıtım (CD) ile dağıtmak için temel bilgiye sahip olursunuz.

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 öğreticinin geliştirici ortamı aşağıdaki bileşenleri içerir:

  • 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.

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

  • MongoDB Bağlantısı: Yerel MongoDB veritabanına erişim sağlayan bir bağlantı dizesi.

Azure ortamı

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

  • Azure App Service

    • Azure App Service'de Kapsayıcılar için Web App Docker kapsayıcı teknolojisini kullanarak Docker kullanarak hem yerleşik görüntüler hem de özel görüntüler için kapsayıcı barındırma hizmeti sağlar.
    • 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önderdiğinizde, 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 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.

  • Azure DocumentDB (MongoDB uyumluluğu ile)

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

    • Kapsayıcılı uygulama, ortam değişkeni olarak depoladığınız ve uygulamaya sağladığınız bir bağlantı dizesi kullanarak Azure DocumentDB 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 izni verir, bu nedenle açık kimlik bilgilerine ihtiyacınız yoktur. Bu öğreticide, App Service kurulumu sırasında yönetilen kimliği bir kayıt defteri kapsayıcı görüntüsü kullanacak şekilde yapılandırın.

Öğretici örnek web uygulaması, verileri depolamak için MongoDB kullanır. Örnek kod, bir bağlantı dizesi aracılığıyla Azure DocumentDB'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