Wybieranie odpowiedniej lokalizacji docelowej
Omówiliśmy dostępne opcje wdrażania aplikacji Java w chmurze, a dokładniej na platformie Azure. Ale która opcja najlepiej odpowiada konkretnym potrzebom? Oto przewodnik ułatwiający wybór.
Rozwiązanie typu „platforma jako usługa”, czy kontrola infrastruktury?
Pierwsze pytanie do zadania sobie brzmi: czy chcę mieć pełną kontrolę nad aplikacją, czy też chcę używać rozwiązania typu „platforma jako usługa” (PaaS). Twoja odpowiedź zwykle zależy od potrzeb zespołu, z którym pracujesz.
Rozwiązania PaaS są łatwiejsze w użyciu. Wiele zespołów je preferuje, ponieważ oferują one niższy koszt, lepszą niezawodność i większe bezpieczeństwo.
Zespoły wybierają rozwiązania PaaS z następujących powodów:
- Muszą szybko przejść do środowiska produkcyjnego i mają tylko ograniczony zespół ds. operacji lub nie mają żadnego takiego zespołu.
- Mają pewne wymagania dotyczące wysokiej dostępności, zabezpieczeń lub zgodności i mogą spełniać te potrzeby dzięki wbudowanym funkcjom oferowanym przez usługę zarządzaną.
- Być może nie mają zasobów lub nie chcą obsługiwać infrastruktury klasy produkcyjnej.
Niektóre zespoły wolą natomiast mieć pełną kontrolę nad infrastrukturą, głównie z następujących powodów:
- Jeśli używasz określonego oprogramowania zastrzeżonego lub nietypowych funkcji Języka Java, usługa zarządzana może nie być odpowiednia dla Ciebie. Możesz na przykład chcieć użyć funkcji rozgłaszania w sieci, aby znaleźć węzły aplikacji, a ta funkcja nie jest dostępna w usłudze zarządzanej.
- Albo możesz chcieć użyć biblioteki natywnej, która nie będzie mogła działać w usłudze zarządzanej.
Wybieranie rozwiązania PaaS na platformie Azure
W przypadku uruchamiania obciążeń Java na platformie jako rozwiązania usługi platforma Azure oferuje cztery możliwe opcje:
- Azure Functions: najlepsze rozwiązanie w przypadku prostych obciążeń opartych na zdarzeniach, które mogą być bardzo dobrze skalowane.
- aplikacja systemu Azure Service: najlepsze rozwiązanie do uruchamiania obciążeń Jakarta EE.
- Azure Spring Apps: najlepsze rozwiązanie do uruchamiania aplikacji Spring Boot, a w szczególności mikrousług Spring Cloud.
Wybieranie kontroli infrastruktury na platformie Azure
Aby umożliwić Ci uzyskanie pełnej kontroli nad wdrożeniami, platforma Azure udostępnia dwie następujące opcje główne:
- Azure Container Apps: najlepiej używać prostych aplikacji monolitycznych Java opartych na kontenerach.
- Azure Kubernetes Service (AKS): najlepsze rozwiązanie dla bardziej złożonych aplikacji Java opartych na kontenerach. Możesz również korzystać z bogatego ekosystemu usługi AKS.
- Maszyny wirtualne platformy Azure: najlepsze rozwiązanie do uruchamiania dowolnego rodzaju obciążenia lub jeśli chcesz "lift and shift" z istniejącej infrastruktury lokalnej bez zmiany architektury aplikacji.
Ostatnie wskazówki ułatwiające podjęcie decyzji
Zdecydowanie się na miejsce docelowe to dopiero pierwszy krok. Podczas wybierania usługi należy pamiętać o następujących kwestiach:
- Zadania związane z utrzymaniem będą się znacznie różnić w zależności od wybranego typu usługi i zestawu umiejętności własnego zespołu ds. operacji.
- Twoi deweloperzy będą codziennie korzystać z platformy, a będą bardziej wydajni, jeśli ta usługa zapewni doskonałe środowisko deweloperskie.
W obu tych kwestiach wybór zależy od posiadanego zespołu. Najlepszym rozwiązaniem jest wybranie miejsca docelowego, które jest zgodne z wiedzą i preferencjami Twojego zespołu.