你好,游客 登录 注册 搜索
背景:
阅读新闻

前MySQL CEO:云将重新定义开发者的每一件事

[日期:2013-05-27] 来源:GigaOM  作者:Marten Mickos [字体: ]

软件自诞生以来的规则就不曾改变,即软件运行于平台之上。但是软件底层的设计和部署方式却时常发生变化,甚至有时候会彻底的改变。

举个例子,在PC、x86架构以及client/server的模式诞生的80年代,应用程序的设计发生了戏剧性的变化。变化再一次发生在90年代中期,这次是由web及开源技术爆发引起的。无论何时,只要发生这样的变革,就迫使开发者重新思考如何开发和部署他们的软件。

图:Marten Mickos

如今,我们再次看到基础设施的能力发生着巨大的增长,以AWS正引领着行业发展。毫无疑问,AWS在云基础设施领域处于全面领先地位,在AWS上运行应用与在私有环境中运行应用有着天然的不同,即使是经过虚拟化的私有环境。但不论现在还是未来,云应用的设计都和过去显著不同。

扩展

过去,扩展意味着纵向扩展(scaling up),存储更大量的数据,你通常购买更大的服务器。

现在,扩展通常为横向扩展(scaling out)。你不需要购买一个更大的机器,你只需要增加同样的机器。在云世界中,这些机器都是虚机。

弹性

过去,软件被视为不靠的,软件的恢复力依靠硬件层实现。

如今,底层的基础设施被视为非常脆弱的,这些虚机并不保证总可用,应用必须为此随时做好准备。

举个例子,Netflix是领先的云计算用户,正使用这一全新的架构。他们正运行着ChaosMonkey
,ChaosMonkey可以轻易的关闭用于底层应用负载的虚机。为什么只有Netflix这么做?因为他们需要保证虚机正常运行时间和恢复力:通过清除应用随机产生的故障虚机,他们强制开发者建立更弹性的应用。

爆发

过去,考虑统计和费用全部通过应用,应用的负载是坚固的,而且是可预期的。很容易知道系统支撑了多少用户,以及在某一时间点有多少记录可能在运行。

如今,负载变得多样化和不可预知。为了满足单一应用不可预知的复杂需求,就需要新的软件架构。我们现在已经在云中实现这一功能,但显然还很初级。

软件多样性

过去,软件没有那么多的类型。每个应用由一种语言编写,并使用一个数据库。公司往往只使用一种或几种操作系统。

在当下的云世界中却大相径庭。一个应用往往使用许多编程语言,调用许多库和工具集,并使用许多数据库产品。

从虚机到云

Hypervisor与现在云计算考虑的不同。领先的虚拟化厂商VMware,建立的Hypervisor本质上是对以前物理机的延续。

不过,在云世界中,虚机可不是物理服务器的代表,而是计算单元额代表。

用户耐心

过去,用户就像病人面对医生时一样听话。系统需要很长时间来处理一个简单的恢复或升级,在应用中增加功能也十分缓慢,有时根本不进行更新。

如今,用户可不是“病人”。他们几乎不能忍受延迟或等待,他们期待每周在服务商都有所改善。这种迹象可以在企业的自服务IT系统中发现,IT部门可以灵活的提供内部各种资源需求。





收藏 推荐 打印 | 录入: | 阅读:
相关新闻