Archipel Introduction - ejabberd SF Meetup

21
http://archipelproject.org

Transcript of Archipel Introduction - ejabberd SF Meetup

h t t p : / / a r c h i p e l p r o j e c t . o r g

General presentation

Antoine Mercadal, project founder & lead developer

V i r t u a l i z a t i o n r e m i n d e r s

Is it really mandatory ?

Benefits

• Saves space, time, money and resources• Green IT• Simplify exploitation• Quick platform implementation

You manage virtual computer as an application

The risks of virtualization

• By definition, a virtual server doesn’t exist• A host crashes, a dozen of virtual machines crash• Need some virtual buttons and controls• Need feedback about health of virtual machines and hosts

Need to communicate

t o d a y ’ s Te c h n o l o g i e s

no Java here

XMPP

• Real-time and extensible communication protocol• Main usage : instant messaging (Google, Facebook etc.)• Free• Decentralized

Python

• Flexible, powerful, performant and simple• Cross-platform (Linux/UNIX, Mac OS X et Windows)• Large components library• Open source

Cappuccino / Objective-J

• Cocoa for Javascript, right from your browser• Allow to build powerful web application• Abstraction of underlaying javascript code• Very good performance• Open source

Libvirt

• Unified layer to control virtual machines«Almost» unified

• Support many virtualization enginesKVM, XEN, ESX, VirtualBox, Hyper-V, OpenVZ, LXC...

• Provides a Python library

What is exactly Archipel?

• Orchestrator for virtualizationIt can be compared to Enomalism, oVirt, Proxmox, etc.

• All is about real time Everything is pushed, never pulled

• ModularNear functionality free core and a set of modules

• ScalableIt is as easy to add or remove an hypervisor.

• Open source No need for further explanation about that

Live migrationVirtual machine creation

PAE / ACPI / APIC

huge pages

User-to-user chat

User-to-VM chat and control

VNC to access virtual machines

Packaging

VMCasts registrationReal time statistics

Beautiful GUI interface

Cross platform

Snapshotting

VMCasts publication

CloningVirtual disk management

Shared cd/dvd isos

easy installation

Live memory adjustment

Hot CPU plug

Avatar selection

Group management

Virtual machine autostart

Virtual networksLifecycle Logs

Modular

Features overview ?

I’m sure I know this ship...

A r c h i t e c t u r e

Logical Architecture

XEP used in Archipel with• Every part of Archipel has it’s own JID and vCard

Hypervisors, Virtual Machines, the users (through the UI)vCards are used to store entity type / custom informations

• Virtual Machines use hypervisor node JID as resourceThis way you can know on which hypervisor the vm is hosted

• PubSub for events, admin, roles and morePush mechanism to trigger actions on UI or agents.

• UI settings are stored using XEP-0049 (private xml storage)And shared between UI sessions for different users

• Service management is done through XEP-133User management from the UI, except admin-list witch is done through XEP-0050 when we have to deal with ejabberd ACLs

• XML-RPC for Shared Roster Group Management (EJAB-1485)Auto-group for hypervisor and vms (no need to ask subscription for everyone) SRG management from the UI

Multi-site Architecture

Physical Architecture

Software Architecture

Agent Architecture

h t t p : / / a r c h i p e l p r o j e c t . o r g