云计算应用应具有的一个特点 - “Design for Fail”

充分利用云计算的优势特性,是云端应用在设计时应该考虑的事情。现在通过比较传统应用与云端应用来说明云端应用的一大特点 – Design for Fail。也就是在设计时充分考虑系统的容错能力

 

传统型用户依赖于硬件平台提供的HA和DR,这就是我们常看到的硬件设备HA,双活,load balance 等等。而云端应用型用户将自己处理HA和DR策略,看下面出自VMware云计算架构的示意图。

云端应用共同特点

  • 分布式
  • 无状态、软状态
  • 失效切换在应用端
  • 扩展性在应用端

传统型应用共同特点

  • 客户端-服务器架构
  • 难以横向扩展
  • 失效切换在服务端
  • 扩展性在服务端

传统型应用将需要如FT、VM级别的高可用性、自动病毒扫描等功能,而云端应用则不需要,当一台虚拟机出问题后,新的一台虚拟机将替代它。

微软 William Baker的出名文章 Pets vs. Cattle 的比喻可以充分说明这两种架构的特点。

比喻是这样说的:在传统服务模式下,你可以想象你的主机就是你的宠物,你给他们取名字,比如dusty、cern等等,他们被精心抚养长大。当他们生病了,你得修复他们。在云计算型应用服务模型中,虚拟机被看做是农场中的公牛,他们的名字通常都是编号,牛和牛长得也差不多,当他们生病了,你就杀掉他,用一头新牛代替。

真正的云架构,云端应用应该像对待农场中的公牛一样。不必在意虚机的保养,整个架构高可用性不会依赖云虚机的高可用。这样说明的对虚机的保养,维护在云计算平台应用中的地位逐渐削弱,越来越不那么重要了。

你可能感兴趣的:(管理,云,微服务)