122 lines
2.4 KiB
Markdown
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
|