Elastic Beanstalk部署策略
关注公众号:AWS爱好者(iloveaws)
文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
网站:www.iloveaws.cn
Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,我们今天继续Elastic Beanstalk的内容,介绍Elastic Beanstalk部署策略。
我们开始今天的课程内容。
上节课我们实操演示了使用EB部署了一个示例应用程序,那如果之后需要更新EB上的应用程序时,就需要在EB对新版本的应用程序进行部署。
我们先来看下EB支持的部署策略,EB支持4种部署策略,分别为:
一次性部署全部,滚动部署,附加批次的滚动部署,以及不可变的部署。
我们需要了解每一种部署策略具体是什么,以及使用每种部署策略具体的场景。
一次部署全部策略
首先,一次部署全部策略,All at once。
假设我们现在有一个新版本的应用程序需要部署,“一次部署全部策略”表示将新版本同时部署到所有实例,比如我们现在EB的环境一共有两个实例,那么一次部署全部表示将新版本同时部署到这两个实例。
在执行部署时,环境中的所有实例将短时间禁用。所以一次部署全部策略,对于业务是有停机时间的。
当因为某些原因更新新版本应用程序失败时,只能通过手动重新部署之前的旧版本完成版本的回滚过程。
一次性部署,因为是一次性部署全部实例,所以所需的部署时间应该是4种策略中最短的;但是缺点是在部署的过程中,所有的实例会短时间内禁用,也就是说部署过程中您的WEB应用程序是无法对外提供服务的。
以上,是一次部署全部策略。
滚动部署
我们来看下第二种部署策略,滚动部署。
滚动部署,是将新版本的应用程序按批次、分批进行部署,批量部署新版本程序。
前面的“一次部署全部策略”,是将新版本同时部署到所有实例;而“滚动部署”,是在部署阶段对实例分批次进行部署,分批次禁用服务,然后部署新版本,在恢复禁用提供服务。
在滚动部署期间,一些实例通过旧版本的应用程序处理请求,而已完成批次中的实例通过新版本处理其他请求,就是说会有同时存在新老版本应用程序提供服务的情况。滚动部署不是将新版本同时部署到所有实例的,如果新版本的应用程序有问题,采用滚动部署策略并不会一下同时影响所有用户。
滚动部署有一个特点是,因为采用的是分批次进行部署,所以在部署过程中,您配置的实例总体容量将会减少。
什么意思呢?假设我们现在有3个实例对外提供服务,当采用滚动部署时,会将其中一个实例禁用服务,然后进行部署新版本应用程序,这样的话在部署过程中您提供服务的实例数量就由之前一共3个实例变为2个,提供服务的 总的容量减少了。
所以采用滚动部署策略,就需要关注应用程序的负载对于容量的需求,如果需要3个实例保障正常服务,采用了滚动部署策略,就可能会造成在部署过程中容量减少给应用程序造成性能问题,这一点要注意。
附加批次滚动部署
上述的问题,就有了第三种部署策略“附加批次滚动部署”,滚动部署的另一个版本。
“附加批次滚动部署” 同样也是批量部署新版本应用程序,但不同的是它会先启动新的额外的实例批次进行部署,以确保部署过程中应用程序能够使用完整容量。
比如我们现在在EB有3个实例,采用附加批次滚动部署新版本应用程序时,EB会额外启动新实例进行部署,应用程序始终保持在部署过程中有完整的容量可用。
在部署完成后,Elastic Beanstalk 将终止附加的实例批次。
不可变部署
第四个部署策略是不可变部署,Elastic Beanstalk 在您环境的负载均衡器后面创建临时 Auto Scaling 组以及新实例,然后将新版本的应用程序先部署到这个新的auto-scaling组的新的一组实例上。此实例和在之前配置中运行的原始 Auto Scaling 组中的所有实例一起,为流量提供服务。然后当部署完成后,当新的实例完成健康状况检查后,会将这些新的实例移动到旧的auto-scaling组,并终止临时的 Auto Scaling 组以及旧的实例。
执行不可变部署时,部署失败带来的影响是最低的,如果部署新版本的新的实例未通过运行状况检查,则 Elastic Beanstalk 将终止这些实例,删除新的auto-scaling组,并使原始实例保持不变提供服务。
所以,基于这些特性,采用不可变部署策略,是生产环境的核心业务的首选之一。
好,以上就是Elastic Beanstalk部署策略,这些内容对于考试非常的重要,会有涉及的一些考点,希望大家重点关注。
以上就是我们今天的内容,希望能够给大家带来帮助。
希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问
关注公众号:AWS爱好者(iloveaws)
文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
网站:www.iloveaws.cn
Elastic Beanstalk部署策略相关推荐
- Elastic Beanstalk
关注公众号:AWS爱好者(iloveaws) 文 | 沉默恶魔(禁止转载,转载请先经过作者同意) 网站:www.iloveaws.cn Hello大家好,欢迎来到<AWS解决方案架构师认证 Pr ...
- Elastic Beanstalk进阶
关注公众号:AWS爱好者(iloveaws) 文 | 沉默恶魔(禁止转载,转载请先经过作者同意) 网站:www.iloveaws.cn Hello大家好,欢迎来到<AWS解决方案架构师认证 Pr ...
- 通过aws部署推荐系统_通过AWS Elastic Beanstalk轻松进行Spring Boot部署
通过aws部署推荐系统 朋友不允许朋友写用户身份验证. 厌倦了管理自己的用户? 立即尝试Okta的API和Java SDK. 数分钟之内即可在任何应用程序中对用户进行身份验证,管理和保护. 几乎所有应 ...
- 使用AWS Elastic Beanstalk轻松进行Spring Boot部署
朋友不允许朋友写用户身份验证. 厌倦了管理自己的用户? 立即尝试Okta的API和Java SDK. 在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护. 几乎所有应用程序都依赖于身份验证 ...
- aws部署ssh_将Quarkus应用程序部署到AWS Elastic Beanstalk
aws部署ssh Elastic Beanstalk允许在AWS云中部署和管理应用程序,而无需了解运行这些应用程序的基础架构. 使用Elastic Beanstalk,您可以运行可处理HTTP请求的网 ...
- 将Quarkus应用程序部署到AWS Elastic Beanstalk
Elastic Beanstalk允许在AWS云中部署和管理应用程序,而无需了解运行这些应用程序的基础架构. 使用Elastic Beanstalk,您可以运行可处理HTTP请求的网站,Web应用程序 ...
- 在Amazon Elastic Beanstalk上部署Spring Boot应用程序
在此博客中,我们将看到如何在Amazon ElasticBeanstalk上部署Spring Boot应用程序. Amazon ElasticBeanstalk具有一个预配置的Java环境,可用于部署 ...
- 部署微服务– Spring Boot fatjar到Amazon Elastic Beanstalk
最近,我正在研究概念验证的Web应用程序,我想将其部署到公共云以进行快速演示. 我决定使用Amazon,因为我已经有过使用它的经验. 亚马逊提供了几种不同的方式来部署Java Web应用程序. EC2 ...
- aws v2.2.exe_如何在AWS Elastic Beanstalk上部署Rails 5.2 PostgreSQL应用
aws v2.2.exe by Evrim Persembe 通过埃夫里姆·佩塞姆贝 如何在AWS Elastic Beanstalk上部署Rails 5.2 PostgreSQL应用 (How to ...
最新文章
- install python+twisted+mysqldb+django on mac
- vue打包后图片找不到情况
- RT-Thread GCC VSCode等开源工具链 在智能小车制作中的应用
- oracle学习小知识点总结
- HTML5+Bootstrap 学习笔记 1
- Android P DP1:WiFi-RTT、刘海、多摄像头、GIF动画、NNAPI 1.1
- 如何成为android开发工程师,android开发工程师薪资 如何成为一名合格的android开发工程师?...
- 将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
- local service system账户_systemd.service学习和使用总结
- linux下mips裸机编译,裸机交叉编译器输入
- 4章 关键的“构建”决策
- 从面向对象的api中识别软件组件(论文翻译)
- windows下php mongodb 安装配置使用查询
- dwr例外被抛出且未被接住
- 南京大学2020计算机考研分数线,2020南京大学考研复试分数线已公布
- linux 触屏校准命令,tslib-触摸屏校准
- 高铁站台怎么找车厢?
- 乐趣国学—品读“富润屋,德润身。”中的智慧
- 购买计算机键盘,电脑键盘选购常识_电脑键盘使用常识 -真快乐商城
- ❀工信工实验参考——《模电课设人体感应LED灯》
热门文章
- strcpy,strncpy的使用注意
- hibernate 一对多 取多方数据重复问题,FetchMode.JOIN、FetchMode.SELECT、FetchMode.SUBSELECT区别
- DeepLearning | 图卷积网络基于拓扑结构的分类(T-GCN)
- 初次使用Cadence Pspice仿真功能详细教程
- 基本figure类型
- u盘计算机滴滴滴,电脑开机,一直不停地“滴滴滴”叫,能进BIOS,能用U盘进PE系统,在PE读取写入硬盘什么的也没問題...
- svn用oracle认证方法,svn数据库认证方法
- Linux服务器无故挂了PHP
- 7-4 职工排序题 (18分)
- matlab工作方向,matlab的应用方向有哪些?