电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

产品知识库-ROS-以更优雅的方式实现弹性架构

4页
  • 卖家[上传人]:人***
  • 文档编号:470598988
  • 上传时间:2023-01-11
  • 文档格式:DOCX
  • 文档大小:68.90KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、ROS以更优雅的方式实现弹性架构为什么弹性架构是重要的谈到IT系统架构,我们经常会用建筑架构来做类比,事实上,Architecture这个词也正是来自于传统的建筑行业。系统架构图就像建筑设计图一样,用来指导软件构建。同时,两者之间也存在一个巨大的不同,建筑物追求的是屹立千百年不变,而IT系统追求的是灵活性,以便随时应对真实世界的业务变化。从这个角度来看,IT系统更像一个有机的生命体,需要不停的改变自己去适应外界变化,才能让自身更有生命力。系统压力是一个重要的变化维度,是否能够随着系统压力的增减而动态的调整系统的某一部分体现了架构是否具有足够的弹性。水平扩展能力,是互联网架构重要的弹性表现。当系统面对增加的用户和访问量时,是否能够快速进行水平扩展,往往决定了互联网应用的生死。另一方面,当访问量回落后,是否能够释放掉资源以节约成本会变成核心竞争力之一。根据扩展的粒度不同,这种扩展可能是机器或组件粒度的,比如增加或减少云服务器的数量,也可能是整体架构粒度的,比如在线游戏开新服,就需要复制整个系统。实现弹性架构有很多方法,重要的问题是,如何更优雅的让系统具备弹性?让IT系统应对变化时能够快速、

      2、可靠和自动化?实现弹性架构的基本原则数据化运维让系统具备弹性的目的是为了应对业务变化,而感知变化是首要的事情。这就需要系统能够具备数据化的运维能力,从收集系统运行数据,到最终根据数据做出是否需要触发弹性变化的判断。按需获取资源系统的弹性变化最终会落到对资源的调整上,可能是流量增加时增加云服务器,流量减少时减少云服务器。这就需要系统能够随时根据需要获取和释放计算资源。可复制和可维护系统的弹性变化是随时都有可能发生的,所以弹出来的部分一定是被内置到系统内部的,是可以无限次被执行的。同时,又能够很好的被开发人员维护,以代码的形式成为系统的一部分,可以被修改、测试、追踪版本等。自动化自动化是减少系统错误的重要手段,所以以上原则都需要能够自动化执行。在阿里云上实现弹性架构的实践基于阿里云提供的运维管理服务,我们可以很容易的实现弹性架构。其中最重要的两个服务是云监控和资源编排。云监控(CloudMonitor)可用于收集阿里云资源的监控指标,探测服务可用性,并针对指标设置报警。通过OpenAPI,可以实时获取系统的运行状况,用来作为弹性变化的触发依据。资源编排服务(ROS),提供了通过模板管理云资

      3、源的能力,用户可以在JSON格式的模板文件中,描述系统的资源和配置,ROS会根据用户的模板,创建和释放资源,并对资源、软件做指定的配置。模板是一种描述性的文本文件,可以像代码一样被编辑、测试和版本控制。通过模板,我们可以把弹性变化的部分进行完整的定义,并且可以被无限次的重复执行。同时,ROS是一种无需人工值守的完全自动化服务。通过ROS提供的OpenAPI和CLI工具,结合云监控的数据,可以把弹性变化整合成自动的机制,让系统拥有完全的弹性能力。下面用一个例子来介绍如何基于阿里云提供的服务来构建弹性架构。架构如下图:这是一个非常典型的基于阿里云的Web系统。系统通过ECS提供Web服务,通过RDS来做数据持久化存储,通过SLB来做访问负载均衡。我们要解决的问题是,如何才能让系统具有弹性,以应对可能出现的访问量暴增。一个直观可行的思路就是,直接增加ECS服务器的数量。但是这涉及到一些复杂而琐碎的事情。比如创建ECS实例、初始化系统、安装软件、把ECS实例挂在到SLB,当流量回落以后把增加的ECS从SLB摘除并释放实例。我们的目标是更优雅的实现弹性架构,也就是要让架构符合之前所说的原则。通过

      4、云监控和资源编排,可以很容易做到这一点。云监控可以在控制台直观的配置。我们重点来看看资源编排(ROS)的角色。ROS通过模板创建一批资源,这些资源被成为资源栈(Stack)。所以,当通过ROS来为系统弹出资源以后,系统会变成下图所示:依据监控数据,我们通过ROS创建了一个资源栈,其中包含3台按量付费的ECS实例,根据我们在模板中的定义,ROS会在这些实力中安装我们的业务软件,这些软件会访问系统已存在的RDS存取数据。当ECS实例启动后,ROS把这些机器加入到SLB,新的访问就会被分发到这些新增加的ECS上。当访问量回落后,我们通过ROS销毁这个资源栈,ROS会首先把ECS从SLB中摘除,这样新的访问就回到了最开始的ECS上,ROS接着把ECS删除。整个过程不会对用户访问产生影响,系统又回到了最开始的状态。上面所有的事情都是自动进行的,我们把弹出的内容用ROS的模板进行了定义,其中描述了所有关于ECS创建、软件安装、SLB挂载的细节。因为模板是可以被像代码一样管理的,所以我们弹出的内容是经过了严格测试的,并且能够跟踪回溯版本。ROS的模板是申明式的JSON文件,所以我们只需要在里面描述清

      5、楚我们希望系统达到的状态,而不需要关注如何实现。这个模板文件里的主要部分(需要根据实际情况修改): ROSTemplateFormatVersion: 2015-09-01, Resources: newEcsInstances: Type: ALIYUN:ECS:InstanceGroup, ImageId: m-25xovkjg5, InstanceType: ecs.s2.large, MinAmount: 1, MaxAmount: 3, SecurityGroup: sg-25f9isr5m, VpcId: vpc-bp168go6c51f16786k9dl, VSwitch: vsw-bp1r47wdty5ecx4e82j9qaa , backendServerAttachment: Type: ALIYUN:SLB:BackendServerAttachment, Properties: LoadBalancerId: , BackendServerList: Fn:GetAtt: newEcsInstances, InstanceIds 上面的例子稍显简单,其实,阿里云的资源编排服务基本实现了对所有阿里云服务的支持,更有像实例克隆、资源栈更新这样的高级特性,我们可以在一个模板中描述包含大量资源的复杂架构。总结我们在上面介绍了弹性架构的重要性和基本原则,并结合阿里云的云监控和资源编排服务,介绍了如何在阿里云上实现弹性架构。随着我们的系统与云计算结合的越来越密切,弹性架构已经成为使用云计算的标准能力,同时也是系统的核心竞争力之一。构建更加优雅的弹性架构,不仅需要我们具备理论,也要能够熟练的整合云计算资源和服务。

      《产品知识库-ROS-以更优雅的方式实现弹性架构》由会员人***分享,可在线阅读,更多相关《产品知识库-ROS-以更优雅的方式实现弹性架构》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.