在过去七八年的时间里,云原生(Cloud Native)技术持续高速发展并涌现出很多新技术。可以说,云原生已经重塑了整个软件的生命周期,并以更开放、更标准的方式构建云计算时代的软件体系。云原生计算基金会(Cloud Native Computing Foundation,CNCF)是云原生生态中极为重要的开源组织。作为一个厂商中立的基金会,CNCF 致力于GitHub 上快速成长的开源技术的推广,如Kubernetes、Prometheus、Envoy 等,帮助开发人员更快更好地构建出色的产品。
在CNCF 的定义中,云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。其中,容器技术被认为是云原生的基石。容器服务是提供高性能可伸缩的容器应用管理服务,支持用 Docker 和 Kubernetes 进行容器化应用的生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。
针对容器化应用,2018 年阿里云弹性计算团队和容器服务团队通力合作,推出了弹性容器实例(ECI)和Serverless Kubernetes 容器服务。弹性容器实例(ECI)是Serverless 的容器运行时服务,用户无须管理底层服务器,仅需提供打包好的镜像, 就可以直接运行容器实例。用户仅为容器实际运行消耗的资源进行按需付费。ECI 的底座是阿里云自研的轻量安全容器,它提供了轻量、隔离、安全的容器应用执行环境。
Serverless,即无服务器计算,也是近些年来非常热门的技术话题。Serverless 的最大特点就是用户无须关注底层的基础设施,一切以应用而不是集群资源为中心,用户可以更加聚焦在自身的业务和应用交付上。2019 年2 月,美国UC 伯克利大学发表的论文Cloud Programming Simplified: A Berkeley View on Serverless Computing 回顾了过去十年云计算的发展历程,并介绍了Serverless 的发展现状和存在的限制,最后预言了Serverless 将会主导云计算的未来。论文中有一个比喻,说用户现在使用云资源的操作方式,类似于几十年前计算机早期程序员写汇编的方式,随着Serverless 的发展,未来云计算将会出现更加高级的“编程方式”,使得云资源的使用更为高效。