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负载均衡的典型应用举例,需要运维和开发完成以下步骤:
- OPS部署一台服务器用于web服务。
- OPS在这台服务器内安装web服务器和其他应用软件比如php,jdk等。
- OPS修改配置文件,调试后将服务器完全启动。
- OPS建立个ELB负载均衡器,与后端web服务器联调好。
- OPS把业务服务器交付给DEV。
- DEV开始在服务器上部署代码。
采用Elastic BeanStalk的DevOps环境部署业务流程如下:
以简单web服务+ELB负载均衡的典型应用举例,需要运维和开发完成以下步骤:
- DevOps在Elastic BeanStalk服务种选择需要部署的服务架构后创建服务。
- 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替用户做了哪些工作:
- 创建SecurityGroup
- 创建EIP
- 创建EC2虚拟机
- 为EC2虚拟机部署PHP和web服务等应用
- 上传PHP代码到EC2虚拟机中
- 启动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的更多相关文章
- AWS Add Key Pair to Elastic Beanstalk Instance 给EB实例加密钥
Go to Elastic Beanstalk -> Configuration -> Security -> Virtual machine permissions -> E ...
- 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 ...
- How to force https on amazon elastic beanstalk
假设您已在负载平衡器安全组中启用https,将SSL证书添加到负载平衡器,将443添加到负载平衡器转发的端口,并使用Route 53将您的域名指向Elastic Beanstalk环境(或等效DNS服 ...
- DevOps on AWS之Cloudformation概念介绍篇
Cloudformation的相关概念 AWS cloudformation是一项典型的(IAC)基础架构即代码服务..通过编写模板对亚马逊云服务的资源进行调用和编排.借助cloudformation ...
- 利用 AWS Elastic Beanstalk 部署 Wordpress 环境
1. 准备 wordpress 代码 从https://wordpress.org/download/ 将代码压缩包下载到本地, 解压,会有一个 wordpress 目录 复制 wp-config-s ...
- DevOps on AWS之OpsWorks初体验
AWS OpsWorks 是一款配置管理服务,提供 Chef 和 Puppet 的托管EC2虚拟机实例.Chef 和 Puppet 是自动化平台,允许用户使用代码来自动配置服务器.用户借助OpsWor ...
- DevOps on AWS之Cloudformation实践篇
cloudformation入门实践 AWS cloudformation通过模板对AWS云资源进行编排和调用.并且可以通过模板代码层面的修改就可以对现有环境进行升级改造,云端业务的灵活便捷特点展现无 ...
- AWS In Action
Core Services of AWS Elastic Cloud Compute(EC2) Simple Storage Service(S3) Relational Database Servi ...
- [转]基于AWS的自动化部署实践
作者 徐桂林 发布于 2014年1月22日 -------------------------------------------------------------------- 1. 背景 在过去 ...
随机推荐
- BZOJ4241:历史研究(回滚莫队)
Description IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记.JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件. ...
- Windows10中以管理员身份打开命令提示符
WIN+X+A (要关闭替换) 从任务栏启动 从开始菜单 从资源管理器 连贯即(alt+f+s+a)
- 解决nodejs运行程序卡死之后,程序后台运行的问题
查看node进程 ps aux | grep node 查出的结果如下 root 1660 0.0 1.5 885024 15892 tty1 Sl+ Mar11 0:00 node server.j ...
- beta冲刺后续讨论
目录 组员:胡绪佩 组员:何家伟 组员:黄鸿杰 组员: 翟丹丹 组员:周政演 组员:胡青元 组员:庄卉 组员:刘恺琳 组员:何宇恒 组员:刘一好 组员:葛家灿 组员:胡绪佩 总结 通过这次的Beta版 ...
- 你的安全设置不允许网站使用安装在你的计算机上的ActiveX控件
在IE中,工具--INTERNET选项--安全--自定义级别--"下载未签名的ActiveX控件"选项改成"提示"或"允许"就好了.
- CCF 201709-1打酱油
问题描述 小明带着N元钱去买酱油.酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶.请问小明最多可以得到多少瓶酱油. 输入格式 输入的第一行包含一个整数N,表示小明可用于买酱油的钱数 ...
- cleanCode[2]:函数编写的几大规则
函数编写的几大规则 很难一开始就遵循这些规则,但是可以先想什么就写什么,然后再打磨它. 1.短小 函数的第一规则是短小,第二规则是还要更短小. if.else.while语句等,其中的代码块应该只有一 ...
- iOS 多线程:『RunLoop』详尽总结
1. RunLoop 简介 1.1 什么是 RunLoop? 可以理解为字面意思:Run 表示运行,Loop 表示循环.结合在一起就是运行的循环的意思.哈哈,我更愿意翻译为『跑圈』.直观理解就像是不停 ...
- Python 包、模块、函数、变量作用域
Python 项目的组织结构 - 包 -- 模块 --- 类 ---- 函数.变量 Python是利用包和模块来组织一个项目的. 包: 包的物理表现是一个文件夹,但是一个文件夹却不一定是个包, ...
- 用java数组模拟购物商城功能与实现
实体类1(商品): package mall.model; public class goods { private int shoppingID; // 商品编号 private String sh ...