写点什么

腾讯云原生战略及 Serverless 平台实践解析

  • 2019-07-11
  • 本文字数:3047 字

    阅读完需:约 10 分钟

腾讯云原生战略及Serverless平台实践解析

在前不久的KubeCon上海站,国内外各大厂商的云原生实践战略进行了程度不一的曝光,本文重点介绍腾讯云原生架构搭建及其内部Serverless实践


在云原生最佳实践中,微服务、容器、Serverless 等均被列入其中,通过应用这些新技术对原有应用程序进行改造,开发者可以最大限度发挥云计算平台在资源灵活性、计算能力等方面的优势。


早在多年前,腾讯内部就在实践“类微服务”理念,那时的微服务还没有形成良好的行业统一标准,容器技术也没有被很好地验证在生产环境中可行,腾讯就曾基于 Linux cgroup 的管理方式降低虚拟化带来的损耗,追求更加极致的性能。如今,腾讯正在逐渐将应用向云平台进行迁移,内部积累了众多云原生最佳实践。本文,InfoQ 有幸采访到了腾讯云副总裁刘颖和腾讯云中间件产品负责人肖雨浓,共同探讨云原生架构及 Serverless 最佳实践。

腾讯云原生战略

云原生可以理解为一种基于云的开发方式,可能是好技术和产品的集合,比如上文提及的容器、Serverless、DevOps,都属于云原生的范畴。在 IaaS 时期,即便每家企业的基础设施建设渐趋成熟,但应用迁移依旧非常痛苦,这是因为不同的 IaaS 层具备不同的标准,甚至不少 API 差异很大,很难找到通用且简便的迁移方式。在云原生时代,基于容器(符合行业规范)的应用程序可以很方便地在不同云平台之间进行迁移,这就是标准化优势的重要体现。


采访中,刘颖表示,腾讯云基于过去几年的技术积累和探索,面向用户推出了基于 Kubernetes 技术和生态的企业级容器平台 TKE(Tecent Kubernetes Engine),支持公有云的同时也可以支持私有云;容器服务网格 TKE Mesh(云原生服务网格管控平台),进一步解决容器化后应用治理和运维层面的问题;下一代无服务器计算平台 Serverless 2.0,解决传统 Serverless 在性能启动等方面的问题,在已有事件触发函数的基础上,根据实际用户使用场景,进一步提供面向 Http 场景的 Http Function 和 Http Service,提供高层次的通用开发框架,不仅更好的支持开发者面向 Web Service 的开发诉求,也可以支持已有业务代码向 Serverless 架构的无缝迁移;涵盖开发到交付一切所需的一站式 DevOps 平台。



容器服务网格 TKE Mesh 架构图


如果需要将一个应用完整迁移至云平台,比如 QQ 空间,上述每项技术都需要实践。正如肖雨浓在采访中所述,这实际上是一套完整的平台,通过在容器之上运用微服务、Serverless、DevOps 等技术提高开发速度并降低运维成本。


过去几年,云主机、容器、Serverless 等计算形态逐一被实践。采访中,刘颖表示,从可控性层面来说,云主机更高,Serverless 更低,但从易用性层面来说,Serverless 最为便捷,其发展速度也非常快,腾讯内部已有部分核心业务在使用 Serverless,比如相册,这说明该技术未来可以承载大流量、高可用的应用场景,腾讯也希望找到更加通用的解决方案。

Serverless 实践解析

Serverless 带来了成本和效率的改变,无服务的产品和生态正走向成熟,并逐步承载起企业核心业务。


作为继虚拟机、容器后的第三代通用计算平台,Serverless 是腾讯云原生的重点发力领域。分享中,肖雨浓表示,当前复杂的企业业务系统之所以还不能完全基于 Serverless 来实现,主要有以下几方面原因:


  • 性能问题。目前无服务尚未完全成熟,在性能方面仍存在诸多问题,如同步业务的冷启动延时、高并发函数实例扩缩容,大规模业务下函数实例的集群管理等;

  • 缺乏成熟的开发者生态。企业和研发采用无服务,需要用监控、Debug 调试、DevOps 等上下游支持;

  • 需要理解和管理底层基础设施。当前 Serverless 架构下,用户依然会感知到无服务器集群和资源的存在。


针对目前行业遇到的问题,腾讯云持续探索研究,并发布了下一代无服务器计算平台:Severless 2.0,Severless 2.0 在已有的事件触发函数的基础之上,根据实际的用户使用场景,进一步提供了面向 HTTP 场景的 HTTP Function 和 HTTP Service,提供了高层次的通用开发框架,不仅更好的支持开发者面向 Web Service 的开发诉求,也可以支持已有业务代码向 Serverless 架构的无缝迁移。


在技术上,腾讯云在控制流和数据流的模块、虚拟化层、网络层、调度层都做了彻底的重构优化,在安全,可用性,性能上也进行了全面升级。



腾讯云函数架构


1、控制流、数据流模块按照职责重新梳理解耦


如上图所示,蓝色的是控制流部分,对函数的生命周期进行管理,API 层提供管理接口,元数据记录数据库后,下发一份到消息系统,通过消息队列解耦后续的管理模块。比如创建函数的场景,网络部署模块接收到消息后,负责打通函数访问 VPC 资源的转发路径。


函数代码管理模块负责进行代码检查,依赖安装,重新打包到代码仓库以便后续下载部署。调度模块可以做一些资源预创建,实例预部署工作,元数据模块负责将管理流的数据同步到数据流的缓存系统,以便后续函数调用时使用。这样,API 不需要关注函数管理的底层细节,控制流和数据流也不会干扰。


2、计算层实现轻量级虚拟化方案


函数实例节点从传统虚拟机切换到轻量级虚拟机系统,提高虚拟机的并发部署规模和速度,同时也实现多租户间的安全隔离。


3、Auto scale 自动扩缩容模块


基于函数请求实时计算的模式,动态的扩缩函数实例,优化函数冷启动的体验问题,以及控制函数计算平台本身的成本


4、VPC 网络转发代理


函数通常需要访问 VPC 网络内的存储资源或者访问公网,涉及到网络路径的打通,目前普遍的方式是通过绑定弹性网卡和部署 NAT 网关达到这个目的,在函数实例部署的过程中耗时占比很大。


综上,在技术层面,腾讯云 Serverless 2.0 通用统一的底层架构,通过采用轻量级虚拟化技术、VPC proxy 转发方案等多种优化手段,以及针对实时自动扩缩容核心的能力优化,彻底规避了传统无服务器架构中饱受诟病的冷启动问题。


除此之外,Severless2.0 还关注开发者从本地开发、代码调试、到业务的持续集成、上线运维等整个软件开发生命周期。围绕 Serverless 平台,腾讯云构建了全面的开发支持、DevOps、运维监控等能力,协助开发者更好地向 Serverless 架构迁移。

应用场景

据了解,截止 2018 年 12 月,腾讯相册累计用户量突破 1 亿,月活 1200 万,成为小程序生态的重量级玩家。但腾讯相册团队初始阶段仅几位前端和后台开发,且后台开发无法百分百能够投入到此项目,人力非常紧缺。此外,原有后台系统有不少历史包袱,在原有架构上做新的社交化功能开发并不现实。


为解决腾讯相册团队遇到的难题,腾讯云推荐了基于 Serverless 的小程序·云开发模式,通过提供较完整的云服务架构,简化小程序开发过程中复杂的后端操作,让开发者无需关心底层服务器资源部署运维,极大节约服务器架构搭建维护成本。基于云开发,腾讯相册团队用不到 2 周时间上线了第一版小程序。



这一套基于 Serverless 的架构具备更优的弹性计算能力,它根据请求自动运行,秒级上传部署,几乎不需要运维,让用户聚焦核心业务逻辑的编写。

结束语

根据调查报告,无服务器架构市场规模在 2018 年达到 42.5 亿美元,预计在 2023 年将达到 149.3 亿美元,复合年增长率将达 29%。成本和效率两大原因促使无服务器架构的市场规模正在快速增长,并将成为下一代云计算服务的主流形态。


采访最后,肖雨浓表示,随着 Serveless 2.0 的发展,无服务不仅可以逐渐承载起企业核心业务,并且能帮助打通监控、Debug 调试、DevOps 等上下游生态,助力互联网和传统企业业务的快速建设与迭代。


相关文章:


《Serverless 最佳实践:如何在两周内开发出用户量过亿的微信小程序》


《KubeCon 盘点:云原生领域最新开源项目和大厂实践》


《阿里巴巴云原生架构实践及热议技术解析》


2019-07-11 08:386999
用户头像
赵钰莹 极客邦科技 总编辑

发布了 893 篇内容, 共 668.5 次阅读, 收获喜欢 2690 次。

关注

评论 1 条评论

发布
用户头像
上篇是阿里云原生实践,这篇是腾讯的云原生实践,重点都不一样。关于腾讯的Serverless最佳实践,推荐阅读:《腾讯云函数计算冷启动优化实践》https://mp.weixin.qq.com/s/PFrltOwRr0kITx90OgUnSg,这篇内容比较干,应该会对大家有所帮助。
2019-07-11 08:59
回复
没有更多了
发现更多内容

告别无效提问!零基础用户必备的DeepSeek高效沟通秘籍

测吧(北京)科技有限公司

测试

iOS APP性能优化

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包公司

或许我们都被分库分表约束了思维

京东科技开发者

【稳定性】稳定性建设之依赖设计

京东科技开发者

CRM管理系统(源码+文档+演示+讲解)

深圳亥时科技

京东工业平台商品列表API接口(京东工业API系列)

tbapi

京东API接口 京东工业平台接口 京东工业数据采集

淘宝商品评论API调用教程:轻松获取用户评价数据(含测试Key)

代码忍者

淘宝API接口

“企业级敏捷教练课程” 4月19-20日 · CSP-SM认证周末班【报名即赠敏捷漂流记】

ShineScrum

Scrum 敏捷 Scrum Master CSM认证

Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版

卷福同学

阿里云 DeepSeek DeepSeek-R1、

快来报名 | KWDB 演示环境限时免费开放

KaiwuDB

数据库

Svelte 最新中文文档教程(15)—— Stores

冴羽

vue.js 前端 React Svelte SvelteKit

挑战数据传输路由规划,与DeepSeek共探大模型算法优化

华为云开发者联盟

人工智能 动态内存 大模型 LLM 路由规划

如何利用MES系统进行产能分析呢?

万界星空科技

制造业 mes 万界星空科技mes 制造业转型 产能分析

2600 万表流计算分析如何做到? 时序数据库 TDengine 助力数百家超市智能化转型

TDengine

数据库 时序数据库

京东零售数据资产能力升级与实践

京东科技开发者

iOS APP上线流程

北京木奇移动技术有限公司

软件外包公司 APP外包 iOS APP

人工智能丨告别无效提问!零基础用户必备的DeepSeek高效沟通秘籍

测试人

远控软件怎么选?几款主流远控盘点对比

编程猫

化妆品行业需要使用堡垒机情形分析以及品牌推荐

行云管家

网络安全 信息安全 IT运维

CRM系统(源码+文档+讲解+演示)

深圳亥时科技

AutoMQ 集成 Prometheus/VictoriaMetrics

AutoMQ

云计算 大数据 云原生 流处理

行云堡垒-助力深圳企业快速过等保

行云管家

等保 深圳 等保测评 过等保

【GreatSQL优化器-15】index merge

GreatSQL

腾讯云原生战略及Serverless平台实践解析_文化 & 方法_赵钰莹_InfoQ精选文章