Sirocco: an open-source multi-cloud manager Frédéric Dang Tran Orange Labs frederic.dangtran@orange.com
Outline Objectives Key features API and resource model Middleware Architecture Roadmap 2012 2
Objectives Multi-cloud IaaS platform Single point of entry to access multiple cloud providers: > Private or public clouds > Open-source or proprietary Programmatic access through a unified IaaS API Unified Web interface Extensible and open middleware framework What Sirocco is not: > Yet-another-IaaS-platform > A multi-cloud client library 3
Key features Multi-cloud capabilities > Users can provision VMs on more than one cloud provider > Currently a user manually selects the cloud provider account and location when creating a resource User and project management > Users can be grouped in projects and share resources with one another > Rights management system based on roles Resource provisioning > A project can be associated with one or more cloud provider accounts > Support for multi-vm appliances and OVF import Accounting/metering > Sirocco keeps track of the resource consumptions of users on a per-cloud-provider basis 4
Key features: configuration example Paris location Project XYZ User Fred Admin User Alice User Jim Nova Account AWS Account OpenStack Nova CloudProvider Amazon EC2 CloudProvider US West location US East location Asia Pacific location EU West Location 5
Key features: Cloud provider management Primitives cloudprovider-create cloudprovider-list cloudprovider-destroy cloudprovider-account-create cloudprovider-account-list cloudprovider-account-destroy cloudprovider-account-associate cloudprovider-account-dissociate currently reserved to admins available to end-users 6
Key features: GUI overview Inventory showing VM deployed on 3 providers: 2 private clouds (nova, vmm) and one public cloud (EC2) Manual choice of provider and location 7
Key features: GUI overview Resource quota on a per-project basis 8
Key features: GUI overview For some private cloud providers, visibility on the physical infrastructure 9
Key features: appliance and OVF support (1/2) JOnAS Appliance: management unit consisting of > One or more virtual machines > One or more volumes > One or more networks An appliance template can be created > by importing an OVF > from an exiting appliance Apache Primitives JOnAS JOnAS DB appliance-create appliance-destroy appliance-start appliance-stop appliance-list appliancetemplate-import-ovf appliancetemplate-destroy appliancetemplate-list 10
Key features: appliance and OVF support (2/2) Mapping to cloud providers: > Currently an appliance can be deployed within one single cloud provider > Next step: ability to split an appliance across providers Sirocco appliance management > If the cloud provider features native support for appliances (e.g. vcloud vapp), Sirocco delegates most appliance management operations to the provider > Otherwise, Sirocco manages appliances on top of appliance-unaware cloud providers 11
API and resource model (1/2) DMTF Cloud Management Work Group (CMWG) is working on DMTF Cloud Infrastructure Management Interface (CIMI) API specification CMWG membership includes: > IBM, CA, Cisco, Citrix, Fujitsu, HP, Huawei, IBM, Microsoft, Oracle, Red Hat, Telecom Italia, Telefonica, VMWare, France Telecom Programmatic access to Sirocco using DMTF CIMI API How to provision resources with multi-cloud specific constraints (e.g. providing a specific cloud provider) > CIMI includes entity metadata allowing a CIMI provider to define extensions http://dmtf.org/standards/cloud 12
API and resource model (2/2) System Machine Volume Network SystemTemplate MachineTemplate NetworkTemplate MachineConfiguration MachineImage NetworkConfiguration VolumeTemplate Meter Event VolumeConfiguration VolumeImage Job 13
Middleware architecture (1/3) Web interface DMTF CIMI API OVF Importer VM Manager multicloud manager User Manager Image Manager CMDB System Manager Metering Image Factory DMTF CIMI API VMM CloudProvider VMM OpenStack CloudProvider EC2 CloudProvider VMware vcd CloudProvider BetterPlace/ Entropy libvirt vsphere API OpenStack API AWS API vcloud API 1.1 XenServer API 14
Middleware architecture (2/3): Cloud Provider plugin interface Java binding of the DMTF CIMI API Each cloud provider advertises its capabilities at run time CloudProvider CloudProviderFactory ComputeService ImageService VolumeService MonitoringService NetworkService 15
Middleware architecture (3/3): technological choices Hybrid JavaEE/OSGi application > CMDB updated by JavaEE business code with transactional guarantees > Cloud providers are encapsulated in OSGi bundles and expose OSGi services OW2 JOnAS 5 application server OW2 JORAM JMS-compliant MOM OW2 Entropy: VM placement manager Most cloud providers rely on 16
Roadmap 2012 First Sirocco release Q2 2012 featuring DMTF CIMI API implementation 2012 planned activities include: > Automation of resource placement: Delegate choice of cloud provider to Sirocco Match-making between user SLA requirements and providers capabilities Pluggable decision policies Reuse existing work from OW2 or elsewhere > Multi-cloud Image management: Flexible image management with generic image metadata and template Connection to third-party image factories for generating provider-specific images > Support for more cloud providers, e.g. vcloud Director 1.5 17
Conclusion Contributors and collaborations welcomed! Sirocco forge: > http://forge.ow2.org/projects/sirocco/ 18