A lightweight prototype IaaS application
The objective of this project is to demonstrate some technologies and solutions in the IaaS field. Such solutions are:
Architectural shift:
Put rare features to use:
Despite all of the above objectives:
Kerub is in research/development phase, however you should be able to run and use some minimalistic functionality:
Some tests are included in the application, both unit and integration tests, these tests can simulate workload and run very quick (the full build is around 5 minutes on a dual-core i7 CPU). However these tests can not cover all aspects, for example we can not have a real host with an actual operating system installed on it, the command executions are faked, etc.
To fill this gap, there is another package only for tests called kerub-ext-tests. This however runs against packaged (RPM, DEB) versions of the application, sophisticated to setup, requires hypervisor hardware and software and a full run takes several hours.
There is a second separate test package for microbenchmarks: kerub-microbenchmarx This is a JMH-based benchmark collection to help tuning (mostly but only) the planner.
git clone https://github.com/kerubistan/kerub/
cd kerub
mvn jetty:run
Open http://localhost:8080/ in your favourite browser, and you have a controller running.
First of all, you will need a few (at least one) host to work with. This can be a virtual machine in test environments if nested virtualization is enabled, or a physical server. The host needs a few software to work with:
Kerub will find whatever is installed.
OS / Distribution | packaging project | status |
---|---|---|
Fedora | kerub-fedora | maintained |
CentOS | kerub-centos | maintained |
ubuntu | kerub-ubuntu | development |
openSUSE | kerub-openuse | maintained |