新闻动态
云环境对软件开发有何影响?
https://www.sytm.net 发布日期:2013/5/24 17:09:45

软件的模式自问世以来就没有改变过,但是有时候由于基础设的飞跃发展,应用设计和部署的基础原则的确会不时改变有时候这种变化也是很强烈的。

现在的基础设施能力又有了新的飞跃,其主导是 Amazon Web Services尤其在网络速度有了飞跃提升的前提下。显然,为了能够充分利用新的云设施,那些在 AWS 上取得成功的应用必须与运行在企业服务器上的应用有着本质的不同—哪怕是与运行在虚拟服务器上的应用也不一样。除此以外,还有其他一些因素决定了云应用在设计上必须与过去有所不同。 每一次的巨变都会让软件开发者对软件的开发和部署方面进行反思。

旧世界的伸缩是通过扩容实现的—要想容纳更多的用户或数据,只需购买更大对的服务器。而在新世界里,伸缩性通常是通过横向扩展实现的。要增加的不是更大的机器,而是同类的多台机器。在云世界中,那些机器是虚拟机。

以前,软件是不可靠的,弹性是在硬件层实现的。今天,底层的基础设施硬件被视为是薄弱环节,所以应用必须自我调整来适应。应用并不会保证每一个虚拟机实例都工作正常。单台虚拟机一段时间失效也没关系,应用必须对此做好准备。

就拿 Netflix 来说吧,这可以说是最先进的云用户了,它在云应用的道路上迈出的步伐是最远的。他们有一个过程叫做 ChaosMonkey,会随机地杀死应用负载下的虚拟机实例。这么做的目的是什么呢?就是为了确保应用的正常运转和弹性:通过让应用面对随机的实例损失来迫使应用开发者开发出更加弹性的应用。

在现实这个世界里,用户所需要的快节奏是无法容忍延时与等待的,所以在做云环境的时候,就应该多多考虑到对软件开发的影响。

更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览