分类:
2008-09-10 10:06:11
"POJOs in Action"的作者Chris Richardson发布了云工具(Cloud Tools),这是一套在Amazon的弹性计算云(Amazon's Elastic Computing Cloud,即EC2)上部署和测试 EE应用的工具,该工具基于Apache License 2.0。
该云工具主要有三个组成部分
Chris Richardson撰写了博文说明他为何创建云工具:
计算机硬件以前是一种稀少而昂贵的资源。在计算处理的早期,很多开发者需要共享同一台机器。现在每个开发者都拥有自己的机器了,但很少人拥有一台以上的机器。这意味着运行性能测试常常要重新配置机器的环境。与此类似,甚至仅仅复制一部分产品环境也需要大量的工作。然而通过使用EC2,这一切变得不同。有一套Linux用来处理web service调用。根据的类型,每台服务器每小时你只需要支付10-80美分,你最多可以使用20台服务器!无需其他费用,也不必再为购买和配置机器而苦等。
我创建EC2Deploy的目的是为了让企业开发者能更加轻松地使用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软件生态圈的序幕。