DevOps on AWS之Elastic BeanStalk

Posted pourrire

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevOps on AWS之Elastic BeanStalk相关的知识,希望对你有一定的参考价值。

Elastic BeanStalk相关概念

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

 

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

1.入门迅速,使用简单

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

3.无限扩展

4.完善的资源控制

 

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

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

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

 

采用Elastic BeanStalkDevOps环境部署业务流程如下:

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

  1. DevOpsElastic 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创建。

 

 技术分享图片

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

 技术分享图片

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

 

 技术分享图片

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

 

 

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

  1. 创建SecurityGroup
  2. 创建EIP
  3. 创建EC2虚拟机
  4. EC2虚拟机部署PHPweb服务等应用
  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的主要内容,如果未能解决你的问题,请参考以下文章

启动 Ruby on Rails 应用程序时无法通过 AWS Elastic Beanstalk“恭喜”屏幕

AWS Elastic Beanstalk Ruby on Rails 6 应用程序部署错误与 nginx

在 Elastic Beanstalk 环境上部署 ruby​​ on rails 应用程序时出现 AWS 数据库迁移错误

使用 AWS Elastic Beanstalk 在 AWS 上部署 Spring Boot 应用程序

Docker-compose.yml for NodeJs with MySQL on AWS Elastic Beanstalk 单容器 Docker

部署 Ruby on Rails 6 - AWS Elastic Beanstalk - Docker: ArgumentError: Missing `secret_key_base`