今年6月,腾讯对外宣布,其内部自研业务已实现全面上云。这一耗时近三年的浩大工程,也是腾讯930变革后,全面发力云计算的一个重要里程碑。
从行业角度,腾讯的自研上云,不仅是腾讯云能力的自证,更是一次业界最大规模的云原生实践,它证明了云计算技术的深度和广度,都已经发展到了一个新的阶段。
汤道生也指出,在云原生时代,不仅要实现“资源云原生”,还要实现“开发云原生”和“应用云原生”。
比如近几年快速成长的腾讯会议,就是一款“生于云、长于云”的云原生产品,无论是在开发还是运营阶段,腾讯会议的每一步都踩在云端,所以它的成功,也让业界对云原生时代有了更多期许。
云原生开发的三个特征
对于云原生时代的开发工作,汤道生总结出了三个显著特征,分别是资源服务化、协同云端化和编程低码化。
在其看来,在云原生时代,把开发者从复杂繁琐的编程、协同管理与服务运维中解放出来,让研发更简单,人人都是开发者的愿景并不遥远。
具体而言,资源服务化是指开发可通过将底层资源封装,以服务的形式提供,开发者无需考虑服务器搭建和运维问题。
汤道生举例称,容器技术可将软件运行环境打包成一个“集装箱”,方便在不同环节进行传递。而Kubernetes将容器的调度和部署标准化,让开发运维人员不再关注资源层面的调度及容灾。
另外还有无服务器架构Serverless,大幅降低了开发者对部署、运维、监控、扩容的投入,让开发者能够更专注于业务逻辑与产品功能。
而协同云端化,是指从开发环境到测试、运维、部署都在云上,开发者可以随时随地协同。
这个相对更好理解,云原生开发可以让开发者不再依赖本地物理环境,通过云端的协同,打破不同环节的孤岛和协作壁垒。
最后是编程低码化,这意味着可以将开发者从繁琐的底层编码工作中解放出来,通过在特定场景中把业务功能模块化,用少量代码或可视化工具,就能把功能模块快速组合起来,高效地实现复杂的业务逻辑。
汤道生说,面向未来的云原生开发,是从开发理念到开发工具,从研发流程到组织架构的全面演进和改变,也是每一位开发者都应该持续学习、积极拥抱新的开发范式。
腾讯云开发迈向2.0
对于云原生开发,腾讯在2018年有过一次重要尝试。当时,腾讯云联合微信推出了“小程序·云开发”产品,其核心目的是让小程序开发者无需考虑服务器运维等后端问题。
腾讯云最新披露的数据显示,截至目前,云开发产品已经服务超过300万开发者、日均调用次数超30亿次,近七成的新增小程序选择使用云开发。
11月13日,腾讯云云开发总经理宁鹏伟透露,接下来云开发将推出2.0版本,涵盖后台即服务、托管能力、统一身份认证、数据连接器、无头开发套件等能力。
微信开发生态产品负责人黄映焜告诉21世纪经济报道,最初的云开发产品,确实是围绕小程序来做的,不过后来,云开发从单点逐步向外拓展,变成了一个更全面的产品。
“去年的时候,云开发就已经不局限于小程序,在公众号、H5和PC系统都可以用云开发”,黄映焜表示,“到了今年,云开发则进一步拓展到前后端服务都支持”。
据宁鹏伟介绍,在云开发2.0版本中,开发者可以把云开发环境连接到自己的私有 IaaS 资源,如MongoDB、对象存储桶、Serverless函数等。这样不仅可以使用到云开发的PaaS服务,同时还可以复用已有的 IaaS 资源,减少资源浪费。
此外,云开发未来还将提供大多数应用开发所需要的通用能力,例如 CMS、表单、博客、电商、客服消息等。届时,开发者仅需要开通相应的套件,就可以快速将这些能力植入到自己的应用内。
宁鹏伟告诉记者,过去开发工作的发展,经历了类似交通方式的演进。“物理机相当于马车,资源云是手动挡,而云开发是自动挡,接下来还会有智能汽车。现在,我们已经度过手动挡时代,进入了自动挡时代”。