Azure Spring Apps (wcześniej Azure Spring Clouds – w artykule nazwy używane wymiennie) to zarządzane środowisko utworzone przez firmy Microsoft i VMware ze wstępnie skonfigurowanymi i gotowymi do wdrożenia usługami infrastruktury oraz środowiskiem uruchomieniowym dla aplikacji opartych na Spring.
Jak możemy przeczytać w dokumentacji:
Usługa Azure Spring Apps ułatwia wdrażanie aplikacji Spring Boot na platformie Azure bez żadnych zmian w kodzie. Usługa zarządza infrastrukturą aplikacji Spring, aby deweloperzy mogli skupić się na kodzie. Usługa Azure Spring Apps zapewnia zarządzanie cyklem życia przy użyciu kompleksowego monitorowania i diagnostyki, zarządzania konfiguracją, odnajdywania usług, CI/CD, blue-green deployments.
Z artykułu dowiesz się, jak przebiega wdrożenie i konfiguracja, poznasz przykłady uruchomienia, wspomnę także o perspektywie DevOpsa, Developera oraz użytkownika.
Wdrażanie i konfiguracja
Klienci mogą po prostu wdrożyć swoje pliki JAR lub kod, a usługa Azure Spring Cloud automatycznie połączy ich aplikacje ze środowiskiem uruchomieniowym usługi Spring. W następstwie będą mieli możliwość łatwego monitorowania wydajności aplikacji, jej szybkiego ulepszania i naprawiania błędów. W ten sposób środowisko zostanie zintegrowane z ekosystemem platformy Azure i gotowe do użycia w przedsiębiorstwie.
Ponadto, jeśli klient korzysta już z aplikacji Spring, nie ma żadnych zmian w kodzie potrzebnych do migracji tych aplikacji z innego środowiska do usługi Azure Spring Cloud. Klienci muszą tylko zorganizować wskaźniki do interakcji z:
- danymi,
- pamięcią podręczną,
- wiadomościami
- i usługami katalogowymi w chmurze platformy Azure.
Po wdrożeniu można monitorować wydajność aplikacji, naprawiać błędy i szybko ulepszać aplikacje. Dostępne są składniki, takie jak:
- Azure Monitor,
- Azure Log Analytics,
- Azure Insights,
które odgrywają centralną rolę jako narzędzia diagnostyczne.
Klient może analizować dzienniki, aby wyodrębnić więcej szczegółów dotyczących problemów ze środowiskiem wykonawczym, analizować rozproszone ślady aplikacji i monitorować jej wydajność, aby lepiej zrozumieć główne przyczyny błędów i niewłaściwego zachowania lub wskazać miejsca, w których znajdują się wąskie gardła komunikacji.
Azure Spring Apps umożliwia łatwe tworzenie powiązań z innymi usługami platformy Azure, takimi jak:
- storage,
- bazy danych,
- monitorowanie.
Azure Spring App z punktu widzenia…
DevOpsa
Wykrywanie usług i powiązania komponentów są ułatwione, ponieważ istnieje ekosystem do scentralizowania wszystkich operacji zarządzania w jednym panelu sterowania.
Dewelopera
Łatwe programowanie, konfigurowanie aplikacji, testowanie i wdrażanie zapewniają zespołom dużo czasu na dostarczenie – od niskobudżetowych projektów po bardziej złożone ekosystemy mikrousług. Nie trzeba rozumieć szczegółów infrastruktury leżącej pod systemem. Wystarczy tylko skupić się na tworzeniu aplikacji.
Przykład uruchomienia Azure Spring Apps
Najpierw należy zainstalować rozszerzenie spring na potrzeby interfejsu wiersza polecenia platformy Azure, uruchamiając następujące polecenie:
az extension add -n spring -y
Wystąpienie usługi Azure Spring Apps przy użyciu interfejsu wiersza polecenia platformy Azure.
Można wykonać dokładnie tę samą konfigurację przy użyciu Azure Portal. Nazwa musi być unikatowa wśród wszystkich wystąpień usługi Azure Spring Apps na całej platformie Azure.
Najpierw, dla ułatwienia pracy, ustawiamy zmienne:
RESOURCE_GROUP_NAME=spring-cloud-name-resourcegroup
SPRING_CLOUD_NAME=azure-spring-cloud-unique-name
Następnie tworzymy grupę zasobów:
az group create \
-g "$RESOURCE_GROUP_NAME" \
-l westeurope
Wystąpienie usługi Azure Spring Apps:
az spring create \
-g "$RESOURCE_GROUP_NAME" \
-n "$SPRING_CLOUD_NAME" \
--sku standard
To polecenie wymaga czasu, zatem należy odczekać kilka minut na wdrożenie usługi w Azure.
Po poprawnym wdrożeniu otrzymamy widok jak poniżej. Od tego momentu, mamy w pełni skonfigurowane środowisko do wdrażania aplikacji w JAVA.
Dlaczego warto wdrożyć Azure Spring Apps?
Azure Spring Apps daje wiele korzyści klientom, którzy chcą zoptymalizować sposób prowadzenia działalności. Należą do nich przede wszystkim:
- Uproszczone zarządzanie infrastrukturą poprzez:
- skalowalną infrastrukturę globalną,
- zmniejszone przestoje i ryzyko związane z wdrożeniem.
- Wbudowane zarządzanie cyklem życia aplikacji:
- dostępne są komponenty Spring Cloud,
- wdrażanie kodu źródłowego lub tworzenie artefaktów,
- automatyczne połączenie aplikacji z infrastrukturą Spring Cloud.
- Łatwe monitorowanie aplikacji:
- wskazywanie i kontrolowanie wąskich gardeł wydajności,
- wgląd w zależności aplikacji za pomocą usługi Azure Monitor,
- dane zbiorcze.
Jako zespół mamy już za sobą migrację aplikacji JAVA na platformę Azure z wykorzystaniem Azure Spring Apps, jak również wsparcie przy budowaniu infrastruktury potrzebnej do wdrożenia aplikacji JAVA jako natywnej w chmurze Azure. Jeśli macie pytania, dajcie znać w komentarzach 😊
Zachęcamy Was również do udziału w warsztatach prowadzonych przez inżynierów i architektów Sii z zakresu Java on Azure.
Dowiedz się więcej
Jeśli chcesz pozyskać więcej informacji i przećwiczyć laboratoria z Azure Spring Apps, zajrzyj do poniższych źródeł:
- Spring Cloud Azure
- Wprowadzenie do usługi Azure Spring Apps | Microsoft Learn
- GitHub – Azure-Samples/azure-spring-boot-samples: Spring Cloud Azure Samples
***
Jeśli interesuje Cię tematyka Azure, zachęcamy do zapoznania się z innymi artykułami naszych ekspertów m.in.:
- Aplikacje multi-tenant w Azure,
- Azure Arc – rozwiązanie dla infrastruktury hybrydowej i multicloud,
- Skalowalny monitoring dla środowisk Azure,
- Usługi Azure Policy i Azure Blueprint,
- Azure LogicApp oraz FunctionApp – umożliwienie weryfikacji wysyłki i treści wiadomości e-mail jako jeden z elementów testów E2E,
a także podcastem realizowanym przez autora: Chwila dla Admina.
Zostaw komentarz