技术培训 | 资源编排,人人都可以成为架构师



  • 主题:青云 QingCloud 资源编排服务

    时间:5 月 25 日 20:00 —— 21:30

    地点:QingCloud 技术分享群

    讲师:

    讲师介绍

    梁波(Ethan Liang),青云QingCloud Web 工程师,参与开发对象存储、资源编排、应用中心等功能。曾就职于腾讯、百度等互联网公司,有7年web前后端开发经验,对web服务架构、前端架构和产品体验有较丰富的经验。

    本期内容介绍:

    编排之美——人人都可以成为架构师

    资源编排功能用于生成一组彼此关联,即有拓扑关系的 QingCloud IaaS/PaaS 资源组合的模板。在控制台中,用户可以从无到有构建模板;也可以从系统推荐的常见模板入手创建,或基于已经创建的模板继续完善;还可以将已经存在的资源抽取出一套拓扑关系成为模板。模板的创建采用可视化的交互,用户可以选择左侧导航的资源图标,拖拽到中央绘图区域,并在右侧配置区修改资源的配置,所见即所得地绘制模板。

    提问福利:

    在本主题下方或微信群中提出问题并被采纳的同学将有机会获得如下图书,数量有限,赶快来提问吧~

    感谢 @博文视点 提供的:

    《软件架构设计》《微服务架构与实践》

    博文视点(www.broadview.com.cn)主要围绕移动互联网开发类图书(游戏与应用)、前端技术、大数据、云计算、职场类(职业技能、职业素养)和互联网金融类图书,提供一个以服务作者、读者及其交流为主的互动平台,并提供电子书阅读、购买,在线写作、图书出版、实体书资源下载等服务,努力打造IT行业的标准化图书服务平台。

    往期技术分享:

    报名方式:

    报名请扫描小编二维码,发送暗号: 听课 ,小编将会拉你进群:



  • 如何利用资源编排来优化现有的网络架构,让整个架构更加高性能,高可用,适当的冗余。



  • 资源编排服务相对于之前提供的服务,其主要优势是什么?如何快速掌握资源编排服务?



  • 技术架构一般由顶层的业务规划推动,青云是否能分行业提供一些成功的资源编排案例或者架构,并做相应的评估说明,尤其是传统行业架构的互联网进化,或者如果方便趁此次培训说一些传统架构的互联网进化经历,通过资源编排如何快速实现?



  • 资源编排对用户部署有什么限制 例如最大资源数,堆栈数等。资源编排是否能在混合云下进行资源架构部署



  • 资源编排服务是否可以与弹性计算服务 结合使用呢?


  • 青云

    @开心绿茶 你好,资源编排功能主要作用是用配置方式驱动一个包含拓扑、配置的资源组合的生成,以及后续的管理。整体系统架构的高性能与服务的单机服务能力、集群数量有关;高可用是架构上的冗余和容错处理做到的,与资源编排功能并没有直接的关系。但在模板的构建时,可以考虑业务每个环节所需要的资源配置和横向扩展能力,每个资源的单点问题。资源(如主机集群、RDB集群)如果具备横向扩展能力,性能上就有了扩展能力,单机的服务能力还需要在业务逻辑的各环节优化。至于高可用,架构层面也是可以通过集群本身的高可用(如RDB的Proxy, vip方式、主机的负载均衡后端配置),资源层面由IaaS的高可用来保证。


  • 青云

    @学员0318 你好,资源编排的长处在于整体资源的快速和批量构建。不用资源编排也是可以完成整个服务的资源创建、配置和组合,资源编排可以加速这个过程。你可以参考文档来使用资源编排服务,可以先试试简单的模板创建和应用。API的文档我们很快会开放,届时可以根据配置参数来从代码上驱动资源的生成。


  • 青云

    @枫 你好,我们之前的培训有关于一些架构进化的经历,架构的设计之初要具备一些扩展能力,每个模块,例如web服务集群、mysql集群、缓存集群等。资源编排可以让你一次性的对这样的组合得以实现,但架构师的作用并没有替代,还是需要先有这样的规划,才能做好架构的进化。相关的培训资料在这里:https://community.qingcloud.com/topic/8/一个社交app是如何构建高伸缩性的后端系统。



  • 问题整理


    1、如何利用资源编排来优化现有的网络架构,让整个架构更加高性能,高可用,适当的冗余。

    2、资源编排服务相对于之前提供的服务,其主要优势是什么?如何快速掌握资源编排服务?

    3、技术架构一般由顶层的业务规划推动,青云是否能分行业提供一些成功的资源编排案例或者架构,并做相应的评估说明,尤其是传统行业架构的互联网进化,或者如果方便趁此次培训说一些传统架构的互联网进化经历,通过资源编排如何快速实现?

    4、资源编排对用户部署有什么限制?例如最大资源数、堆栈数等。资源编排是否能在混合云下进行资源架构部署?

    5、资源编排服务是否可以与弹性计算服务结合使用呢?

    6、正在听资源编排, 青云资源编排与 AWS formation,或lambda有什么区别吗? 青云目前提供了异地可用区么?

    7、如果在异地,比如一个系统,一部分系统在成都,一部分系统在北京,通过资源编排能否实现?

    8、两套系统系统之间的业务不同,可以通过资源编排服务实现跨区复制么?

    9、如果在同一个数据中心,这两个机会可能业务系统用到一个网站或者多个网站,如何实现这种情况下的资源编排?



  • 直播内容如下:


    今天和大家分享的话题是如何利用青云资源编排服务快速创建批量资源组合、规划和构建系统,同时谈谈资源编排如何帮助我们复制一整套IT环境,以及如何实现跨区做相同架构资源的拷贝。

    资源编排到底是什么呢?

    大家知道云服务本质上是做 IT 架构软件化和 IT 平台智能化的工作。

    传统方式我们构建一个系统,不管是做医疗、教育还是金融、媒体等等,最上层需要部署自身的业务代码;

    中间层是业务依赖的专业软件、平台中间件、服务组件等;

    下层是部署的硬件系统,包括计算节点、存储资源、网络,然后安装操作系统等等。

    中下两层是运维层面的内容,用传统的IT 架构方式,企业可能需要很多工程师,包括在现场做苦活、累活、脏活的现场运维、开发工程师。

    因为有些操作需要去啃硬件的使用手册、了解主板芯片接口、路由器指令等等。

    云服务提供的智能化是把每一层都用软件的方式实现,以标准化接口的方式提供,这样很多苦活、累活都不用做了。

    软件的灵活调度特性能够在 IaaS 层解决硬件的容错问题, PaaS 层的标准组件能够省却 DevOps 搭建中间件需要考虑和维护的集群化、动态控制节点规模、备份、容灾等问题。

    很多人都已经在使用云计算服务了,还有很多人没有选择上云。

    他们的区别在于你是否相信,云服务提供的 IaaS/PaaS 服务能够满足企业的要求,它是否具有稳定性、安全性、弹性以及足够的性能等等。

    下面我们来说资源编排。

    资源编排在哪一层呢?我们一般说的编排,包括资源编排、服务编排,后者是业务层面、应用层面的编排,以前者为基础。

    资源编排是在 IaaS 层之上的构建层,称为 Resource Orchestration。它是在 IaaS 平台之上构建系统,并且对这个系统进行生命周期管理。

    资源编排需要具备抽象建模能力:每类云资源有不同的设备,如主机、路由器、负载均衡器、大数据等组件,你需要对它进行抽象建模——需要哪些资源,并且资源之间的拓扑关系是怎样的;

    然后你能够对它的生命周期进行管理,如何从无到有进行创建,之后资源之间要能够更新、增加、减少,如何操作。

    具体来说资源编排具备的能力有几点:

    一是能否对现有资源做抽象、能够按照我们定义好的模板规范建模;

    二是基于模板把资源实例化出来,成为一整套具有独立性的资源,并能对资源的属性、原数据进行增删、查改、回收等操作。

    资源编排能做什么?

    概念是抽象的,我们看看具体能做什么事情。

    青云QingCloud 的云服务是想构建一个生态圈的概念,我们底层有 IaaS 、 Technical PaaS 。

    线下交流时有人问,能否在青云平台上面提供 Hadoop 服务让他们的用户去使用?当然可以,你可以利用现有的 IaaS 和 PaaS 的 API 接口来做。

    要完成这个任务,通过传统方式来做,需要对整个 Hadoop 集群所依赖的资源,比如路由器、私有网络、主机、镜像、硬盘、公网 IP 等等,有一个拓扑概念和配置规划,然后决定先后顺序,调用 API 来完成这个搭建任务。

    使用资源编排来做的话,只需给这个任务的配置做一个描述、生成模板,即可一次性地创建出来。

    这对我们合作伙伴或是在这青云QingCloud 上提供服务的独立开发者来说是非常方便的。

    只要将提供服务所需要的资源组合配置为模板,调用一次 API 即可生成资源。

    如果不是作为应用提供者,我们列举一些使用场景。

    第一种场景是利用云平台做资源申请审批管理。

    我们有些传统客户,他的主账号是作为资源审批者,是管理部门;子账号作为资源申请和使用者,是业务部门。

    每次需要资源时,业务部门要先向管理部门申请。申请的时候以业务为单位,按业务类型和规模来申请。

    比如要做内部开发系统、WEB 系统等等。每种业务系统其实是有类似的资源配置和组合的,只是规模大小有所不同。

    这种场景,管理者可以先预定几套资源编排配置模板,或者写一个实时生成业务模板的逻辑,接收规模、配置等作为参数。这样不论是需要主机、数据库、 Hadoop,需要资源组网、VPN 登录,这些分散的资源可以组合整理出来,一次性生成。

    第二种场景是多套环境的复制。

    比如说开发初期只有一个小的开发环境,上线后要做测试、部署 Staging 环境以及线上环境。

    每套环境对小规模系统来说,重建一套比较简单。如果资源很多规模很大的话怎么办?运维工程师要做很复杂的工作,会很累。

    资源编排有抽象能力的话,可以把现有的资源、拓扑关系和背景全部抽取出来,利用这套模板快速生成资源,原本需要大半天的时间,现在只需要十几分钟就可以搞定了。

    第三种场景,没有在云上使用任何资源,但你想规划现在的 IT 系统。

    这种场景通常知道大概要上线的服务需要多少台主机资源、数据库资源,但并不知道他们之间应该如何通过网络连接、如何挂载附加资源,不知道它的价格是多少,不知道横向扩展时如何核算成本。

    你可以使用资源编排功能,先架构系统,看看它能否满足你的要求,包括物理性能和配置,再看看价格预算是否在你接受的范围内。

    第四种场景,跨区的备份和部署。

    如果大家在使用我们资源的时候可能会碰到一种情况:我们有不同区域的机房,实体资源都在具体机房里。

    如果在广东 1 区有了一套系统,想要在两地部署,北京 2 区复制一份这样的结构,相同资源组合必须在北京 2 区生成并连接、组合起来。

    利用资源编排的话,广东 1 区的资源可以提取成全局唯一的抽象模板,然后我们在新区域应用这个模板即可。

    尝试过资源编排的同学,可能觉得它就只是资源配置,其实里面的事情还是挺复杂的。资源之间的关系、约束能否真正实例化、能否管理,这有很多工作。

    首先我们会有抽象化的过程:有哪些资源,他们的关系如何,如何定义他们的约束;其次把它具体化形成一个个实体,包括路由器、数据库、缓存等等,把这些实体所具备的配置、关联,比如硬盘、网络等等,作为它的属性建模;最后把拓扑结构实例化出来,真正形成资源。

    开放的 API

    我们每次发布服务都会提供相应的 API,把 API 直接暴露出来提供给用户。

    因为在云上使用服务的用户,有的偏技术一些,利用云平台要做很多事情,包括我们的合作伙伴在上面构建系统,需要用 API 做编程,用软件形成快速部署;

    另一种是终端用户,通过控制台,更喜欢用图形化的操作方式。

    资源编排 API 主要分为三类,一是 TopologyTemplate 相关 API,完成拓扑模板的维护,即增删查改,还有配置、定义等等;

    二是 Topology 实例化,把资源真正的批量创建出来;

    三是检查配置是否合法,能否满足配额,能否建立起资源。

    资源编排怎么用呢?

    说了这么多,资源编排怎么用呢?在控制台上,资源编排可以使用图形化的操作来创建模板。
    我们在建立模板时提供了 4 种方法:以系统推荐模板作为样本创建、从当前的资源抽取拓扑结构创建、从无到有手动创建,以及将已经创建的模板作为样本创建。

    如果您对青云平台还不太熟悉,或者对业务的资源需求不太了解,可以先从系统推荐的模板开始创建。

    这里系统推荐了几种常见业务所需要的青云平台资源配置以及资源间的关系。

    比如简单的 Linux 主机集群、公网负载均衡器的入口集群、数据库和缓存的集群、大数据集群等等。

    点击不同的模板,可以预览它的拓扑关系,并查看每一种资源的基本配置,还可以查看到这个组合的资源价格。这里的推荐模板是我们初始提供的,根据用户的反馈和实际使用情况,我们会给出更多常见和入门的配置。

    如果希望抽取当前的资源的属性作为配置,并进一步复制出资源,可以从当前资源抽取模板。

    抽取的对象是用户名下的实体资源,如主机、路由器 / VPC、负载均衡器、共享存储、数据库和大数据平台等。

    硬盘、公网 IP、防火墙这些附属资源不能单独选择,而是作为实体资源的关联资源提取出来。

    提取之后,可以继续对该模板进行编辑,不影响被提取的资源。

    资源编排的模板是跨区域共享的,用户可以从某个区域的资源抽取一份模板,并将其在其他区域应用生成编排,就实现了跨区域复制资源结构。

    若模板依赖的资源,例如自有映像在新区域不存在,可以先迁移映像。

    在熟悉资源编排功能之后,手动创建模板是最常用的创建方式。

    在这里可以根据构想的资源组合,从无到有生成资源以及资源之间的关系。

    资源的组合遵循实际依赖关系,如私有网络必须挂载在路由器 / VPC 内,硬盘必须挂载在主机或 Virtual SAN / VNAS 下,公网 IP 只能绑定到主机、路由器 / VPC 或负载均衡器等。

    对创建好的模板可以修改基本属性,以及删除操作。还可以基于该模板继续创建新模板。

    在模板列表右键,或详情页左侧信息区右上角操作列表,可以找到该按钮。点击该按钮,会进入模板编辑页面,并将模板的配置导入当前编辑的模板中。

    模板编辑界面分为3个区域:选择区、绘图区、配置区,分别提供了资源选取、拓扑编辑、配置编辑的功能。

    • 资源支持几乎所有的 IaaS/PaaS 资源和组件,用拖动的方式可以拖拽到绘图区。

    • 绘图区现实当前模板的拓扑结构,可以添加、删除、复制资源、缩放拖拽绘布、刷新、清空、查看价格等;

    • 配置区可以看到选中资源的配置,并对它进行修改。模板资源之间的关系如端口转发、负载均衡器后端等,通过提取配置,可以直接显示在图中。

    创建好的模板,在编排模板列表中可以看到。

    可以查看模板的结构,基于模板新建,或者应用模板生成具有相同配置的一整套资源。

    应用模板之后,系统开始按依赖关系创建资源。创建的过程,可以控制台右上角的实时任务中看到。

    如果资源较多,或者有层次和依赖关系,可能需要数分钟或更多的时间,请耐心等待。

    创建资源时如果配额不足、余额不足或其他原因导致的失败,整个创建过程回滚,阶段性创建的资源也会回收。

    以上是我们对资源编排的定义、作用、接口和控制台功能做的介绍。

    开始提到的服务编排的功能,后续我们会基于资源编排去提供。

    另外,编排出的资源,对于用户可以是一个业务视图,这些视图会提供新的展示方式和更丰富的图形化交互,以便不同的用户方便管理自己的资源和业务。


登录后回复
 

与 青云QingCloud 社区 的连接断开,我们正在尝试重连,请耐心等待