P22 Nuage pour sites Web : Différence entre versions

De Wiki de Projets IMA
(Description du projet)
Ligne 5 : Ligne 5 :
 
La démocratisation de l'informatique nous permet aujourd'hui d'autohéberger son propre site web et ses services. Cependant tout le monde n'a pas les connaissances nécessaires pour installer et maintenir un tel système.
 
La démocratisation de l'informatique nous permet aujourd'hui d'autohéberger son propre site web et ses services. Cependant tout le monde n'a pas les connaissances nécessaires pour installer et maintenir un tel système.
  
La légèreté et la gratuité de projets basés sur des méthodes professionnelles permet de faire tourner un serveur à moindre coût.
+
La légèreté et la gratuité de projets basés sur des méthodes professionnelles permet de faire tourner un serveur à moindre coût.  
  
 
====''Objectif''====
 
====''Objectif''====
  
 
Installer une infrastructure infonuagique pour la création de sites Web école.
 
Installer une infrastructure infonuagique pour la création de sites Web école.
 +
Ce projet se propose ici de fournir une solution d'hébergement de site web simple , sécurisé et extensible. La solution proposé pour le réaliser est l'utilisation de conteneurs.
  
 
====''Description du projet''====
 
====''Description du projet''====
  
Le but est de mettre en place une infrastructure comprenant une interface simple pour la création de site web pour un usager de l'école.
+
Un utilisateur souhaitant créer son site web pourra se connecter sur le serveur de l'école. Il accedera à une page web lui proposant de sélectionner différents paramètres pour son site (base de données BDD, langage script, ...). Sur le serveur école sera alors créé un conteneur logiciel correspondant à ces critères.
 
+
Un conteneur est une structure pouvant regrouper des données, des bibliothèques ou des applications. Le conteneur se lance comme un processus et utilise le système hôte contrairement aux machines virtuelles. Chaque conteneur est indépendant. L'application qu'il héberge peut donc être démarrée, mise à jour ou arrêtée au besoin. Ce système est plus léger et plus facile à gérer qu'une machine virtuelle ou des virtualhost.
Chaque utilisateur pourra choisir son type de serveur web, son type de serveur BDD, son langage script. Chaque site sera hébergé sur la même machine mais dans un container différent.
 
  
 
La mise à disposition de l'infrastructure s'articule sur trois plans :
 
La mise à disposition de l'infrastructure s'articule sur trois plans :
  
* L'installation d'un système de container basé sur runC et/ou rkt.
+
* L'installation d'un système de conteneur.
* Le développement d'une interface utilisateur pour le choix et la création de son site web/container
+
* Le développement d'une interface utilisateur pour le choix et la création de son site web/conteneur.
 
* La gestion de l'accès au serveur pour chaque utilisateur.
 
* La gestion de l'accès au serveur pour chaque utilisateur.
 +
 +
 +
== Compte Rendu ==
 +
 +
====''Semaine 1''====
 +
 +
* Premier entretien avec Mr.Redon
 +
* Délimitation du sujet
 +
* Recherche des solutions possibles
 +
 +
====''Semaine 2''=====
 +
 +
* Création d'une machine virtuelle de test
 +
* Comparatif des container runtime
 +
* Choix de rkt (rocket)
 +
* Familiarisation avec rkt et la technologie conteneur
 +
 +
{| class="wikitable"
 +
! !! Utilisation d'un daemon centralisé !! Comptabilité des images !! Installation facile sur le serveur école (Debian) !! Utilisation !! Sécurité !! Ressources
 +
|-
 +
| Docker
 +
| Oui
 +
| docker images
 +
| Dépôt officiel
 +
| applications, commandes simples, configuration limitée
 +
| Téléchargement et vérification automatiques, usage en tant que root
 +
|
 +
|-
 +
| rkt
 +
| Non
 +
| docker images, OCI images
 +
| Dépôt unstable ou installation .deb
 +
| applications, commandes simples, configuration facile
 +
| Téléchargement et vérification automatiques
 +
|
 +
|-
 +
| runC
 +
| Non
 +
| OCI images
 +
| Dépôt officiel (installé avec Docker v1.11)
 +
| applications, commandes complexes, compréhension détaillé du système
 +
|
 +
|
 +
|-
 +
| LXC/LXD
 +
| Oui
 +
| OCI images, full system operating images
 +
| Dépôt officiel
 +
| OS complets, commandes simples, configuration complexes
 +
| Téléchargement et vérification automatiques (uniquement pour OS complet)
 +
|
 +
|-
 +
| systemd-nspawn
 +
| Non
 +
| OCI images, full system operating images
 +
| Inclus avec systemd
 +
| applications et OS complets
 +
|
 +
|
 +
|-
 +
|}
 +
 +
D'après les premiers résultats, rkt semble être la solution la plus adéquat pour ce projet. Il reste à vérifier la facilité d'accès au namespace et réseau virtuel pour acceder à chaque conteneur.

Version du 13 janvier 2017 à 14:59

Présentation Générale du Projet

Contexte

La démocratisation de l'informatique nous permet aujourd'hui d'autohéberger son propre site web et ses services. Cependant tout le monde n'a pas les connaissances nécessaires pour installer et maintenir un tel système.

La légèreté et la gratuité de projets basés sur des méthodes professionnelles permet de faire tourner un serveur à moindre coût.

Objectif

Installer une infrastructure infonuagique pour la création de sites Web école. Ce projet se propose ici de fournir une solution d'hébergement de site web simple , sécurisé et extensible. La solution proposé pour le réaliser est l'utilisation de conteneurs.

Description du projet

Un utilisateur souhaitant créer son site web pourra se connecter sur le serveur de l'école. Il accedera à une page web lui proposant de sélectionner différents paramètres pour son site (base de données BDD, langage script, ...). Sur le serveur école sera alors créé un conteneur logiciel correspondant à ces critères. Un conteneur est une structure pouvant regrouper des données, des bibliothèques ou des applications. Le conteneur se lance comme un processus et utilise le système hôte contrairement aux machines virtuelles. Chaque conteneur est indépendant. L'application qu'il héberge peut donc être démarrée, mise à jour ou arrêtée au besoin. Ce système est plus léger et plus facile à gérer qu'une machine virtuelle ou des virtualhost.

La mise à disposition de l'infrastructure s'articule sur trois plans :

  • L'installation d'un système de conteneur.
  • Le développement d'une interface utilisateur pour le choix et la création de son site web/conteneur.
  • La gestion de l'accès au serveur pour chaque utilisateur.


Compte Rendu

Semaine 1

  • Premier entretien avec Mr.Redon
  • Délimitation du sujet
  • Recherche des solutions possibles

Semaine 2=

  • Création d'une machine virtuelle de test
  • Comparatif des container runtime
  • Choix de rkt (rocket)
  • Familiarisation avec rkt et la technologie conteneur
Utilisation d'un daemon centralisé Comptabilité des images Installation facile sur le serveur école (Debian) Utilisation Sécurité Ressources
Docker Oui docker images Dépôt officiel applications, commandes simples, configuration limitée Téléchargement et vérification automatiques, usage en tant que root
rkt Non docker images, OCI images Dépôt unstable ou installation .deb applications, commandes simples, configuration facile Téléchargement et vérification automatiques
runC Non OCI images Dépôt officiel (installé avec Docker v1.11) applications, commandes complexes, compréhension détaillé du système
LXC/LXD Oui OCI images, full system operating images Dépôt officiel OS complets, commandes simples, configuration complexes Téléchargement et vérification automatiques (uniquement pour OS complet)
systemd-nspawn Non OCI images, full system operating images Inclus avec systemd applications et OS complets

D'après les premiers résultats, rkt semble être la solution la plus adéquat pour ce projet. Il reste à vérifier la facilité d'accès au namespace et réseau virtuel pour acceder à chaque conteneur.