技术开发 频道

Java开发2.0:您也可以租用 EC2

  【IT168 文档】在本期 Java 开发 2.0 中,Andrew Glover 介绍如何针对 Amazon Elastic Compute Cloud (EC2) 进行开发和部署。了解 EC2 与 Google App Engine 的差异,以及如何使用 Eclipse 插件和简洁的 Groovy 语言在 EC2 上快速地建立和运行简单的 Web 应用程序。

  您可能听说过 Standish Chaos Report,这份每年一次的报告研究成功和失败的 IT 项目(见 参考资料)。这份报告常常包含大量坏消息。(如果都是好消息,它就不应该称为 Chaos Report 了,对吗?)2009 年的报告指出,百分之 44 的 IT 项目由于各种原因出了问题。原因之一是项目超出预算。很容易想到导致项目超出预算的几个原因。例如,程序员的薪酬并不低。基础设施也是影响成本的因素之一。

  正如本系列第一篇文章(“使用 Google App Engine”)中指出的,Java™ 开发 2.0 的关键方面之一是,软件生产者现在可以不必维护高成本的内部基础设施,而是采用另一种替代方法。几年前,几家明智的公司开始利用硬件(及相关软件)的 “商品化”,它们构建了由大量廉价机器组成的系统,在这样的系统中即使某些机器出现故障,整个基础设施仍然可以继续运转。这些公司(比如 Google 和 Amazon 等)拥有庞大的基础设施,可以借给你我这样的人(同时保持其核心业务运行顺畅)。因此,云计算的概念现在变成了现实。如果您正在为 IT 项目制订预算,那么为了自己(和公司的利益)着想,应该研究一下从 Google 或 Amazon 租借基础设施是否比自己购买硬件便宜。

  EC2 的不同之处

  Google 和 Amazon 的租借基础设施很不一样。正如在 前一篇文章 中看到的,Google App Engine 更像是用于开发 Java Web 应用程序的平台。无法使用 Java 领域中可用的任意工具和框架,比如 Hibernate。例如,只能使用 Google 的 Big Table。但好处是可以把驻留的解决方案扩展到您需要的任何规模。(请记住,当您的 Google App Engine 网站达到带宽或空间上限之后,Google 就会向您收费)。

  Amazon EC2 提供的不像是开发平台,更像是通用的基础设施服务,它提供虚拟机器(可以是基于 Linux®、OpenSolaris 或 Windows® 的),可以在这些虚拟机器上运行任何程序。EC2 不是免费的,但是它比 Google App Engine 灵活得多。只要可以创建或租借虚拟机器,就可以运行任何 Java 应用程序(包括使用 Hibernate 的 Java 应用程序)。(Amazon 和它的社区提供完整的预配置虚拟机器目录,这种虚拟机器称为映像)。与 Google App Engine 一样,可以非常高效地把应用程序扩展到面向全球用户,但是部署应用程序的位置和扩展方式主要由 Amazon 控制。(Amazon 也允许选择几个地理区域来部署应用程序)。

  Amazon 提供了相关的 Eclipse 插件,帮助创建可以使用这个平台的应用程序。与使用 Google App Engine 插件时的情况相反,EC2 的灵活性很容易导致情况复杂化。例如,通过使用 Amazon 的 EC2 Eclipse 插件,很容易把 Apache Tomcat Web 应用程序(不包括数据库)部署到使用 EC2 的可配置集群上。但是,如果要实现这种基本用例之外的其他解决方案,比如使用 EC2 上已经部署的 MySQL 实例或使用 Amazon 的 SimpleDB,就需要多费些精力了。

  在本文中,我将讲解如何快速简便地创建一个简单的应用程序,它通过 Eclipse 在 Amazon 基础设施上使用 Groovlet。除了开发用的机器之外,您不需要任何硬件,也不需要为将使用的任何软件支付许可证费用。(必须为在 Amazon 的基础设施上驻留代码支付很少一部分费用)。

  EC2 入门

  要想使用 EC2,必须创建一个 Amazon Web Services (AWS) 账户。如果您还不是注册的 Amazon 客户,就需要提供信用卡号码 — EC2 不是免费的(但注册是免费的)。注册之后,您会收到一个 Access Key ID 和 Secret Access Key,这是安全地使用 EC2 所必需的。

  对于使用 AWS for Eclipse 插件,Amazon 建议使用 Eclipse 3.5;否则,需要先安装一些组件,这些组件在这个最新 Eclipse 版本中是默认的。因为您要创建和部署 Web 应用程序,我建议使用 Eclipse IDE for Java EE Developers,它包含一个漂亮的 Java EE 透视图,支持构建 Web 应用程序。

0
相关文章