七叶笔记 » golang编程 » 大厂推崇Serverless,SaaS虎跃龙腾,是天下大势还是逆流而上?

大厂推崇Serverless,SaaS虎跃龙腾,是天下大势还是逆流而上?

本文是《中智观察》“企业数字服务供需市场”产业前瞻之 SAAS 篇,有人说“无服务器是应对企业数字化技术人才奇缺挑战的利器”,Serverless概念被提出已经多年了,现在很多用户也提出ServerlessFirst,再到AllinServerless;全面Serverless架构,可助力用户构建现代化应用;从应用的全生命周期来看,Serverless技术的全覆盖已经拉开序幕,应用开始进入上升期;GoogleCloudRun、亚马逊云科技AppRunner、 阿里云 的Serverless这些些大厂卡位跟进Serverless!评价这些事件,是天下大势,浩浩汤汤,还是逆流而上,好事多磨,不要着急,让时间来检验吧……

—— 海比研究院

2022年2月7日

头图来源:简书

银行可能会构建一个移动应用,允许客户轻松检查其余额或转账;航空公司可能会在办理登机手续时向其网站添加个性化升舱优惠;电商在节假期会推出各种促销活动,需要联动会员、物流等系统······

面对这些业务需求,传统的做法是开发应用首先要考虑底层的应用环境,技术资源用于管理基础架构,而不是推动创新,造成开发、部署和测试速度慢,并且需要对整个代码库有广泛的了解,因而跟上客户需求变动变得很困难。

幸运的是我们正处于信息技术史上一个独特的转折点:在过去的十年中,通过将核心重点从基础架构优化,转移到业务问题,IT作为企业增长引擎的能力发生了革命性转变。

无服务器技术 Serverless 让企业有效地驾驭这一变革,只管业务创新,而将基础架构管理与优化等交由云服务商来完成。

目前,无服务器技术正在函数化、应用化、容器化、服务化,让无服务器应用遍地开花。

一、观念革命:从ServerlessFirst到Allin Serverless

Serverless概念被提出已经多年了,现在很多用户也提出ServerlessFirst。

虽然无服务器概念在2014年由亚马逊云科技引入Lambda函数时被提出,但是Serverless的产品形态其实早已有之。

现在,无服务器技术在领先的技术组织中的使用呈指数级增长,能够将开发人员从基础架构中抽象出来,并帮助其专注于更快地交付业务,实现业务的价值。

目前来看, 无服务器Serverless发展处于稳步上升期 ,业界主流的云服务商都在发展无服务器技术,不断地推出不同形态的Serverless计算服务。在无服务器最初形态的函数计算方面,亚马逊云科技的Lambda和阿里云的函数计算变得越来越通用。

在Serverless应用方面,GoogleCloudRun、亚马逊云科技AppRunner与阿里云的Serverless应用引擎SAE等并驾齐驱。

在Serverless服务上,越来越多云服务商推出更大Serverless服务,包括数据库、数据仓库、数据湖等各种服务都已经实现了Serverless化。

开发者也对Serverless的认识越来越客观、务实,在越来越多的场景中使用Serverless的解决方案,工具链和相关生态也越来越成熟。

因此,现在很多用户也提出ServerlessFirst,而亚马逊云科技、 腾讯云 等明确提出Allin Serverless。

无论您的公司规模大小,Serverless四个直接的好处不可忽视。

中国软件网对无服务器技术进行了多次报道。

其实,Serverless不是表示没有服务器,而表示当您在使用Serverless时,无需关心底层资源,也无需登录服务器和优化服务器,只需关注最核心的代码片段,即可跳过复杂的、繁琐的基本工作。核心的代码片段完全由事件或者请求触发,平台根据请求自动平行调整服务资源。

从用户的应用实践来看,Serverless四大优势不容忽视:

首先是开发人员体验。 工程师可以专注于编写能够为业务提供即时价值的代码。基础架构代码、流程和维护大大减少,有助于团队专注于业务层逻辑。

API更新不再需要令人头疼,因为无服务器功能可以逐个功能地部署,从而使API更新速度极快,同时对整个应用程序的风险最小。

其次是可扩展性。 Serverless服务器功能可自动扩展。功能在请求时执行,并自动适应以处理所需的请求量。请求数的峰值可以呈指数级增长,对应用程序性能的影响为零。

可以说,Serverless基于云上,拥有近乎无限的扩容能力,空闲时不运行任何资源。代码运行无状态,可以轻易实现快速迭代、极速部署。

再次是成本 。使用无服务器时,您只需为执行代码时使用的资源付费。无需为提供大量服务器付费。您只需为执行函数的时间付费,您永远不必担心为闲置容量付费。

此外, 工程成本 也降低了,因为用户不再需要担心基础架构维护和硬件更新。无服务器消除了所有这些担忧,您可以专注于应用程序级代码。

最后是安全。 在应用程序级别,可以应用特定于功能的安全性,确保每个功能具有单一的访问点、访问级别和系统范围的权限,提供了精确的控制,以确保特定功能不会影响或无意中调用平台的其他方面。

人才奇缺一直是IT面临的最大挑战之一。新一代无服务器应用平台对开发人员和管理员都是一个强大的诱惑。

二、战略举措:全面Serverless架构,助力用户构建现代化应用

Serverless产品形态其实早已有之,并正在不断延伸。

正像前文所言,Serverless的产品形态其实早已有之。比如全球第一个云服务 亚马逊 云科技存储云服务S3,阿里云的第一个云服务 对象存储 OSS,以及现在的众多数据库云托管服务等,其实都是Serverless形态的服务,用户只需要用简单的API就可以实现海量数据的可靠存储。

云服务商为用户屏蔽掉了Server的复杂度,让用户有一个非常简洁的Serverless产品形态。

用户不需要关心数据如何被分片存储到不同的服务器上,以实现负载均衡;也不需要考虑如何做到在服务器宕机或者 交换机 故障时,保证数据的高可靠性和高可用性。

现在领先的云服务商,不管是亚马逊云科技、微软Azure、谷歌云,还是阿里云、腾讯云、 华为云 ,绝大多数新产品都是全托管的Serverless的形态。

专家预言,随着越来越多的云产品都是全托管、Serverless的形态,以及函数计算的Serverless计算服务、容器Serverless、应用Serverless等与其他Serverless形态的云服务融合,能够完整实现整个应用Serverless,无服务器技术就会成为主流,并越来越流行。

一套全面的Serverless架构帮助客户快速构建现代化应用。

亚马逊云科技大中华区云服务产品管理总经理顾凡多次重申,亚马逊云科技Serverless不止于Lambda计算,而是一套全面的Serverless架构,帮助客户快速构建现代化应用。

在亚马逊云科技,Serverless不止是一种计算服务,更是一种端到端的架构。一方面,除Lambda外,亚马逊云科技提供了全栈式的Serverless服务,广泛覆盖计算、存储、网络、容器、数据库、应用集成多个方面,帮助客户快速构建现代化应用。

之后推出的键/值和文档数据库AmazonDynamoDB,目前每天可处理超过10万亿个请求,并可支持每秒超过2000万个请求的峰值。

2017年推出适用于容器的Serverless计算服务AmazonFargate被称为“改变游戏规则”的计算服务。2018年推出专为云打造的高性能关系数据库服务AmazonAurora。2020年推出的更新版可以在几分之一秒将数据库工作负载从数百个事务扩展到数万个,同时成本最多可节省90%。

另一方面,作为“Serverless架构”的深度实践者,2020年亚马逊近一半的新应用都部署到了Lambda上。

AmazonSimpleQueue Service(AmazonSQS)是一项适用于微服务、分布式系统和Serverless应用程序消息队列服务,已有15年历史,至今仍被众多客户所采用且依旧在不断更新其能力,并在今年亚马逊PrimeDay期间创下高峰时每秒处理4770万条消息的流量新纪录。

三、百家争鸣:Serverless的形态更多了

从应用的全生命周期来看,Serverless技术的全覆盖已经拉开序幕,应用开始进入上升期。

对于云服务商而言,Serverless的形态逐渐变多了,就像一个红绳,穿起了用户应用需要的各种服务。

作为最早的Serverless产品,不管是亚马逊云科技、GoogleCloud或Azure,还是阿里云、腾讯云、华为云都有自己的函数计算FaaS服务。

阿里云凭借函数计算产品能力全球第一 的优势入选Forrester2021年第一季度FaaS平台评估报告,比肩亚马逊云科技,成为FaaS领导者。

目前在 阿里集团 内部,包括 飞猪 、淘宝、 高德 等都已经开始落地Serverless了。同时阿里云Serverless已经服务了上万家付费客户,拥有100+的典型案例,函数日调用量超过120亿次、函数总量达到100万。

腾讯云云函数(SCF) 是腾讯云为企业和开发者们提供的无服务器执行环境,帮助用户在无需购买和管理服务器的情况下运行代码,是实时文件处理和数据处理等场景下理想的计算平台。用户只需使用SCF平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。

其优势包括支持多种开发工具和语言,如支持Python、Node.js、Golang、PHP、 Java 等语言,同时支持CustomRuntime,可以根据需要自定义运行环境。

支持多种部署方式,适应各种环境。支持控制台部署、命令行部署、SDK/API部署、WebIDE直接部署以及镜像部署。

多样化触发,支持更多业务场景。触发方式包括API、SDK,以及其他多种云服务产品的事件如COS、AP网关等。多种触发选择支持更多使用场景。

自动化弹性执行,贴合调用曲线。在用户无感知的情况下根据调用量自动扩缩容,完美贴合调用曲线,最大程度节省资源和成本。

按需付费,毫秒级计费模式。腾讯云云函数资源使用量支持按1ms时间粒度计费,相较于按100ms粒度计费,可以为您大幅度节约成本。

华为云 Function Graph函数计算服务 ,基于元戎内核,内置数据系统,业内首个支持有 状态函数 。相比无状态函数,FunctionGraph有状态函数能够直接访问数据,将读写时延降低10倍,极大地拓展了Serverless的应用范围。

工商银行 百度智能云 天合Stack云原生私有云平台为基础,成功构建Serverless函数计算2.0技术架构。Serverless2.0平台在技术选型上以 百度智能云天合Stack的函数计算 产品为核心,并与工商银行现有的分布式、云计算技术平台做对接,为应用提供完整的函数核心引擎、函数管理能力、开发交付能力。

在这个基础上,工商银行不断打造体系完备、服务能力领先的分布式技术架构,加速升级金融级云平台,为全行业应用云原生提供了最佳业务实践范本。

容器Serverless,极大提高了业务的灵活性和部署效率。

容器是最流行的代码打包选项,目前正成为很多企业迁移上云的首选。NucleusResearch的报告显示,80%的云上托管的容器都在亚马逊云科技上运行。亚马逊云科技提供了广泛的容器服务,全面覆盖容器的开发构建、运行管理及安全治理等各个环节。

容器Serverless正成为一大潮流。而 亚马逊运科技已经实现了容器的全面无服务器化。 如在容器编排服务上,亚马逊云科技就提供三种完全托管的容器服务AmazonECS、AmazonEKS和AmazonFargate,客户可根据不同的技术偏好和业务需求灵活选择。

AmazonEKS让客户在亚马逊云科技上可使用 Kubernetes 轻松部署、管理和扩展容器化应用程序。AmazonFargate让客户无需预置和管理服务器,专注于构建应用程序。新推出的AmazonECSAnywhere和AmazonEKSAnywhere方便客户可灵活选择部署位置。通过亚马逊云科技,客户可以在任何应用环节、任何需要的地方运行容器服务。

金蝶发票云是金蝶的子公司,负责提供发票 全生命周期管理 ,以SaaS服务的模式将服务集成到 金蝶ERP 。作为金蝶旗下成立不到两年的初创组织,随着业务的快速扩展,其面临的开发与运维压力不断增加。金蝶发票云为了把更多的精力集中在业务领域,2021年初携手亚马逊云科技的技术团队开始了现代化应用开发之旅。

利用AmazonECS和AmazonFargate将应用的核心系统进行容器化改造,过去20天才能完成的新租户部署降低到0.5天,资源弹性扩展的反应速度从小时级降低到分钟级,极大提升了金蝶用户的满意度。通过使用AmazonLambda,每月400万张发票处理的计算资源成本从以前的每月2万元以上降低到每月只需300元。后端影像数据库系统使用AmazonAuroraServerless,将数据的使用成本降低了80%。

金山云发布的容器实例KCI和Serverless容器服务KSK这两款Serverless产品 ,具备秒级容器部署、按秒计费随用随付、单集群可扩展至1wPod的特性,极大提高了业务的灵活性和部署效率。

金山云容器实例KCI,在保留Kubernetes自动部署和管理容器等核心能力的同时,用户无需运维底层基础设施,便可轻松进行部署、管理、扩展容器化应用;针对长期稳定运行的业务,通过使用混合部署方式,常规业务用Kubernetes承载,节省成本;弹性业务使用容器实例KCI承载,无需节点管理和容量规划,用户只需为弹性部分(KCI)按照实际使用量计费,即可享受秒级弹性伸缩。

金山云Serverless容器服务KSK,是一款无服务器的Kubernetes集群产品,以容器和Kubernetes为基础提供Serverless服务。用户无需节点管理和容量规划即可在集群中部署容器应用,无需运维底层基础设施,对资源使用量按需付费即可。相较于传统Kubernetes集群,Serverless化Kubernetes集群在使用流程和部署成本上,更加”轻量化”。

越来越多的云产品Serverless化,越来越多的应用如数据分析Serverless化。

在亚马逊云科技re:Invent2021上,推出众多产品,很多云产品本身也在Serverless化,比如推出了 Kafka 的Serverless版本,这意味着,用户在实际使用云产品时,完全不需要关注云产品本身的规模,直接按照按量付费即可。

亚马逊云科技提供了广泛的、专门构建的数据分析服务,包括用于数据仓库的AmazonRedshift,用于处理实时数据流的AmazonMSK,以及用于运行ApacheSpark、 Hive 、Presto和其他开源大数据框架的AmazonEMR。

为降低客户管理数据分析基础设施的复杂性,亚马逊为三种主流的分析服务增加了无服务器功能。客户可以更轻松、经济地实现基础设施现代化,并统一来自各种数据源的大量数据。现在,客户无需考虑管理基础设施,即可运行任何规模的分析工作负载,并向需要它的人员和应用程序快速提供洞察。

现在,亚马逊云科技为三种数据分析服务推出无服务器功能。 Amazon Redshift、AmazonMSK和AmazonEMR的无服务器功能可帮助客户大规模分析数据,而无需配置、扩展或管理底层基础设施,已经出现了像 罗氏制药 拳头游戏 Intuit 等客户均已使用新的无服务器数据分析功能。

其中,AmazonRedshiftServerless可在几秒钟内自动设置和扩展资源,让客户无需管理数据仓库集群,即可以PB级数据规模运行高性能分析工作负载。

AmazonManaged Streaming for Apache Kafka (AmazonMSK)Serverless可快速扩展资源,极大简化实时数据摄取和流式传输。

AmazonEMRServerless让客户无需部署、管理和扩展底层基础设施,即可使用开源大数据框架(如ApacheSpark、Hive和Presto)运行分析型应用程序。

无服务器的强大功能正在以惊人的加速度前进,同时也在引入更多的形态和更多的功能。

对用户来说,迈向无服务器,并创建更新的平台,将新技术的好处与企业的业务结合,是一个理性与合理的选择。

本文图片来源:pixabay.com

科技媒体·企业演化科学·战略托管综合体

本文作者系海比研究院·赵满满

相关文章