You may be weary of all the cloud computing hype, but behind the hype is considerable substance. Cloud technologies are complex, versatile, and revolutionizing the data center. Canonical's Ubuntu Enterprise Cloud (UEC) revolutionizes setting up your own cloud infrastructure, bundling everything you need in a sleek integrated package for free.
Your own private cloud
The big appeal of the cloud, at least according to cloud vendors, is being freed from having to maintain your own data center, so why run your own cloud? For the same reasons any shop maintains its own IT department: for data protection and control of resources. Outsourcing to a cloud service vendor like Amazon's popular Amazon Web Services/Elastic Compute Cloud (AWS/EC2) is easy and relatively inexpensive. Customers purchase AWS just like a no-tell motel, creating and terminating services as needed and paying by the hour. But customers are at the mercy of the service provider. AWS is famous for multiple unexplained outages and less-than-stellar customer service, as are Google, Microsoft, and other cloud vendors. You should also give careful thought to entrusting your data to an outside service provider. This requires a level of trust that may not be warranted. Your data are open to government searches, both warranted and warrantless, and you may be collateral damage when one of your neighbors at your service provider gets in legal hot water.
Kevin Fogarty reports how IT managers regard public vs. private cloud computing:
"Those building private clouds are doing it to make their core IT operations more effective. They're paranoid about security and reliability because they can't afford failures in either ... Those using public clouds are just messing around, using an inexpensive resource to do things they might not do at all if it weren't available ... they're waiting to see how it works out for others first."
LAN speeds are still considerably faster than Internet speeds, so keeping everything in-house should perform better and keep your users happier. An advantage of Ubuntu Enterprise Cloud is you don't have to wait, but can try out the three basic cloud models -- private, public, and hybrid -- cheaply and easily. If you're still a little hazy on how all this cloud stuff works, and why cloud computing is better than old-fashioned client/server, figure 1 saves a thousand words:
You might be wondering how a cloud is different from old-fashioned timeshares on mainframes, or ordinary client-server computing. The concept is the same. What's different is how resources on the server side are managed. All functions and resources are abstracted away from the hardware to create a flexible, dynamic server environment that scales up or down on demand. It uses hardware very efficiently and increases its usable capacity. It's also different on the client side, since the trend is to push everything, including services and development platforms, through a Web browser. Your users don't have to worry about operating system and application compatibility, but simply fire up their favorite Web browsers to go to work. Linux is especially well-suited to any client/server model because networking is part of its core architecture.
Ubuntu Enterprise Cloud
Ubuntu Server 10.04 LTS, Lucid Lynx, gets my vote as the best operating system to build your cloud infrastructure on. This is a long term support release that is supported through April 2015. Lucid Lynx is one of the best Ubuntu releases, and is well-suited for enterprise deployments. Ubuntu itself is always free. You can purchase commercial support and training, and various hosted services as you need, such as Ubuntu's own cloud offering, Ubuntu One, and the Landscape server and cloud monitoring and management service. Landscape can run hosted by Canonical, or on your premises.
Ubuntu Server is built for strong cross-platform support, supporting Linux, Mac, and Windows machines with single sign-on and shared services. Ubuntu Server can manage your LAN, or plug into an existing Active Directory domain or other network. It is certified on Tier 1 hardware including Dell, HP, IBM, and Intel.
You can download Ubuntu for free without jumping through a bunch of hoops, and build a little test lab to get acquainted. You'll need three PCs for a realistic test deployment. UEC is an installation option on the standard Ubuntu Server CD. Visit Getting Started with Ubuntu Enterprise Cloud for a useful listing of how tos. Installation from the Installer CD walks through installing UEC from scratch, and lists hardware requirements. Eucalyptus Beginner's Guide is the best introduction to Eucalyptus.
The main engines of the Ubuntu Enterprise Cloud are:
KVM, the Linux kernel-based virtual machine hypervisor. KVM requires an x86 CPU with virtualization extensions, either Intel VT or AMD-V. This hardware support makes it fast and efficient, and you can run unmodified Linux and Windows images in individual virtual machines. Each VM is self-contained, just like a single operating system on a single computer, with all hardware virtualized: network, memory, storage, graphics adapter, sound, and peripherals.
Eucalyptus also known as Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems, is the cloud manager in UEC. Eucalyptus is an Infrastructure as a Service (IaaS) cloud, delivering a completely virtualized and abstracted IT infrastructure. Eucalyptus is the central switchboard that links and controls the elements that comprise your cloud: virtual machines, storage, and services. Eucalyptus is modular and very flexible, and it supports running any combination of public, private and hybrid clouds. It grafts on gracefully to your existing IT infrastructure without having to overhaul the whole works, and give new life to legacy equipment.
The Apache Web server, providing the link between clients and cloud.
Figure 2 is a simplified diagram showing how Eucalyptus pulls everything in your cloud together. There is only one cloud controller per cloud. Walrus is the interface to Amazon EC2, so you don't need that if you're keeping everything in-house. A node is a physical server running a KVM hypervisor. A hypervisor runs multiple operating systems, each in its own virtual machine. Each VM is an instance. Each Node Controller controls a physical server. A Cluster Controller controls one or more nodes. SOAP and REST are developer tools for creating Web applications and interfaces.
Canonical is replacing Eucalyptus with OpenStack in the 11.10 Oneiric Ocelot release. Should you jump to OpenStack? Not just yet. OpenStack and Eucalyptus have significant differences. Eucalyptus supports APIs to Amazon's EC2 platform, and these APIs are well on their way to becoming the de-facto standard. OpenStack is completely open source and always will be, while Eucalyptus includes proprietary closed-source components in its enterprise edition such as VMWare support and better SAN integration. OpenStack does not support VMWare or AWS, though these are on its development roadmap. OpenStack was created by Rackspace and NASA, and has drawn worldwide support including tier 1 vendors such as Dell, AMD, Intel, Cisco, and HP.
A big issue in cloud computing is the unresolved question of APIs. The APIs for AWS have almost become a de-facto standard. APIs are very important, because they control your mobility -- a standard cloud API means you can easily move between vendors and products, and can standardize on the same API for both in-house and outsourced cloud services. Competing APIs mean coding and migration pain. Mark Shuttleworth, the head of Canonical, is advocating for standardizing on AWS APIs. Red Hat and VMWare, two big players in cloud computing, are each pushing their own APIs. My crystal ball is cloudy; all I can suggest is be ready for anything.
Eucalyptus is tested and functional right now, while OpenStack is still a developer's preview. You can grab the latest Oneiric Ocelot release to start getting acquainted. Oneiric Ocelot's final release is October 2011. This will not be a long-term release with a five-year support cycle, but an intermediate release supported until April 2013. Me, I would run this in a test lab and keep Lucid Lynx on production machines until I have a good reason to migrate. No worry, no hurry, and figure it all out at your own speed.