无服务器架构(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 来运行在线推理服务,丰富的资源规格和弹性伸缩的负载,使运行服务更高效、更经济。
One More Thing
立即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 ? 腾讯云 Serverless 新手体验
欢迎访问:Serverless 中文网!
{{m.name}}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/80389.html