Ran*_*ers 4 websphere-liberty ibm-cloud
我正在将一个打包的自由服务器部署到包含我的应用程序的Bluemix中.
我想更新我的应用程序,但在此之前,我想知道什么是备份我当前正在运行的最佳方法?如果我的更新不好,我想恢复以前版本的应用程序.
换句话说,更新Bluemix中Liberty服务器上运行的Web应用程序的最佳实践或建议方法是什么.我是否只是保留了我推送到Bluemix的zip的备份并在出现问题时恢复它?或者Bluemix是否提供备份和还原的管理功能?
据了解,推拉链的手动备份是可接受的策略.此外,我发现Bluemix文档蓝绿色部署是一个合理的解决方案,因为它是一种利用持续交付的部署技术,并允许客户在出现任何问题时回滚其应用程序.
Cloud Foundry文章使用Blue-Green部署来减少停机时间和风险简洁地解释了部署步骤(因为Bluemix基于Cloud Foundry,步骤类似于示例:在前面引用的Bluemix文档中使用cf map-route命令步骤).
我同意Ryan建议使用蓝/绿方法,尽管云服务器部署的新手可能不熟悉这个术语.Martin Fowler总结了它在BlueGreenDeployment中解决的问题:
自动化部署的挑战之一是切换本身,将软件从测试的最后阶段带到现场制作.您通常需要快速执行此操作以最大限度地减少停机时间.蓝绿色部署方法通过确保您拥有两个尽可能相同的生产环境来实现此目的.在任何时候,其中一个,例如蓝色的例子,就是现场.在准备软件的新版本时,您将在绿色环境中进行最后的测试阶段.一旦软件在绿色环境中工作,您就切换路由器,以便所有传入的请求都进入绿色环境 - 蓝色环境现在处于空闲状态.
解决此问题是PaaS的主要优势之一.
也就是说,对于历史背景而言,值得注意的是,这种蓝/绿策略对云计算来说并不陌生.请允许我详细说明处理此问题的"旧"方法之一:
我们假设我有一个托管在专用服务器上的网站myexample.com
.面向公众的服务器的IP地址("蓝色")将在DNS"@"条目中表示或作为CNAME
别名; 另一台服务器("绿色")将托管较新版本的应用程序.要以面向公众的方式测试新应用程序而不影响实时生产环境,我只需更新/etc/hosts
以将顶级域名映射到绿色服务器的IP地址.例如:
129.42.208.183 www.myexample.com myexample.com
Run Code Online (Sandbox Code Playgroud)
刷新本地DNS条目并关闭所有浏览器后,所有请求都将被定向到绿色预生产环境.一旦我按预期确认了所有工作,我就会更新实时环境的DNS条目(myexample.com
在本例中).假设DNS具有相当短的TTL值(如300秒),A
如果按IP或CNAME
记录值(如果是别名)更新记录值,则更改将在几分钟内传播到DNS服务器.为了确认新DNS值的传播,我注释掉上述/etc/hosts
更改,刷新本地DNS条目,然后运行traceroute
.假设它在本地正确解析,我会使用免费的在线DNS检查程序(例如,whatsmydns.net)对世界其他地方进行最后的双重检查.
以上假设对面向公众的内容服务器(例如,连接到数据库或应用服务器的Apache服务器)进行更新; 如果更新适用于中央数据库或类似的事务数据服务器,则从预生产到生产的转换更为复杂.如果它对网站访问者没有太大的破坏性,我会禁用登录并删除所有活动会话,从而有效地将网站呈现为只读.然后我以与前面描述的相同的方式更新后端服务器,即切换预生产绿色前端以引用预生产绿色后端中的复制,测试,然后当所有内容都检出时,切换绿色前端为蓝色并重新启用登录.瞧.
好消息是,使用Bluemix,上述相同的策略适用,但由于不需要对DNS条目或单独的服务器大惊小怪,因此简化了.
相反,您创建了两个应用程序,一个是实时("蓝色"),另一个是预生产("绿色").您可以更新预生产应用程序(cf push Green
将新代码推送到预生产应用程序),使用自己的URL(Green.ng.mybluemix.net
)进行测试,而不是更改站点的DNS条目并等待更新在全球范围内传播.你确信它是生产就绪的,将应用程序添加到路由表(cf map-route Green ng.mybluemix.net -n Blue
),此时应用程序"蓝色"和"绿色"将接收传入请求.然后,您可以通过取消映射(cf unmap-route Blue ng.mybluemix.net -n Blue
)来使先前的应用程序版本脱机.
网站访问者不会遇到任何服务中断,而且与我之前概述的"旧"方式不同,部署团队(a)在知道某些内容不起作用之前,不必咬指甲等待DNS条目在世界各地传播. (b)如果在部署后发现严重问题,可以立即恢复到以前已知的工作生产版本.
归档时间: |
|
查看次数: |
335 次 |
最近记录: |