Friday, April 23, 2010

Ganeti published to Sisyphus

Ganeti, a "cluster virtual server management software tool built on top of existing virtualization technologies such as Xen or KVM and other Open Source software" packaged for Sisyphus.
Main features:
  • KVM and Xen hypervisors support
  • DRBD support (HA for VMs)
  • Live migration
  • Nice python-ed code :)
  • Pretty upstream (Google)
I packaged ganeti and wrote ganeti-instance-altbootstrap (similar to ganeti-instance-debootstrap) for instant VM creation from repository. Now I plan to do manual integration tests (with xen-dom0 and rhel-smp kernels, drbd83,..) and write russian doc for it.
Stay tuned!

Friday, February 19, 2010

Interesting links

Two interesting links:


Cloud computing publication categorizer http://cloud.pubs.dbs.uni-leipzig.de
"Understanding HBase and Bigtable" http://jimbojw.com/wiki/index.php?title=Understanding_Hbase_and_BigTable

Tuesday, February 9, 2010

OpenNebula


Second product we took a look at is OpenNebula, developed by Complutense University of Madrid.

OpenNebula's architecture is similar to Eucalyptus'.

There are following components in OpenNebula:
  • OpenNebula daemon, core of the system.
  • Drivers (network, storage and hypervisors abstraction ) Xen, KVM and VMware hypervisors are supported.
  • Frontend to interact with users (user management is supported too).
  • Nodes (hypervisor-enabled stateless machines)
  • Image repository. Virtual images are stored on a shared storage or transfered to a stateless node before execution.
OpenNebula is a solution for Private cloud. You can migrate your virtual machines to a Public cloud (Amazon EC2 and OCCI interfaces are supported).

OpenNebula is written in C++, Ruby, shell. Autotools, unfortunately, are not used to build the project, there is self-written install.sh script. This project looks like a good research, not production-ready project.

OpenNebula is licensed under Apache 2.0 license. There are ready to use packages in Ubuntu Karmic.

Next, we'll take a look at Google's ganeti.

Thursday, February 4, 2010

Eucalyptus


Eucalyptus is the best known (and as I consider the oldest) open source solution for organizing cloud infrastructure. Let's take a look on it.
Eucalyptus consists of five types of components:
  • Cloud controller, provides web-interface and Amazon's EC2-compatible SOAP interface for virtual machines management. It's written in Java.
  • Walrus, implements Amazon's S3-compatible SOAP and REST storage interface. It's also written in Java.
  • Cluster Controller, managing one node group (one ethernet segment). It's written in C.
  • Storage Controller. It is Amazon's EBS-style place where virtual images are stored before (and after) you use them. It's written in Java.
  • Node Controller. It is an abstraction layer over you hypervisor (KVM and Xen are supported by now). It's written in C.

I installed Ubuntu Enterprise Cloud (UEC) using Ubuntu 9.10 Server. When you install it you can choose either Cluster (with Cloud Controller, Walrus, Cluster Controller, Storage Controller) or Node (with KVM-enabled Node Controller). Be careful! You can get a lot of strange errors if Cluster host runs out of memory or disk space.

Eucalyptus cloud is managed using Amazon-compatible Eucalyptus Tools written in python. By the way I build a package with these tools for Sisyphus. The life circle of the virtual machine is:
  • You make images of file system, kernel and initrd and upload them (using euca2ools) to Block Storage.
  • You ask cloud to run instance of you machine with fixed amount of CPU, memory and disk space.
  • Images are downloaded from a Block Storage to a free node (node which has required resources). There are caches on nodes of cause. Node controller runs your machine.
  • Virtual machine gets IP from a pool.
  • Your machine is ready, you starts to use it.
  • You ask cloud to shut down your machine.
  • Node Controller shuts down your machine.
  • Machine's image gets uploaded to a Block Storage.
Eucalyptus implements Amazon's API, so it is very useful in hybrid clouds (you can run your images in Amazon EC2 if you a running out of resources without any problem). But implementation in Java is a pain for me.

Tomorrow I'll start looking at OpenNebula. Stay tuned!

Tuesday, February 2, 2010

Infrastructure-as-a-Service

Hi!

Let's start investigating open source project for Infrastructure-as-a-Service solutions. We'll take a look at:
We'll be interested in:
  • Features
  • Activities
  • Community
  • Programming languages
  • etc

Monday, February 1, 2010

Ready for take-off

Hi!

Today we (ALT Linux) are starting a research&development in open source 'cloud technologies'. We'll investigate Infrastructure-as-a-Service and Platform-as-a-Service open source projects to choose which suits our needs. Then we'll try to collaborate in development.
I'll not post about our project as it is a bit secret right now. I'll write only about technologies.

Comments are welcome!