Jumpstart your cloud: Using open source cloud software to build, deploy & manage in-premise clouds

Note: Through Jan. 4, we are posting the top 10 posts of 2012. This post is #3 and was originally published July 10, 2012. 

Open source and cloud computing – the best of both worlds. Interested? Read on then…

Ever felt like creating your own little private cloud on your desktop or laptop? Or, just wanted to explore what the cloud software really does?  If you think there’s too much cost involved for these initiatives, think again, because open source is there to the rescue!

There are quite a few open source products that can help you get your first real feel of the cloud. However that doesn’t mean that you are limited in scope by using open source cloud technologies; in fact many large organizations today are adopting open source-based cloud environment for building their own in-house environments. There are many case studies and white papers available about this subject.

Okay, so what would one need to build an in-house cloud? I list six here.

1. Operating system (OS)

You need to select your operating system. This selection is often influenced by the choice of the cloud software and hypervisor that you select according to your requirements. Among the popular operating systems are: Ubuntu, Red Hat Enterprise Linux (RHEL), CentOS, SUSE Linux Enterprise Server (SLES), openSUSE, Debian, and Fedora.

2.  Open source software to build private and public cloud

This software is the building block of your cloud environment. Let’s look at some of the commonly used software:

Eucalyptus

  • One of the most popular open source packages for building cloud computing infrastructures.
  • Interface is compatible with Amazon EC2.
  • Includes Walrus, a cloud storage application compatible with Amazon Simple Storage Service (Amazon S3).
  • Operating systems supported are Ubuntu, RHEL, CentOS, SLES, openSUSE, Debian and Fedora.
  • Hypervisors are VMware, Xen, and KVM.

www.eucalyptus.com

OpenNebula

  • Supports private cloud construction and the idea of hybrid clouds.
  • Operating systems are OpenNebula, which is included in Debian wheezy, Ubuntu Natty.
  • Hypervisors are Xen, KVM, and VMware.

www.opennebula.org/

Xen Cloud Platform (XCP)

  • XCP 1.0 is the first full release of the Xen Cloud Platform.
  • Includes Xen hypervisor.
  • Supported guest operating systems are RedHat, Debian, CentOS, SUSE.

xen.org/products/cloudxen.html

OpenQRM

  • Focuses on automatic, rapid deployment, monitoring, and high-availability.
  • Supported operating systems are Debian, Ubuntu, CentOS, SuSE, and Fedora
  • Hypervisors are VMware, Xen, KVM, and Linux-VServer

www.openqrm.com

Nimbus

  • Compatible with Amazon APIs.
  • Supported operating systems are RedHat, Debian, and Ubuntu
  • Hypervisor are Xen and KVM.

www.nimbusproject.org

Details of how to actually plan and build your cloud using several of these technologies are listed in the “Resources” section near the end of this blog entry.

3. Hypervisor

The following table lists various open source hypervisors that you may employ for your cloud environment:

Name            Host CPU Host OS Guest OS License
OpenVZ Intel x86, AMD64, IA-64, PowerPC 64, SPARC/64 Linux Various Linux distributions GPL
Xen X86, x86-64, IA-64 NetBSD, Linux, Solaris FreeBSD, NetBSD, Linux, Solaris, Windows XP and 2003 Server GPL
KVM Intel/AMD processor with x86 virtualization, IA64, PowerPC Linux Linux, Windows, FreeBSD, Solaris GPL
Linux-VServer x86, AMD64, IA-64, Alpha, PowerPC/64, PA-RISC/64, SPARC/64, ARM, MIPS Linux Various Linux distributions GPL
LXC Intelx86, AMD64, IA-64, PowerPC 64, SPARC/64 Linux Various Linux distributions GPL
User Mode Linux x86, x86-64, PowerPC Linux Linux GPL
Sun xVM Server x86-64, SPARC None Windows XP, 2003 Server (x86-64 only), Linux, Solaris GPL

4. Hardware

Use an Intel x86 system that is VT-enabled. In most cases, you would need two physical machines:

  • One (usually referred to as front end) to run the cloud software
  • The other (usually referred to as node) for provisioning the virtual images meant for users

However, some environments will even allow you to run both front end and node on a single physical machine, if you want to have a limited capability setup.

5. Virtual networking

To optimize network communication among virtual machines (VMs), you need a virtual switch. The most commonly used open source virtual switch is known as Open vSwitch. It is the default switch in the Xen Cloud Platform and also supports Xen, XenServer, and KVM. Recently it is also integrated into other open source cloud platforms like Open Nebula and Open QRM.

6.  Infrastructure management

For infrastructure management:

  • The oVirt package, developed by Red Hat, is a web-based management console.
  • VirtManager, also developed by Red Hat, is GTK-based and presents a much more graphically rich display (for live performance and resource utilization).

Open source offerings: various possibilities

Possibilities include:

  • Infrastructure as a service (IaaS): Vanilla Linux images (for example Red Hat, SUSE, Ubuntu, Debian) with basic utilities
  • Platform as a service (PaaS):
    • Programming environment: Java and C/C++ compilers, Perl, Python, and others
    • Database: MySQL
    • Web: Apache
    • Portal: JBoss
  • Software as a service (SaaS):
    • ERP: OpenERP, OFBiz

After your private cloud setup is in place, you can think of turning that into a hybrid cloud by interfacing with public clouds, such as Amazon EC2. That step opens up a whole new world of opportunities. Products such as Eucalyptus and OpenNebula support this feature.

Here’s a sample solution approach that you may follow for your cloud journey:

Example architectural elements

Two sample architectural elements of the commonly used open source cloud software are shown in the following figures.

Eucalyptus

OpenNebula

Open Source at IBM

You might be wondering how IBM with all its own Cloud offerings fit into the Open Source scenario! To start with, IBM contributes to many open source emerging technology projects through communities including Apache and Eclipse. Infact, IBM recently announced joining the OpenStack Foundation as Platinum-level sponsor along with AT&T, Canonical, HP, Nebula, Rackspace, Red Hat and SUSE. IBM is also supporting the Open Cloud manifesto – a Cloud computing ecosystem that promotes openness of standards and technologies.

IBM and Amazon Web Services

IBM and Amazon Web Services have teamed up to provide several IBM platform technologies that you can use on Amazon EC2. You can get started by bringing your own IBM licenses to Amazon EC2 or by leveraging the Amazon EC2 running IBM service. More details available here. You can also browse through the list of Amazon Machine Images (AMIs) that are available for IBM products.

Note:  Because of advancement in product releases, there may be further updates to the information provided here. Please check the respective product documentation for the most current information.

Resources:

  • Guide to building and running private cloud with Eucalyptus Systems
  • Install a Private Cloud in One Hour with Ubuntu Enterprise Cloud (UEC)
  • How to set up cloud computing with openQRM
  • Guide to installing and configuring OpenNebula
Share
Comments: 5
Joydipto Banerjee

About Joydipto Banerjee

Joydipto is an IBM Certified Consulting IT Specialist(Master Certified IT Specialist from The Open Group). His areas of interests are application modernization and Cloud computing. Joydipto has published several papers, got certified in Cloud solutions and achieved a number of awards within IBM. He is based in Kolkata, India but currently works out from the Mumbai coast.
This entry was posted in Managing the Cloud. Bookmark the permalink.

5 Responses to Jumpstart your cloud: Using open source cloud software to build, deploy & manage in-premise clouds

  1. Nice article, however you missed mentioning about OpenStack in point number 2.

    • Joydipto says:

      Thank you. Agree about OpenStack…its gaining popularity rapidly. I haven't explored it myself though …but you will find I did mention it on a different context, later in the article.

  2. Debasis R Choudhuri says:

    Great work….looks very nice for someone to start with….

  3. vinod says:

    Thanks for the article. How to do experienced IT infrastructure managers can get in to it

Comments are closed.