台州网站建设技术外包,天津地区个人网站备案,榆林网站建设推广,域名到期换个公司做网站简介#xff1a; 以“基础设施即代码”的理念代替“重复劳动”。 在日常工作中#xff0c;我们一定遇到过需要快速构建系统的工作情形#xff1a;
作为资源管理人员#xff0c;需要接收一定数量以及配置的资源申请#xff0c;这些申请要求网络、存储设备按需到位#xf…简介 以“基础设施即代码”的理念代替“重复劳动”。 在日常工作中我们一定遇到过需要快速构建系统的工作情形
作为资源管理人员需要接收一定数量以及配置的资源申请这些申请要求网络、存储设备按需到位作为开发人员需要将一套开发环境复制一份测试环境以及线上环境架构师规划一套系统需要在云上进行搭建。
这些场景都展现着我们日常所遇的各种困难
对各类云端资源需要进行广泛支持与管理这其中需要包括常用基础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 鼠标悬浮可实现参数的悬浮信息。模板管理功能操作说明如下表所示 右键单击本地模板可根据需求进行操作 功能操作说明如下
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可根据您的需求进行相关操作。资源栈管理功能操作说明如下表所示 Resources显示该资源栈内的所有资源信息Parameters显示该资源栈的参数信息
关于 Cloud Toolkit
作为集开发、测试、诊断、部署为一体的免费本地多 IDE 插件Cloud Toolkit 帮助开发者真正实现任意服务器或 ECS、EDAS、Kubernetes、SAE、函数计算等一键式研发部署支持 Java 规约、高效执行终端命令和 SQL 等常见工具研发速度提升 8 倍以上大幅降低研发成本。
产品完全免费并覆盖 IntelliJ IDEA、Eclipse、Pycharm、Maven、VS Code 等不同 IDE 环境。持续更新社群支持确保开发者放心使用真正做到研发团队降本提效。 原文链接 本文为阿里云原创内容未经允许不得转载。