Geva Perry是Heroku 、Twilio 、ScaleDB 、Sauce Labs 、GigaSpaces 、NEC等多家公司的咨询顾问,他的博客“Thinking Out Cloud” 着重谈论与云计算相关的问题。最近的一篇博客名为“云中的应用生命周期” ,Geva Perry在其中讲述了他对于云计算时代开发、部署、运维软件应用的思考。
在文章一开篇,Geva就提出:
云计算正在对软件应用的生命周期产生深远的影响。
......从原型化、到开发、测试与QA、持续集成,直到按阶段部署、上线后的工作(包括监控和管理);所有这些都可以在云中完成。
接下来,Geva按照应用生命周期的各个阶段介绍了相关服务及其提供商:
开发阶段
Geva指出:几乎开发阶段的所有领域都有云服务支持了。
- 以SaaS形式提供代码库、版本控制和缺陷跟踪服务的有:GitHub 、Beanstalk (Subversion-as-a-service)。
- IDE方面:有Mozilla Lab的Bespin 项目和HerokuGarden 项目。此外,还出现了混合的趋势,也就是在本地完成开发,但是直接在开发环境中向云中部署,比如g-Eclipse 项目和Aptana Cloud Connect 项目。Mike 项目也引起了Geva的兴趣,该项目能够添加、管理Java构建版本,供持续集成试用。
测试与QA阶段
Geva特别指出:云计算在该领域尤为活跃。相关的公司包括:
- Sauce On-Demand :基于Selenium开源框架,提供云中的web功能测试。
- Skytap :提供具备完备功能的“QA实验室”。
- Mercury:虽被HP收购,但是现在提供多种SaaS服务,受到越来越多的关注。
- IBM:已经启动了一个开发和测试的云服务 ,用户可以以“按使用付费(pay-per-use)”方式使用多种Rational产品。
部署阶段
Geva认为:这个领域是PaaS的天下,比如Google AppEngine、Force.com、Stax 、Heroku 、Engine Yard ,还有其他提供者。他们通过预先构建(pre-building)和预先配置(pre-configuring),搭建起相对完整的基础应用架构。
生产环境
在监测、管理生产环境的应用方面,Geva提到了New Relic ,这是一个完全运行在云中的应用性能管理服务,该服务即可以监测运行在诸如Engine Yard或AWS这样的云平台之上的应用,也可以监测部署于数据中心之中的应用。该服务支持Java和Rails两种应用。
Geva还提到RightScale ,该服务支持多种管理和监控能力,还将New Relic集成在其中。
最后,Geve还预测了未来的应用开发,他说:
……说到底,在很多人眼里, 云计算最重要的好处在于“提升业务敏捷性”,而应用开发是业务的关键组成部分。
如果我们综合上面的内容,做一个合理的推断,我们可以想见:一个基于Web的环境,开发人员可以在其中按照自己的需要, 调用多如繁星的工具, 轻轻点击鼠标,即可完成整个开发过程流水线的定制,而那些工具现在都是在本地完成安装和配置的。