Geva Perry 谈云中的软件应用生命周期

  • 郑柯

2009 年 11 月 18 日

话题:Java敏捷Ruby持续集成架构云计算DevOps语言 & 开发文化 & 方法

Geva Perry 是HerokuTwilioScaleDBSauce LabsGigaSpaces、NEC 等多家公司的咨询顾问,他的博客“Thinking Out Cloud”着重谈论与云计算相关的问题。最近的一篇博客名为“云中的应用生命周期”,Geva Perry 在其中讲述了他对于云计算时代开发、部署、运维软件应用的思考。

在文章一开篇,Geva 就提出:

云计算正在对软件应用的生命周期产生深远的影响。

...... 从原型化、到开发、测试与 QA、持续集成,直到按阶段部署、上线后的工作(包括监控和管理);所有这些都可以在云中完成。

接下来,Geva 按照应用生命周期的各个阶段介绍了相关服务及其提供商:

开发阶段

Geva 指出:几乎开发阶段的所有领域都有云服务支持了。

  • 以 SaaS 形式提供代码库、版本控制和缺陷跟踪服务的有:GitHubBeanstalk (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、StaxHerokuEngine Yard,还有其他提供者。他们通过预先构建(pre-building)和预先配置 (pre-configuring),搭建起相对完整的基础应用架构。

生产环境

在监测、管理生产环境的应用方面,Geva 提到了New Relic,这是一个完全运行在云中的应用性能管理服务,该服务即可以监测运行在诸如 Engine Yard 或 AWS 这样的云平台之上的应用,也可以监测部署于数据中心之中的应用。该服务支持 Java 和 Rails 两种应用。

Geva 还提到RightScale,该服务支持多种管理和监控能力,还将 New Relic 集成在其中。

最后,Geve 还预测了未来的应用开发,他说:

……说到底,在很多人眼里,云计算最重要的好处在于“提升业务敏捷性”,而应用开发是业务的关键组成部分。

如果我们综合上面的内容,做一个合理的推断,我们可以想见:一个基于 Web 的环境,开发人员可以在其中按照自己的需要, 调用多如繁星的工具, 轻轻点击鼠标,即可完成整个开发过程流水线的定制,而那些工具现在都是在本地完成安装和配置的。

Java敏捷Ruby持续集成架构云计算DevOps语言 & 开发文化 & 方法