![Serverless工程实践:从入门到进阶](https://wfqqreader-1252317822.image.myqcloud.com/cover/285/39652285/b_39652285.jpg)
序一
云计算被认为是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等生态产品帮助开发者快速落地。从应用场景来看,Serverless的架构理念几乎可以应用于所有的应用程序开发,如小程序、电商大促、大数据ETL、音视频转码、AI算法、游戏、文件实时处理、物联网数据处理、开放服务平台、微服务等;从生态融合和发展角度来看,Serverless将持续与容器、微服务等生态融合,一方面降低开发者使用Serverless技术的门槛,另一方面也将促进传统应用的云原生化。
作为一项新兴技术,Serverless在发展和落地的过程中会遇到很多难题。但不可否认的是,随着用户心智的逐渐建立与产品能力的逐渐完善,用户使用Serverless架构,能够在可靠性、成本和研发运维效率等方面获得显著受益,将会有越来越多的成功案例涌现出来。石墨文档基于Serverless架构有效解决了性能瓶颈,闲鱼通过Serverless实现云端一体化编程模式提高了研发效率,口袋奇兵基于Serverless架构大幅提升了资源利用率,世纪联华更是全面升级到了Serverless架构,享受Serverless带来的技术红利。而在阿里集团的“双11”大促中,Serverless也逐渐成为“技术焦点”之一。与过去11年的“双11”都不同的是,继天猫“双11”核心系统全面上云后,2020年阿里巴巴基于数字原生商业操作系统实现了全面云原生化,Serverless也迎来了首次在“双11”核心场景下的规模化落地。越来越多的成功案例预示着Serverless将扛起新一代云计算范式的大旗,逐渐成为企业数字化转型架构革新的首选。
作为Serverless领域的产品经理与布道师,刘宇在Serverless架构领域深耕数年,通过对Serverless架构的认知与经验,为读者带来从基础理论出发,到上手入门,再到项目实战的全面介绍。期望这本相对全面且实用性较高的技术书能帮助更多人了解Serverless。
蒋江伟(小邪)
阿里巴巴合伙人/集团高级研究员/云智能基础产品事业部负责人