购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

序一

蒋江伟(小邪)

阿里巴巴合伙人/阿里巴巴集团高级研究员/阿里云基础产品负责人

Serverless属于一种架构模式,其初衷很简单,就是提升同质编程模型的研发效率。随着云计算、互联网分布式技术的发展,Serverless 也站上了重要的历史舞台。Serverless 可以大幅度缩减分布式架构中遇到的挑战,在提升研发人员研发效率的同时,解决了分布式的难题——具备资源弹性、低成本、高可用三个关键架构要素。同时其研发质量可以很好地受控。它是企业面对灵活多变的业务需求下非常好的架构选择。比如在开放平台场景中,服务端工程师通过开放平台透出的每一个服务都可以通过简单脚本进行封装后发布为针对不同端的服务。其简单有效,并且无须关心计算、存储、网络等资源的弹性问题。同时,所发布服务的质量可以通过配套的测试流程模块来严格保障。由于脚本的运行时态处在一个安全的高质量的环境中,因此不容易犯错;另外,研发过程中本来需要注意的很多技术细节问题,也可通过平台来统一解决,类似代码执行效率低、安全性问题、潜在的bug等都可以被提前识别出来,最终实现高效率的业务迭代。

Serverless使得平台和逻辑被严格分离,并进一步进行了分工。其编码简单,大家经过适当的学习培训,就能够编写出原来需要大量非常优秀的工程师才能获得的结果。Serverless的架构理念几乎可以应用于现在所有的软件研发场景、多端场景、平台开放服务场景、数据库服务场景。当然最典型的要数大数据的各种计算场景。已有证据表明,Serverless的运用使大数据研发场景的效率得到10倍级别的提升。这使得 BI(Business Intelligence)的工程师也能利用简单编程来实现复杂的数据分析计算。阿里云上的函数计算也是典型的通用型Serverless平台,可以通过编写脚本实现逻辑,包括对数据的获取、逻辑处理,以及格式化输出和写入。这样对程序员的要求就降低了很多,因为不用考虑搭建服务器、搭建数据库,以及选择文件系统、配置网络、负载均衡等基础产品,也不用考虑计算存储网络资源的弹性问题、资源运维问题,而且还可按需计费。看起来唯一需要关心的就是逻辑。该平台是编写简单任务的非常好的平台,可应用于简单Web应用、监控运维、音/视频处理、AI大数据处理等场景。我曾经致力于研发一款面向普惠在线业务场景的Serverless平台,用来解决电商研发效率的问题。电商系统架构复杂,是大型的分布式系统,对数据的一致性要求较高,同时会有高并发的流量。如果这个场景能被Serverless平台解决,那么Serverless才算真正走向了“舞台”的中央。由于一些原因,时至今日我还没有完成这个产品。有的原型产品为了避免对业务本身架构的侵入,设计得过于通用,以致不够高效和一体化,像一堆工具的堆砌;而有的原型产品设计得过于专用,只能满足一些特定的业务场景,以致只能简单地进行模板的替换,解决一些经常变化的逻辑,适用范围较小。总之,本人还需要继续努力。

本书作者的经验来源于实践,其对很多问题都有深刻的思考,书中的很多内容对于读者都颇有借鉴意义。 g8WaErBu6oKiy4VabFWkeVjZxXXAauQkNq0SeoRJZ2nRzBgxg98ELUtEMPGarN2G

点击中间区域
呼出菜单
上一章
目录
下一章
×