Lift and shift to containers with aplikacja systemu Azure Service (Przenoszenie do kontenerów za pomocą usługi aplikacja systemu Azure Service)

Identyfikator Microsoft Entra
Azure Container Registry
Azure App Service

Pomysły dotyczące rozwiązań

W tym artykule opisano pomysł rozwiązania. Architekt chmury może użyć tych wskazówek, aby ułatwić wizualizowanie głównych składników dla typowej implementacji tej architektury. Skorzystaj z tego artykułu jako punktu wyjścia, aby zaprojektować dobrze zaprojektowane rozwiązanie zgodne z konkretnymi wymaganiami obciążenia.

To rozwiązanie migruje istniejące aplikacje internetowe do kontenerów wdrożonych w usłudze App Service, co pozwala skupić się na tworzeniu kontenerów, które nie martwią się o zarządzanie orkiestracją kontenerów.

Architektura

Diagram architektury przedstawia istniejącą migrację aplikacji do kontenerów w usłudze Azure Kubernetes Service z usługą Open Service Broker for Azure w celu uzyskania dostępu do baz danych platformy Azure.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Deweloper konwertuje istniejącą aplikację internetową na kontener.
  2. Deweloper publikuje obraz kontenera w:
    1. Prywatny rejestr lub usługa Docker Hub.
    2. Lub usługa Azure Container Registry.
  3. Usługa App Service ściąga obraz z:
    1. Poświadczenia dla rejestru prywatnego lub usługi Docker Hub, jeśli są używane.
    2. Lub tożsamość zarządzana, która używa podmiotu zabezpieczeń firmy Microsoft Entra w celu uzyskania dostępu do usługi Azure Container Registry.
  4. Łączniki usług w celu uzyskania dostępu do innych zasobów platformy Azure.
  5. Deweloper wypycha nowy obraz do rejestru kontenerów, który wyzwala aktualizacje usługi App Service po włączeniu ciągłego wdrażania.

Składniki

Web App for Containers: za pomocą usługi App Service można wdrażać i uruchamiać konteneryzowane aplikacje internetowe w systemach Windows i Linux. Usługa Web App for Containers umożliwia deweloperom łatwe korzystanie z w pełni zarządzanej platformy, ale którzy chcą również mieć pojedynczy artefakt z możliwością wdrożenia zawierający aplikację i wszystkie jej zależności. Innym scenariuszem docelowym są deweloperzy, którzy chcą pracować z niestandardową strukturą lub wersją poza wartościami domyślnymi wbudowanymi w platformę aplikacja systemu Azure Service. Konteneryzowane aplikacje internetowe w usłudze aplikacja systemu Azure mogą być skalowane w zależności od potrzeb i korzystać z usprawnionych przepływów pracy ciągłej integracji/ciągłego wdrażania za pomocą usług Docker Hub, Azure Container Registry i GitHub.

Azure Container Registry: rejestr obrazów Platformy Docker i Open Container Initiative (OCI) z obsługą wszystkich artefaktów OCI. Używaj obrazów kontenerów w usługach platformy Azure, takich jak App Service, Machine Learning i Batch. Na przykład podczas konfigurowania usługi Web App for Containers dla aplikacji internetowej można określić obraz kontenera z usługi Azure Container Registry.

Azure Cosmos DB: w pełni zarządzana usługa bazy danych NoSQL służąca do tworzenia i modernizacji skalowalnych aplikacji o wysokiej wydajności. Usługa Azure Cosmos DB jest zintegrowana z kluczowymi usługami platformy Azure, takimi jak Azure Functions, IoT Hub, AKS (Azure Kubernetes Service), App Service i nie tylko. Możesz wybrać spośród wielu interfejsów API bazy danych, w tym natywnej usługi Azure Cosmos DB for NoSQL, Azure Cosmos DB for MongoDB, Azure Cosmos DB for Apache Cassandra, Azure Cosmos DB for Apache Gremlin i Azure Cosmos DB for Table.

Azure SQL Database: w pełni zarządzana relacyjna baza danych z wbudowaną analizą. Usługa Azure SQL Database ułatwia tworzenie aplikacji lokalnie lub w chmurze na popularnych platformach i platformach z obsługą sterowników dla najpopularniejszych języków. Usługa SQL Database umożliwia uproszczenie programowania dzięki natywnej obsłudze witryn internetowych działających w usłudze aplikacja systemu Azure Service.

Azure Storage: usługa Azure Storage oferuje trwałe, wysoce dostępne, wysoce skalowalne rozwiązanie magazynu w chmurze i obejmuje obiekt, plik, dysk, kolejkę i magazyn tabel. Usługa Azure Storage obejmuje usługi dla obiektów, bloków i magazynu plików w celu spełnienia wymagań witryny internetowej. Na przykład witryny internetowe mogą łatwo używać usługi Azure Blob Storage do skalowalnego i bezpiecznego magazynu blokowego dla multimediów witryn internetowych, takich jak zdjęcia i filmy wideo.

Azure Monitor: Application Insights, zapewnia monitorowanie kondycji i wydajności oraz diagnostykę. Usługi Azure Monitor można używać z usługą Web App for Containers (App Service) do monitorowania metryk witryny internetowej, takich jak liczba połączeń i liczba żądań, co powoduje kod stanu HTTP.

Łącznik usługi Azure Service Connector: łącznik usług ułatwia łączenie usług obliczeniowych platformy Azure z innymi usługami zapasowymi. Na przykład użyj łącznika usługi między usługą aplikacja systemu Azure i usługą Azure Database for MySQL lub PostgreSQL, Azure Storage i Azure Key Vault. Aby uzyskać pełną listę obsługiwanych usług, zobacz Usługi są obsługiwane w łączniku usług.

Szczegóły scenariusza

Łatwe migrowanie istniejących aplikacji internetowych do kontenerów i uruchamianie konteneryzowanych aplikacji internetowych w usłudze Web App for Containers w usłudze aplikacja systemu Azure Service. Usługa Web App for Containers umożliwia skoncentrowanie się na tworzeniu kontenerów bez obaw o zarządzanie bazowym orkiestratorem kontenerów i konserwowanie go. Podczas tworzenia aplikacji internetowych usługa Web App for Containers jest dobrym rozwiązaniem do wykonywania pierwszych kroków z kontenerami. Kontenery mogą łatwo integrować inne zasoby platformy Azure, takie jak usługi magazynu i bazy danych.

Po zintegrowaniu istniejących aplikacji internetowych z zasobami platformy Azure możesz również korzystać z połączeń bez hasła dla usług platformy Azure. Połączenia bez hasła to niezależna od języka funkcja obejmująca wiele usług platformy Azure. W przypadku korzystania z połączeń bez hasła aplikacje internetowe łączą się z usługami opartymi na platformie Azure bez konieczności rotacji haseł. Wszystko, czego potrzebujesz, to konfiguracja — nie jest wymagany nowy kod.

Potencjalne przypadki użycia

Ten pomysł rozwiązania jest idealny do migrowania bieżących aplikacji internetowych do kontenerów uruchamianych na platformie Azure. Ten pomysł rozwiązania może służyć do utworzenia witryny internetowej, gdy mają zastosowanie następujące elementy:

  • Używa istniejącego środowiska programowania używanego do tworzenia witryn internetowych wdrożonych przy użyciu kodu w celu utworzenia witryn internetowych wdrożonych w kontenerze. Lift and shift existing web apps to containers on App Service (Przenoszenie istniejących aplikacji internetowych do kontenerów w usłudze App Service).

  • Uproszczone programowanie i wdrażanie przy użyciu narzędzi takich jak Visual Studio, Visual Studio Code, interfejs wiersza polecenia platformy Azure i usługa Azure Cloud Shell.

  • Przenośność w różnych środowiskach, od deweloperskich do produkcyjnych i różnych chmur. Możesz testować lokalnie na innej platformie niż to, co jest wdrażane w środowisku produkcyjnym.

  • Skalowalność w usłudze App Service oznacza, że można skalować liczbę procesów roboczych używanych na żądanie.

  • Modułowość przyszłej witryny internetowej działa w usłudze App Service lub w innych usługach, takich jak Azure Container Apps i Azure Kubernetes Service. Usługa Web App for Containers może być dobrym pierwszym krokiem do przejścia do kontenerów.

  • Kontener wdrożony w usłudze Web App for Containers jest gotowy do ciągłej integracji i ciągłego wdrażania (CI/CD). Możliwości ciągłej integracji/ciągłego wdrażania umożliwiają szybsze dostarczanie aktualizacji.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Przykładowe wdrożenia języków kontenerów w usłudze App Service:

Powiązane wskazówki dotyczące architektury: