华为Serverless核心技术与实践

刘方明 李林锋 王磊
序一 Serverless使能应用极简开发和运维 云计算的不断发展,正在快速地改变着传统IT的开发、运维。虚拟机、容器、微服务等技术不断地提升着云计算的能力。 Serverless无服务器计算的出现,为软件开发带来了跨越式的变革。它让开发者只需关注软件产品的功能代码实现,而无须花费精力在计算、存储、网络等基础设施的资源分配与扩缩容上,也不必在软件的部署与运维等领域花精力。这些功能现在由云服务提供商以函数即服务(Function as a Service)和后端即服务(Backend as a Service)的云服务方式提供。Serverless极大地解放了开发者,已成为最有潜力的云计算技术发展方向,也必将成为智能数字化社会的未来开发模式。 随着移动应用、IoT和小程序等的快速发展,Serverless的架构思想和开发方式逐渐被开发者所接受,有望用来支撑应用现代化的新生态。Serverless对开发者的价值主要体现在三个方面: 第一、极简开发实现业务快速上线:在架构层面,函数的粒度相比微服务更小,业务构建更加灵活敏捷;在开发层面,函数计算平台提供了更简单的编程模型,让开发者更聚焦业务逻辑,而BaaS服务有效管理了后端服务的对接与协同。基于Serverless模式,可实现以天为单位完成业务上线。 第二、弹性自运维降低维护成本:对于互联网应用所面临的高可用及突发流量挑战,Serverless可以实现从计算到数据的大规模高并发弹性扩容,帮助开发者屏蔽底层基础设施的运维,降低了开发者的维护负担。 第三、按需收费降低资源使用成本:Serverless按实际使用量付费的特性,不但可以让大中型企业提升资源利用率,而且可以让创业公司降低基础设施投入和减少资源使用成本。 华为公司近年来在Serverless技术方向进行了持续的研发和实践。针对函数计算存在的一系列痛点,如函数缺少有状态支持…