首页>>技术前沿>>B/S,C/S软件系统开发
决定新旧世界演变的关键因素促使云应用在软件开发上上必须与过去有所不同
作者:西安软件开发公司 | 原创 来源:西安软件开发公司 | 时间:2013年11月12日| 点击:0次 | 【评论】

软件开发出现以来模式就未变过,软件开发人员的思维模式也尚未变过。但是因为人们上网的基础设施的改变,在软件开发过程中,应用设计和设计和部署的基础原则的确不好一时改变,这就要求软件开发人员应该适时把握!

现在的基础设施能力又有了新的飞跃,其主导是 Amazon Web Services(尤其在网络速度有了飞跃提升的前提下)。显然,为了能够充分利用新的云设施,那些在 AWS 上取得成功的应用必须与运行在企业服务器上的应用有着本质的不同—哪怕是与运行在虚拟服务器上的应用也不一样。除此以外,还有其他一些因素决定了云应用在设计上必须与过去有所不同。以下列举的就是其中一些关键因素,这些因素也决定了新旧世界演变的方式:

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

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

3.爆发性.在旧世界里,像财务和工资单这样的应用其负载一般都是很稳定和可预测的。特定时刻的系统用户数、待处理记录数基本上都是已知的。在新世界里,工作负载是多变的、不可预知的。今天的软件系统的触角必须伸得更远,要到达有服务需求的消费者和设备那里,时间不可预测,负载无法衡量(想想看那个成为众矢之的的 12306 网站吧)。要想适应独立应用负载这些不可预见的波动需要新的架构。虽然我们现在已经在云上面了,但是显然还处在初级阶段。

 4.软件多样性.在过去,软件并没有太多的多样性。每一款应用都是用一种语言编写的,使用的是一种数据库。公司一般都是依托与一个或少数几个操作系统。软件栈简单到令人乏味的地步(至少从现在看是这样的)。

而在云的新世界里,情况截然不同。一个应用里面可能就会用到许多不同的语言,不同的库,不同的工具包以及不同的数据库产品。同时由于在云端时你能够创建和启动自己的镜像,根据特定需求进行定制,一家公司的应用必须能够运行在各种不同的配置上。

5.用户的耐性.在旧世界,用户受到的教育是要有耐心。因为系统的响应可能需要很长一段时间才能完成一些简单的提取或更新请求,新功能的添加也很缓慢。在新世界里,用户是没有耐心的。他们几乎无法容忍时延,不愿意等待。他们希望软件经常更新,如果说不是每天的话,起码也是每周。你可以在自服务 IT 找到相关证据。在那里,你不是递张条子给 IT 部门然后等待几天后回应了事,用户所需的资源可以实现自提供。

 

此内容DOC下载 此内容PDF下载

【全文完】
关键词标签: 软件开发 软件开发人员 
0 (0)
0 (0)

版权声明:

1、陕西弈聪网站内容中凡注明“来源:XXX(非陕西弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,百度关键词优化,西安软件开发等技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“陕西弈聪”的作品系本站版权所有,任何人转载请署名来源,否则陕西弈聪将追究其相关法律责任。

2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。