DevOps on AWS之Elastic BeanStalk

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的云计算专家。

原文地址:https://www.cnblogs.com/pourrire/p/10052129.html

时间: 2024-10-10 08:18:11

DevOps on AWS之Elastic BeanStalk的相关文章

AWS Elastic Beanstalk + Tomcat

AWS - Amazon Web Services (AWS) - Cloud Computing Services EC2 - Amazon Elastic Compute Cloud (EC2) Create First Application in Elastic Beanstalk 1. Login AWS -> Services -> All AWS Services -> EC2 2. EC2 Dashboard -> Network & Security -&

创建应用程序源包AWS Elastic Beanstalk

使用 AWS Elastic Beanstalk 控制台部署新应用程序或应用程序版本时,需要上传源包.源包必须符合以下要求: 由单个 ZIP 文件或 WAR 文件组成 (您可以在 WAR 文件中包含多个 ZIP 文件) 不超过 512 MB 不包含父文件夹或顶级目录 (可包含子目录) 如果您要部署处理定期后台任务的工作线程应用程序,您的应用程序源包还必须包括一个 cron.yaml 文件. ~/myapp$ zip ../myapp.zip -r * .[^.]* adding: app.js

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 for a linux server. Elastic Beanstalk(eb) is supposed to facilitate the deployment process. but the setup/configuration is not that enjoyable, at least

How to force https on amazon elastic beanstalk

假设您已在负载平衡器安全组中启用https,将SSL证书添加到负载平衡器,将443添加到负载平衡器转发的端口,并使用Route 53将您的域名指向Elastic Beanstalk环境(或等效DNS服务).它还假定您没有使用基于docker的部署 所有你需要做的是将以下内容添加到您的一个.config files in the .ebextensions directory of your project: files: "/etc/httpd/conf.d/ssl_rewrite.conf&q

向 Elastic Beanstalk 环境中添加数据库

lastic Beanstalk 提供了与 Amazon Relational Database Service (Amazon RDS) 的集成以帮助您将数据库实例添加到 Elastic Beanstalk 环境.您可以使用 Elastic Beanstalk 在创建环境期间或之后将 MySQL.PostgreSQL.Oracle 或 SQL Server 数据库添加到您的环境.当您将数据库实例添加到您的环境时,Elastic Beanstalk 会通过设置数据库主机名.端口.用户名.密码和数

Elastic Beanstalk设置配置选项

AWS Elastic Beanstalk 支持大量配置选项,这些选项使您可以修改应用于环境中的资源的设置.其中一些选项具有默认值,可以覆盖这些值以自定义环境.其他选项可以进行配置以启动附加功能. Elastic Beanstalk 支持两种用于保存配置选项设置的方法.YAML 或 JSON 格式的配置文件可以放在应用程序的源代码中 (位于一个名为 .ebextensions 的目录中),并作为应用程序源包的一部分进行部署.您可在本地创建和管理配置文件. 保存的配置是您通过正在运行的环境或 JS

DevOps on AWS之Cloudformation概念介绍篇

Cloudformation的相关概念 AWS cloudformation是一项典型的(IAC)基础架构即代码服务..通过编写模板对亚马逊云服务的资源进行调用和编排.借助cloudformation可以极大帮助DevOps提升工作效率,减少重复劳动,配置和部署相关服务的时间,并把更多的精力花在应用程序领域. 引用AWS官网https://docs.aws.amazon.com对cloudformation服务的优势总结: 简化基础设施管理 快速复制基础设施 轻松控制和跟踪基础设施层的变更 部署

Elastic Beanstalk 自定义平台

要创建自定义平台,您需要基于所支持的操作系统之一 — Ubuntu.RHEL 或 Amazon Linux(有关确切版本号,请参阅 Platform.yaml 文件格式中的 flavor 条目)— 构建 AMI 并进一步添加自定义.您可使用 Packer(一种开源工具,用于为多种平台创建系统映像,包括用于 Amazon Elastic Compute Cloud (Amazon EC2) 的 AMI)创建您自己的 Elastic Beanstalk 平台.Elastic Beanstalk 平台

配置应用程序版本生命周期设置Elastic Beanstalk Lifecycle

每次您使用 Elastic Beanstalk 控制台或 EB CLI 上传应用程序的新版本时,Elastic Beanstalk 都会创建一个应用程序版本.如果不删除不再使用的版本,您最终会达到应用程序版本限制,并且无法创建此应用程序的新版本. 通过向应用程序应用应用程序版本生命周期策略,您可以避免达到限制.生命周期策略可要求 Elastic Beanstalk 删除应用程序的旧版本,或当应用程序的版本总数超过指定数量时删除一些应用程序版本. Elastic Beanstalk 在您每次创建新