P22 Nuage pour sites Web : Différence entre versions

De Wiki d'activités IMA
Ligne 10 : Ligne 10 :
  
 
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.
+
Ce projet se propose ici de fournir une solution d'hébergement de sites web simple, sécurisé et extensible. La solution proposée pour le réaliser est l'utilisation de conteneurs.
  
 
====''Description du projet''====
 
====''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 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.
 
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.
  
Ligne 32 : Ligne 33 :
 
* Recherche des solutions possibles
 
* Recherche des solutions possibles
  
====''Semaine 2''=====
+
====''Semaine 2''====
  
 
* Création d'une machine virtuelle de test
 
* Création d'une machine virtuelle de test
 
* Comparatif des container runtime
 
* Comparatif des container runtime
* Choix de rkt (rocket)
 
* Familiarisation avec rkt et la technologie conteneur
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Ligne 51 : Ligne 50 :
 
|-
 
|-
 
| rkt
 
| rkt
| Non
+
| non
 
| docker images, OCI images
 
| docker images, OCI images
 
| Dépôt unstable ou installation .deb
 
| Dépôt unstable ou installation .deb
Ligne 59 : Ligne 58 :
 
|-
 
|-
 
| runC
 
| runC
| Non
+
| non
 
| OCI images
 
| OCI images
 
| Dépôt officiel (installé avec Docker v1.11)
 
| Dépôt officiel (installé avec Docker v1.11)
Ligne 67 : Ligne 66 :
 
|-
 
|-
 
| LXC/LXD
 
| LXC/LXD
| Oui
+
| oui
 
| OCI images, full system operating images
 
| OCI images, full system operating images
 
| Dépôt officiel
 
| Dépôt officiel
Ligne 75 : Ligne 74 :
 
|-
 
|-
 
| systemd-nspawn
 
| systemd-nspawn
| Non
+
| non
 
| OCI images, full system operating images
 
| OCI images, full system operating images
 
| Inclus avec systemd
 
| Inclus avec systemd

Version du 13 janvier 2017 à 15:00

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 sites web simple, sécurisé et extensible. La solution proposée 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
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.