资源编排最佳实践之入门篇:云服务器如何从1到N?

本文涉及的产品
资源编排,不限时长
简介: 本系列文章介绍如果运用阿里云资源编排服务,做云上的自动化运维。借此能打开各位运维人员、开发者的脑洞,增强云端自动化运维的能力,享受“基础设施即代码”的成果!

随着云计算的应用和普及,IaaS层、SaaS层、PaaS层的服务也不断涌现,而国内云端的自动化运维还属于初探阶段。阿里云资源编排(Resource Orchestration,以下简称ROS)服务即是填补了这部分空缺。

 

ROS的理念是“基础设施即代码”,一方面是用代码思维的版本管理来记录基础设施的变化,另一方面我们都知道计算机世界用代码实现了各种系统、无所不能,ROS秉承这样的理念,通过代码实现自动化运维,并且简化编写代码的复杂度,只需通过模板描述多个云计算资源的依赖关系、配置等。

 

通俗地理解,ROS的资源就像乐高游戏中的小积木,基于每个小资源可以搭建上层的无数种可能。

 

ROS目前支持了阿里云12款主要云产品、40多个资源类型,后续还会不断增加。虽然模板简化了编码的复杂度,但通过灵活应用可以满足各种自动化运维的需求。

 

本系列共分为四篇文章,通过不同的维度介绍几个典型的应用场景,也是希望借助此系列能打开各个运维人员、开发者的脑洞,增强云端自动化运维的能力。

 

本文为第一篇“入门篇”。目前云计算领域使用最多的是云服务器,因此本文会围绕云服务器自身的普遍需求展开介绍,其余几篇会介绍和其他服务或工具结合的场景。

 

在经过很多的用户回访,我们发现针对于云服务器大家使用最多的场景是基于云服务器“此刻的状态”再创建1-N台云服务器,新创建的云服务器系统盘和数据盘都是“此刻的状态”,本文将根据此场景来讲述通过ROS如何实现。

 

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

 

如果只需创建这一台云服务器,并且不需要记录历史状态,上述方法是比较合适的。但实际情况往往不是这样的,可能会频繁的创建/释放云服务器,或者生成镜像的操作人员与购买云服务器的人员不是同一个人,一但购买选项没有选正确,新购的这台云服务器就不能投入业务中,按量的需要再释放,包年包月的需要等到到期释放,或者做数据迁移,势必会带来一定的损失。

 

另外如果想记录或跟踪云服务器的历史演变,如安全组配置的变化、基础镜像等信息,需要单独记录。

 

面对上述问题,运维人员可以使用ROS的模板作为交付物,将资源的固定参数在模板资源中定义,将可变的参数在模板参数中定义,方便运行时输入实际参数。这样在频繁创建云服务器时,只需要输入可变参数中的内容即可,如镜像ID、快照ID,或者克隆原云服务器,或者没有可变参数,将所有定义都在资源中描述,可以根据实际业务要求灵活变通模板编写。

 

并且,模板可以存放在Github中,可以像管理代码一样跟踪模板历史,也可以基于模板之上创建适合于企业内部的运维工具,实现自动化运维,以“基础设施即代码”的理念代替“重复劳动”。

 

要了解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"
}

       

    快照资源定义如下,引用参数中的磁盘名称、大小、快照ID:

             

"DiskMappings": [
  {
      "DiskName": {
        "Ref": "DiskName"
      },
      "Size": {
        "Ref": "DiskSize"
      },
      "SnapshotId": {
        "Ref": "SnapshotId"
      }
    }
  ]

 

3. 指定创建的云服务器数量,最大支持100台,可以是按量的也可以是包年包月的,包年包月的资源定义详见一键创建包年包月ECS实例

 

4. 其他如IO优化、磁盘大小、安全组等可以根据实际情况定义,此场景的详细例子可以参考官方提供的例子指定镜像、磁盘快照创建ECS

 

本文是通过一个实例讲解通过自定义镜像和快照生成新云服务器,针对于云服务器的运维远不止于此。

 

所以接下来,我们将会在[进阶篇]教你“如何利用ROS实现弹性伸缩”,通过ROS能力每个人都能成为运维高手、架构师。

 

模板的编写虽然简化了代码的复杂度,但也会有一定的门槛。小编最后送给大家三个学习交流阿里云ROS的好地方:

ROS VIP用户钉钉群,技术大神、产品大神在群里恭候

云栖社区中关于资源编排的文章

ROS支持的资源类型,以及相关属性、模板示例

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
缓存 监控 Java
Java Socket编程最佳实践:优化客户端-服务器通信性能
【6月更文挑战第21天】Java Socket编程优化涉及识别性能瓶颈,如网络延迟和CPU计算。使用非阻塞I/O(NIO)和多路复用技术提升并发处理能力,减少线程上下文切换。缓存利用可减少I/O操作,异步I/O(AIO)进一步提高效率。持续监控系统性能是关键。通过实践这些策略,开发者能构建高效稳定的通信系统。
202 1
|
5月前
|
安全 Ubuntu 应用服务中间件
Web服务器安全最佳实践
【8月更文第28天】随着互联网的发展,Web服务器成为了企业和组织的重要组成部分。然而,这也使得它们成为黑客和恶意软件的目标。为了确保数据的安全性和系统的稳定性,采取适当的安全措施至关重要。本文将探讨一系列保护Web服务器的最佳策略和技术,并提供一些实用的代码示例。
432 1
|
2月前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
114 2
|
3月前
|
存储 数据库 虚拟化
无缝过渡:企业级服务器迁移的策略与最佳实践
【10月更文挑战第4天】随着企业数字化转型的加速,服务器迁移成为企业IT基础设施升级的重要环节。本文从架构与规划的视角,探讨了企业级服务器迁移的策略与最佳实践,旨在帮助企业实现无缝过渡,降低迁移风险,提高迁移效率。
374 4
|
5月前
|
存储 运维 监控
数据库服务器运维最佳实践
【8月更文挑战第22天】
97 2
数据库服务器运维最佳实践
|
5月前
|
Shell 网络安全 数据安全/隐私保护
使用 Python 远程登陆服务器的最佳实践
使用 Python 远程登陆服务器的最佳实践
50 5
|
5月前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
212 1
|
5月前
|
缓存 运维 监控
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
|
8月前
|
弹性计算 运维 Java
最佳实践:阿里云倚天ECS在千寻位置时空智能服务的规模化应用
阿里云、平头哥及安谋科技联合举办的飞天技术沙龙探讨了倚天Arm架构在业务创新中的应用。活动中,千寻位置运维专家分享了将核心业务迁移到倚天处理器ECS实例的成功案例,强调了倚天处理器的高能效比和降本增效优势。迁移过程涉及操作系统、CICD系统和监控系统的适配,以及业务系统的性能测试。目前,千寻已迁移了上千台ECS实例到倚天处理器,实现了成本和效率的显著提升。未来计划继续扩展倚天处理器在核心业务和K8S中的应用。
|
8月前
|
弹性计算 运维 安全
最佳实践分享,如何体系化提升ECS安全性
阿里云弹性计算团队十三位产品专家和技术专家共同分享云上运维深度实践,详细阐述如何利用CloudOps工具实现运维提效、弹性降本。
129102 88
最佳实践分享,如何体系化提升ECS安全性