云计算带来软件开发新挑战
在云计算领域,软件的定制和交付将有哪些新的趋势和改变?云计算时代,硬件资源的获取和使用将更加方便、快捷,这必将刺激软件的开发,甚至带来软件开发思想界的巨大变革。对于软件厂商来说,一个关键问题是如何抓住这一机遇,改善软件交付的质量和流程,同时提升软件开发的技能。
云计算对软件开发的影响归纳来说分为三点:
第一,实现软件开发的自动化。为充分发挥硬件资源的价值,软件在开发过程中必须实现相应的自动化。自动化是指数据集成、持续交付、持续测试,它能迅速而充分地利用硬件资源来保证软件的高质量、高速交付。
第二,架构设计改变。传统的硬件系统都是纵向扩展(Scale Up),而云计算要求基础架构具有横向扩展(Scale Out)能力。根据基础架构设计和扩展方式的改变,软件开发者也要做出改变。不管架构有几层,也不管数据驻留在服务器端还是客户端,开发者都要迅速利用更便宜、更多的资源满足计算需求,并共享数据。
第三,软件开发的过程其实是一个猜想的过程,而不是去验证一个事实的过程。在云平台上,网络断线或硬件故障等比以往更常见。它要求软件在开发过程中能够容忍更多这种情况的出现,并能快速恢复。衡量软件性能的一个重要标准是平均故障恢复时间,即硬件或软件本身出现问题,多长时间内可以恢复到最初的状态。这对软件开发者来说是一个新的挑战。