It's no secret that there is a huge array of cloud providers for both on- and off-premises. One issue is that not everyone can afford sockets worth thousands of dollars in today's economy for high end solutions. There is also the lingering question about what happens if your cloud provider of choice goes out of business, especially a bespoke one. What if you want to modify some parts of a cloud solution to better suit your own requirements? Open source cloud offerings do exist and can be a fit for those who have a tight budget.
One thing to keep in mind is that not all private cloud solutions that are free are easy to set up and may require a significant investment of time to make them work as intended. If you are looking for a low-cost, open source and inexpensive private cloud, there are several options. OpenStack, although most well known in this area, is not suited for small environments. And its limited technical resources can be an absolute time sink and require a lot of investment to even attempt a production setup.
Another affordable cloud option is Eucalyptus, from Eucalyptus Systems Inc., which checks off all of the boxes mentioned above. To make things better, Eucalyptus and AWS are compatible, allowing Eucalyptus to be plugged directly into AWS so that it is possible to have a true hybrid cloud that can really go elastic using the Amazon infrastructure.
Eucalyptus is the base infrastructure upon which Amazon Web Services (AWS) built its cloud offering, albeit a heavily modified, nonpublic version of the code. What makes Eucalyptus stand out compared to other products is that a test installation for Eucalyptus is included in one single page.
If you have a spare machine, you can install the Eucalyptus in a box. Download the image and boot from the CD. When you boot the machine, choose the Single System Install and follow through the installation to build your test box. (See Figure 1.)
If you choose the Web test version and have your credentials for the Web evaluation, sign into the test environment. Once logged in, you'll be viewing the end-user environment that your customers or end users will see. Moving from left to right, you can see that you have several options to choose from, including images, security as well as a simple current global estate status view.
Taking a Eucalyptus instance out for a run in a test environment is easy using the free lab to run through a setup. If you are just interested to see the breadth of images available, click on the images button on the toolbar. You can also search on several fields that appear as soon as you click the search box. You will face a plethora of images to choose from and base your images off of, just as in Amazon. It's important to note that the images are named Eucalyptus Machine Image (EMI) rather than Amazon Machine Image (AMI). You can also upload your own images if desired, but not in this test environment. (See Figure 2.)
Deploying an image from the test selection is trivial. From the main window, select Launch New Instance and then choose your desired instance type, for example Fedora (or use the AMI instance short code if you know which one it is). After clicking the Type button, select your instance size from the drop-down list. Your cloud administrator can create additional machine sizes as required. In a full production setup, if available, you could also have selected availability zones. In this example, I have selected the only zone that's available.
At this point I have to create a security key pair. In order to log in to the server you need to select or change a firewall. On the security item, fill in the name and description; on the next tab, select the Protocol drop-down menu and configure to allow SSH only from your address (Use the "Use My IP address link"), just as an experiment. You can add multiple rules and even rules within rules if desired. Once completed, launch the instance. The Eucalyptus webpage then shows the provisioning status of the virtual machine (VM). On the "More actions" tab, you have other options including attach storage, connect to the console, reboot and more.
Lastly, Eucalyptus allows you to add Elastic Block Storage (EBS) or block storage devices to a VM to treat as new storage. Add these by selecting the instance to connect storage to and then from the "More Actions" tab, selecting Attach Volume. There are a few questions to answer but within a couple of moments new storage will be added to the VM. (See Figure 3.)
These examples just scratch the surface of what is possible with Eucalyptus from an end-user perspective. Eucalyptus is an affordable cloud option and proves there are cloud solutions that do have useful tools and come free.