未来已来:从信通院Serverless标准,看无服务器发展趋势
“无服务器架构(Serverless)是一种将应用与基础设施彻底分离的架构理念,开发人员无需关心基础设施的运维工作,只需专注于应用逻辑的开发,真正实现了弹性伸缩与按需付费。当前各大云服务商和头部互联网企业的内部业务Serverless化升级改造已经开始小范围试水;中小企业基于Serverless的业务应用也初见端倪,已然可见初具规模的企业级应用,未来可期。Serverless生态已初具规模,可以预见,Serverless将成为下一代云计算服务形态的趋势。”
在此背景下,云函数(SCF)、弹性微服务(TEM)和弹性容器服务(EKS)联合其他相关产品,在2021年Serverless平台技术能力评估中,共同获得国内首批Serverless平台技术能力最高先进级认证。
今年7月,在中国信息通信研究院、中国通信标准化协会联合主办的“2021可信云大会”上,腾讯云拿下了5项大奖和10项可信云认证,在云存储、Serverless等各细分领域评测中,获得54项可信云认证,数量位居中国云厂商第一。腾讯云云函数(SCF)、弹性微服务(TEM)和弹性容器服务(EKS)深度参与了此次Serverless标准制定和实施过程,腾讯云的Serverless产品矩阵所提供的平台技术能力也得到了同行的一致认可。
01.
Serverless发展趋势解读
通过本次Serverless标准,为大家带来以下几方面关于Serverless发展趋势的解读:
趋势一:从计算层向Serverless应用延伸
Serverless是一种免运维、按量计费、弹性伸缩的理念,企业对于Serverless的关注点不仅仅局限于FaaS等形态的计算层产品,在构建完整的Serverless应用时,除了计算层之外还需要考虑文件系统、数据库、中间件、网关等多种产品,在构建稍具规模的Serverless应用时,这些产品或多或少都需要涉及到,虽然产品不同但是用户对于免运维、弹性伸缩、按量计费的诉求是一致的。
当我们把Serverless理念和这些产品结合时,Serverless化的文件系统(CFS)、数据库(TDSQL-C)、网关(API Gatgeway)和中间件(TDMQ)等可大幅度降低Serverless应用的开发和运维成本,让开发者真正聚焦于业务的核心能力,把核心的研发力量和IT投资最大化企业的核心差异化竞争力。通过最终的需求驱动,我们可以预见到,各个云服务产品的Serverless化或许是未来云计算发展的必经之路。
趋势二:Serverless应用形态和落地场景进一步丰富
过去场景化的FaaS是Serverless较为主流的应用形态,落地案例也以轻量级的站点、SSR和云上“云上粘合剂”居多。在本次Serverless标准制定过程中,对于如何评估企业实际的Serverless落地形式大家展开了丰富的讨论和交流。我们认为Serverless的应用形态可以是FaaS、微服务甚至是单体应用;运行环境可以是原生的运行时,也可以是容器镜像;具体落地时,可以用来对外提供API接口,也可以用来运行音视频转码、直播推流等计算任务,还可以用来完成站点压测、AI推理等任务。
但是现有存量系统的Serverless化无法一蹴而就,这是一个不断设计和矫正的过程,应用Serverless化也需要经历迁移、优化和云原生架构改造的几个阶段,不同阶段之间需要有一个较为平滑的切换过程,借助于云函数的Web Function的功能可以让迁移过程更加平滑,只有实际负载运行在Serverless上之后,才能基于生产环境的实际运行结果、采集定量的指标持续进行Serverless应用的优化和云原生改造,进一步发挥出Serverless的价值。
趋势三:Serverless应用的开发者体验在持续提升
当构建应用所依赖的服务逐渐向云上迁移的时候,开发环境也进一步“云”化,和本地开发相比也面临一些新的挑战,比如代码生效时间、本地测试、远程调试和离线开发等等,这些都是影响开发者效率的关键环节。在本次的「Serverless平台技术能力」标准中,单独把对于工具链的支持作为衡量Serverless平台技术能力的重要维度之一。一个成熟的Serverless开发者平台需要能够提供比较友好的IDE支持,让开发者使用熟悉的开发工具进行Serverless应用的开发,降低开发者的切换成本;除此之外从本地或者远程测试的时候,需要有良好的工具支持,可以方便地发起调用,触发应用执行并快速返回结果,当结果不符合预期的时候也需要有一系列监控、日志等排障手段帮助开发者快速定位问题。
作为Serverless社区最流行的一站式开发者工具,Serverless Framework拥有百万级别的活跃应用程序以及50000+的日下载量。Serverless Framework早在2019年就已经和腾讯达成了大中华区独家的战略合作,和腾讯云的云函数等Serverless产品深度集成,同时社区也有大量开箱即用的插件和模板,帮助开发者快速上手Serverless应用开发。除此之外,云开发也是国内最大的微信小程序应用开发平台,四川天府健康通、深圳机场智慧航旅服务等小程序应用都是运行在腾讯云的Serverless平台之上。
02.
本次参评Serverless产品介绍
1.云函数SCF:函数即服务
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。只需编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。
优势亮点
·Web Function
只需简单修改监听端口,即可将目前流行的Node.js框架直接部署上云,享受Serverless技术带来的免运维、低成本、按需扩缩容的众多优势。
·异步长时
突破传统FaaS形态产品的执行时长的限制,首家支持运行长达24小时的长时任务的FaaS产品,支持体积较大的音视频文件处理、直播推流、数据分析等多种场景。
·大规格函数实例
业界首发支持分配120GB(122,880MB)大内存环境,可以更加轻松地处理具有更高内存或更密集计算需求的工作负载,如音视频处理、大数据分析等。
应用场景
·Serverless建站
通过Web Function、容器化镜像等方式平滑把应用迁移至云函数之上,支持托管H5页面、API、SSR应用、小程序等多种形态的应用形式,缩短研发周期,快速收集市场反馈从而加速产品迭代。
·Serverless音视频处理
无需运维虚拟机或者其他计算集群,利用云函数提供的极致弹性、按量计费等特性,高效、低成本地进行音视频的录制、转码、混流、剪辑和推流等操作,让企业聚焦于音视频处理逻辑本身,从而不断提升内容质量,优化视听体验。
·云服务触发器
可以通过触发器连接其他的云服务,如对象存储(COS)、日志服务(CLS)等其他服务,当上游的数据发送变化的时候自动触发函数执行计算逻辑,典型的使用场景包括:CDN刷新和预热、中间件消息转存、文件备份等。
·Serverless数据处理
支持定时、消息队列等多种形式触发函数执行输出处理逻辑,进行数据采集、数据清洗、ETL等数据处理操作,处理之后的数据可以直接存储至下游的数据仓库、业务数据库或者BI分析系统等。
2.TEM:微服务Serverless化
腾讯云弹性微服务(Tencent Cloud Elastic Microservice,TEM)是面向微服务应用的Serverless PaaS平台,实现Serverless与微服务的完美结合,应用零改造上云,按量付费,免运维,提供开箱即用的微服务应用托管服务。
弹性微服务拥抱开源,支持Spring Cloud等微服务应用零改造上云,提供应用运行托管、服务注册发现、微服务治理、多维度监控等能力,满足Consul、Eureka等多种注册中心需求。弹性微服务帮助您创建和管理云资源,并提供秒级弹性伸缩,您可按需使用、按量付费,极大降低资源和运维成本,让您充分聚焦企业核心业务逻辑,助力业务成功。
优势亮点
·免运维
·按量付费
·极致弹性
·快速交付
应用场景
·微服务应用托管
弹性微服务通过应用托管、服务注册与发现、服务治理、调用链与多维度监控等功能力,为客户提供开箱即用的微服务解决方案。帮助企业用户快速构建微服务应用,大幅提升运维效率,降低服务治理的复杂度与技术门槛,让企业聚焦核心业务本身,助力客户成功。
·突发、潮汐流量
在业务呈现潮汐特性、突发流量等场景下,容易出现访问响应超时、错误率提升等问题。腾讯云弹性微服务提供秒级弹性伸缩能力,帮助企业客户轻松应对流量高峰。
·快速迭代
腾讯云弹性微服务帮助客户持续集成与交付,实现微服务应用快速迭代。从代码开发到应用交付,弹性微服务提供IDE插件、灰度发布等多发布策略的能力,助力企业客户快速验证业务价值。
3.EKS:原生K8s的Serverless化
弹性容器服务EKS(Elastic Kubernetes Service)是腾讯云容器团队的推出的Serverless化Kubernetes服务,无须用户购买节点,直接部署工作负载。其完全兼容原生Kubernetes,支持使用原生方式购买及管理资源,按照容器真实使用的资源量计费。
无论是自建K8s集群,还是腾讯云TKE托管集群,只要网络互通,即可通过部署EKS虚拟节点的方式,几乎无成本扩展集群资源池。在扩容Pod时可自动或手动快速将Pod调度到「虚拟节点」对应的腾讯云公有云资源上。
自建K8s集群,手动部署EKS虚拟节点:https://github.com/tkestack/charts/tree/main/incubator/tke-resilience
TKE集群,可直接通过产品化能力部署;
优势亮点
·秒级伸缩
相比传统的通过扩缩服务器去调度资源(流程重,耗时久),虚拟节点提供一种直接调度Pod的能力,可以更快、更高效的弹性。
·节省成本
按需使用,减少集群预留buffer,将集群的节点维护在资源利用率更高、使用和预留更合理的水平。
更快、更高效的弹性能力,降低提前预留资源的计费周期。
免去维护服务器的运维成本,
应用场景
·微服务场景
使用弹性容器服务EKS来运行微服务,免除用户对计算节点的运维工作。服务可根据负载情况自动伸缩,使用最合理的资源量来承载应用,降低资源使用成本。
·离线计算场景
使用弹性容器服务EKS运行离线计算任务,只需准备容器镜像,即可快速部署任务负载。另外,弹性容器服务EKS仅收取任务真实运行时间所使用算力的费用,任务结束Pod自动释放即结束计费。
·在线推理场景
弹性容器服务EKS支持使用CPU、GPU以及vGPU来运行在线推理服务,丰富的资源规格和弹性伸缩的负载,使运行服务更高效、更经济。、