QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

腾讯云

  • 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:55866

评论

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

厉害了!阿里内部都用的Spring+MyBatis源码手册,实战理论两不误

小Q

Java spring 学习 面试 mybatis

区块链数字货币商城系统开发模式

薇電13242772558

区块链 数字货币

.net core增强工作流组件,基于稳定平台,多项目整合开发

雯雯写代码

程序员如何判断跳槽岗位是否有坑!

Java架构师迁哥

这份算法攻略,我拿到了5个大厂的offer

yes

面试 算法 笔试

为什么容器内存占用居高不下,频频 OOM

996小迁

Java 架构 容器 面试 k8s

程序员双十一剁手指南

数据君

腾讯云 程序员

响应式关系数据库处理R2DBC

程序那些事

MySQL R2DBC 程序那些事 响应式系统 响应式数据库

支撑2715​亿元海量订单 揭秘京东大促背后的数据库基石

京东科技开发者

数据库 数据仓库 云服务 云数据库

6个JDK自带JVM调优工具,一次性打包给你说清楚

田维常

jvm调优

影视剪辑类自媒体运营心得:如何抓住观众的痛点

石头IT视角

超越竞争文化:致善式创新能否打造手机产业的“海法城”

脑极体

读完某C++神作,我只记住了100句话

MySQL从删库到跑路

c++

Java中的线程与C++中的区别

jiangling500

Java c++ 线程

Java中NullPointerException的完美解决方案

Silently9527

java8 Optional

SpringBoot-技术专题-Hystrix学习介绍

码界西柚

解读登录双因子认证(MFA)特性背后的TOTP原理

华为云开发者联盟

算法 totp 密钥

花四个月和阿里面试官“大战”7回合,成功将其“斩于马下”!复盘面试题及答案!

Java架构追梦

Java 阿里巴巴 面试 java架构

Vokenization:一种比GPT-3更有常识的视觉语言模型

脑极体

【JVM】肝了一周,吐血整理出这份超硬核的JVM笔记(升级版)!!

冰河

性能优化 内存模型 JVM 堆栈 JVM笔记

容器和虚拟机到底有啥区别?

网管

容器 虚拟机

有点意思的gif动图生成平台开发实战(二)

徐小夕

Java Vue 大前端 GIF React

甲方日常 52

句子

工作 随笔杂谈 日常

《程序员面试金典》.pdf

田维常

面试

基于Vue实现一个有点意思的拼拼乐小游戏

徐小夕

Java GitHub 开源 H5游戏 H5

2020年底备战—从技术到面试合集

iOSer

ios 编程 面试

SQL数据库集合运算

正向成长

SQL表联结 SQL集合运算

2020双十一,阿里云GRTN拉开直播和RTC技术下半场的序幕

阿里云CloudImagine

架构 云直播 直播 流媒体 直播架构

直播卖货已成趋势

anyRTC开发者

音视频 WebRTC RTC

什么是服务器租用?

德胜网络-阳

微服务架构中的“参天大树”:SpringBoot+SpringCloud+Docker

小Q

Java 学习 容器 面试 微服务

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