soutenance/content/30_specifications_techniques.md

122 lines
2.4 KiB
Markdown

\newpage
# Spécifications techniques
TODO: spécifications techniques
Mot clé : écosystème DevOps
La réalisation de ce projet va plus loin que la simple mise en place d'une
application dans le Cloud. C'est une nouvelle équipe, dans un nouvel
environnement avec une application inconnue et des savoirs à acquérir.
En pareille situation, c'est tout un **écosystème DevOps** qu'il faut mettre
en place. Ainsi nous commençons par nous organiser pour collaborer sur le
projet pour répondre aux besoins ; après quoi nous nous tournons vers
l'étude de l'application pour continuer sur le choix d'une infrastructure pour
accueillir nos services. Finalement nous choisissons aussi des outils autour
de l'application pour garantir un certain niveau de service.
## Organisation
Gitlab, Slack, SemVer, Git OneFlow, Conventional commit, différents environnements
### Normes
* SemVer
* Git OneFlow
* Conventional commit
### Environnements
* Développement
* Tests
* Pré-production (appelé « staging »)
* Production
### Plateforme DevOps
* couvre les principes DevOps
* Github vs. Gitlab ?
* services utilisés :
* Tickets
* Jalons
* Kanbans
* Base de connaissance collaborative : Wiki sous Gitlab
### Méthodologie
* Méthodologie Agile basique
* Compte-rendus journaliers
## Étude de l'application
### Composants de l'application
### Implications
Ce que cela implique pour la suite
## Infrastructure d'accueil
### Couche basse
### Environnement Kubernetes
* EKS
* cert-manager (avec Let's Encrypt) - gratuit
* externaldns + Route53 (domaines) ~ 16€/mois pour nos routes
* AWS LoadBalancer, couche 4 du modèle OSI (pour le lien entre l'extérieur et le cluster)
* Nginx ingress controller pour le lien entre les services du cluster et l'AWS LoadBalancer
### Déploiement
* Terraform
* Pipelines automatisées
## Services et outils divers
Pas si annexes que ça tout de même !
### Données
#### BDD postgreSQL
Aurora, MAIS soucis lors de l'implémentation. Faute de temps : postgresql-ha
#### Stockage
#### Sauvegardes
### Supervision
Choix de Datadog au détriment de Prometheus, faute de temps
Prévu de :
* prometheus
* avec nginx-ingress-controller privé
* et accès VPN dessus
Pas fait faute de temps.
#### Surveillance (monitoring)
Choix indicateurs
#### Alertes
Système d'alerte : slack, ou autre ? Mail ?
### Sécurité
#### Gestion utilisateurs
#### Vault
#### Système gestion mdp collaboratif
## Conclusion