| 1 | $Id$ |
|---|
| 2 | |
|---|
| 3 | ============ |
|---|
| 4 | ARCHITECTURE |
|---|
| 5 | ============ |
|---|
| 6 | |
|---|
| 7 | PLACO is a generator of collaborative platforms. |
|---|
| 8 | It use virtualization technics to assume modularity, isolation and security. |
|---|
| 9 | For production, PLACO need a dedicated host with a hypervisor. The services run onto virtuals machines hosted on it. |
|---|
| 10 | |
|---|
| 11 | Characteristics |
|---|
| 12 | --------------- |
|---|
| 13 | - PLACO is open source |
|---|
| 14 | - PLACO only used open source sotfware |
|---|
| 15 | - All the machines (host and virtual machines) run on Linux. |
|---|
| 16 | - The platform is Linux distribution independant : this is planned, but at now, it runs under Linux Debian |
|---|
| 17 | - The platform is hypervisor independant : this is planned, but at now, it runs with Xen |
|---|
| 18 | |
|---|
| 19 | - all the parameters of the platform are stored in .defines files |
|---|
| 20 | |
|---|
| 21 | ========================== |
|---|
| 22 | TREE LEVELS OF ABSTRACTION |
|---|
| 23 | ========================== |
|---|
| 24 | |
|---|
| 25 | - The platform implements a set of macro services, like web hosting, mailling list, control version system, etc. |
|---|
| 26 | - For that, the platform used several machines : ldap, proxy, www, list, svn, etc. |
|---|
| 27 | - Each macro service used one or more machines : for example, the web hosting macro service needs the machines www, proxy and ldap. |
|---|
| 28 | - Each machine needs its own software : for example, the machine list need apache, sympa, mysql and postfix. |
|---|
| 29 | |
|---|
| 30 | So the 3 levels are : macro service, machine and software. So, the scripts are sorted also in 3 categories : |
|---|
| 31 | - toplevel : OS independant script and file templates, which affects the macro services, |
|---|
| 32 | - middleware : OS independant script and file templates, assuming some tasks on a single machine, |
|---|
| 33 | - repository OS dependant script and file templates, assuming task on a certain type of machine (for example on a Debian machine) |
|---|