选择正确的目标

已完成

我们讨论了在云中部署 Java 应用程序的可用选项,以及更具体地在 Azure 上部署。 但是哪种选项最能满足你的特定需求? 下面是帮助你选择的指南。

平台即服务或基础结构控制?

要问的第一个问题是想要完全控制应用程序,还是要使用平台即服务(PaaS)解决方案。 你的答案通常取决于你正在合作的团队的需求。

PaaS 解决方案更易于使用。 许多团队更喜欢他们,因为他们提供更低的成本、更好的可靠性和更高的安全性。

Teams 出于以下原因选择 PaaS 解决方案:

  • 他们需要快速投入生产,他们只有有限的运营团队或根本没有运营团队。
  • 它们具有某些高可用性、安全性或合规性要求,并且可以使用托管服务提供的现用功能来满足这些需求。
  • 他们可能没有资源或愿意维护生产级基础结构。

但一些团队更喜欢完全控制其基础结构,主要原因如下:

  • 如果使用特定的专有软件或不常见的 Java 功能,托管服务可能不适合你。 例如,你可能想要使用网络广播来查找应用程序节点,并且此功能在托管服务中不可用。
  • 您使用一个特定的本地库,该库无法在托管服务上运行。

在 Azure 上选择 PaaS 解决方案

对于在平台即服务解决方案上运行 Java 工作负载,Azure 提供了两个可能的选项:

  • Azure Functions:最适合能够很好地缩放的简单事件驱动工作负荷。
  • Azure 应用服务:最适合快速原型制作整体 Java Web 应用程序。

在 Azure 上选择基础结构控制

为了完全控制部署,Azure 提供了以下三个主要选项:

  • Azure 容器应用:内置 Java 支持 Azure 上所有类型的 Java,包括整体应用和微服务。
  • Azure Kubernetes 服务(AKS):最适合更复杂的基于容器的 Java 应用程序。 你还受益于丰富的 AKS 生态系统。
  • Azure 虚拟机:最适合运行任何类型的工作负荷,或者想要从现有的本地基础结构“直接迁移”,而无需重新架构应用程序。

帮助你决定的最后一句话

决定目标只是第一步。 选择服务时,请记住以下几点:

  • 维护任务有很大差异,具体取决于你选择的服务类型和你自己的运营团队的技能集。
  • 开发人员每天使用平台,如果服务提供出色的开发人员体验,则它们可以提高工作效率。

对于这两点,你的选择取决于你拥有的团队。 最佳做法是选择与团队专业知识和偏好匹配的目标。