虽然有点儿被AIGC盖住了风头,但Serverless仍然是当下云计算的核心热点。
在过去的几年里,各大主流云厂商都在加快云服务的Serverless化步伐。随着越来越多云厂商的跟进,随着越来越的云服务实现了Serverless,2023年正在成为云计算领域划时代的一年。全面Serverless的时代已经到来。
虽然已经有了不短的历史,但Serverless毕竟还是一个新鲜事物,很多企业用户刚刚开始或者还没有开始使用Serverless服务。在这里,我们就大家普遍关注的一些关于Serverless的问题,努力给出解答。
答案是否定的。
首先,技术的发展是个渐进的过程。狭义的Serverless指的是计算服务,而计算服务也是经历了从物理服务器,到虚拟机,再到容器化,直至现在的Serverless的发展历程,这个过程是随着业务逻辑和业务抽象程度的发展,而持续进化的。
其次,现在已经有大量客户在使用Serverless服务了。在Serverless上最领先的还是云服务巨头亚马逊云科技。其经典的Serverless计算服务Amazon Lambda,月活跃客户已超过100万,每月被调用的次数超过10万亿次。
而且,从广义Serverless定义来看,其不仅局限于计算服务。那么,各大云服务商的第一代对象存储产品,就可以算作是Serverless的,比如亚马逊云科技的S3。Serverless的历史,就更为提前了。
这个问题要从技术发展和客户需求两个角度来看。这两者也是相互促进的。
从技术角度来看,早先阻碍Serverless普及的最大问题是冷启动时间比较长,导致业务处理延时。如今这一技术瓶颈正在得到解决。在2022 re:Invent 全球大会上,亚马逊云科技新推出的Amazon Lambda Snapstart,可将Lambda函数的冷启动时间降低90%,大大提升了快速启动性能。
从客户需求角度来看,过去三年的疫情,导致很多企业的业务面临不确定性——业务规模随时可能爆发,也随时可以归零,新业务需求随时可能出现。在这种情况下,Serverless的优点就得到了充分发挥,可以帮助企业应对业务不确定性的挑战。
不仅仅是计算服务,云服务正在全面Serverless化。
亚马逊云科技在计算、存储、应用集成、数据库、数据分析等产品线都在逐步提供Serverless的服务和功能,实现云服务的全栈Serverless,其中大数据分析服务,全部可提供Serverless选项。其他云服务商也在加速这一进程,推进核心产品的全面Serverless化。
当然,这也是客户需求所决定的。只有服务齐全了,企业才能真正把应用架构在Serverless之上。尤其是数据库等核心服务,只要有一个没有实现Serverless化,整个应用就没办法迁移。
省钱是最吸引眼球的卖点,最容易受到关注,但其并不仅限于此。其实,早在10多年前,公有云刚出现时也是如此。应该说,省钱不省钱只是表象,其背后是资源的充分利用,更本质的则是业务价值。
Serverless有四大好处:弹性扩展、按需计费、简化管理、快速交付。其中,前两点已经被大家广泛认知,而且也不能简单地与省钱划等号;后两点则还没被大家熟知,却更为重要。
Serverless并不是不涉及服务器,而是不需要管理服务器。这意味着开发者只需要关注到任务本身,不再需要考虑物理基础设施资源管理,从而消除底层基础设施的复杂性。这也能够进一步带来快速交付的价值,让企业专注于业务逻辑,使得应用能够快速上线,满足敏捷创新的需要。
因此,Serverless更重要的价值是助力企业的业务创新,由此进一步推动企业商业模式的变革,获得更强的市场竞争力。
作为一个新鲜事物,Serverless往往被认为更适合中小企业、创新企业、互联网企业。的确如此吗?
亚马逊云科技大中华区产品部总经理陈晓建认为,其实各类企业都适合Serverless。他表示,虽然Serverless不是万能的,但的确是企业应对不确定性的一个非常有效的工具,无论从全球还是中国的实际情况来看,都既有互联网公司,也有传统企业在使用Serverless。
因此,Serverless的用户特征并没有明确的类型画像,也没有明显的行业特征。中国客户的接受程度虽然比发达市场慢一些,但也在快速跟进。
陈晓建认为,心态和经验是决定客户是否接纳Serverless的关键要素。在心态方面,企业需要放弃对底层物理资源的执念,转而将更多精力放在业务创新上;在经验层面,云厂商则要做得更多,让客户看到更多Serverless赋能业务场景的案例。
既然Serverless是未来的发展方向,那么企业应该如何迈出Serverless的步伐呢?亚马逊云科技给出了以下三条路径,这三个路径是逐步进阶的。
进阶路径1:从迁移开始,无需代码改造。借助开源工具Lambda Web Adapter,客户无需修改代码,可以随意切换应用程序在Lambda和容器之间转换;基于容器开发的代码,经过镜像打包,可以交付到Lambda里执行;反之基于Lambda开发的Web应用,也可以通过Web Adapter选择采用Lambda或者容器来部署和执行。
进阶路径2:拥抱事件驱动架构,灵活应对不确定性。事件驱动架构,是基于事件来解耦应用程序组件,由事件生产者、事件路由和事件消费者三个关键组件构成。比如,航空公司的订票系统、餐厅服务的点单系统,大量的银行保险业务,都是事件驱动的。事件驱动架构至少有三大优势:更少的依赖、故障隔离、可进化的架构。
进阶路径3:Serverless First,降低应用成本。Serverless First思维就是在构建新的应用时,首先考虑是否可以用Serverless来实现。面向应用场景选择各种云原生Serverless服务来设计架构,还可以充分发挥服务之间的功能集成和协同治理优势。
答案是至少在可预见的将来不会。
虽然Serverless是比容器更新的技术,也更能体现云的价值,但两者并不是互相取代的关系,而是相互补充。
亚马逊云科技大中华区产品部计算与存储总监周舸表示,Serverless与容器是相互融合发展的关系,并不是一个被另外一个取代。因此,给客户更多的选择,并且尊重客户的选择,才是至关重要的。
可以说,两者会长期共存,现在讨论谁取代谁还太早。至于长远未来,谁知道呢。也许一个新技术又出现,两者都被取代了。
虽然Serverless是大势所趋,但不代表Serverless化就可以无所顾忌。在迈向Serverless的进程中,至少以下几个方面需要加以注意。
一是企业IT预算模式问题。传统云服务是按预订资源量付费,更适合“按固定金额做预算”的模式,虽然会浪费,但不会超支;Serverless是按实际使用量付费,更适合“按业务量定预算”的模式,不会浪费资源,但有可能因为业务爆发而导致支出暴增。当然,这可以利用工具来监测。
二是被云厂商绑定的问题。不少企业通过采用多云,来避免被某一云厂商绑定。到了Serverless时代,有些企业又关注起这个问题。这一方面要看企业到底想要的是什么,是否还想自己管理底层物理资源;另一方面需要云厂商支持双向迁移,包括迁移回容器和迁移到其他云。亚马逊云科技大中华区产品部技术专家团队总监王晓野表示,只要其他云厂商支持Kafka或Spark开源框架,这样的迁移就可以进行,亚马逊云科技也不会阻止。
三是场景适用问题。虽然所有类型的企业都可以使用Serverless,但并不是包治百病的,而是要根据具体的应用场景来选择,比如像高性能计算这样的场景就显然不适合Serverless。
四是潜在的运维人员失业问题。当企业不再关注底层物理基础设施时,意味着IT运维变得简单了,或许会使得一些传统运维人员变得不再必须。这就如同AIGC一样,新的生产力工具,必然导致原有状况发生变化,但改变不了滚滚向前的时代潮流。