写点什么

董娜利:云托管 新一代云开发模式

腾讯云

  • 2020-11-30
  • 本文字数:3038 字

    阅读完需:约 10 分钟

董娜利:云托管 新一代云开发模式

2020 年 11 月 29 日,腾讯 2020「小程序·云开发」技术峰会在北京顺利召开。本次峰会以“重新定义开发”为主题,深度聚焦小程序云开发的创新成果与实践案例。以下为微信小程序开发生态产品经理董娜利的演讲实录:


董娜利:大家好,我是腾讯微信云开发生态的产品经理董娜利,今天很荣幸跟大家在这里去分享云开发的相关能力。我今天分享的主题是:云托管-新一代云开发模式。看到新一代这个词,大家可能会觉得这个东西,有点东西!


我本次分享会主要分为三个部分:第一个部分,重点介绍云托管是什么、能做什么、它的特性是什么;第二个部分,会介绍在传统模式的基础上,我们如何去使用云托管;第三个部分,我会主要讲一下我们云托管后续的能力升级规划。


我们先一起看下目前传统模式下业务后台资源管理的情况,我们平常的业务分为闲时和忙时的,忙时的资源利用率比较高,闲时资源利用率低,就导致我们资源成本的浪费。关于资源维护,资源维护人力成本非常高,比如说扩容,如果传统模式下,我们扩容是需要提前预购买,走很多流程。如果我们传统模式下想要学习其他的一些开发模式或者业务框架的话,我们的学习成本是比较高的,而且我们的改造成本也不低。


针对这些现状,小程序云开发推出了什么?


我们推出了云函数,云函数针对这些问题,比如说弹性扩缩容可以完美解决资源浪费问题,购买了配额方案或按量付费后几乎无需任何运维成本,而且简单易上手,学习成本极低。


但是在我们由传统模式转换到云函数模式的过程中,可能会发现一些小问题,比如说改造成本,而且在一定程度上会受到语言及框架的限制,同时云函数目前还暂不支持服务常驻。


我们又该怎么解决小的限制呢?


经过对这些问题的深度剖析以及三个月的努力,小程序云开发推出了新一代云开发模式-云托管,它既可以完美的兼容云函数的优势,又可以解决云函数目前的限制。


云托管是云原生应用引擎,面向应用的 PaaS 托管平台,你可以做到我们业务的平滑迁移,无需任何运维,也不会有语言及框架的限制,你只需要有一套代码,后面放心的交给我们云托管就可以了。


下面来看下一下我们云托管的产品架构。我们云托管在 K8S 的基础上提供了云调用、弹性扩缩、日志监控告警、流量灰度等能力,内置 Jenkins、docker 镜像构建等 CICD 工具,支持现在市场上可以看到的所有语言的应用。


云托管具有以下这些产品特性,比如说自动弹性扩容,只需要你们自定义的设置一些扩缩容的条件,云托管即可定性扩缩容;而且我们天然拥有微信生态优势——免鉴权,而且安全高性能。关于精益成本,今天上午陈宇明老师已经形象生动的说明了我们成本的节约,相对于服务器模式,我们的成本预计能节约 30%左右;而且我们不限制语言、框架,不需要重构业务即可低门槛上云原生;我们同时还提供了云托管的云调用能力,继续可以使用云函数


原有方式调用 OpenAPI,业务可以做到平滑迁移。


再来看下云托管的技术特点。我们现在支持到 0.25core 规格的超细粒度资源管控;并且在突发业务的情况下,我们可以达到 20s 快速扩容,并且支持实例副本数缩容到 0,也就是说如果你的业务没有流量的时候,无需支付任何费用,可以做到 0 成本。


代码一键部署,这一块显而易见,开发只需准备业务代码,云托管自动构建部署,帮你服务运营到云托管上,就可以实现服务的自动运行。


云调用,很多服务商或者是我们的用户都有反馈说,云托管支不支持云调用,因为现在我们微信提供很多 OpenAPI,云托管到底支不支持呢?其实我们现在已经做了很大一个优化,相对于函数来说,我们做了更灵活的变动。比如说我们的 OpenAPI 已经完全可以支撑所有云函数调用的 OpenAPI,就是有 100 多个 OpenAPI 全量支持的一个形式,比如说我们可以做到免 access-token 的程度,链路安全高效。我们还兼容了云函数现在 OpenAPI 的调用方式,让开发者以最小的工作量将原来的服务迁移到我们云托管服务中。


接下来我们来看个对比,我们的云托管与服务器、K8S 与云函数的对比项,列出来的这些只是我个人觉得比较明显的点,还有很多其他的点。通过从这些对比项可以看出来,云托管可以很有实力的成为我们新一代的云开发模式。


介绍了那么多云托管的特性,云托管特别适合在哪些场景下使用呢?我们来看一下。


这里我罗列了三个,这三个是有很明显的场景化的一些业务。


第一个,就是面向服务托管后台业务,他们使用传统技术栈的后台服务想要不改动现有业务技术架构,并且想快速迁移存量业务,可以完全使用云托管,同时云托管还支持微服务间东西向通信和服务常驻。


第二个,流量不稳定触发型业务,云托管可按实时流量自动扩缩容,按实际用量计费,大大降低成本;云托管配合云开发其他能力可以同时降低数据库、存储的使用成本。第三个,如果你的业务对安全性要求比较高的话,我们云托管还是可以支持业务部署在用户的私有集群上,而且还可以提供混合部署的方案,当然还有其他很多业务场景,我在这里就不一一赘述了。比如说像云函数这种,云函数基本上可以做到无缝连接过程,就是你之前使用云函数,如果现在使用云托管的话,根本不需要运维成本或者改造成本的。


对于以上这些场景,这边选取了第一个场景详细讲解下如何接入云托管。


我们先来看一下传统模式的产品架构。小程序和公众号通过公网访问到服务器上的服务,扩容的时候需要人工介入扩容服务器,其他日志监控告警,LB 等服务都需要自建或者是第三方提供。


我们就会发现存在这些问题,小程序或公众号如果走公网访问后台的公网接口,是很容易被扫描、被攻击,而且安全性比较低。同时还会受到公网的波动影响,你的稳定性可能也不是特别高。由于需要自建服务或者第三方提供服务就会涉及内外部多方协作,有协作就会产生额外的成本,研发效能会随之下降很多。


显而易见,另外一个问题是服务部署流程长,我们需要模块注册、上线扩容等都需要经过冗长的步骤,还要走审批、流程,同时还需要人工介入的情况。


针对这些问题,如果你接入云托管,我们来看一下接入云托管之后的情况。小程序或公众号通过微信私有协议内网专线访问部署在云托管上的服务,无需开辟公网入口,微信保障链路安全,而且云托管天然提供很多业务所需的能力。比如说我们刚刚说的负载均衡、日志服务、监控告警、自动弹性扩缩容等等其他的一些能力,而且它还可以联动云开发的其他资源能力。


说了那么多,接入我们云托管需要多少改造成本呢?可以看到,前端,我们只需要改造一行代码就可以了,将原接口 wx.request 改为新接口 wx.cloud.callcontainer 就可以了,后端只需要增加一个 dockerfile 文件,dockerfile 文件的编写,我们在开放文档上有详细示例,大家也不需要担心学习成本。


我下面介绍一下使用云托管在控制台中的开通部署非常简单,进入云控制台,选择云托管,点击开通即可使用。


部署这里只需要准备一套代码,把你的代码通过某种方式上传,可以本地打包,或者代码仓库线上拉取,点击确定,一键部署到云托管上面。这是我们各个版本的运行情况,可以清楚地看到我们现在装载的情况、流量的比例、实例的数量、监控服务详情里面还有更多服务,比如说实例管理、日志服务、构建日志和版本的配置等等。


配置版本的时候,我们可以看到上一页有高级配置,高级配置里面有很多自定义的一些个性化的能力,可以满足业务更多个性化的需求。


最后讲一下云托管后续能力的规划升级。


后续我们云托管打算建设更多的基础能力,如 VPC、Redis 等,同时还会结合云开发能力构建云开发生态,助力企业和开发者降本提效,全方位为业务运行保驾护航。


目前我们云托管已发布到 RC 版,大家会后可以下载使用,有任何疑问欢迎到我们开放社区提问,我们会及时回复大家,谢谢。

2020-11-30 16:55775

评论

发布
暂无评论
发现更多内容

软件测试(功能、接口、性能、自动化)详解

测试人生路

软件测试

测开之函数进阶· 第2篇《纯函数》

清菡软件测试

测试开发

阿里架构师478页Java工程师面试知识解析笔记pdf,一份2021年通往阿里的面试指南

Java架构之路

Java 程序员 架构 面试 编程语言

LeetCode题解:55. 跳跃游戏,贪心,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

大众汽车“芯片荒”,折射汽车芯片的漫漫“自主替代”路

脑极体

TypeScript | 第二章:类、接口和之间的关系

梁龙先森

typescript 大前端 七日更

被阿里、腾讯、华为追捧为最牛逼的 Java 框架你知道是什么吗?

Java架构师迁哥

App性能测试揭秘(Android篇)

移动研发平台EMAS

阿里云 软件测试 测试 性能测试 云性能测试

【Java入门】流

Albert

Java 七日更

OPPO小布助手正在改变普罗米修斯的世界

脑极体

基于App SDK和API搭建无人自习室等无人场景

IoT云工坊

物联网 智慧琴房 24小时无人自习室 24小时自助游戏厅 共享办公室

5. 穿过拥挤的人潮,Spring已为你制作好高级赛道

YourBatman

Spring Framework 类型转换 Converter

阿里技术官亲荐“998页的应届生面试手册”看完才发现,原来求职也没那么难!

比伯

Java 程序员 面试 编程语言 计算机

物联网打工人必备:LiteOS Studio图形化调测能力

华为云开发者联盟

互联网 LiteOS 打工人

架构师训练营W10作业

Geek_f06ede

阿里开发10年,全部心血汇聚成到这份文档里,拿到30W的offer没问题

Java架构之路

Java 程序员 架构 面试 编程语言

量化交易系统开发搭建案例

薇電13242772558

区块链 策略模式

volatile,synchronized可见性,有序性,原子性代码证明(基础硬核)

叫练

volatile 多线程 synchronized 原子性 指令

anyRTC加持AI,打造下一代实时音视频引擎

anyRTC开发者

人工智能 android 音视频 WebRTC RTC

KKR四币连发挖矿系统软件APP开发

系统开发

GitHub上3天1W赞的程序员学习路线!入门进阶都非常实用

Java架构之路

Java 程序员 架构 面试 编程语言

干货时间:聊聊DevOps下的技术系列之契约测试

华为云开发者联盟

DevOps 测试 交互

一文带你了解传统手工特征的骨龄评估方法的发展历史

华为云开发者联盟

方法 骨龄 评估

大作业1

龙卷风

架构师一期

倍频程与钢琴调式的距离

阿里云视频云

音频技术 音频

云服务的可服务性经典6问

华为云开发者联盟

服务 计算

等不到明年金三银四了!五面滴滴之路,爆砍37K+16薪Offer

Java架构追梦

Java 学习 架构 面试 滴滴

源码解析Synchronized同步方法的八种使用场景,收藏

996小迁

Java 源码 架构 面试 synchronized

PostgreSQL:您可能需要增加MAX_LOCKS_PER_TRANSACTION

PostgreSQLChina

数据库 postgresql 开源

学透这份300页的2020最新java面试题及答案,一线大厂offer随便拿

Java架构之路

Java 程序员 架构 面试 编程语言

由于不知线程池的bug,某Java程序员叕被祭天

Java架构师迁哥

董娜利:云托管 新一代云开发模式_语言 & 开发_InfoQ精选文章