Options for building and deploying Web-based applications to the "cloud" are abundant. Amazon's EC2 offering has been out for a while and offers a variety of operating systems, databases and storage solutions. Linux choices include Red Hat Enterprise Linux, OpenSolaris, Fedora, openSUSE, Gentoo, Oracle Enterprise Linux, Ubuntu and Debian. When you look at the way Amazon prices their options, you'll quickly see that Linux options are significantly cheaper than Windows.
Amazon's application development options are somewhat limited when compared to building things on your own server. You can choose any development platform you'd like as long as it's either Java or Ruby on Rails. The real benefit of choosing Amazon for your cloud provider is their reach and scale. EC2 is not immune to outages as can be attested to by some very high profile Web sites.
Zimory is a new player in the "cloud computing" space and offers what they feel are a number of unique capabilities. The focus of their service is to provide a hosted environment for any type of Linux virtual appliance. All of the Zimory product offerings are built upon standard hypervisor technologies with support for VMWare Server 1.x, ESX 3.5 and Xen 3.2. You can build your own application appliance and then deploy it to the Zimory cloud as needed.
The second piece of the puzzle that Zimory provides is what they call their Public Cloud Gateway. This piece makes it possible to extend the compute resources of an enterprise on demand in a dynamic way and then scale back down when needed. You really appreciate this level of control when minimizing cost is a key factor your organization. The service is currently in beta and available for testing purposes to interested parties.
Setup and Configuration
Once you have a Zimory account it's a pretty simple process to create a new deployment and provision it to any number of different data centers in the US and Europe. Zimory offers three basic appliances including Ubuntu 8.10 running under VMWare, a Xen-based LAMP appliance based on Debian, and a smaller LAMP version with a limited disk footprint. You can also upload your own appliance as long as it runs under VMWare or Xen.
After you select your appliance you must choose how much memory to provision (between 128 and 8192 MB) and the number of processors you want dedicated to your application. Finally, you must choose a cloud site (or sites) to deploy your image to and you're all done. The Zimory Web-based dashboard gives you a quick summary of your deployments, their status and quick links to start / stop and manage the instance through a browser-based VNC session.
One thing we learned pretty quickly is you'll need the latest Java Runtime for the VNC viewer to work properly. When we attempted to connect to the service from a laptop running Ubuntu 9.04, our Firefox prompted us for the missing plugins and loaded them right up. All that was needed was a quick Firefox restart and we were good to go.
Once you have a deployment up and running you use the Zimory Cloud Manager for starting / stopping, managing through a remote VNC session and performing a storage backup on your virtual machine. Zimory also provides
an Application Programming Interface (API) based on SOAP and REST for managing virtual machines. This makes it possible to develop automated provisioning workflows that set up and tear down virtual machines in an automated fashion.
The real beauty of the Zimory approach is the level of control given to the user. You essentially get a full Linux distribution to do with what you want. The downside of this approach is that you pay for what you use, making it even more important to know what you have running on your virtual machine and how much storage and bandwidth you're using. Open source tools to address these issues are plentiful, so there's no excuse not to use them.
All this sounds great, but the devil is always in the details. From a security perspective the virtual machine approach offers a solid and secure way to isolate different operating environments running on the same physical hardware. All communication between components uses standard secure protocols and provides the same level of protection you have over any https type of connection.
Zimory offers three different Service Level Agreements (SLAs) with differing guarantees of service. The higher the level, the more you pay. This is then combined with actual monitored usage of CPU, network traffic and storage to come up with a monthly cost. While the service is in beta there is no cost, but you can see what their proposed costs would be on their web site.
For really big applications you'll need to use the Zimory Cloud Manager's planning module to optimize how your application resources are distributed. The planning module gives you the ability to determine how resources are dynamically added and removed based on usage profiles and actual monitored heuristics. This makes it possible to enable an automated management capability that responds to the demand in real time.
All you have to do to get started is register at the Zimory site for a beta account. Once that's completed you'll have full access to the service to determine if it's something you can use. It's definitely a great way to get some experience with building and deploying applications to the cloud for anyone with an interest.
Article courtesy of Linux Planet.