Wybieranie odpowiedniej lokalizacji docelowej

Ukończone

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.