减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
在日常工作中,我们一定遇到过需要快速构建系统的工作情形: 作为资源管理人员,需要接收一定数量以及配置的资源申请,这些申请要求网络、存储设备按需到位; 作为开发人员,需要将一套开发环境,复制一份测试环境以及线上环境; 架构师规划一套系统,需要在云上进行搭建。 这些场景都展现着我们日常所遇的各种困难: 对各类云端资源需要进行广泛支持与管理 :这其中需要包括常用基础IaaS 资源及 PaaS 服务,比如主机、路由器、负载均衡器等计算网络资源以及各种数据库、缓存、大数据、存储服务; 资源编排使用难度大 :技术栈复杂而难用,实现复杂拓扑关系需要系统化知识与丰富经验; 大量机械重复的手动配置操作 :不仅是各资源及其拓扑关系按配置进行手工部署,各资源间的拓扑关系更是令人头疼; 学习成本高 :过往的资源管理依赖于通过命令行调用API 的方式,提升了操作难度和学习成本。 由此可见,自动化运维成了运维人员的业务刚需,各大云厂商也相继推出各自的资源编排服务(Resource Orchestration,以下简称 ROS)。ROS 的理念是“基础设施即代码”,一方面是用代码思维的版本管理来记录基础设施变化,另一方面通过代码实现自动化运维,简化编写代码复杂度,用户通过使用 Json / Yaml 格式模版描述多个云计算资源(如 ECS、RDS、SLB)的配置、依赖关系等