Eksplorowanie usługi Azure Container Apps
Usługa Azure Container Apps umożliwia uruchamianie mikrousług i konteneryzowanych aplikacji na platformie bezserwerowej działającej na platformie Azure Kubernetes Service. Typowe zastosowania usługi Azure Container Apps obejmują:
- Wdrażanie punktów końcowych interfejsu API
- Hostowanie aplikacji do przetwarzania w tle
- Obsługa przetwarzania sterowanego zdarzeniami
- Uruchamianie mikrousług
Aplikacje oparte na usłudze Azure Container Apps mogą dynamicznie skalować na podstawie: ruchu HTTP, przetwarzania sterowanego zdarzeniami, obciążenia procesora CPU lub pamięci oraz dowolnego obsługiwanego przez program skalowania KEDA.
Za pomocą usługi Azure Container Apps można wykonywać następujące czynności:
- Uruchom wiele poprawek kontenera i zarządzaj cyklem życia aplikacji kontenera.
- Automatyczne skalowanie aplikacji na podstawie dowolnego wyzwalacza skalowania obsługiwanego przez usługę KEDA. Większość aplikacji może być skalowana do zera. (Aplikacje skalowane w przypadku obciążenia procesora CPU lub pamięci nie mogą być skalowane do zera).
- Włącz ruch przychodzący HTTPS bez konieczności zarządzania inną infrastrukturą platformy Azure.
- Podziel ruch między wiele wersji aplikacji dla wdrożeń Blue/Green i scenariuszy testowania A/B.
- Użyj wewnętrznego ruchu przychodzącego i odnajdywania usług w celu zabezpieczenia punktów końcowych tylko wewnętrznych z wbudowanym odnajdywaniem usług opartych na systemie DNS.
- Tworzenie mikrousług za pomocą języka Dapr i uzyskiwanie dostępu do bogatego zestawu interfejsów API.
- Uruchamianie kontenerów z dowolnego rejestru, publicznego lub prywatnego, w tym usług Docker Hub i Azure Container Registry (ACR).
- Użyj rozszerzenia interfejsu wiersza polecenia platformy Azure, witryny Azure Portal lub szablonów usługi ARM, aby zarządzać aplikacjami.
- Podaj istniejącą sieć wirtualną podczas tworzenia środowiska dla aplikacji kontenera.
- Bezpieczne zarządzanie wpisami tajnymi bezpośrednio w aplikacji.
- Monitorowanie dzienników przy użyciu usługi Azure Log Analytics.
Środowiska usługi Azure Container Apps
Poszczególne aplikacje kontenerów są wdrażane w jednym środowisku usługi Container Apps, które działa jako bezpieczna granica wokół grup aplikacji kontenerów. Aplikacje kontenera w tym samym środowisku są wdrażane w tej samej sieci wirtualnej i zapisują dzienniki w tym samym obszarze roboczym usługi Log Analytics. Podczas tworzenia środowiska możesz podać istniejącą sieć wirtualną.
Przyczyny wdrażania aplikacji kontenera w tym samym środowisku obejmują sytuacje, w których konieczne jest:
- Zarządzanie powiązanymi usługami
- Wdrażanie różnych aplikacji w tej samej sieci wirtualnej
- Instrumentowanie aplikacji dapr komunikujących się za pośrednictwem interfejsu API wywołania usługi Dapr
- Posiadanie aplikacji do współużytkowania tej samej konfiguracji języka Dapr
- Mieć aplikacje współużytkują ten sam obszar roboczy usługi Log Analytics
Powody wdrażania aplikacji kontenera w różnych środowiskach obejmują sytuacje, w których chcesz zapewnić:
- Dwie aplikacje nigdy nie współdzielą tych samych zasobów obliczeniowych
- Dwie aplikacje dapr nie mogą komunikować się za pośrednictwem interfejsu API wywołania usługi Dapr
Mikrousługi z usługą Azure Container Apps
Architektury mikrousług umożliwiają niezależne opracowywanie, uaktualnianie, wersje i skalowanie podstawowych obszarów funkcjonalności w ogólnym systemie. Usługa Azure Container Apps stanowi podstawę do wdrażania mikrousług wyposażonych w:
- Niezależne skalowanie, przechowywanie wersji i uaktualnienia
- Odnajdywanie usług
- Natywna integracja języka Dapr
Integracja języka Dapr
Podczas implementowania systemu składającego się z mikrousług wywołania funkcji są rozłożone w całej sieci. Aby obsługiwać rozproszony charakter mikrousług, należy uwzględnić błędy, ponawianie prób i przekroczenia limitu czasu. Chociaż usługa Container Apps zawiera bloki konstrukcyjne do uruchamiania mikrousług, korzystanie z języka Dapr zapewnia jeszcze bogatszy model programowania mikrousług. Język Dapr zawiera funkcje, takie jak obserwowanie, pub/sub i wywołanie typu service-to-service z wzajemnym protokołem TLS, ponawianiem prób i nie tylko.