重塑企业创新方式 Serverless让云“开箱即用”
Serverless并不是消灭服务器,而是更好地使用服务器。
2012年,Serverless这个单词第一次出现,由Iron公司提出,字面意思就是不需要服务器。但是真正被大家所熟知,是在2014年亚马逊云科技推出Amazon Lambda的时候。
从某种意义上,Amazon Lambda产品的问世开启了云计算的新时代,之后所有的大厂都在跟进,比如微软、谷歌、IBM都先后推出自己的Serverless产品。
为什么业界都在谈Serverless呢?因为Serverless是云计算高级阶段。随着云计算的发展,Serverless已经成为一个技术趋势、一个理念、一个云的发展方向。
Serverless的加速度
想象一下,企业的开发者只需关注核心业务逻辑的实现,而不必操心背后用哪台服务器,跑什么操作系统、数据库、存储,也不用担心运维、流量限制、可用性等,同时还能降低开发者的学习门槛,降低程序调试部署难度,并节省50%以上的代码量,应用和业务的创新,将是多么的简单!
据Datadog 2021年发布的无服务器状态报告,开发人员正加速采纳无服务器架构:2019年之后Amazon Lambda的使用率显著增加,2021年初,Amazon Lambda函数的平均每天调用频率是两年前的3.5 倍,且半数Amazon Web Services新用户已采用Amazon Lambda。
Serverless之所以能够如此被广泛接纳,这与其给用户带来的价值息息相关。
Serverless是对用户强调,本质并不是不需要服务器,而是将服务器全权托管给了云厂商,用户不用去关心,不用去管理,只用把业务部署到平台上来,只需聚焦业务逻辑代码,能够根据实际请求进行弹性伸缩,不用再去关心资源够不够。
这样的特征和酷炫的功能让Serverless可以解决大多数用户和开发者最关心的问题——降低运维成本,缩短开发周期,专注于业务逻辑开发整合,因而成为云计算中一股厚积薄发的力量,获得无数开发者青睐。
Serverless的出现,就像人类的演进过程,代表着生产力的解放,极大提升了用户用云的效率。Serverless在其之上封装了容器技术,是云原生的高级阶段。
技术创新引领无服务器市场
Amazon Lambda在采用率方面一直保持领先地位,有一半的函数即服务(FaaS)用户在使用亚马逊云科技的服务。据Amazon Web Services公布的数据显示,已有数十万家客户在用Amazon Lambda来构建他们的服务。
Amazon Lambda是一种事件驱动的计算引擎,用户无需预置或管理基础设施即可运行代码。而且Amazon Lambda可以与亚马逊云科技的其他服务产品进行无缝集成,更是让Serverless变得触手可及。
亚马逊云科技不断为Amazon Lambda函数集成了许多其它服务。比如Amazon Cognito认证、Amazon API Gateway、Amazon SNS 、Amazon SQS、Amazon CloudFormation和Amazon CloudWatch等。
在语言支持方面,Amazon Lambda原生支持Java、Go、PowerShell、Node.js、C#、Python和Ruby代码,并提供Runtime API,允许用户使用任何其它编程语言来编写函数。
为了让Amazon Lambda支持更广泛的应用,Amazon Lambda不断改进,比如超时时长设置为15分钟、内存上限调整为10GB,从而更快地执行大数据分析、机器学习、建模、基因组学和高性能计算(HPC)应用程序之类的计算密集型应用程序。
2016年,亚马逊云科技发布了Amazon Step Functions;2017年,Amazon Lambda的默认并发数提升到了1000;2018年,亚马逊云科技相继发布了五项Serverless数据库服务;2019年,亚马逊云科技发布了无服务器事件总线服务Amazon EventBridge;2021年Amazon Lambda计费功能调整为了1ms级别,并且还提供了容器镜像支持,以及Amazon Graviton2处理器支持。
纵观Amazon Lambda的发展历程,其开创了Serverless计算的先河,亚马逊云科技持续迭代产品,引领了无服务器市场。
最佳实践实现价值落地
技术需要落地才能产生价值,随着用户对于Serverless的认知不断提升,相关的应用实践也在不断延展。在各个行业,无论是后台服务,还是REST API都可以部署到Serverless平台。尤其是Serverless音视频处理、轻量ETL(低门槛数据分析/处理)、事件驱动、任务跑批、应用托管、微服务容器化等场景。
每年的亚马逊云科技re:Invent大会都会有Amazon Lambda用户分享实践经验,其中不乏具有代表性的案例,让我们看到多样化的Serverless最佳实践。
在2017年的亚马逊云科技re:Invent会议上,美国电信Verizon的Revvel团队介绍了他们如何使用Amazon Lambda和Amazon S3进行视频不同格式的转码。
视频转码通常非常耗时,特别是那些长视频,Revvel团队采用的新方法是将视频分为5M的小块分别存储在Amazon S3存储桶中,然后用Amazon Lambda启用上千实例并行计算,完成转码后再合并成一个完整的视频,整个过程缩短到不足 10 分钟,费用也降低到了原来的十分之一。
在2020年的亚马逊云科技re:Invent会议上,Coca-Cola的Freestyle设备创新团队分享了他们的非接触式售卖机解决方案:使用Amazon Lambda和Amazon API Gateway构建后端托管服务,前端使用Amazon CloudFront ,从而可以在一周内推出原型,并在三个月内将Web应用程序从原型扩展到10000台机器,进而在疫情期间快速占领市场。
在今年的亚马逊云科技re:Invent会议主题演讲里,亚马逊云科技则介绍了Amazon Lambda在New World Game多人游戏中的应用。由于多人游戏是复杂的大规模分布式实时计算场景,需要大量的CPU资源和状态存储,对无服务器的性能提出了非常大的挑战。而Amazon Lambda无服务器计算达到了每分钟1.5亿次的调用频率,保证了用户的游戏体验。
继往开来 Serverless重塑企业创新方式
当下,如何快速构建现代化应用程序已成为企业提高敏捷性、实现更快创新、发挥数据价值的关键。但是,企业不仅需要解决现代化应用带来的诸多技术挑战,例如如何在短时间内扩展至百万级用户、实现毫秒级快速响应、处理PB级数据等,更需要根据自身应用状况考虑选择哪种路径实现现代化应用。
在亚马逊云科技,Serverless不止是一种计算服务,更是一种端到端的架构,除 AmazonLambda外,亚马逊云科技提供了全栈式的Serverless服务,广泛覆盖计算、存储、网络、容器、数据库、应用集成多个方面,帮助客户快速构建现代化应用。作为“Serverless架构”的深度实践者,2020年亚马逊近一半的新应用都部署到了Amazon Lambda上。
创新无止境。在今年Re:invent 2021上,亚马逊云科技一口气推出了五款无服务器产品:
- Amazon Redshift Serverless,可自动配置计算资源,使用SQL跨数据仓库、运营数据库和数据湖分析结构化和非结构化数据。
- Amazon EMR Serverless(预览版),是Amazon EMR中的一个新选项,让数据工程师和分析师能够借助开源分析框架,例如Apache Spark、Hive和Presto,在云中运行PB级数据分析。
- Amazon MSK Serverless(公开预览版), 全新类型的Amazon MSK 集群,完全兼容Apache Kafka,且无需管理Kafka的容量,服务会自动预置和扩展计算及存储资源。
- Amazon Kinesis On-demand,用于大规模实时流数据处理,服务会自动按需扩展和缩减。
- Amazon SageMaker Serverless Inference(预览版),让开发者无需配置或管理底层基础设施即可部署机器学习模型进行推理,按执行时间和处理的数据量付费。
从以上新产品可以看到,为满足客户的不同需求,亚马逊云科技提供了丰富的现代化应用相关服务与功能,涵盖容器、Serverless以及诸多不同开发工具组合,通过帮助企业处理无差异化的繁重工作,让企业聚焦于业务本身,加快实现应用现代化。
Serverless扛起了变革传统IT架构的大旗,成为企业数字化转型革新架构的首选,遍地开花。Gartner预测,2025年将有50%以上的全球企业部署Serverless。不久的将来,Serverless将无处不在。
Serverless提供了“来了就用,功能齐全,用完即走”的全新计算提供方式,展望未来,其必将重塑企业创新的方式,帮助云成为社会发展的强大动力。
本文章选自《数字化转型方略》杂志,阅读更多杂志内容,请扫描下方二维码