root / docs / cyclades.rst @ 5135245b
History | View | Annotate | Download (2.6 kB)
1 |
.. _cyclades: |
---|---|
2 |
|
3 |
Compute/Network/Image Service (Cyclades) |
4 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
5 |
|
6 |
Cyclades is the Synnefo component that implements the Compute, Network, Image |
7 |
and Volume services. It exposes the associated OpenStack REST APIs: OpenStack |
8 |
Compute, Network, Glance and soon also Cinder. Cyclades is the part which |
9 |
manages multiple Ganeti clusters at the backend. Cyclades issues commands to a |
10 |
Ganeti cluster using Ganeti's Remote API (RAPI). The administrator can expand |
11 |
the infrastructure dynamically by adding new Ganeti clusters to reach |
12 |
datacenter scale. Cyclades knows nothing about low-level VM management |
13 |
operations, e.g., handling of VM creations, migrations among physical nodes, |
14 |
and handling of node downtimes; the design and implementation of the end-user |
15 |
API is orthogonal to VM handling at the backend. |
16 |
|
17 |
There are two distinct, asynchronous paths in the interaction between Synnefo |
18 |
and Ganeti. The `effect` path is activated in response to a user request; |
19 |
Cyclades issues VM control commands to Ganeti over RAPI. The `update` path is |
20 |
triggered whenever the state of a VM changes, due to Synnefo- or |
21 |
administrator-initiated actions happening at the Ganeti level. In the update |
22 |
path, we monitor Ganeti's job queue to produce notifications to the rest |
23 |
of the Synnefo infrastructure over a message queue. |
24 |
|
25 |
Users have full control over their VMs: they can create new ones, start them, |
26 |
shutdown, reboot, and destroy them. For the configuration of their VMs they can |
27 |
select number of CPUs, size of RAM and system disk, and operating system from |
28 |
pre-defined Images including popular Linux distros (Debian, Ubuntu, CentOS, |
29 |
Fedora, Gentoo, Archlinux, OpenSuse), MS-Windows Server 2008 R2 and 2012 as |
30 |
well as FreeBSD. |
31 |
|
32 |
The REST API for VM management, being OpenStack compatible, can interoperate |
33 |
with 3rd party tools and client libraries. |
34 |
|
35 |
The *Cyclades* UI is written in Javascript/jQuery and runs entirely on the |
36 |
client side for maximum reponsiveness. It is just another API client; all UI |
37 |
operations happen with asynchronous calls over the API. |
38 |
|
39 |
The networking functionality includes dual IPv4/IPv6 connectivity for each VM, |
40 |
easy, platform-provided firewalling either through an array of pre-configured |
41 |
firewall profiles, or through a roll-your-own firewall inside the VM. Users may |
42 |
create multiple private, virtual L2 networks, so that they construct arbitrary |
43 |
network topologie, e.g., to deploy VMs in multi-tier configurations. The |
44 |
networking functionality is exported all the way from the backend to the API and |
45 |
the UI. |
46 |
|
47 |
Please also see the :ref:`Admin Guide <admin-guide>` for more information and |
48 |
the :ref:`Installation Guide <quick-install-admin-guide>` for installation |
49 |
instructions. |