I've done a fair amount of tinkering with cloud programming during the past couple of years. With cloud programming, you can easily deploy a Web application to a cluster of servers that will be distributed and managed with the help of the cloud infrastructure. But one of the hard parts is developing the software on your local development machines and then testing it against the cloud servers.
Amazon recognized this difficulty and has created a plug-in for the Eclipse IDE called AWS (Amazon Web Services) Toolkit for Eclipse. But don't let the term "plug-in" fool you: I went into this evaluation expecting a single little dialog box with a few minimal features. I was pleasantly surprised to find full integration of AWS into Eclipse, providing complete control over managing remote instances, uploading code, running code remotely and even debugging remotely without leaving Eclipse.
The AWS Toolkit for Eclipse currently supports two aspects of AWS-EC2 (Elastic Compute Cloud) management and SimpleDB management. With the EC2 management, you can configure your servers and debug remotely. With the SimpleDB management, you can graphically define your SimpleDB domains, items and attributes.
To use the AWS Toolkit, you need to be set up with an account on Amazon AWS. Once you are, Eclipse includes a dialog box letting you enter your account information.
Once you have all the information entered, you're ready to go to work creating your project. You can do the whole thing locally, creating your servlets and testing them out against your own copy of Tomcat. When you're ready to try it out remotely, you can configure and manage your servers without ever leaving Eclipse. Then you can easily deploy your software to the AWS infrastructure, run it and even debug it locally.
According to Amazon, this is just a first step. But, from what I've seen, it's a huge first step.
Amazon officials say they're going to support more than just Tomcat in future releases. This is definitely a good thing, considering that Tomcat is technically a reference implementation of the Java servlet architecture and that many people might prefer to run their software on larger application servers hosted within the AWS infrastructure. Still, Tomcat is excellent, and running it under AWS shouldn't pose any real problems.
AWS isn't free, but it's not very expensive, and Eclipse, Tomcat and the AWS Toolkit for Eclipse are all free. So, if you're eager to build a system that will be hosted in the AWS cloud, it really won't cost you much to get it up and running. And once your cloud-based system is running, you'll enjoy the benefits of having a Website that's backed by an incredibly powerful cloud system. It's hard to beat that.
Jeff Cogswell can be reached at [email protected]