Why have only one server when you can have as many as you need, on demand? That's the premise behind cloud computing -- harnessing whole reams of processor and storage power without actually having to provision them yourself. But if you're without the right tools for the job, it's that much harder to reap the full gamut of benefits from working in the cloud.
The tools you have at your disposal are likely to be limited, if not dictated entirely, by the cloud computing service you've chosen. A good deal of this is due to cloud computing interfaces -- the application programming interfaces mainly -- not being interchangeable. The applications themselves that are run in the cloud, the stuff you provide, are only part of the picture. How you get it into the cloud, and deal with it from that point on, is also crucial.
To that end, the tools I'll be exploring deal with two things: 1) creating new apps or moving existing ones into a cloud-computing environment, and 2) managing them once you get them there. Most of the tools available right now concentrate on the most popular and well-known of the cloud-computing infrastructures out there -- namely, Amazon Web Services -- although some of them also offer services for Google's App Engine.
Amazon Web Services
Thanks at least in part to the name-brand recognition of parent company Amazon.com, Amazon Web Services is one of the most popular (or at least one of the most well-known) cloud-computing systems out there. Small wonder AWS sports a bevy of third-party tools to aid the use of its services. Sometimes this comes in the form of another service -- a kind of mediator between you and AWS.
Elastra's Cloud Server is one example of such a system. An application that uses MySQL, Ingres, or EnterpriseDB can be deployed into Amazon EC2, with its data stored in Amazon S3. Failover, replication, and elastic clustering (the ability to add or delete nodes based on demand) are all handled automatically by Elastra. The application side of things is more your responsibility, but you're essentially given a Linux 2.6.16 platform in one of three basic instance configurations that you can write apps in.
Another mediator is RightScale, which also offers a tiered approach to elasticity. A free developer edition lets you get your feet wet right away with 10 free hours of EC2 usage. The other tiers (starting at $500 a month) allow you access to expanded functionality -- scalable batch processing, scripting, multiple server deployment, and for-pay support and consulting.
The folks at Coghead use the term "platform as a service" to describe their Web app development platform, which includes a Flex-driven in-the-browser development environment and, of course, Amazon's cloud stack. It's clearly been designed for those who do not already have an existing application set, but rather want to create something from scratch without learning a great deal of programming along the way.