zoukankan      html  css  js  c++  java
  • DevOps on AWS之OpsWorks初体验

    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.comOpsWorks服务的介绍:

     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 基于OpsWorksDevOps

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

     

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

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

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

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

     

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

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

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

     

    上图:已经启动并拉取了chef recipeEC2相关信息。可以选择SSHRun Command等操作。

    上图:点击EC2URL可以访问由OpsWorks创建的拉取了Chef recipeNode.JS APP

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

     

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

     

    by:白刃霜飞

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

  • 相关阅读:
    Emmet Documentation
    微软雅黑的Unicode码和英文名
    Eclipse让代码自动换行(WordWarp)
    如何更改MyEclipse代码自动换行的长度?
    PHP之道推荐使用PHP版本,数据库方式,以及虚拟机的创建程序
    ime-mode:disabled是什么?
    document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
    Unobtrusive JavaScript 不唐突的JavaScript的七条准则
    详解 arguments, callee, caller, call, apply的区别
    怎样在谷歌浏览器上加载金山词霸的取词插件?
  • 原文地址:https://www.cnblogs.com/pourrire/p/10062240.html
Copyright © 2011-2022 走看看