With just a few clicks you, too, can create a cloud computing environment. But if you’re like a lot of organizations, you may not know what to do with it after that.
The latest version of Ubuntu Server (9.10) includes the Ubuntu Enterprise Cloud (UEC), which is actually powered by Eucalyptus. The ability to deploy a “cloud” on any server running Ubuntu is really quite amazing, especially given the compatibility of Eucalyptus with Amazon and the plethora of application images available for nearly immediate deployment. It supports both a public and private option, and a hybrid model, and comes replete with management tools designed to make building, deploying, and managing your own personal, private cloud a breeze.
Private clouds offer immediacy and elasticity in your own IT infrastructure. Using Ubuntu Enterprise Cloud, you can experience the benefits of cloud computing behind your firewall. Deploy workloads and have them running immediately. Grow or shrink computing capacity to meet the needs of your application.
Too awesome, right? Well, yes and no. It is, apparently, not an answer to how do I build a cloud that would-be cloud computing adopters need, but rather how do I use a cloud? Consider the following query:
I noticed while installing the new version of Ubuntu server yesterday that there is a cloud cluster and node option for deployment. I read through the tutorial on how to set up the cloud, but how does one use the cloud, private or otherwise?
The question comes from a very technically savvy network engineer who, according to a recent survey by web-hosting provider Peer 1, is not alone in asking this question. In the independent study conducted for Peer 1 39 percent of the over 200 IT decision makers surveyed said that their lack of knowledge is preventing them from adopting cloud computing. Security and lack of control also ranked high (24 and 21 percent, respectively) but still fall short of the apparent lack of knowledge regarding cloud computing as an obstacle to adoption.
USING “THE CLOUD”
The answer to the question “how does one use the cloud, private or otherwise” turns out to be both simple and complex. Perhaps at this point it would be a good idea to back up and talk generalities and concepts. Knowing what you have, after all, may help in understanding what it is one does with it.
A cloud computing environment is primarily an architectural framework for automatically managing compute resources in a way that ensures the scalability and reliability of applications. To use cloud computing anything you need to deploy an application into it. Those applications are generally packaged into “images” in a virtual machine format: AMI (Amazon Machine Image), VMWare, Xen, and Microsoft Hyper-V are all options available in general, though EUC appears to have “standardized” on AMI. (We’ll leave that discussion for another day)
It is the virtual image that is deployed into the cloud computing environment, and it is the virtual image that is managed by EUC. Inside the image your application(s) is running, and when the compute resources assigned to that image – not the application, but the image – are in danger of being completely consumed UEC (or appropriate cloud computing management framework in public implementations) will automatically start another virtual image containing your application, assuming there are available compute resources in the “cloud cluster”.
So, a cloud computing environment is comprised of nodes on which images are deployed. Each image runs one (or more, though usually one) application. End users interface with the applications and cloud computing users interface with all the nuts and bolts. It is the management of those nuts and bolts that Ubuntu makes look so easy with Ubuntu Enterprise Cloud (UEC). Mouse click easy, in fact, based on the detailed instructions offered on Ubuntu’s site. So now you’ve got a “cloud” deployed, what do you do with it?
Once the base framework is in place you deploy images of applications.In the case of UEC you either download, select, or bundle an image of an application and then push it into the cloud via the UEC management interface. From there, UEC (or any cloud computing environment really) should take care of automatically scaling that application up or down based on compute resource need. Obviously scaling up requires that you have more than one “node” in your “cloud cluster” or that you’re taking advantage of UEC’s integration with Amazon.
So one use, the primary use, is to deploy applications and ensure scalability. But you can also use cloud computing environments to deploy images of infrastructure solutions such as virtual appliances that provide security or load balancing or logging or a plethora of enterprise-focused functionality. You could use UEC or any other cloud computing environment for testing, development, design of new architectures; use it to evaluate new application products and implement proofs of concepts in an environment that closely simulates your production environment.
Cloud computing is ultimately just a new way to deploy and manage applications and their supporting infrastructure that is more efficient than traditional methods without sacrificing performance or reliability. You use “the cloud” by deploying applications into it, and letting it do the rest.
At least that’s how easy it’s supposed to be. Whether or not that’s true in practice is a completely different story…
© 2008 SYS-CON Media Inc.