“ POJOs in Action ”的作者 Chris Richardson 发布了云工具(Cloud Tools),这是一套在Amazon 的弹性计算云(Amazon’s Elastic Computing Cloud,即EC2)上部署和测试Java EE 应用的工具,该工具基于 Apache License 2.0 。
该云工具主要有三个组成部分
- 用来运行 Tomcat 及与 EC2Deploy 协同工作的亚马逊机器映象(Amazon Machine Images——AMIs)
- 核心框架——EC2Deploy
- 一个使用 EC2Deploy 将 web 应用部署到 EC2 上的 Maven 插件
Chris Richardson 撰写了博文说明他为何创建云工具:
计算机硬件以前是一种稀少而昂贵的资源。在计算处理的早期,很多开发者需要共享同一台机器。现在每个开发者都拥有自己的机器了,但很少人拥有一台以上的机器。这意味着运行性能测试常常要重新配置机器的环境。与此类似,甚至仅仅复制一部分产品环境也需要大量的工作。然而通过使用 EC2,这一切变得不同。有一套 Linux 服务器用来处理 web service 调用。根据服务器的类型,每台服务器每小时你只需要支付 10-80 美分,你最多可以使用 20 台服务器!无需其他费用,也不必再为购买和配置机器而苦等。 我创建 EC2Deploy 的目的是为了让企业 Java 开发者能更加轻松地使用 EC2。它是一个 Groovy 框架,用来将企业 Java 应用部署到一套 Amazon EC2 服务器上。EC2Deploy 提供了一个简单、易于使用的 API 以加载一套 EC2 实例;配置 MySQL、Apache 和一个或多个 Tomcata 服务器;还能部署一个或多个 Web 应用。此外,它还能运行 JMeter 并收集性能指标。
在项目的主页上就如何使用 Maven 插件将应用部署到 EC2 上有一个简短的介绍:
该 Maven 插件是使用云工具的最简单的方式。一旦你在 pom.xml 中配置好了插件,你就可以使用“mvn cloudtools:deploy”将你的 Web 应用部署到 EC2 上。这会:
- 加载指定数量的 Amazon EC2 实例
- 配置一个 MySQL 主数据库(master database):创建 schema,然后运行数据库初始化脚本
- 配置零个或多个 MySQL 从属(slaves)(在不同的可用区域下可选)
- 将你的 Web 应用上传到 EC2 上
- 配置一个或多个 Tomcat 服务器,然后部署你的 Web 应用
- 配置一个 Apache 实例以跨 Tomcat 服务器进行负载平衡
该云工具的 maven 插件还支持以下目标:
- cloudtools:jmeter - 运行负载测试
- cloudtools:redeploy - 重新部署 web 应用
- cloudtools:dbsave - 在 S3 中保存数据库快照
- cloudtools:dbrestore - 从 S3 中恢复数据库快照
- cloudtools:clone - 创建集群拷贝
- cloudtools:describe - 描述集群
- cloudtools:list - 列出可用集群
- cloudtools:stop - 关闭集群
在增加了持久存储后,Amazon EC2 在硬件资源的分配和管理上正在不断获得超越传统的动力,同时像云工具这样的软件的创建也拉开了整个EC2 软件生态圈的序幕。
关于云计算更多的信息,请访问: http://www.infoq.com/cloud-computing
评论