Volba správného cíle
Probrali jsme dostupné možnosti nasazení aplikace Java v cloudu a konkrétněji v Azure. Která možnost však nejlépe řeší vaše konkrétní potřeby? Zde je průvodce, který vám pomůže s výběrem.
Platforma jako služba nebo kontrola nad infrastrukturou?
Nejprve byste si měli položit otázku, jestli chcete mít úplnou kontrolu nad svou aplikací nebo jestli chcete používat řešení typu platforma jako služba (PaaS). Odpověď obvykle závisí na potřebách týmu, se kterým pracujete.
Řešení PaaS se snadněji používají. Mnoho týmů jim dává přednost, protože nabízí nižší náklady, vyšší spolehlivost a lepší zabezpečení.
Týmy volí řešení PaaS z následujících důvodů:
- Potřebují rychle přejít do produkčního režimu a mají k dispozici pouze omezený provozní tým nebo žádný provozní tým.
- Mají určité požadavky na vysokou dostupnost, zabezpečení nebo dodržování předpisů a můžou splňovat tyto potřeby pomocí funkcí, které poskytuje spravovaná služba.
- Nemusí mít prostředky nebo vůli udržovat produkční infrastrukturu.
Některé týmy však budou upřednostňovat úplnou kontrolu nad infrastrukturou, a to hlavně z následujících důvodů:
- Pokud používáte konkrétní proprietární software nebo jiné než běžné funkce Javy, spravovaná služba pro vás nemusí být vhodná. Můžete chtít například používat síťové všesměrové vysílání pro nalezení uzlů aplikace, přičemž tato funkce není u spravované služby dostupná.
- Můžete potřebovat použít určitou konkrétní nativní knihovnu, kterou také nebude možné ve spravované službě spustit.
Volba řešení PaaS v Azure
Pro spouštění úloh v Javě na řešení platformy jako služby nabízí Azure čtyři možné možnosti:
- Azure Functions: Nejvhodnější pro jednoduché úlohy řízené událostmi, které můžou velmi dobře škálovat.
- služba Aplikace Azure: Nejvhodnější pro spouštění úloh Jakarta EE.
- Azure Spring Apps: Nejvhodnější pro spouštění aplikací Spring Boot a konkrétněji mikroslužeb Spring Cloud.
Volba kontroly nad infrastrukturou v Azure
Azure nabízí následující dvě hlavní možnosti, které vám poskytnou úplnou kontrolu nad tím, co nasazujete:
- Azure Container Apps: Nejvhodnější pro spouštění jednoduchých monolitických aplikací v Javě založených na kontejnerech.
- Azure Kubernetes Service (AKS): Nejvhodnější pro složitější kontejnerové aplikace v Javě. Můžete také těžit z bohatého ekosystému AKS.
- Virtuální počítače Azure: Nejvhodnější pro provoz jakéhokoli druhu úloh nebo pokud chcete "lift and shift" z existující místní infrastruktury bez změny architektury vašich aplikací.
Závěrečné postřehy, které vám pomohou s rozhodnutím
Rozhodnutí o cíli je jenom prvním krokem. Při volbě služby mějte na paměti následující:
- Vaše úkoly údržby se budou výrazně lišit v závislosti na typu služby, kterou zvolíte, i na schopnostech vašeho vlastního provozního týmu.
- Vaši vývojáři budou tuto platformu používat každý den a budou produktivnější, pokud daná služba nabízí skvělé vývojové prostředí.
U obou těchto bodů závisí vaše volba na týmu, který máte. Osvědčeným postupem je zvolit cíl, který odpovídá odborným znalostem a preferencím vašeho týmu.