Serverless工程实践

刘宇
序一 云计算被认为是21世纪初最具颠覆性的技术,云计算的出现改变了传统的IT架构和运维方式。以容器、微服务为代表的技术架构更是在各个层面不断升级云服务的技术能力,它们将应用和环境中的很多通用能力变成了一种服务。而Serverless架构的出现,同样带来了跨越式的变革。早在2012年,Ken Form在文章Why The Future of Software and Apps is Serverless中提出了这样的观点:即使云计算已经逐渐兴起,但是大家的工作还是围绕着服务器。不过这不会持续太久,云应用正在朝着无服务器方向发展,这将对应用程序的创建和分发产生重大影响。正是这篇文章,将Serverless这个词带进了大众的视野,也奠定了Serverless的最终目标和方向。随后,2014年Amazon发布了AWS Lambda,2017年阿里云发布了函数计算,将Serverless提高到一个全新的高度,使其从学术真正走向云服务商业落地。 Serverless为云上运行的应用程序提供了一种全新的系统架构。基于Serverless开发一个应用,可以解决大多数用户和开发者关心的问题。缩短开发周期,开发者无须考虑如何搭建服务器、数据库与文件系统,无须考虑如何配置网络、负载均衡;降低运维成本,无须考虑计算存储网络资源的弹性、资源运维问题;开发者唯一需要关心的就是与企业自身发展强相关的业务逻辑的开发整合。此外,毫秒级时间粒度的按需计费更是大幅度降低了企业在云资源上的投入成本。 由此,Serverless以其快速交付、智能弹性、高可用性、低成本等核心价值,成为云计算中一股新生力量,获得无数开发者的青睐。阿里云所提供的函数计算(FC)和Serverless应用引擎(SAE),就是非常典型的通用型Serverless平台,同时结合Serverless工作流、Serverless Devs等生态…