至今,从计算、存储到数据库、数据分析、机器学习,云服务正在全面迈向 Serverless时代,目的就是让客户无需预置或管理基础设施,就可以运行几乎任何类型的应用程序或后端服务代码,帮助客户最大限度减轻运维工作,并增加业务敏捷性,更好地应对业务的各种不确定性。
随着产品本身能力的完善,Serverless 近年来呈加速发展的趋势。在小程序/ Web/Mobile/API 后端服务、大规模批处理任务处理、基于事件驱动架构的在线应用和离线数据处理、运维自动化等场景下, Serverless 都帮助企业提高了研发运维效率,降低了成本。
然而,仍然有诸多企业没有选择Serverless,权威报告显示,其原因主要有以下几点:对于员工的教育成本比较高;Serverless 领域缺乏标准;集成测试、调试非常困难,这也反映了 Serverless 生态供应链的不健全问题;安全问题。
丰富的Serverless产品服务
作为云计算领域的开创者和引领者,亚马逊云科技推出了大量的容器、无服务器技术的创新以及开发云原生应用端到端的工具链。以Serverless无服务器技术的迭代为例,Amazon Simple Queue Service (Amazon SQS)是一项适用于微服务、分布式系统和Serverless应用程序消息队列服务,至今仍被众多客户所采用且依旧在不断更新其能力,并多次在亚马逊Prime Day期间创下高峰时的流量新纪录。2012年推出的键/值和文档数据库Amazon DynamoDB,目前每天可处理超过10 万亿个请求,并可支持每秒超过 2,000万个请求的峰值。2014年推出的Serverless计算服务Amazon Lambda,开创了业界Serverless的先河。2017年推出适用于容器的Serverless计算服务Amazon Fargate被称为“改变游戏规则”的计算服务。2018年推出专为云打造的高性能关系数据库服务Amazon Aurora,2020年推出的更新版可以在几分之一秒将数据库工作负载从数百个事务扩展到数万个,同时成本最多可节省90%。
迈向云原生之旅的经验
在2022亚马逊云科技中国峰会的“下一代云基础架构”篇章,除了产品的更新,亚马逊云科技还总结了一套应用迈向云原生之旅的经验,包括构建、治理、迭代三个阶段、九个步骤,在每个步骤,亚马逊云科技都有相应的云服务、最佳实践去赋能用户。
第一步,构建弹性应用架构,用Amazon EKS将应用做容器化改造,对单体应用做微服务拆解,去用好Amazon EKS 用好Amazon Lambda,去搭建一个弹性应用的架构。
第二步,一切皆代码,通过CDK去实现基础设施即代码,把云中的资源管理自动化,去提升运维效率。
第三步,持续交付,利用Amazon Code Pipeline去搭建一个自动化发布的流水线,用App Mesh去控制应用自动交付的网络流量,保证新功能安全稳妥的发布。
第四步,可观测性是治理微服务的关键。采用亚马逊云科技托管的Amazon Prometheus服务,配合ADOT可以全面监控系统的运行状况。
第五步,选择云原生数据库,当把一个单体应用拆分为多个微服务的时候,为微服务选择最适合的云原生数据库,让整个应用的整体架构做到弹性和敏捷。
第六步,Amazon DevSecOps,安全团队和开发和运营团队一定要集成,避免安全成为流水线中的一个瓶颈,可以用Amazon Inspector持续扫描软件的漏洞。
第七步,持续部署,在代码自动进入到生产环境之前,去用亚马逊云科技 FIS去运行一个故障注入实验,能够更好地改进应用程序的性能。
第八步,Everything as Service一切皆服务,不要去重新发明轮子,而是将平台级的一些服务像数据库 消息传递总线、API网关等公开为一个共享服务,供其他人使用,用Amazon EKS Blueprints可以去构建一个基于Amazon EKS的共享服务平台(SSP)。
第九步,持续迭代、运维,利用亚马逊云科技Well-Architected Tool不断地去改进系统结构。
结语
亚马逊云科技Serverless不止于Lambda计算,而是一套全面的Serverless架构帮助客户快速构建现代化应用。从亚马逊云科技在Serverless领域的快速发布和迭代可以看出,下一个十年, Serverless 将重塑企业创新的方式,帮助云成为社会发展的强大动力。