Elastic BeanStalk相关概念

童话世界中存在着一种魔力beanstalk(豆荚),种在花盆里可以无限的向上生长,越长越高直达云端。AWS Elastic Beanstalk也采用类似概念,用户只需部署代码即可自动处理包括容量预置、负载均衡、自动扩展和应用程序运行状况监控在内的部署工作。同时能够完全控制为应用程序提供支持的 AWS 资源,并可随时访问基础资源。Elastic Beanstalk服务本身不收取任何费用,客户只需支付业务所需的服务器和存储资源所需的基础费用。

引用AWS官网https://docs.aws.amazon.com对Elastic BeanStalk服务的优势总结:

1.入门迅速,使用简单

2.提升开发人员生产效率

3.无限扩展

4.完善的资源控制

无Elastic BeanStalk的传统部署业务流程如下:

以简单web服务+ELB负载均衡的典型应用举例,需要运维和开发完成以下步骤:

  1. OPS部署一台服务器用于web服务。
  2. OPS在这台服务器内安装web服务器和其他应用软件比如php,jdk等。
  3. OPS修改配置文件,调试后将服务器完全启动。
  4. OPS建立个ELB负载均衡器,与后端web服务器联调好。
  5. OPS把业务服务器交付给DEV。
  6. DEV开始在服务器上部署代码。

采用Elastic BeanStalk的DevOps环境部署业务流程如下:

以简单web服务+ELB负载均衡的典型应用举例,需要运维和开发完成以下步骤:

  1. DevOps在Elastic BeanStalk服务种选择需要部署的服务架构后创建服务。
  2. DevOps在服务器上部署代码。

 可以看出,基于Elastic BeanStalk服务的DevOps部署方式比传统部署方式方便灵活很多,摆脱了传统环境下开发和运维按部就班泾渭分明的生产关系,Elastic Beanstack可以做到开发运维一体化,one shot for everything且业务无限弹性扩张。

Elastic BeanStalk入门使用介绍

上图:点击Elastic BeanStalk界面。然后点击Create one now。

上图:选择建立个web server的开发使用环境。

上图:输入环境名称。

上图:应用code平台这里根据客户需求进行选择,本例这里选择PHP平台。

上图:本实例中上传的代码选择sample application,用户也可以选择下方的upload your code选择上传自己已经有的代码(zip包或者war包)。最后点击Create environment创建。

上图:基于PHP的web服务正在启动中,一步到位的部署方式免去了传统环境中启动服务器,下载相关应用,配置应用等繁琐工作。

上图:Dashboard上可以看到应用已经部署成功。点击URL即可访问。

上图:web服务已经可以访问了,将来业务更新升级只需上传更新代码即可。

总结一下刚才的实验中,AWS Elastic BeanStalk替用户做了哪些工作:

  1. 创建SecurityGroup
  2. 创建EIP
  3. 创建EC2虚拟机
  4. 为EC2虚拟机部署PHP和web服务等应用
  5. 上传PHP代码到EC2虚拟机中
  6. 启动EC2并提供公网访问地址

补充: 基于AWS ElasticBeanStalk的业务的升级

上图:点击Dashboard页面running version处的Upload and Deploy按钮即可上传新版本的代码对服务进行升级改版。

上图:Action按钮下的选项中,clone Environment选项能对本环境进行克隆移植,保存配置或者是环境重构等操作,非常的方便。

总结:AWS ElasticBeanStalk对比传统环境下应用服务平台部署最大的优势便是简单无脑,方便灵活。一键部署的方式比传统环境下运维从创建服务器开始一步步的配置完成再交付给开发部署代码流程省时省力,扩展和移植也便捷,是一种颇受欢迎的云上DevOps工具。

by:白刃霜飞

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

DevOps on AWS之Elastic BeanStalk的更多相关文章

  1. AWS Add Key Pair to Elastic Beanstalk Instance 给EB实例加密钥

    Go to Elastic Beanstalk -> Configuration -> Security -> Virtual machine permissions -> E ...

  2. How to ssh to your Amazon Elastic Beanstalk instance?

    Well, if it's ec2 or a digital ocean server, it would be a lot easier- you do what you normally do f ...

  3. How to force https on amazon elastic beanstalk

    假设您已在负载平衡器安全组中启用https,将SSL证书添加到负载平衡器,将443添加到负载平衡器转发的端口,并使用Route 53将您的域名指向Elastic Beanstalk环境(或等效DNS服 ...

  4. DevOps on AWS之Cloudformation概念介绍篇

    Cloudformation的相关概念 AWS cloudformation是一项典型的(IAC)基础架构即代码服务..通过编写模板对亚马逊云服务的资源进行调用和编排.借助cloudformation ...

  5. 利用 AWS Elastic Beanstalk 部署 Wordpress 环境

    1. 准备 wordpress 代码 从https://wordpress.org/download/ 将代码压缩包下载到本地, 解压,会有一个 wordpress 目录 复制 wp-config-s ...

  6. DevOps on AWS之OpsWorks初体验

    AWS OpsWorks 是一款配置管理服务,提供 Chef 和 Puppet 的托管EC2虚拟机实例.Chef 和 Puppet 是自动化平台,允许用户使用代码来自动配置服务器.用户借助OpsWor ...

  7. DevOps on AWS之Cloudformation实践篇

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

  8. AWS In Action

    Core Services of AWS Elastic Cloud Compute(EC2) Simple Storage Service(S3) Relational Database Servi ...

  9. [转]基于AWS的自动化部署实践

    作者 徐桂林 发布于 2014年1月22日 -------------------------------------------------------------------- 1. 背景 在过去 ...

随机推荐

  1. BZOJ4241:历史研究(回滚莫队)

    Description IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记.JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件. ...

  2. Hive学习之路 (十二)Hive SQL练习之影评案例

    案例说明 现有如此三份数据:1.users.dat 数据格式为: 2::M::56::16::70072, 共有6040条数据对应字段为:UserID BigInt, Gender String, A ...

  3. 多线程并发容器CopyOnWriteArrayList

    原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容 ...

  4. [译]OpenGL像素缓冲区对象

    目录概述创建PBO映射PBO例子:Streaming Texture Uploads with PBO例子:Asynchronous Readback with PBO 概述 OpenGL ARB_p ...

  5. keepalived + nginx(负载均衡反向代理HTTP,https) + tomcat(HTTP,https)

    基本架构: nginx(192.168.116.198) client        --->keepalived(116.200)      ------> tomcat (192.16 ...

  6. STL容器与拷贝构造函数

    所有容器提供的都是“value语意”而非“reference语意”.容器内进行元素的安插操作时,内部实施的是拷贝操作,置于容器内.因此STL容器 的每一个元素都必须能够拷贝.---<<C+ ...

  7. Oracle cursors 游标 for循环遍历

    oracle提供了for循环语句,让我们可以遍历select搜索的结果.用法也很简单,代码如下: DECLARE ; BEGIN FOR C IN C1 LOOP -- 对select出的每一行进行操 ...

  8. MepReduce-开启大数据计算之门

    Hadoop MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.早期的MapReduce(MR)框架简单明了,JobTracker作为MR框架的集中处理点,随着分布式系统集群 ...

  9. go Context的使用

    控制并发有两种经典的方式,一种是WaitGroup,另外一种就是Context WaitGroup的使用 WaitGroup可以用来控制多个goroutine同时完成 func main() { va ...

  10. Scala_Trait特征

    1,scala提供的“特征”可以同时拥有抽象方法和具体方法,一个类可以拥有多个特质 2,类可以通过“extends”关键字继承trait,继承trait后必须实现trait中的所有抽象方法,而不是用 ...