← évolutif.projet.autos Énoncé officiel (diaporama)

Projet
haute-disponibilité

Version une page de l'énoncé : concevoir, monter, sécuriser, documenter et démontrer une infrastructure complète qui encaisse la charge et la panne.

50 % de la session En équipe de 2 à 3 Module 3 11 machines Semaines 11 à 15 Pour votre portfolio 420-5A4-MT
Le scénario

Cent mille visiteurs, zéro excuse

Cent mille visiteurs, des clients payants, zéro excuse. Six semaines, une équipe, onze machines virtuelles dans chaque poste : concevoir, monter, sécuriser, documenter et démontrer une infrastructure complète à haute disponibilité, qui encaisse la croissance, la panne, et la démonstration devant public. Tout ce que la petite entreprise a appris, enfin réuni dans une seule architecture.

Cette fois, l'application est la vôtre : le projet quitte WordPress et le connu. C'est votre pièce de portfolio : celle qu'on montre en entrevue.

Le choix du sujet et des technologies

Votre application, vos technologies

Vous devez mettre en place, documenter et démontrer la haute disponibilité pour une application ou un site web servi en HTTP avec des données provenant d'une base de données. Vous devez limiter les points de faille au minimum.

Les critères de sélection des projets seront précisés en classe. Faites approuver votre sujet avant d'investir vos soirées.

L'infrastructure

Onze machines dans chaque poste

La topologie complète vit en 11 machines virtuelles VirtualBox instanciées dans le poste de chaque membre de l'équipe. C'est la richesse de la topologie qui compte, et la méthode la rend vivable :

Partie 1

Le plan du projet

10 points GitHub : /plan/Projet.png

Présenter et faire approuver par le professeur un plan de votre projet :

Utilisez des boîtes, des traits, des légendes, des icônes et des couleurs : c'est un diagramme technique, mais il doit être intuitif et facile à lire.

Un plan sans sa contrepartie de réalisation suffisamment avancée ne sera pas évalué.

Partie 2

Maîtrise de Docker pour les développeurs

15 points GitHub : /test-app

Votre application vit dans un environnement complexe. Pour aider l'intégration des nouveaux développeurs à votre équipe, mettez en place une image Docker de votre création qui déploie sur n'importe quelle machine votre application et ses dépendances. Au besoin, l'utilisateur finalise l'installation par des pages web seulement.

À cette étape, tout-en-un permis : tous les services dans la même image, base de données incluse. Pas de point de faille ni de haute disponibilité ici : c'est l'image des développeurs, pas celle de la production. Docker Compose non requis.

Partie 3

L'infrastructure de haute disponibilité

25 points GitHub : /infrastructure

Le coeur du projet : votre application déployée sur la topologie de 11 machines, avec ou sans conteneurs. Il n'est pas permis d'utiliser l'image Docker des développeurs.

Semaine 15

La démonstration finale

La grille

Récapitulatif des points

Partie Points
1 · Le plan du projet, approuvé et illustré10
2 · L'image Docker des développeurs15
3 · L'infrastructure de haute disponibilité25

Total : 50 points · 50 % de la session

Assignment GitHub : lien remis en classe.