Udostępnij za pośrednictwem


Migrowanie do usługi Azure Container Apps

Uwaga

Plany Basic, Standardi Enterprise weszły w okres wycofania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Plan Standardowy użycia i dedykowany plan został wycofany 30 września 2024 r., z całkowitym zamknięciem na koniec marca 2025 r. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.

Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise

Usługi Azure Spring Apps i Azure Container Apps to platformy zarządzane na platformie Azure zaprojektowane w celu uproszczenia uruchamiania aplikacji bez zarządzania złożoną infrastrukturą. Obie usługi umożliwiają deweloperom skoncentrowanie się na swoich aplikacjach, a nie martwienie się o podstawową konfigurację i konserwację systemów. Integrują się one natywnie z ekosystemem platformy Azure, co ułatwia nawiązywanie połączenia z usługami takimi jak Azure Monitor, Key Vault i Azure DevOps na potrzeby monitorowania, zabezpieczeń i wdrażania.

Ze względu na wycofanie usługi Azure Spring Apps zalecamy usługę Azure Container Apps jako podstawową usługę migracji obciążeń uruchomionych w usłudze Azure Spring Apps. Usługa Azure Container Apps zapewnia nowoczesną, elastyczną i skalowalną podstawę dla konteneryzowanych aplikacji, zapewniając, że obciążenia są gotowe do użycia w przyszłości i bezproblemowo zintegrowane z ekosystemem platformy Azure.

Ten artykuł zawiera szczegółowy przewodnik ułatwiający migrowanie obciążeń z usługi Azure Spring Apps do usługi Azure Container Apps, minimalizując zakłócenia i pomagając zmaksymalizować zalety nowej platformy.

Mapowanie koncepcji

Poniższa tabela mapowania koncepcji wyróżnia podobieństwa między usługą Azure Spring Apps i usługą Azure Container Apps. Pomaga to zrozumieć, jak znane pojęcia w usłudze Azure Spring Apps przekładają się na równoważne funkcje w usłudze Azure Container Apps.

Diagram przedstawiający mapowanie koncepcji między usługami Azure Spring Apps i Azure Container Apps.

Usługa Azure Spring Apps Usługa Azure Container Apps
Instancja usługi hostuje i zabezpiecza granicę dla aplikacji i innych zasobów oraz obsługuje niestandardową sieć wirtualną. Środowisko ustanawia bezpieczną granicę dla aplikacji kontenerów i obsługuje niestandardowe sieci wirtualne.
Aplikacja to jedna aplikacja biznesowa, która służy jako zasób podrzędny w ramach wystąpienia usługi. Aplikacja kontenerowa to aplikacja biznesowa, zdefiniowana jako niezależny zasób platformy Azure, który łączy się ze środowiskiem zarządzanym.
Wdrożenie to wersja aplikacji. Aplikacja może mieć jedno wdrożenie produkcyjne i jedno wdrożenie przejściowe. Rewizja to niezmienna migawka każdej wersji aplikacji kontenerowej. Aplikacja kontenerowa może mieć jedną lub wiele wersji.
Wystąpienie aplikacji to minimalna jednostka uruchomieniowa zarządzana przez usługę. Kontenery (replika) to zestaw kontenerów i minimalna jednostka środowiska uruchomieniowego. Można skonfigurować wiele kontenerów razem, w tym kontenerów bocznych i kontenerów init, aby obsługiwać jedną aplikację kontenerową.

Ustawienia kontroli dostępu opartej na rolach na platformie Azure

Usługi Azure Spring Apps i Azure Container Apps obsługują ustawienia kontroli dostępu na podstawie ról (RBAC) platformy Azure. Jednak ich doświadczenia różnią się ze względu na ich odrębne hierarchie zasobów.

W usłudze Azure Spring Apps hierarchia zasobów jest skoncentrowana wokół wystąpienia usługi. Przypisania ról mają zastosowanie do wystąpienia i są automatycznie propagowane do zasobów podrzędnych, takich jak aplikacje i wdrożenia. Ten projekt zapewnia scentralizowane zarządzanie. Jeśli jednak użytkownik potrzebuje dostępu do określonej aplikacji lub wdrożenia, a nie do wystąpienia usługi, musisz przyznać szczególne uprawnienia dla tych zasobów.

Z perspektywy interfejsu API usługa Azure Container Apps projektuje typy zasobów dla środowisk i aplikacji kontenerów jako oddzielne, niezależne jednostki na tym samym poziomie hierarchicznym. Role można przypisywać na poziomie środowiska zarządzanego lub poszczególnych aplikacji kontenera. Ta struktura umożliwia precyzyjną kontrolę nad określonymi aplikacjami. Na przykład możesz udzielić dostępu do różnych aplikacji kontenerów dla różnych zespołów lub osób indywidualnych. Ta elastyczność ułatwia zarządzanie zasobami niezależnie w środowisku udostępnionym. Jest również dobrze dopasowany do znanego środowiska zarządzania innymi zasobami platformy Azure.

Podejście do migracji

Podejście do migracji z usługi Azure Spring Apps do usługi Azure Container Apps obejmuje następujące kluczowe kroki:

Diagram kroków migracji opisanych w tym artykule.

  1. Ocena i planowanie: oceń bieżące obciążenia w usłudze Azure Spring Apps, w tym zależności, konfiguracje i ustawienia sieciowe.

  2. Konteneryzowanie aplikacji: mimo że usługa Azure Container Apps obsługuje wdrażanie z pliku JAR lub kodu źródłowego, zalecamy konteneryzowanie aplikacji w kontenerach platformy Docker, które mają lepszą przenośność i wydajność. Aplikacje można konteneryzować, tworząc pliki Dockerfile i tworząc obrazy kontenerów przy użyciu narzędzi, takich jak Usługa Azure Container Registry lub Docker Hub. Można również budować obrazy kontenerów lokalnie przy użyciu buildpacks. Aby dowiedzieć się, jak konteneryzować aplikację i utworzyć obraz kontenera podobny do obrazu uruchomionego w usłudze Azure Spring Apps, zobacz Omówienie konteneryzacji.

  3. Konfigurowanie środowiska usługi Azure Container Apps: aprowizowanie środowiska zarządzanego w usłudze Azure Container Apps, w tym konfigurowanie sieci wirtualnych, podsieci i wszelkich niezbędnych ustawień zabezpieczeń w celu dopasowania ich do poprzednich konfiguracji sieci w usłudze Azure Spring Apps. Aby uzyskać więcej informacji, zobacz Aprowizowanie usługi Azure Container Apps lub Migrowanie niestandardowej sieci wirtualnej.

  4. Tworzenie i konfigurowanie składników Java w usłudze Azure Container Apps: włączanie i konfigurowanie serwera Eureka, serwera konfiguracji, bramy i administratora zarządzanego. Te składniki są niezbędne do orkiestracji mikrousług i zarządzania nimi w aplikacjach Spring. Upewnij się, że zostały prawidłowo skonfigurowane pod kątem bezproblemowego przejścia.

    Jeśli używasz planu Enterprise, zapoznaj się z następującymi artykułami:

    Jeśli używasz planu standardowego, zapoznaj się z następującymi artykułami:

  5. Wdrażanie kontenerów: wdrażanie konteneryzowanych aplikacji w środowisku usługi Azure Container Apps. Skonfiguruj poprawki aplikacji, zasady skalowania i konfiguracje sieci zgodnie z wymaganiami. Aby uzyskać więcej informacji, zobacz Omówienie migracji aplikacji.

  6. Monitorowanie: podczas migracji stale monitoruj wydajność aplikacji przy użyciu usługi Azure Monitor i dostosuj konfiguracje zgodnie z potrzebami do optymalizacji, takie jak dostosowywanie ustawień skalowania lub alokacji zasobów. Aby uzyskać więcej informacji, zobacz Dzienniki i metryki w usłudze Azure Container Apps.

  7. Testowanie i weryfikowanie: Uruchom dokładne testy, aby upewnić się, że konteneryzowane aplikacje działają zgodnie z oczekiwaniami w nowym środowisku. Zweryfikuj łączność sieciową, skalowanie i integrację z innymi usługami.

  8. Narzędzia klienta i automatyzacji: Aby usprawnić codzienne zadania programistyczne i operacyjne, skorzystaj z narzędzi klienckich i rozwiązań automatyzacji. Te narzędzia obejmują interfejs wiersza polecenia platformy Azure, usługę Azure DevOps, funkcję GitHub Actions i rozszerzenia w narzędziach klienckich lub środowiskach IDE. Te narzędzia mogą pomóc zautomatyzować wdrożenia, monitorować wydajność i efektywnie zarządzać zasobami, zmniejszając nakład pracy ręcznej i zwiększając elastyczność operacyjną. Aby dowiedzieć się więcej o popularnych narzędziach, zobacz Clients or automation tools for Azure Container Apps (Klienci lub narzędzia automatyzacji dla usługi Azure Container Apps).

Narzędzie Asystent migracji

Aby przyspieszyć migrację i ułatwić ocenę funkcji w usłudze Azure Container Apps, udostępniamy nowe polecenie w interfejsie wiersza polecenia platformy Azure. To polecenie pobiera konfiguracje istniejących zasobów platformy Azure Spring Apps na podstawie identyfikatora zasobu danego wystąpienia usługi. Następnie tłumaczy te konfiguracje na pliki Bicep dla zasobów aplikacji kontenera platformy Azure. Ta metoda umożliwia szybkie skonfigurowanie środowiska zarządzanego i zasobów aplikacji usługi Azure Container Apps podczas stosowania podstawowych ustawień podobnych do tych ustawień w istniejących zasobach usługi Azure Spring Apps. Aby uzyskać więcej informacji, zobacz az spring export.

Aby utworzyć zasoby usługi Azure Container Apps zgodne z konfiguracjami istniejących zasobów usługi Azure Spring Apps, wykonaj następujące kroki:

  1. Zainstaluj interfejs wiersza polecenia platformy Azure w wersji 2.45.0 lub nowszej oraz najnowszą wersję rozszerzenia Azure Spring Apps przy użyciu polecenia az extension add --name spring.

  2. Wygeneruj pliki Bicep, aby utworzyć odpowiednie zasoby usługi Azure Container Apps przy użyciu następującego polecenia:

    az spring export \
        --resource-group <resource-group-name> \
        --target aca \
        --subscription <subscription-id> \
        --service <service-name> \
        --output-folder <output-folder-name> 
    
  3. Poprzednie polecenie generuje plik README.md ze szczegółowymi instrukcjami. Postępuj zgodnie z tymi instrukcjami, aby zaktualizować wymagane parametry w plikach Bicep.

    Uwaga

    Usługa Azure Container Apps wymaga konteneryzowanych adresów URL obrazów. Jeśli nie masz jeszcze konteneryzowanego adresu URL obrazu dla aplikacji, możesz pozostawić adres URL obrazu szybkiego startu w parametrach bez zmian i wdrożyć własną aplikację później. Aby uzyskać więcej informacji na temat uzyskiwania obrazów kontenerów, zobacz Omówienie konteneryzacji

  4. Jeśli grupa zasobów nie istnieje, utwórz ją przy użyciu następującego polecenia:

    az group create \
        --name <resource-group-name> \
        --subscription <subscription-id> \
        --location <location> 
    
  5. Wdróż zasoby usługi Azure Container Apps w grupie zasobów przy użyciu następującego polecenia:

    Uwaga

    Może być konieczne wielokrotne uruchomienie polecenia i dostosowanie konfiguracji na podstawie komunikatu odpowiedzi.

    az deployment group create \
      --resource-group <resource-group-name> \
      --template-file main.bicep \
      --parameters param.bicepparam \
      --subscription <subscription-id>
    
  6. Postępuj zgodnie z instrukcjami w pliku README.md, aby zaktualizować zasoby dla funkcji zaawansowanych. Te funkcje obejmują przekazywanie certyfikatów, włączanie domeny niestandardowej, dodawanie przypisań ról do tożsamości zarządzanej przypisanej przez system i nie tylko.

  7. Jeśli potrzebujesz konfiguracji tych zasobów programu Terraform, wyeksportuj je przy użyciu przepływu eksportu dostawcy zasobów Azure Terraform. Aby uzyskać więcej informacji, zapoznaj się z Omówieniem dostawcy zasobów Azure Terraform.

Samouczek

Udostępniamy samouczek przedstawiający kompleksowe środowisko uruchamiania aplikacji ACME Fitness Store w usłudze Azure Container Apps. Aby uzyskać więcej informacji, zobacz acme-fitness-store/azure-container-apps. Ten samouczek oferuje praktyczne wskazówki, pomagając szybko uzyskać praktyczne informacje i zaufanie do wdrażania konteneryzowanych aplikacji na platformie i zarządzania nimi.