Skip to content

Architecture & Concepts

Nicolas Ochem edited this page Apr 4, 2015 · 5 revisions

Architecture

Archipel XMPP concept

Archipel uses XMPP as its main method of communication. All communications between components (hypervisor or virtual machines) and users is done using XMPP. In Archipel, everything is an XMPP entity. Each entity has its own JID, contact list and authorizations.

Multi site architecture

XMPP allows you to interconnect several Ejabberd servers. This allows users registered at "XMPP server A" to talk to other users registered at "XMPP server B". You can interconnect several Archipel Data Centers using this feature. Every communication is encrypted using standard XMPP encryption.

Logical infrastructure

This basically how an Archipel data center should be installed, but there are a lot of configurations possible. Each component is totally independent.

Software architecture of an Agent

This what will be installed on your Archipel hypervisors:

Archipel Agent internal processes

This is how an Archipel agent works internally. The hypervisor runs in the main archipel process. Then each other entity is executed into a separate thread. Each entity has its own connection to the libvirt daemon and its own XMPP connection.

Central agent

An XMPP entity called Central Agent keeps a global view of all hypervisors and Virtual Machines on the system.

Central Agent is responsible for keeping track of hypervisor resources and lets you recover VMs when hypervisors fail. VMs that have no associated hypervisors are known by the system as "parked VMs".

Central Agent functionality is kept to a minimum, by design, and the system will operate without it.