Project Proposal : Sirocco
Sirocco is a multi-cloud Infrastructure-as-a-Service software platform allowing the automated provisioning of virtual machines through a self-service Web portal or programmatically through an API. Virtual machines can be instantiated either on a local Sirocco private cloud provider or on external public/private cloud providers (based on a third-party open-source or proprietary software).
Description of the project and its goals
The Sirocco platform aims at developing a multi-cloud and multi-hypervisor resource management framework as well as a unified Web portal and API to provision virtual machines. Sirocco high-level management application logic (provisioning workflow, image management, user and project management) is decoupled from the underlying cloud provider specific management APIs through generic connectors. The Sirocco platform includes its own private cloud provider implementation supporting multiple hypervisors (Xen, KVM, VMware ESX and Citrix XenServer). The Sirocco project is developing a rich Web interface for end-users or administrators offering control on logical resources for the former and control on physical resources for the latter. A strong emphasis of the project is to provide a user-facing unified API to control cloud resources programmatically. Currently an Amazon-EC2-like API is provided. Work in under way to design a richer API and resource model to address PaaS requirements (provisioning of multi-VM appliances, per-tenant virtual datacenter abstraction?).
Sirocco IaaS platform overlaps to some extent with existing IaaS open-source projects such as OpenStack (or OpenNebula ( Sirocco aims at offering a multi-cloud API and portal and in this regard is complementary to OpenStack or OpenNebula which can act as cloud providers managed by Sirocco multi-cloud engine. It is worth noting that the integration of OpenStack in Sirocco multi-cloud architecture is under way and will be supported by the end of 2011. OpenNebula does offer multi-cloud support but from a technical architecture viewpoint OpenNebula and Sirocco are at odds. OpenNebula is a toolkit written mostly in C++ with extensibility provided primarily by hooks implemented as shell scripts. Sirocco is a Java software framework relying on generic Java-based middleware and protocols: JavaEE application server (JOnAS), message-oriented middleware (JORAM), JMX etc.
The core team supporting the Sirocco project at Orange Labs consists of three R&D engineers with one appointed project technical leader and two software engineers/architects.
The Sirocco open-source cloud middleware could be used as a low-cost alternative to proprietary solutions for Orange commercial cloud offerings targeting enterprise users.
The user community that could be interested by Sirocco includes: -IT administrators looking for low-cost open-source cloud stacks to deploy a private cloud service on top of a virtualized server infrastructure or a hybrid cloud architecture -Developers/designers of higher-level PaaS or SaaS solutions looking for a flexible IaaS foundation
Sirocco Web interface has been localized with support currently for English and French locales.
The current Sirocco code base is limited to single cloud provider: the native Sirocco provider based on JASMINe VMM. The vision for Sirocco is to become a full multi-cloud platform. Short-term roadmap (2011): - completion of multi-cloud engine and portal with support for both the Sirocco native private cloud provider and external cloud providers. The first target will be Amazon EC2-compliant IaaS providers such as OpenStack. - Support for advanced reservation of virtual machines as an alterative to the default immediate resource allocation model - Monitoring support of the cloud infrastructure - Support for importing/exporting virtual appliances packaged in the OVF format - Support of the IaaS DMTF API - Integrated and documented version for download. The longer-term roadmap will be refined iteratively and will be influenced by collaborative projects involving Orange Labs in 2012: FUI/FSN CloudForce, SystemX Cloud Computing laboratory. Possible enhancements include: - Integration of the OW2 Entropy VM manager for optimizing the placement of VM on cloud providers and on physical hosts within a provider infrastructure - Brokering of resources across multiple clouds based on user-specified SLAs
Your project and OW2
We believe that the objectives of the Sirocco project are completely in line with the OW2 Cloudware Initiative and more precisely the Self-sizing and Green PaaS domain.
JASMINe VMM JOnAS JORAM
Sirocco has a strong synergy with the OW2 JASMINe and Entropy projects. Sirocco private cloud provider implementation relies on the Virtual Machine Management (VMM) API of the JASMINe project developed in collaboration with Bull and l?Ecole des Mines de Nantes in the ANR SelfXL collaborative project. The Entropy VM manager can be used to optimize the placement of VM to minimize energy consumption.
Technologies and standards
No standards are currently implemented by Sirocco. The Sirocco team is closely monitoring the standardization activities of the DMTF cloud management workgroup (of which Orange is a member). The IaaS Cloud API to be produced by this working group will be a prime candidate for the unified multi-cloud API of the Sirocco platform.
Contribution to the OW2 Community
Enrich the portfolio of cloud middleware of OW2 OSCI with a IaaS platform based on OW2 components.
Motivations to join the consortium and its community
France Telecom is already a strategic member of OW2. Orange Labs contributes to the OW2 code base through a number of projects directly or indirectly (including Fractal, CLIF, JASMINe, JOnAS, JORAM, ?). France Telecom is also co-lead of OSCi. The contribution of Sirocco to the OW2 code base is fully in line with our OW2 relationship.
Sirocco is not yet open source.