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