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. 【洛谷】【归并排序】P1908 逆序对

    [题目描述:] 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计.最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是 ...

  2. [翻译]怎么写一个React组件库(一)

    本文同步发布于知乎专栏 https://zhuanlan.zhihu.com/p/27401329,喜欢本文的就去知乎点个赞支持下吧- 引言 该系列文章将通过创建一个组件库来引导你学习如何构建自己的组 ...

  3. 4、JVM-虚拟机性能监控与故障处理工具

    前言: Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来. 4.1.概述 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是 ...

  4. 删除Oracle Online Redo 测试

    删除Oracle Online Redo 测试 SQL> select * from v$log; ​   GROUP#   THREAD# SEQUENCE#     BYTES BLOCKS ...

  5. Eclipse开发工具常用快捷键的使用技巧

      Eclipse作为软件开发的常用工具,被很多的人所欢迎,尤其是丰富的快捷键,可以极大的提高编码的效率,下面将常用的快捷键做了整理,便于大家学习和使用. Eclipse常用快捷键 1代码提示 Alt ...

  6. MapReduce详解及shuffle阶段

    hadoop1.x和hadoop2.x的区别: Hadoop1.x版本: 内核主要由Hdfs和Mapreduce两个系统组成,其中Mapreduce是一个离线分布式计算框架,由一个JobTracker ...

  7. 【Hive一】Hive安装及配置

    Hive安装及配置 下载hive安装包 此处以hive-0.13.1-cdh5.3.6版本的为例,包名为:hive-0.13.1-cdh5.3.6.tar.gz 解压Hive到安装目录 $ tar - ...

  8. ARM汇编语言

    ---恢复内容开始--- arm汇编语言 汇编语言是一种程序设计语言,arm处理器是一种16/32位的嵌入式RISC微处理器.一开始我把这混为一谈了.ARM汇编的特点:汇编语言,又叫助记符语言. 1) ...

  9. member access within misaligned address 0x0000002c3931 for type 'struct ListNode‘

    From MWeb 在做leetcode 第2题时使用C语言编写链表时报错 错误复现 错误原因 解决办法 错误复现 报错时的代码如下 /** * Definition for singly-linke ...

  10. 快速链接bioconductor,以及安装“XML”

    options(useHTTPS=FALSE, BioC_mirror="http://bioconductor.org") source("http://biocond ...