Skip to content

Latest commit

 

History

History
85 lines (62 loc) · 3.91 KB

20210302_Ippon_deploy-data-platform.adoc

File metadata and controls

85 lines (62 loc) · 3.91 KB

2021/03/02 - Ippon - Déploiement d’une plateforme Data complète en quelques jours

Table of Contents

Présenté par Thomas THIRIET (IPPON) durant le Data Young Blood

Notes

Composants de la Data Platform : AWS, Terraform (pour l’infra as code), Matillion (pour l’ELT) ou DBT, Snowflake pour le DWH ou le compute, et Metabase pour la partie visualisation

20210302 ippon data young blood 01 20210302 ippon data young blood 02

  • Terraform, gestion du state

    • utilisation de la fonctionnalité "backend", qui permet de mettre le state directement sur un bucket S3

    • le state sous Terraform permet de savoir ce qui a été déployé par rapport à ce qui est décrit dans les fichiers de déploiement

  • en Terraform, comment passer d’un env DEV à PROD sans tout recommencer ?

    • avoir des ressources globales et des ressources spécifiques à l’environnement

    • bien penser à faire, au minimum, des Terraform plan pour vérifier que Terraform arrive bien à lire les instructions données

📎
A garder dans un coin de sa tête, quand on arrive aux limites de Terraform, on peut envisager le passage à Terragrunt
Par contre, ce n’est pas un outil à utiliser de prime abord, mais uniquement quand on arrive aux limites de Terraform
  • Séparation Infrastructure et Code : séparer le projet en 2 repo GitLab différents
    Cette partie se base massivement sur GitLab CI/CD

    • projet-infra :

      • déploiement de lambdas vides

      • déploiement de cluster ECS

    • projet-code

      • déploiement du code des lambdas

      • déploiement du code à exécuter dans les tâches fargate

        • AWS Fargate est un moteur de calcul sans serveur pour les conteneurs

20210302 ippon data young blood 03
📎
L’équipe de Thomas avait essayé d’utiliser les submodules de Git plutôt que 2 repo séparés, mais cela s’est révélé compliqué d’usage.
AWS Fargate est une technologie que vous pouvez utiliser avec Amazon ECS pour exécuter conteneurs sans avoir à gérer de serveurs ou de clusters de Amazon EC2 instances.
Avec Fargate, vous n’avez plus besoin de provisionner, configurer ou dimensionner des clusters de machines virtuelles pour exécuter des conteneurs.
Cela élimine le besoin de choisissez les types de serveur, décidez quand dimensionner vos clusters ou optimisez l’empaquetage du cluster.

Lorsque vous exécutez votre Amazon ECS avec le Fargate type de lancement ou un Fargate fournisseur de capacité, vous empaquetez votre application dans des conteneurs, spécifiez l’UC et la mémoire des exigences, définissez la mise en réseau et IAM et lancez l’application.
Chaque Fargate a sa propre limite d’isolation et ne partage pas le noyau sous-jacent, le CPU aux ressources , aux ressources de mémoire ou à l’interface réseau Elastic avec une autre tâche.
Terraform : astuce pour toujours avoir la dernière version d’une ressource

20210302 ippon data young blood 04