在日常工作中,我们一定遇到过需要快速构建系统的工作情形:

  • 作为资源管理人员,需要接收一定数量以及配置的资源申请,这些申请要求网络、存储设备按需到位;

  • 作为开发人员,需要将一套开发环境,复制一份测试环境以及线上环境;

  • 架构师规划一套系统,需要在云上进行搭建。

这些场景都展现着我们日常所遇的各种困难:

  • 对各类云端资源需要进行广泛支持与管理:这其中需要包括常用基础IaaS 资源及 PaaS 服务,比如主机、路由器、负载均衡器等计算网络资源以及各种数据库、缓存、大数据、存储服务;

  • 资源编排使用难度大:技术栈复杂而难用,实现复杂拓扑关系需要系统化知识与丰富经验;

  • 大量机械重复的手动配置操作:不仅是各资源及其拓扑关系按配置进行手工部署,各资源间的拓扑关系更是令人头疼;

  • 学习成本高:过往的资源管理依赖于通过命令行调用API 的方式,提升了操作难度和学习成本。

由此可见,自动化运维成了运维人员的业务刚需,各大云厂商也相继推出各自的资源编排服务(Resource Orchestration,以下简称 ROS)。ROS 的理念是“基础设施即代码”,一方面是用代码思维的版本管理来记录基础设施变化,另一方面通过代码实现自动化运维,简化编写代码复杂度,用户通过使用 Json / Yaml 格式模版描述多个云计算资源(如 ECS、RDS、SLB)的配置、依赖关系等,并自动完成所有云资源在多个不同地域以及多个账户中的部署和配置,就像乐高积木一般,运维人员轻松完成搭建。

经过多次调研后,我们发现针对于云服务器最多的场景是基于云服务器“此刻的状态”再创建 1-N 台云服务器,新创建的云服务器系统盘和数据盘都是“此刻的状态”。我们以一个网站服务为例,一般运维工程师会在系统盘或数据盘中安装一些应用,如:Tomcat、Jenkins、MySql、网站自身的数据/文件等等。如果需要再创建一台云服务器与目前已有云服务器的系统或数据状态保持一致,可以将系统盘做成自定义镜像,数据盘做成快照,然后再新购买云服务器时镜像选择该自定义镜像,数据盘的快照选择该快照,安全组的规则配置与原云服务器一致的规则,就可以创建一台基于原云服务器“此刻状态”的新云服务器。

如果只需创建这一台云服务器且不需要记录历史状态,上述方法是比较合适的。

但实际情况远远比这复杂得多,比如可能会频繁创建/释放云服务器;或者生成镜像的操作人员与购买云服务器的人员不是同一个人,一但购买选项没有选正确,新购的这台云服务器就不能投入业务中,按量计费的需要再释放,包年包月的需要等到到期释放或者做数据迁移,势必带来成本损失;想记录或跟踪云服务器的历史演变,如安全组配置变化、基础镜像等信息,也需要单独记录。

面对上述问题,运维人员使用 ROS 的模板作为交付物,将资源固定参数在模板资源中定义,将可变参数在模板参数中定义,方便运行时输入实际参数。这样在频繁创建云服务器时,只需要输入可变参数中的内容即可,如镜像 ID、快照 ID,或者克隆原云服务器,或者没有可变参数,将所有定义都在资源中描述,根据实际业务要求进行模板编写。模板也可以存放在 Github 中,可以像管理代码一样跟踪模板历史,也可以基于模板之上创建适合于企业内部的运维工具,实现自动化运维,以“基础设施即代码”的理念代替“重复劳动”。

我们可以看到 ROS 的强大特性:

  • 可读、易编写的文本文件:运维人员可以直接编辑 JSON 格式文本,或使用 ROS 控制台提供的可视化编辑器编辑模板。通过 SVN、Git 等版本控制工具控制模板版本,以达到控制基础设施版本目的。也可通过 API、SDK 等方式将 ROS 的编排能力与自己的应用进行整合,实现基础设施即代码(Infrastructure as Code);

  • 标准化的资源和应用交付方式:独立软件供应商(ISV)可以通过 ROS 模板交付包含云资源和应用的整体系统和解决方案。ISV 可以通过这种交付方式,整合阿里云的资源和 ISV 的软件系统,实现统一交付;

  • 通过资源栈(Stack)统一管理一组云资源(一个资源栈即为一组阿里云资源):对于云资源创建、删除、克隆等操作,以资源栈为单位来完成。在 DevOps 实践中,可以使用 ROS 克隆开发环境、测试环境和线上环境,实现应用的整体迁移、扩容。

在了解 ROS 的强大后,我们就在日常使用过程中会创建各种数量的 ROS 模板。这也就造成了我们在日常的运维管理中,需要更便捷的工具对模板进行管理。为了更好的管理本地与云端的 ROS 模版,我们上线了 Alibaba Cloud Toolkit - Alibaba ROS Templates,通过一个资源配置文件(.ros.config.yml),协助用户对模板文件进行管理操作。

说明:.ros.config.yml 文件是 Alibaba ROS Templates 工具用于管理模板的源文件。

第一步:在 IntelliJ IDEA 中打开您的工程。

第二步:创建模板,有以下两种创建方式:

  • 在 IntelliJ IDEA 中右键单击您的工程名称,选择 New > AlibabaCloud ROS YAML Template 或选择 New > AlibabaCloud ROS JSON Template。

注意:使用这种方式创建的模板不会被 Alibaba ROS Templates 工具管理。如需使用模板工具管理,则需要在 .ros.config.yml 文件中增加模板路径,并将模板移动至 JSON 和 YAML 文件夹下。

  • 打开 IntelliJ IDEA 右边框 Alibaba ROS Templates 工具,单击 Create,输入模板的名称,选择模板的类型,创建本地模板。

第三步:在 Resources 参数中输入资源类型。

  • AlibabaCloud ROS YAML Template 示例

  • AlibabaCloud ROS JSON Template 示例

第四步:说明 Ctrl+ 鼠标左键可实现参数位置与参数之间的跳转, 使用 Ctrl+ 鼠标悬浮可实现参数的悬浮信息。模板管理功能操作说明如下表所示:

功能

描述

Refresh

刷新目录。

Create

创建本地模板。首次使用此插件创建模板默认会创建 JSON、YAML及.ros.config.yml 文件

Delete

删除选中模板功能

Local Templates

本地模板虚拟目录

Remote Templates

远端模板虚拟目录

右键单击本地模板,可根据需求进行操作:

功能操作说明如下:

  • Upload:上传模板

  • Rename:重命名模板名称

  • Delete:删除本地模板

右键单击远端模板,可根据需求进行操作:

功能操作说明如下:

  • Download:下载模板

  • Properties:查看模板属性信息

  • Delete:删除远端模板

说明双击远端模板,默认会打开一个临时文件,右键菜单选择 Alibaba Cloud ROS > Update Template,显示对比远端模板修改情况,可更新远端模板。

资源栈管理

Alibaba Cloud Toolkit - Alibaba Cloud ROS (Alibaba Cloud View)是一个用于管理阿里云资源编排产品(ROS)资源栈的工具,能帮助您便捷地管理远端资源栈。

  • 在 IntelliJ IDEA 中打开您的工程;

  • 在 IntelliJ IDEA 窗口中选择 Alibaba Cloud View > Alibaba Cloud ROS,可根据您的需求进行相关操作。

资源栈管理功能操作说明如下表所示:

功能

描述

地域

选择地域

Search

在当前地域下,搜索资源栈 ID 或资源栈名称;若未输入,则刷线当前地域资源栈列表

Create Stack

创建资源栈 ,自动跳转至官网 ROS 控制台创建资源栈界面

Stack ID/Name

单击名称,显示该资源栈属性信息

Status

显示该资源栈当前状态

Create at

显示该资源栈创建时间

Outputs

显示该资源栈的输出值信息

Delete

删除该资源栈

More

  • Properties:显示该资源栈的属性信息

  • Resources:显示该资源栈内的所有资源信息

  • Parameters:显示该资源栈的参数信息

关于 Cloud Toolkit

作为集开发、测试、诊断、部署为一体的免费本地多 IDE 插件,Cloud Toolkit 帮助开发者真正实现任意服务器或 ECS、EDAS、Kubernetes、SAE、函数计算等一键式研发部署,支持 Java 规约、高效执行终端命令和 SQL 等常见工具,研发速度提升 8 倍以上,大幅降低研发成本。

产品完全免费并覆盖 IntelliJ IDEA、Eclipse、Pycharm、Maven、VS Code 等不同 IDE 环境。持续更新+社群支持,确保开发者放心使用,真正做到研发团队降本提效。

对应下载传送门

  • IntelliJ 、PyCharm、PhpStorm:https://developer.aliyun.com/article/687264

  • Eclipse:https://developer.aliyun.com/article/673562

  • Visual Studio Code :https://marketplace.visualstudio.com/items?spm=5176.11997469.1283546..7a8f4e2bIgRa0P&itemName=alibabacloud-cloudtoolkit.toolkit-vscode&ssr=false#overview

附产品使用文档:https://help.aliyun.com/document_detail/29968.html

戳原文,直达云原生架构白皮书详情页!

ros c++ 代码说明文档_减少运维工作量,如何通过 ROS 轻松实现资源编排新方式...相关推荐

  1. ros云服务器_减少运维工作量,如何通过 ROS 轻松实现资源编排新方式

    在日常工作中,我们一定遇到过需要快速构建系统的工作情形: 作为资源管理人员,需要接收一定数量以及配置的资源申请,这些申请要求网络.存储设备按需到位: 作为开发人员,需要将一套开发环境,复制一份测试环境 ...

  2. 减少运维工作量,如何通过 ROS 轻松实现资源编排新方式

    在日常工作中,我们一定遇到过需要快速构建系统的工作情形: 作为资源管理人员,需要接收一定数量以及配置的资源申请,这些申请要求网络.存储设备按需到位: 作为开发人员,需要将一套开发环境,复制一份测试环境 ...

  3. 运维人员的军刀——ROS

    资源编排ROS 是一种简单易用的云计算资源管理和自动化运维服务.用户通过模板描述多个云计算资源的依赖关系.配置等,并自动完成所有资源的创建和配置,以达到自动化部署.运维等目的. 了解更多 阿里云资源编 ...

  4. 高级运维工程师证书_高级运维工程师的具体职责说明

    高级系统运维工程师需要负责服务器的安装部署.上线发布.日常监控.故障处理.数据备份.日志分析.性能优化等工作.以下是学习啦小编整理的高级运维工程师的具体职责说明. 高级运维工程师的具体职责说明1 职责 ...

  5. python运维工程师前景及待遇_做运维工程师有前途吗?

    运维是一个进入门槛低,但是发展前景大的行业. 去年我们老板从运维总监职位退下来的时候年薪75万,所以不要小看这个行业. 但是前路漫漫,想在这个领域有长足的发展,要学习很多,付出很多. "今年 ...

  6. 老男孩的运维笔记文档-中级部分(运维中级)列表(二)

    ############################################################ # # USER          YYYY-MM-DD – ACTION # ...

  7. python运维工程师前景及待遇_【运维工程师就业前景】百度2020年运维工程师待遇怎么样-看准网...

    对这几个职位感兴趣,直接私聊我就可以 1.AI & 百度云基础平台研发工程师 工作职责: -负责 AI云 & 百度云运维平台的设计与研发工作,构建云时代的运维平台 -设计及开发大规模云 ...

  8. demo 网络运维_【运维面试】面试官:你们公司的docker主要用来做啥?

    文章来源: [运维面试]面试官:你们公司的docker主要用来做啥?_涅槃重生-CSDN博客​blog.csdn.net 前言 关于docker的面试题,很多面试官会问,你们公司的docker主要用来 ...

  9. oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...

    开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...

最新文章

  1. jsf标签p:ajax_JSF AJAX请求的会话超时处理
  2. Spring 是什么
  3. 我就是TMD很无聊的女生怎么样。
  4. 数据可视化及数据保存
  5. 开源软件 Nagios 曝11个漏洞,可使IT 基础设施遭接管引发供应链攻击
  6. apache服务器进程配置文件是,apache服务器进程配置文件是
  7. listview mysql源码_用ListView实现对数据库的内容显示
  8. 【信息论】信息论基础知识
  9. 双硬盘安装win10和linux双系统,双硬盘安装 Win 10 和 Ubuntu 16.04 双系统
  10. 点云边界提取方法总结
  11. 必应壁纸php,PHP版Bing壁纸下载源码
  12. Springboot 热部署----热部署插件的使用
  13. allegro-Could not create new pin inst: PA15/JTDI.
  14. Freemarker+Fmpp简介
  15. 连表查询join使用方法详解
  16. 解读亚马逊新财报:AWS增速放缓,数字广告能否接过增长重担?
  17. 农民工看完都学会了!教你一种更清晰的Android架构!附赠课程+题库
  18. 网络安全工程师需要考什么证吗?
  19. 华大单片机低功耗注意事项
  20. Go 开源说第十一期:KubeSphere-面向云原生应用的容器混合云

热门文章

  1. KubeFlow安装指南
  2. 前端开发1之Node.js以及npm开发环境搭建
  3. mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据
  4. 封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>
  5. java 队列复制_复制一个文件夹里的文件到另一个目录下 (使用队列的方法实现)...
  6. wordpress html页面缓存 cdn,WordPress 下老旧又高效的本地缓存插件 cos-html-cache
  7. 多表关联查询_【函数007】 EXCEL多表关联查询实战
  8. 在scrapy中parse函数里面xpath的内容打印不出来_如何正确的使用Scrapy ?
  9. DHCP租用信息导出方案
  10. vs2010 mysql linq to sql 系列_LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据...