大家好,欢迎回到 10 月份的 Java on Azure Tooling 的更新。在这次更新中,我们将介绍我们在未来几个月的新路线图。此外,我们还对用户在 IDE 中直接使用 Azure Functions 的部署槽( deployment slots )做了一些改进,在我们最新的版本中。请下载并安装Azure Toolkit for IntelliJ。我们希望你喜欢这些功能,并享受我们的 Azure 工具包带来的流畅体验。那么让我们开始吧。
让我们来展望对未来几个月的 Java on Azure 工具的关键投资领域。我们的目标是为 Azure 上的 Java 开发者提供一个无缝的代码到云的体验。为了实现这一目标,我们将继续确保 Java 开发者能够轻松管理和部署 Azure 服务。此外,我们还将投资于与微服务和基于容器的服务的整合,为云原生开发者提供更好的服务。
容器技术正在成为云原生 Java 应用(和一些传统 Web 应用)的规范,Kubernetes 正在成为行业标准。容器优先的开发概念引入了新的工作流程和复杂性,但平台和工具在转移到容器应用和 Azure Kubernetes 服务等其他服务时,已经为开发者消除了微服务架构的复杂性。
为了满足这一需求,我们计划在我们的工具包中支持 Azure Container Apps/AKS 服务,在这些工具包中,Java 开发人员可以开发、管理、部署和监控他们基于 AKS/ACA 的 Java 工作负载,而无需离开 IDE 。此外,日志、指标和分布式跟踪可以帮助开发人员监控和排除应用程序的问题。这些功能,例如远程调试,受到了开发人员的高度重视。展望未来,我们将支持从 Azure Spring Apps 和 Azure Functions 进行远程调试。我们还将研究针对 Azure 的丰富的 Spring 代码编写和 IntelliJ 的部署经验,比如与 JHipster 的整合,以帮助开发者更好地搭建脚手架项目。
我们的下一个投资领域是与更多的 Azure 后端服务集成。在之前发布的版本中,我们在工具包支持对 Azure VM 和 Cosmos DB 服务的管理,这些功能已经被许多的 Java 开发者使用。
我们知道,Java 开发者在将 Java 应用部署到 Web Apps 和 Function 时,也有对一些 Azure 后端服务的需求,如 Event Hub 和 Service Bus 服务。为了满足这些需求,我们正计划支持这些服务。此外,我们还将继续支持 Azure 服务的最新功能。
当开发人员在 IDE 中进行 Azure 应用时,他们很难在 IDE 中直接找到相关的 Azure SDK ,以及针对每个资源相关的示例代码。在开始使用 SDK 库之前,由于要进行多次上下文切换或重定向,这将会很耗费时间。因此,我们正计划提供对应的实例代码加强Azure SDK 参考书的体验。在此基础上,编码方面的发现流程将与各服务的特定 API 或 SDK 保持一致,而无需在浏览器上搜索。
目前,我们的命令行工具包括 Maven Plugin for Azure Web Apps/Functions/Azure Spring Apps 和 Gradle Plugin for Azure Web Apps/Functions 。我们计划支持更多的命令来部署多模块项目,以增强我们的插件体验。我们将继续在 Maven 和 Gradle 插件中添加 App Service 和 Functions 的最新关键 Java 相关的功能。此外,我们还计划将我们的插件与 CI/CD Pipelines 整合,如 DevOps 、GitHub Actions 等。此外,我们还在研究使用 Maven 插件将 Java 应用部署到 Azure 容器应用或 Azure Kubernetes 的 Azure 托管服务的可能性。
我们的下一个投资重点是用户体验。我们的目标是提供用户界面友好的工作流程,以确保 Java 开发者在 IDE 中的互操作性和流畅的 Azure 管理体验。我们注意到,在我们目前的产品中,仍然存在一些问题,如缺乏用户体验指标,入门体验的使用率低,等等。我们将致力于为开发者带来更好的体验。我们还计划改进指导性的入门体验,以及引入新的升级更新机制,使你在旧的 IntelliJ IDE 版本中也能享受新的功能。
对于想在 Azure 上托管自己的 Web 应用的 Java Web 开发人员来说,他们不仅需要熟悉 IDE 或 CLI 等开发工具,还需要学习 Azure 云概念,以便成功部署到云上。因此,我们计划进行投资,以实现以应用为中心的体验,减少云概念的学习曲线,简化代码到云的体验,包括与 Azure Developer CLI 的整合。
此外,我们还计划增加与资源连接器服务( Resource Connector )的无缝集成,这有助于为所有 Java Azure 开发者提供统一的资源连接管理体验。从长远来看,我们可以让资源连接器服务处理 “云 “方面的服务配置,然后让 IDE 中的 Azure Toolkit 处理 “代码 “方面的项目 /环境配置。
除上述领域外,我们会一如既往的提高工具包的稳定性,减少错误率,为用户提供更好的性能和可靠性。
在6 月份的更新中,我们为 Gradle 插件上的 Azure Functions 增加了部署槽( Deployment Slots )支持。Azure Functions 部署槽允许你的 Function 应用运行不同的实例,称为 “槽”。更多细节请参见Azure Functions 部署槽。
我们一直有听到 Java 开发者的反馈,他们希望 Azure Toolkit for IntelliJ 也能提供这种支持。10 月份,我们在最新的版本中进一步增强了 IntelliJ IDEA 上 Azure Functions 的这种体验。你可以直接在 IDE 中创建、选择和交换部署槽。下面是一个简短的演示。
如果您感兴趣,请不要犹豫并尝试使用我们的产品吧! 您的反馈和建议对我们非常重要,将有助于我们产品的未来发展。
以下链接和资源能帮助您更好地了解 Java on Azure Tooling 的相关信息: