soutenance/content/30_specifications_techniques.md

2.5 KiB

\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 ?

PRA (plan reprise activité)

backup (rappel du chapitre précédent)

Sécurité

Gestion utilisateurs

Vault

Système gestion mdp collaboratif

Conclusion