了解最新公司动态及行业资讯
随着云测算的应用和普及,IaaS层、SaaS层、PaaS层服务也在不断涌现,国外云的人工运维还处于初级阶段。阿里云资源编排(ROS)服务填补了这一空白。
ROS 的概念是“基础设施即代码”。一方面,它使用代码思维的版本管理来记录基础设施的变化。另一方面,我们都知道,计算机世界使用代码来实现各种系统,是无所不能的。 ROS秉承这一理念,通过代码实现人工运维,简化了编译代码的复杂度。只需要通过模板描述多个云估算资源的依赖关系和配置即可。
可以理解服务器运维技术,ROS的资源就像乐高游戏中的小积木,基于每个小资源构建下层有无数种可能。
ROS目前支持12大云产品和阿里云40多种资源类型,未来还会继续减少。模板虽然简化了编码的复杂度,但灵活的应用可以满足各种人工运维的需要。
本系列分为四篇,通过不同的维度介绍几个典型的应用场景。也希望这个系列能够打通各类运维人员和开发者的脑洞,提升云端人工运维的能力。
本文为第一篇“介绍”。目前,云服务器是云估算领域使用最多的。因此,本文将重点介绍云服务器本身的一般需求,其他文章将介绍结合其他服务或工具的场景。
经过多次用户回访,我们发现云服务器最常用的场景是根据云服务器的“当前状态”创建1-N个云服务器。新创建的云服务器的系统盘和数据盘都是“此刻的状态”,本文将根据这个场景来介绍如何通过ROS来实现。
我们以网站服务为例。通常运维工程师会在系统盘或数据盘中安装一些应用程序,如:、、MySql、网站本身的数据/文件等。现有云服务器的系统或数据状态,可以将系统盘制作成自定义镜像,将数据盘制作成快照,然后在订购新的云服务器时选择该自定义镜像。镜像、数据盘快照 选择快照,并配置与原云服务器相同规则的安全组规则服务器运维技术,即可根据原云服务器的“当前状态”新建云服务器。
如果你只需要创建这个云服务器,不需要记录历史状态,上面的方法比较合适。但实际情况往往并非如此。云服务器可能创建/发布频繁,或者生成镜像的运营商不是订购云服务器的同一个人。如果订购选项选择不正确,新购买的云服务器无法投入使用,需要按时发布,包月需要等到到期日,或者做数据迁移,势必会带来一定的损失。
另外,如果要记录或跟踪云服务器的历史变化,如安全组配置变化、基础镜像等信息,需要单独记录。
面对以上问题,运维人员可以使用ROS模板作为交付物,在模板资源中定义资源的固定参数,在模板参数中定义可变参数,在运行时输入实际参数。这样,在频繁创建云服务器时,只需要输入可变参数中的内容,如镜像ID、快照ID,或者克隆原云服务器,或者没有可变参数,所有定义都说明在资源中。模板可根据实际业务需求灵活编译。
但是可以将模板存储在 中,并且可以像代码管理一样跟踪模板的历史,也可以基于模板创建适合企业的运维工具,实现人工运维。想法取代了“重复劳动”。
有关 ROS 模板的详细解释,请深入阅读资源编排模板解释。
以“网站服务运维”的场景为例,说说模板定义中的关键元素:
1.可以在模板参数中定义图像和快照ID:
"Parameters": {
"ImageId": {
"Description": "镜像文件ID, 表示启动实例时选择的镜像资源",

"Type": "String"
},
"DiskName": {
"Type": "String"
},
"DiskSize": {
"Default": 40,
"Type": "Number"
},

"SnapshotId": {
"Type": "String"
}
}
2.定义云服务器的镜像和快照资源。
图片资源定义如下,参考参数中的图片ID:
"ImageId": {
"Ref": "ImageId"
}
快照资源定义如下,参考参数中的C盘名称、大小、快照ID:
"DiskMappings": [
{
"DiskName": {
"Ref": "DiskName"
},
"Size": {
"Ref": "DiskSize"
},

"SnapshotId": {
"Ref": "SnapshotId"
}
}
]
3. 指定要创建的云服务器的数量,最多100个,可以按时创建,也可以按月和按年创建。包月和包年的资源定义请参见一键创建包月和包年ECS实例。
4.其他如IO优化、磁盘大小、安全组等,可根据实际情况自行定义。该场景的详细示例可以参考官方示例指定镜像和磁盘快照创建ECS。
本文以一个例子来说明通过自定义镜像和快照生成新的云服务器。云服务器的运维远不止这些。因此,我们将在【进阶篇】中教大家“如何使用ROS实现弹性伸缩”。通过ROS能力,每个人都可以成为运维大神和架构师。
即使模板的编译简化了代码的复杂度,也会有一定的门槛。小编最后献给大家学习和交流阿里云ROS的三个好去处: