Welcome 微信登录

首页 / 软件开发 / JAVA / Java开发2.0 - 您也可以租用EC2

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

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

关于本系列

自 Java 技术出现伊始,Java 开发领域发生了巨大的变 化。得益于成熟的开放源码框架和可靠的可租借部署基础设施,现在我们能够以 很低的成本快速组装、测试、运行和维护 Java 应用程序。在这个文章系列中, Andrew Glover 探讨使这种新的 Java 开发范型成为可能的技术和工具。

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 是廉价的

使用 “小实例” — 用于运行简单应用程序的映像,它们并不使用大量空间 或内存 — 每小时收费 10 美分。带宽费用为收发的每 1GB 数据大约 30 美分 。还可以 “租借” IP 地址,每小时收费 1 美分(但是会保留它大约两天)。 部署和测试本文的应用程序大约花了我 60 美分。应该说这很便宜,我今天喝咖 啡就花了 3.50 美元。

要想使用 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 应用程序。

安装 AWS 插件套件

与安装其他 Eclipse 插件一样,要想安装 Amazon 的 AWS 插件,必须在 Eclipse 中通过 Help > Install New Software 找到插件的最新版本。 Install 对话框打开之后,在 Work with 文本框中输入 http://aws.amazon.com/eclipse。文本框下面会出现可用插件列表,见图 1。 选择整个 AWS Toolkit for Eclipse 选项,然后单击 OK。接受许可协议之后, Eclipse 安装这个插件。很可能需要重新启动 Eclipse。

图 1. 下载 AWS 插件

这个 Eclipse 插件允许指定 Web 应用程序的目标运行时环境。对于本文, 将使用 Tomcat 6,所以需要先 下载 并安装 Tomcat 6。尽管将把 Web 应用程 序部署到 EC2 上,而 EC2 运行一个 Tomcat 服务器集群,但是仍然希望在本地 测试和运行应用程序,因为这是免费的。