微软推出无服务器容器服务Azure Container Apps

微软在Ignite大会中,发布了最新容器服务Azure Container Apps,这是一个无服务器应用程序托管服务,用户无需也看不到底层的虚拟机、调度工具以及云计算基础设施。

Azure Container Apps支持打包成为容器的任何应用程序,不问Runtime和程序代码开发模型,应用程序可以依据HTTP请求、事件进行扩展,微软提到,Azure Container Apps解决了微服务中,像是加密服务间的通信,和规模缩放等需求。

Azure Container Apps创建在开源Kubernetes技术之上,使得用户能够获得Kubernetes所带来的好处,却又不需要直接理解Kubernetes和运行概念,借由开放标准和API,就可实现应用程序的可移植性,官方提到,在Azure Container Apps背后,每个应用程序都在Azure Kubernetes服务上运行,并且深度集成Kubernetes事件驱动自动缩放(KEDA)、Dapr(Distributed Application Runtime)和Envoy等技术。

在Azure Container Apps中,多个容器应用程序,可以部署至单一容器应用程序环境中,并可将其视为一组容器应用程序,与另一组应用程序间的隔离和可观察性边界,部署到相同环境的容器应用,能够将日志写入到相同的Log Analytics工作区。

微软表示,这种结构可以在构建整体解决方案时,方便微服务之间通信,而且也能够将多个容器部署成同一个容器应用程序,这些容器就会被视为一个单位或是容器Pod,一起部署和扩展。

用户可以借由声明式缩放规则,来管理Azure Container Apps的水平自动缩放,在默认情况下,Azure Container Apps在不使用时,会缩减至0并且暂停收费,随着流量增加,容器应用程序横向扩展的过程,会按需创建新的执行实例。

另外,Azure Container Apps提供Dapr API全托管版本,Dapr为一个开源的事件驱动Runtime,开发者可以使用熟悉的程序语言和框架,将可移植的微服务构建成为无关平台的模块。在Azure Container Apps中,用户可以使用适用于Azure Container Apps的Dapr,以边车的方式在应用程序旁运行,以获得额外的功能。

Azure Container Apps支持多重修订来管理应用程序的版本,并在不同版本间提供分流和负载均衡,还通过Log Analytics以获得集成性监控功能,简化应用程序生命周期管理。