云上部署环境(基础设施)的正确姿势——使用资源编排ROS进行基础设施的部署

本文涉及的产品
资源编排,不限时长
简介: ![image.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/66daa0b176da97de1dc8e66580fc0384.png) # 常见的部署问题 1. 多环境部署。根据实际开发的需要,一般至少需要准备3个环境:日常测试环境,部署预发环境,部署生产环境。 2. 多地域部署。对于云产品还需要支持多地域部署

image.png

常见的部署问题

  1. 多环境部署。根据实际开发的需要,一般至少需要准备3个环境:日常测试环境,部署预发环境,部署生产环境。
  2. 多地域部署。对于云产品还需要支持多地域部署,部署北京地域,部署上海地域,部署杭州地域,……,部署美国,部署欧洲。截止到今天(2019-06-17),阿里公共云一共有19个地域,如果您的云产品需要AZ粒度的,那将是56个AZ。而这些数字还在快速增长。
  3. 不同环境之前经常出现偏差。某个环境的http端口是80,另一个环境却变成了8080。因为环境偏差出现的问题最难排查,因为你日常的开发测试环境和出现问题的环境不同,甚至你都无法在日常环境重现问题,最后不得不冒着巨大的风险直接在生产环境里面排查。
  4. 想用蓝绿部署(Blue/Green Deployment)却无从下手。蓝绿部署是业界一个常见的部署方式,有诸多优点。然而想使用蓝绿部署却缺乏有效的部署手段。

或者您还有更多的部署问题,这些问题的存在严重地影响了业务的开发和演进,提高了运维成本,打击了开发人员的积极性。阿里云的资源编排服务(ROS)就是为了解决这些问题而推出的。

什么是资源编排服务?

阿里云资源编排服务(Resource Orchestration Service,简称 ROS)是一款帮助阿里云用户简化云资源创建,更新和删除的自动化服务。您只需要创建一个描述阿里云资源(如 ECS 实例、 RDS 数据库实例等)的模板,然后ROS将自动地为您创建并配置这些资源。实现基础设施即代码(Infrastructure as Code)的理念。资源编排模板也是一种标准化的资源和环境交付方式。

资源编排服务是通过资源栈 (Stack) 这种逻辑集合来统一管理一组云资源(一个资源栈即为一组阿里云资源),所以,对于云资源的创建、删除、克隆等操作,都可以以资源栈为单位来完成。在 DevOps 实践中,可以轻松地克隆开发、测试、线上环境。同时,也可以更容易实现应用的整体迁移和扩容。

image.png

产品优势

基础设施即代码(Infrastructure as Code)

ROS是阿里云官方提供的基础设施即代码(Infrastructure as Code,简称IaC)的云产品,使用ROS可以帮助您最快速地实践DevOps中关于IaC的理念。

全自动托管服务

ROS产品为全托管服务,您无需购买维护IaC模板本身执行所使用的资源,您只需要关注您的业务所需要使用的资源,即模板中定义的资源。尤其您需要创建多个项目(对应多个堆栈)时,全托管的自动化可以帮助您更快地完成任务。建议您使用Git或SVN等源代码版本管理软件同步管理模板,再通过ROS OpenAPI进行堆栈的维护。

可重复部署

无论您是需要部署的环境是开发,测试和生产环境,您都可以使用同一套模板进行创建。指定不同的参数可以满足环境的差异化,如测试环境的ECS实例数是2台,而生产环境的ECS实例数是20台。亦或是您需要进行多地域的部署,使用同一套模板可以进行重复的部署,从而提高部署多地域的效率。

标准化部署

在实践中,不同环境的细微差异往往带来非常复杂的管理成本,延长了问题诊断的时间,从而影响了业务的正常运转。通过使用ROS重复部署,可以将部署环境标准化,减少不同环境的差异,将环境的配置沉淀到模板中。再通过类似代码的严格管理流程,从而保证部署的标准性。

统一的身份认证、安全和审计

和其他的同类产品对比,阿里云官方出品的ROS和其他阿里云产品有着最好的集成。集成资源访问管理(RAM)提供了统一的身份认证,而无需为单独建立用户认证体系。所有的云产品操作都通过OpenAPI调用,意味着您可以使用操作审计服务(ActionTrail)来审查所有的运维操作,包括ROS本身。

产品FAQ

1,ROS是什么?

阿里云资源编排服务(Resource Orchestration Service,简称 ROS)是一款帮助阿里云用户简化云计算资源管理和自动化更新的服务。您只需要创建一个描述阿里云资源(如 ECS 实例、 RDS 数据库实例等)的模板,然后ROS将根据模板,自动创建和配置这些资源。实现基础设施即代码(Infrastructure as Code)的理念。资源编排模板也是一种标准化的资源和应用交付方式。

2,如何编写ROS的模板?

整个模板都是JSON/YAML格式,描述各类资源及它们之间的依赖关系。
模板主要分成Parameters、Resources、Outputs这三个部分。
Parameters增强了模板的灵活性,让您根据需要不同的需要传入不同的参数,实现了可复用的模板
Outputs定义了执行模板后需要返回的值,例如创建了ECS实例,则可以输出ECS实例ID,或ECS实例的公网IP。

3,ROS提供控制台了吗?

阿里云提供了ROS控制台。
ROS控制台提供了一种易用、直观的方式执行ROS模板。您只需要加载模板,再输入参数,即可按需创建相应资源。
执行过程中您可以看到各个资源的创建过程。
执行过程中如果出错,ROS控制台能够直观地展示错误事件,方便定位。

4,ROS有OpenAPI和SDK吗?
当然有,ROS的API请参考:https://help.aliyun.com/document_detail/131032.html
ROS的SDK信息请参考:https://help.aliyun.com/document_detail/28928.html

5,ALIYUN CLI支持ROS吗?
当然支持,请先安装ALIYUN CLI https://help.aliyun.com/product/29991.html,然后运行aliyun ros help命令获得使用帮助。

6,ROS是否提供了示例模板?
ROS提供了场景示例模板,参见控制台 https://rosnext.console.aliyun.com/ 左侧菜单“模板”>“我的模板”。

7,使用ROS过程中有问题如何获得帮助?
推荐您首先阅读文档,或在阿里云开发者社区,云栖搜索“资源编排”或“ROS”。
或加钉钉群联系我们:11783495

8,我需要某个云产品下的某个资源,但是ROS还不支持怎么办?
请第一时间联系我们,钉钉群联系我们:11783495,我们将尽快满足您的要求。

9,ROS都支持哪些云产品?
常见的云产品如ECS,RDS,OSS,SLB,FC等都支持,请参考 https://help.aliyun.com/document_detail/61459.html ,左侧“资源类型”下面。如果您需要某云产品的某资源不在其中,请第一时间联系我们,钉钉群联系我们:11783495,我们将尽快满足您的要求。

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
3月前
|
弹性计算 持续交付 API
基于 ROS 的Terraform托管服务轻松部署ChatGLM-6B
文章介绍了如何利用ROS和Terraform模板轻松自动化部署基于GLM架构、优化中文对话的ChatGLM-6B模型至阿里云,提高了部署效率与便捷性,适用于多种应用场景,且模型部署过程详细,彰显了基础设施即代码(IaC)的优势。
基于 ROS 的Terraform托管服务轻松部署ChatGLM-6B
|
3月前
|
弹性计算 人工智能 持续交付
基于 ROS 的Terraform托管服务轻松部署Qwen-7B-Chat
文章介绍了如何利用ROS和Terraform模板轻松自动化部署阿里云的Qwen-7B-Chat大语言模型服务,提高了部署效率与便捷性,是实现云资源和服务快速上线的最佳实践。
基于 ROS 的Terraform托管服务轻松部署Qwen-7B-Chat
|
2月前
|
弹性计算 JSON 关系型数据库
使用ROS模板基于ECS和RDS创建WordPress环境
使用ROS模板基于ECS和RDS创建WordPress环境
|
4月前
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
225 1
|
5月前
|
弹性计算 关系型数据库 MySQL
使用资源编排 ROS 轻松部署单点网站——以 WordPress 为例
WordPress 是流行的开源CMS,阿里云的ROS(Resource Orchestration Service)提供模板化部署服务,简化云上环境如VPC、ECS、MySQL的创建。用户可通过ROS控制台选择模板一键部署WordPress,配置包括实例区、类型、系统盘及密码等参数。ROS模板定义了资源、参数和输出,自动处理依赖关系,实现云资源和应用的自动化部署。通过ROS,用户可以高效管理和更新整个资源栈,实现快速、可靠的云服务部署。
使用资源编排 ROS 轻松部署单点网站——以 WordPress 为例
|
5月前
|
Ubuntu 机器人 Shell
ubuntu20.04创建ros环境、创建rospackage
至此,我们已经详细讲解了在Ubuntu 20.04上创建ROS环境及ROS包的步骤。这为进一步的机器人软件开发奠定了坚实的基础。
239 1
|
5月前
|
Ubuntu 机器人 Shell
ubuntu20.04创建ros环境、创建rospackage
至此,我们已经详细讲解了在Ubuntu 20.04上创建ROS环境及ROS包的步骤。这为进一步的机器人软件开发奠定了坚实的基础。
77 1
|
5月前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
|
5月前
|
弹性计算 JSON 网络协议
记一次饱经挫折的ROS部署经历
阿里云资源编排服务ROS(Resource Orchestration Service)是一个基础设施即代码(IaC)工具,用于自动化部署和管理阿里云上的多种资源。ROS通过JSON或YAML格式的模板来定义资源栈,模板中包括资源类型、参数、依赖关系等,简化了云资源的创建和更新流程。
|
5月前
|
弹性计算 负载均衡 关系型数据库
使用资源编排 ROS 轻松部署高可用架构网站——以 WordPress 为例
WordPress 是流行的开源 CMS,阿里云的资源编排服务 (ROS) 提供 IaC 功能,简化云上资源自动化部署,如创建 VPC、ECS、SLB、RDS 和弹性伸缩等。通过 ROS 模板(JSON/YAML),用户能快速部署高可用的 WordPress 环境,包括负载均衡、多可用区的 ECS 服务器集群、高可用 RDS 数据库等。模板定义了资源、参数和输出,用户在 ROS 控制台配置参数后一键部署。ROS 提升了部署效率,便于跨地域复制相同架构。
使用资源编排 ROS 轻松部署高可用架构网站——以 WordPress 为例

推荐镜像

更多