abiquo 2.0 from 1000 feet

17
Abiquo 2.0 from 1000 feet "Tao Pai Pai"

Upload: abiquo-labs

Post on 12-Jul-2015

1.214 views

Category:

Technology


0 download

TRANSCRIPT

Abiquo 2.0 from 1000 feet"Tao Pai Pai"

Who are we?

@enricruiz @danielestevez

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.

Abiquo Datacenter

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.

Full Architecture

Technology Stack

• Apache projectso Wink o Thrift o Commons

• Others o MySQLo Redis o Rabbit MQo Akka o Libvirt

Thanks !!!

@enricruiz @danielestevez