AWS OpsWorks 是一款配置管理服务,提供 Chef 和 Puppet 的托管EC2虚拟机实例。Chef 和 Puppet 是自动化平台,允许用户使用代码来自动配置服务器。用户借助OpsWorks可以使用 Chef或Puppet 自动完成所有 EC2 实例或本地计算环境中的服务器配置、部署和管理。OpsWorks 提供三种产品:AWS Opsworks for Chef AutomateAWS OpsWorks for Puppet Enterprise 和 AWS OpsWorks Stacks

引用AWS官网https://docs.aws.amazon.com对OpsWorks服务的介绍:

AWS OpsWorks for Chef Automate:一款完全托管的配置管理服务,可托管 Chef Automate,后者是出自 Chef 的一套用于配置管理、确保合规性与安全性以及持续部署的自动化工具。

AWS OpsWorks for Puppet Enterprise:一个完全托管的配置管理服务,它托管 Puppet Enterprise,后者是一套来自 Puppet 的用于基础设施和应用程序管理的自动化工具。

AWS OpsWorks Stacks:一款应用程序和服务器管理服务。利用 OpsWorks Stacks,客户可以将自己的应用程序塑造成一个包含不同层级 (例如负载均衡层、数据库层和应用程序服务器层) 的堆栈。

上图:一个典型的OpsWorks Stack的层级关系架构图,由负载均衡+应用服务器+数据库集群组成。

传统环境DevOps VS 基于OpsWorks的DevOps

传统环境中使用DevOps解决方案往往需要手动对相关的工具Server端服务器进行部署并在客户端上安装agent。而OpsWorks可以让客户免除安装这些agent的时间和Server端服务器需要付出的资源开销和维护精力,维护好chef/puppet的状态文件即可。

长话短说,让我们通过动手实验来亲自体验一下AWS的自动化批量运维管理产品OpsWorks。

首先我们来到AWS webconsole界面,打开OpsWorks服务

上图:点击Add your first stack开始OpsWorks探索之旅。

上图:我们选择一个Node.js app的Sample stack进行创建。

上图:在创建好后选择Explore the sample stack。

上图:进入Node.js APP Server界面后可以看到chef recipe的URL,我们点击右上角的Instance按键去启动EC2 Instance。

上图:点击start。EC2启动后会自动的安装chef的agent并拉取chef的配置状态文件并且会按照chef recipe定义的文件进行服务器的软件安装和配置等工作。

上图:已经启动并拉取了chef recipe的EC2相关信息。可以选择SSH,Run Command等操作。

上图:点击EC2的URL可以访问由OpsWorks创建的拉取了Chef recipe的Node.JS APP。

上图:通过Add Layer。可以轻松的增加业务服务器,比如此处我们再增加一个PHP服务的Layer。同样的PHP Layer的服务器会在启动时自动的安装chef agent并加载recipe。用户只需维护好chef recipe即可。

总结一下:OpsWorks作为一种典型的AWS公有云自身的DevOps产品,确实拥有不少优势例如配置管理简单,图形化功能强大逻辑清晰以及与AWS其他云组件的契合度好的诸多特点。如果客户公司有擅长使用puppet,chef等工具的DevOps工程师,很推荐使用OpsWorks。如果客户公司的DevOps对puppet,chef等并不熟悉,可以推荐使用Ansible或者Terraform等第三方产品用于AWS云平台的运维工作,也是不错的选择。

by:白刃霜飞

多年海内外系统,网络,信息安全从业经验。参与并主导多个世界500强企业大型IT项目,现任职于Simba Innvation的云计算专家。

DevOps on AWS之OpsWorks初体验的更多相关文章

  1. DevOps on AWS之Cloudformation实践篇

    cloudformation入门实践 AWS cloudformation通过模板对AWS云资源进行编排和调用.并且可以通过模板代码层面的修改就可以对现有环境进行升级改造,云端业务的灵活便捷特点展现无 ...

  2. dubbo实战之一:准备和初体验

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  4. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  5. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  6. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

  7. 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...

  8. 【Knockout.js 学习体验之旅】(1)ko初体验

    前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...

  9. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

随机推荐

  1. 【CF917D】Stranger Trees

    题目 看题解的时候才突然发现\(zky\)讲过这道题啊,我现在怕不是一个老年人了 众所周知矩阵树求得是这个 \[\sum_{T}\prod_{e\in T}w_e\] 而我们现在的这个问题有些鬼畜了, ...

  2. 【转】Spring Boot干货系列:(六)静态资源和拦截器处理

    前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类WebMvcConfigurerAdapter. 正文 前面章节我们也有简单介绍过SpringBoot中对静态资源的默认支持 ...

  3. 递归计算一个目录的大小【os.wallk()】

    os.walk(): os.walk()可以得到一个三元tupple(dirpath, dirnames, filenames),其中第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的 ...

  4. java读入和输出

    一: 在python里直接使用input函数就可以,在java里,需要使用Scanner类,用System.in进行初始化,获取用户输入可以用nextLine获取字符串,nextInt获取整形数据. ...

  5. PAT乙级1023

    1023 组个最小数 (20 分)   给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1, ...

  6. 【题解】洛谷P1070 道路游戏(线性DP)

    次元传送门:洛谷P1070 思路 一开始以为要用什么玄学优化 没想到O3就可以过了 我们只需要设f[i]为到时间i时的最多金币 需要倒着推回去 即当前值可以从某个点来 那么状态转移方程为: f[i]= ...

  7. bat批处理文件自动判断系统版本信息(转载)

    @echo offver|find "Version 5.0" >nulif not errorlevel 1 goto Windows2Kver|find "版本 ...

  8. 【gulp】imageisux安装(webp图片)

    此篇是imageisux的安装教程,imageisux用于处理任何格式图片生成新的webp格式 安装前提 nodejs—npm—gulp 现下以我的配置来展示安装gulp-imageisux过程 1) ...

  9. 【Dubbo源码阅读系列】之 Dubbo XML 配置加载

    今天我们来谈谈 Dubbo XML 配置相关内容.关于这部分内容我打算分为以下几个部分进行介绍: Dubbo XML Spring 自定义 XML 标签解析 Dubbo 自定义 XML 标签解析 Du ...

  10. day 87-1 Vue学习七之vue-cookie

      通过vue如何操作cookie呢 参考链接:https://www.jianshu.com/p/535b53989b39 第一步:安装vue-cookies npm install vue-coo ...