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. 背景 在过去 ...
随机推荐
- Entity Framework连接MySQL时:由于出现以下异常,无法生成模型:“表“TableDetails”中列“IsPrimaryKey”的值为DBNull.
解决办法一: 1.cmd 2.c:\Users\Administrator>cd c:\Program Files\MySQL\MySQL Server 5.7\bin 3c:\Program ...
- logstash 匹配日志格式
2017-05-15 12:06:17 INFO me.cinyi.imapp.push.commons.iospush - 用户ID[1000]-标识[11500], admin推送通知成功, ...
- jQuery页面滚动数字增长插件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- smtp ssl模式邮件发送与附件添加
#!/usr/bin/python3 import os import smtplib from email.mime.text import MIMEText from email.mime.mul ...
- sudo 其他用户执行命令
sudo -E -u clouder /home/clouder/vs/program/chatserver/bin/startup.sh -E 加载用户环境变量
- Mysql利用binlog日志恢复数据操作(转)
a.开启binlog日志:1)编辑打开mysql配置文件/etc/mys.cnf[root@vm-002 ~]# vim /etc/my.cnf在[mysqld] 区块添加 log-bin=mysql ...
- CANopen和DeviceNet有何异同
>> 欢迎您,客人: 登录 | 注册 | 忘记密码 | 在线 | 搜索 | 帮助 DND开发论坛 ◇ DeviceNet技术讨论区 ◇ [返回] [讨论]CANopen和DeviceN ...
- 20155308 加分题-mybash的实现(第五周)
20155308 加分题-mybash的实现(第五周) 实验要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管 ...
- 游戏手柄(JoyStick)编程学习笔记(2)
在我的上一篇博客中(http://blog.csdn.net/liyuanbhu/article/details/51714045),介绍了通过 multimedia joystick API 来访问 ...
- loj#121.「离线可过」动态图连通性
题面 话说#122怎么做啊 题解 我的\(\mathrm{LCT}\)水平极差,连最小生成树都快忘了,赶紧复习一下 做法和这篇是一样的 这道题还可以练习线段树分治 还可以练习ETT 果然是道吼题 代码 ...