abiquo 2.0 from 1000 feet
Post on 12-Jul-2015
1.214 Views
Preview:
TRANSCRIPT
Abiquo at a glance
• Cloud computing plattform that uses our own physical infrastructure.
• Hypervisor agnostic model (vendor lock-in) • Provides an unified interface for managing:
o Image templateso Compute o Networko Storageo Eventing
What is the problem to solve?
Datacenter receipt • A set of hypervisors• Storage servers• Network File System (NFS)• DHCP• Abiquo remote services
Abiquo must be able to manage multiple data centers.
How to manage N datacenters?
Hypervisors
• Managed by vendor provided API o ESXi, XenServer, Hyper-V, VirtualBox
• Managed by Abiquo AIM (libvirt based agent)o KVM, XEN
Libvirt ESXiXenServer Hyper-V VBox
AIM
Provides disk copy, vlan configuration and virtual machine monitoring capabilities to KVM an Xen hypervisors.
• Apache thrift based server.• Written in C++.
Appliance manager
Provides the ability to upload and download image templates into repositories available for our datacenter. • Exposes its data and operations via a REST API
implemented with Apache Wink.
Bussiness process manager
Conversion of virtual image between disk formats supported by hypervisors, thus eliminating vendor lock-in. • Conversion requests and responses are submitted via
message queues.• Each request is processed once a time, since working at
NFS level implies taking care about I/O conflicts.• Uses RabbitMQ as message broker.
Discovery manager
Hypervisor discoverin: • Hypervisor type.• Deployed virtual machines. • Physical machine capabilities and resources.
• Uses hypervisor vendor provided API.• Exposes its data and operations via a REST API
implemented with Apache Wink.
Tarantino (2.0 main character!!)
Common layer to unify and manage the virtualization capabilities of each hypervisor type.
• Life cycle of a virtual machine.• Network and storage configuration for virtual machines.
• Jobs request and response are submitted via message
queues (RabbitMQ).• Actor based model using Akka
Storage system manager
Common layer to unify and manage the storage capabilities of the storage servers. • Management of ISCSI volumes.• Exposes its data and operations via a REST API
implemented with Apache Wink.
Virtual system monitor
Manage a set of monitors. Each monitor looks at the state of virtual machines and notify about changes.
• Uses Redis as subscription store and the pubsub mechanism for event notifications from each monitor.
• State changes are notified via message queues (RabbitMQ).• Exposes its data and operations via a REST API
implemented with Apache Wink.
Server "the boss"
Manage an arbitrary number of datacenters by accessing their remote services.
• Communications between modules and datacenters via RabbitMQ
• MySQL stores our system configuration and state.• Enterprise functionalities: pricing, scheduling, security...
Exposes its data and operations via a REST API implemented with Apache Wink being consumed by our FLEX based client.
Technology Stack
• Apache projectso Wink o Thrift o Commons
• Others o MySQLo Redis o Rabbit MQo Akka o Libvirt
top related