Application Development - eWeek



Open-Source Cloud Tools Project Spawns Cloud Foundry





  Table of Contents:
  1. Open-Source Cloud Tools Project Spawns Cloud Foundry
  2. What Cloud Foundry Will Do

The Cloud Tools project, hosted on Google Code, is a prime example of the emerging trend of open-source application developers targeting the cloud and looking at services such as Amazon Web Services solutions and Google App Engine to host their applications. Cloud Tools is a set of tools for deploying, managing and testing Java Enterprise Edition applications on Amazon.com's Amazon Elastic Computing Cloud. And now the Cloud Tools project's founder has launched a commercial service based on Cloud Tools known as Cloud Foundry.

Open-Source Cloud Tools Project Spawns Cloud Foundry
( Page 1 of 2 )

The open-source Cloud Tools project, hosted on Google Code, is a prime example of the emerging trend of open-source developers targeting the cloud and looking at services such as Amazon Web Services and Google App Engine to host their applications.

An Evans Data survey recently emphasized this trend, showing that 40 percent of surveyed developers working on open-source projects plan to deliver their applications as Web services offerings using cloud providers. The majority of respondents, at 28 percent, said they plan to use Google App Engine to develop cloud applications, while 15 percent plan to use Amazon.com's Amazon Web Services.

Chris Richardson, founder of the Cloud Tools project, is one such developer. Richardson started the Cloud Tools effort more than a year ago and it has taken off, so much so that Richardson has launched a commercial service based on Cloud Tools called Cloud Foundry.

Cloud Tools is a set of tools for deploying, managing and testing Java EE (Java Platform, Enterprise Edition) applications on the Amazon EC2 (Elastic Computing Cloud). There are three main parts to Cloud Tools: AMIs (Amazon Machine Images) that are configured to run Tomcat and work with EC2Deploy; EC2Deploy, the core framework that manages EC2 instances, configures MySQL, Tomcat, Terracotta and Apache, and deploys the application; and Maven and Grails plug-ins that use EC2Deploy to deploy an application to EC2.

The Cloud Tools Grails plug-in makes it easy to deploy a Grails application to Amazon EC2. It takes care of configuring MySQL, Tomcat and Apache and deploys the application. The project's Maven plug-in is an easy way to use Cloud Tools, Richardson said.

"One of the great things about compute clouds such as Amazon EC2 is their elasticity—you can quickly and easily launch as many servers as you need," Richardson said in a blog post. "And, with Cloud Tools, you can easily deploy and manage your Java/Grails applications on Amazon EC2."

In a recent blog post, Java developer Dustin Whitney discussed the benefits of using Amazon EC2 and Cloud Tools. Richardson described Whitney's use of Cloud Tools to help with a problem Whitney ran into. "His Grails application, which was running on [a] single instance, was overloaded by a sudden increase in traffic. Fortunately, he was able to use Cloud Tools to quickly redeploy his application on multiple instances that could handle the load."

Said Whitney:

The solution was as simple as opening my app, changing the config to run with four app servers, and running 'grails cloud-tools-deploy.' Once deployed, I switched the Elastic IP address of the old deployment to the load balancing server of my new deployment and voila! My site was hauling ass again.

Had we been using the traditional managed hosting services that we typically use, like those offered by Rackspace, we'd have been totally screwed. It would have taken them at least a week to get another server up and running, which would have been way too long. Using EC2 and Cloud Tools, I simply started servers as I needed them, and I'll shut them down tomorrow when the traffic dies down. It will probably only cost our client about $20 at the most, and think of the time and money that would have been lost if the server configuration had not been able to handle the load being thrown at it.

Speaking generally about Cloud Tools, Whitney said: "You can launch your Grails application onto a server by simply typing: 'grails cloud-tools-deploy.' It supports all sorts of clustering and master/slave arrangements with DBs and so forth ... totally rad."

Moreover, Whitney said, "I can't tell you how much time it saves to be able to bootstrap a server from the command line with a simple 'grails cloud-tools-deploy.' If you've built any Web sites then you know what a pain in the ass deployment is, and you know what a pain in the ass server configuration is. Cloud Tools and EC2 eliminate the need for both and allows you to focus on what you're good at: writing code."



 
 
>>> More Application Development Articles          >>> More By Darryl K. Taft
 

FEATURED SPONSOR MESSAGE

Start the New Year with business intelligence—it’s a smart move

Join us on February 1 for an encore rebroadcast at either 5 am or 12 noon EST and discover how business intelligence (BI) supports companies in uncertain business and economic climates. Get expert advice on how to create a strategy that fits your organization's needs and budget and see how quickly it can pay for itself.

Click Here

Brought to you by


eweek digital



Advertisement
 
APPLY FOR A FREE 
SUBSCRIPTION BELOW:

>Try digital eWEEK
>Renew today
>Subscription help
>More FREE Subscriptions
First Name:Last Name:
Title:Company:
Address:City:
State:Zip Code:
Email:
eWEEK Quick LInks