選擇合適的目的地
我們討論了可在雲端中 (更明確地說是在 Azure 上) 用來部署 Java 應用程式的選項。 但哪一個選項最能滿足您的特定需求? 以下是可協助您選擇的指導方針。
平台即服務或基礎結構控制項?
要問的第一個問題是:您想要完全控制您的應用程式,還是想要使用平台即服務 (PaaS) 解決方案。 您的回答通常依需求及與您合作的小組而定。
PaaS 解決方案更容易使用。 許多小組偏好使用此解決方案,因為其提供較低的成本、更佳的可靠性與更高的安全性。
小組選擇 PaaS 解決方案的原因如下:
- 他們必須快速投入生產環境,而且只有有限的營運小組,或是完全沒有營運小組。
- 它們具有特定的高可用性、安全性或合規性需求,而且可以使用受控服務所提供的現成功能來滿足這些需求。
- 他們沒有資源或維護生產環境等級基礎結構的意願。
但有些小組偏好能夠完全控制其基礎結構,主要原因如下:
- 若您正在使用特定的專屬軟體或非通用的 Java 功能,則受控服務可能不適合您。 例如,您可能想要使用網路廣播以尋找應用程式節點,而此功能卻無法在受控服務上使用。
- 您可能想要使用特定的原生程式庫,其也無法在受控服務上執行。
選擇 Azure 上的 PaaS 解決方案
針對在平臺即服務解決方案上執行 Java 工作負載,Azure 提供四個可能的選項:
- Azure Functions: 最適用於簡單的事件驅動工作負載 (其可以非常妥善地進行擴縮)。
- Azure App 服務:最適合執行Jakarta EE工作負載。
- Azure App Service: 適用於執行 Spring Boot 應用程式 (更明確地說是 Spring Cloud 微服務)。
選擇 Azure 上的基礎結構控制項
若要完全控制您的部署,Azure 提供下列兩個主要選項:
- Azure Container Apps:最適合執行以容器為基礎的簡單 Java 整合型應用程式。
- Azure Kubernetes Service (AKS):最適合更複雜的容器型 Java 應用程式。 您也受益於豐富的 AKS 生態系統。
- Azure 虛擬機器: 適用於執行任何種類的工作負載,或是無須重新架構您的應用程式,即可從現有的內部部署基礎結構進行「隨即轉移」。
可協助您做出決定的結論
決定目的地只是第一個步驟。 當您在選擇服務時,請記住下列事項:
- 依您選擇的服務類型與您自己營運小組的技能而定,您的維護工作將有很大的差異。
- 您的開發人員將會每日使用該平台,若該服務提供絕佳的開發人員體驗,即可提高生產力。
針對這兩點,您的選擇將依您擁有的小組而定。 最佳做法是選擇符合小組專長與喜好設定的目的地。