在PaaS上编写故障切换算法时应避免的三大陷阱

时间:15-01-01 栏目:云计算 作者:爱说云网 评论:0 点击: 1,260 次

云服务停运事件果真发生时,通常会激活故障切换机制,以便从运行不畅的服务器切换到正常运行的服务器。那样,云服务在故障切换过程中可以正常运行,不会带来任何破坏或干扰。

不过,故障切换算法并不总是丝毫没有任何问题。比如说,算法并不总是事先告诉你有没有足够的资源让算法运行。一旦计算资源在故障切换过程中耗尽,最终结果就是云服务停运(比如亚马逊服务停运)。

在停运期间,平台即服务(PaaS)开发人员和软件即服务(SaaS)用户大声喊着无法按时完成工作。为了迫切希望让云服务尽快恢复正常,他们会不断打电话给信息即服务(IaaS)提供商的技术支持部门。最终,IaaS提供商解决问题。

编写故障切换算法时要留意的问题

如果你遇到了云服务停运事件,对IaaS提供商的故障切换算法又不满意,那你可以决定编写自定义的故障切换算法。你需要在不同的场景下测试算法,确保算法运行起来无误。一旦所有测试返回了正面的结果,你应该征得IaaS提供商的同意:要是提供商的故障切换算法失效,可以在下一轮云服务停运时在生产环境中激活算法。

你在编写故障切换算法时,需要避免以下三大陷阱。

1. 闰年日期

上一个闰年日期是2012年2月29日。有人忘了检查微软Azure中颁发安全证书的那台服务器是否能识别这个日期。一旦时钟滴答滴答地报出那个日期的头几分钟,一个虚拟机无法启动。管理员想找到并解决这个问题并非易事。

下一个闰年是2016年2月29日,所以你有的是大把时间来避免同样的不幸事故。你应该在PaaS上测试几种闰年识别算法;这可以帮助你确保安全证书会识别闰年日期。

2. 不稳定的数值算法

你发现自己编写的一种数值算法不稳定,可惜发现得太晚。该算法引起了耗费计算机资源的无限循环。由于可供使用的资源越来越少,云服务性能越来越低下。等到一点资源都没剩下时,云服务就停止运行。

下面这个简单的场景可以帮助你更清楚地了解数值算法会如何变得不稳定。

为了解2的平方根,你先让算法从1.4这个初始近似值开始处理。你设定了一个很小的值,算法应该会向该值收敛。达到这个值后,算法给出近似的答案:1.41421(正如预期)。这时候,算法停止运行;它很稳定,因为它释放了资源,供其他计算任务使用。

你在新算法中建立略有不同的逻辑。你从1.42、而不是1.4这个初始近似值开始处理。你发现,结果并不向预期的值收敛――它与第一个数值算法得到的近似答案偏差很大。

答案越来越长。该算法继续陷入无限循环,不断消耗资源。等到一点资源都没剩下时,算法才停止运行,这表明它不稳定。

为了避免这个陷阱,你需要事先做好功课,确定该算法能不能向预期的值收敛。

3. 虚拟机管理程序失效

所有PaaS(无论开源还是闭源)都位于在IaaS下面的虚拟机之上。所有虚拟机的创建和运行由虚拟机管理程序统一负责。物理服务器能托管运行多少个虚拟机,取决于物理服务器的能力/容量。

一旦虚拟机管理程序失效,所有虚拟机停止运行。导致失效的一个根源是,IaaS基础设施专业公司无法确定一台物理服务器能托管运行多少个虚拟机。提供商未能精确核实服务器的能力/容量。他试图添加超出这台物理服务器资源极限范围的虚拟机。如果极限范围是顶多2个虚拟机,提供商又添加一个虚拟机,那么物理服务器托管的所有虚拟机就会停止运行。

为了避免这个陷阱,你需要弄清楚一台物理服务器能托管运行多少个新的虚拟机。将弄清楚的结果与IaaS提供商或IaaS基础设施专业公司对比一下。确保你备份了所有虚拟机,这是一项日常任务。

结束语

别一味依赖IaaS提供商的故障切换算法。你可以编写自己的故障切换算法,不过记得在你运行这些算法之前事先征得IaaS提供商的同意。

相关文章

你应该知道的五种开源PaaS方案
views 1589
开源平台即服务(PaaS)让广大开发人员和用户可以贡献及共享源代码和扩展件。有的PaaS由厂商驱动,有的则基于标准。 厂商驱动的开源PaaS让广大开发人员和用户被某家厂商牢牢锁定。说到将应用程序从厂商驱动的开源平台传送到另一个平台,开发人员在这方面的控制权很有限。 基于标准的开放平台则与厂商无关...
教你如何使用PaaS作为安全控制的试验平台...
views 1963
美国商务部国家标准与技术研究所(NIST)在2014年12月发布了特别出版物800-53A修订版4(详见http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53Ar4.pdf),概述了高级信息系统安全官(ISSO)和信息系...
云计算霸主之争:IBM Bluemix PaaS能否撼动AWS...
views 2332
IBM SoftLayer对Bluemix平台和 Watson API赞不决口,但蓝色巨人是否能够赢得其他开发厂商的芳心和青睐呢? IBM开始与亚马逊网络服务展开了云计算霸主之争,这可能是一场旷日持久的争夺,但是迄今为止它最有前途的战略在于它的最新努力。 到目前为止,IBM的战略就是一直...
弥合 IaaS 与 PaaS 间差别的三种方法
views 1148
现在市场上关于将云服务的级别提升到基础设施即服务(IaaS)以上的动静或声势越来越大。在云服务层次体系中,价值链上的下一个选择就是平台即服务(PaaS)。不像IaaS托管运行虚拟机,并要求用户提供操作系统和中间件,PaaS提供了包括软硬件在内的完整平台,应用程序在该平台上运行。PaaS能实现更多的...
IaaS、SaaS、PaaS在物联网中的应用
views 1213
随着物联网产业的深入发展,物联网发展到一定规模后,在物理资源层与云计算结合是水到渠成。一部分物联网行业应用,如智能电网、地震台网监测等,终端数量的规模化导致物联网应用对物理资源产生了大规模需求,一个是接入终端的数量可能是海量的,另一个是采集的数据可能是海量的。 IaaS模式在物联网中的应用 无论是...
大话白话云计算
views 2948
大话白话云计算   云计算是什么?IaaS、PasS、SaaS,公有云、私有云、混合云,.......诸多名词术语和花样繁多的产品让人云里雾里的,整不明白。   其实可以类比一下。 PC时代好比农业社会:农户每家亲历亲为种地种田;而云计算时代则好比有分工明细的工业化社会,人类有了...
该用开源PaaS还是专有PaaS?两条标准帮你选择...
views 1309
如果您的企业的工作团队想在PaaS上开发、测试及部署应用程序,但却很难在开源PaaS或专有PaaS之间作出选择。预算是影响你选择办公工具和PaaS的一大因素。 开源PaaS是免费的。它是用广大开发人员和用户组成的社区贡献的代码构建而成的,例子包括Cloudify、Cloud Foundry、Ope...
借助四个防御阶段,保护PaaS免受黑客攻击...
views 1259
平台即服务(PaaS)天生存在会被黑客钻空子的安全漏洞。为了缓解这个风险,你应该考虑采用深层防御(defense-in-depth)方法。这种方法让你可以建立多层防御机制,以便在黑客与攻击目标之间设置重重障碍。 你不能单单依赖一种安全机制来阻止黑客――其实需要多层其他机制来保护PaaS,远离不同类...

声明: 本文由( 爱说云网 )原创编译,转载请保留链接: 在PaaS上编写故障切换算法时应避免的三大陷阱

在PaaS上编写故障切换算法时应避免的三大陷阱:等您坐沙发呢!

发表评论


读者排行