SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Self-Service infrastructure pour
GCP avec Terraform et Gitlab
+ + = 💙
DevFest Lille 2022 - Julien Wittouck - 🐦 @CodeKaio
Salut 👋
Moi c’est Julien
❤ 🎸 🤘 🎮
Freelance @CodeKaio
Associé @Ekité
Teacher @univ-lille
Vêtements, Chaussures,
Accessoires
👗👕👖👠👟👜
Mode à Petits Prix
Move to cloud - top départ en juin 2021
0 70 100
c’est de là où on part applications spécifiques à migrer développeurs à accompagner
Des objectifs #DevOps
R2 - Développeur
“Je veux être autonome sur la
création des mes
environnements”
“ça doit aller plus vite que le
processus de tickets existant”
C3 - Opérateur
“Je veux m’assurer du
respect des bonnes
pratiques, nommage,
sécurité, backup”
Une application / environnement
un projet GCP
un namespace
kubernetes
une BDD
des buckets
d’autres services
En Infrastructure As Code
un repo gitlab +
pipeline du code
Terraform
des ressources provisionnées
dans mon projet
En Infrastructure As Code
un repo gitlab +
pipeline du code
Terraform
des ressources provisionnées
dans mon projet
Je suis autonome 😎
Comment construire ces
projets Gitlab + GCP ?
La Project Factory
projet1-dev
projet1-prod
projet2-dev
projet1-dev
projet1-prod
projet2-dev
+
+
+
+
La Project Factory
projet1-dev
projet1-prod
projet2-dev
projet1-dev
projet1-prod
projet2-dev
+
+
+
+
Les projets sont
normés 😎
La Project Factory
terraform-google/project-factory
gitlab_project
projet1-dev
projet1-dev
+
service-account
google “root”
token API gitlab
un bucket pour le state
un script customisé pour
initialiser du code
Le service-account “root” de la project-factory
(pas Terraformé, une sombre histoire d’🥚 et de 🐔)
Un service account
Project Creator
Project IAM Admin
Folder Admin
Le bucket pour le state Terraform de la project-factory
(pas Terraformé, une sombre histoire d’🥚 et de 🐔)
Le code de la project factory
https://gitlab.com/codekaio/devfest-2022/gcp-project-factory
La conf du pipeline de la project-factory
La Project Factory
terraform-google-project-factory
projet1-dev
+
service-account
“root”
token API gitlab
un bucket pour le state
projet1-dev
La “glue”
service-account
projet
terraform-google-project-factory
projet1-dev
projet1-dev
+
service-account
“root”
token API gitlab
un bucket pour le state
state
création d’un
bucket “state”
création d’un
service account +
roles
injection de la clé en
variable de Gitlab CI
extraction d’une clé du
service account
“terraform” créé par le
module
Démo ?
Le projet créé
Pour aller encore plus vite et propre : un catalogue de
modules fournis par
Namespace
PostgreSQL Bucket Dataset
DNS Record MongoDb
VM
Pub/Sub
Respect des
bonnes pratiques
😎
Les modules à venir
Secret Functions MemoryStore
C’est qu’on a appris de tout ça
Ce qui fonctionne bien
~115
projets GCP + Gitlab
créés
R2 - Développeur
“C’est rapide,
Mon projet en ~ 15 minutes
Mes premières ressources
en ~ 30 minutes”
“Le premier projet est difficile, les
autres c’est facile”
C3 - Opérateur
“Les projets sont créés en
suivant les bonnes
pratiques, sécurité,
backups”
~350
instances de modules
Ce qui reste à améliorer
🆘 le state terraform grossit
🆘 les pipelines de la project
factory de plus en plus longs
🔜 bascule sur des workspaces
plus fins, au projet
🆘 des clés de service-account
en variables de CI
🔜 utilisation de workload
identity dans nos pipelines pour
supprimer les clés
🔜 policies sur les plan
terraform pour éviter
les destroys accidentels
🔜 mise à jour des
modules à systématiser
(dependabot)
🙏 Merci 💙
+ + = 💙

Contenu connexe

Similaire à Self-Service infrastructure pour GCP avec Terraform et Gitlab

meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023Frederic Leger
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurPublicis Sapient Engineering
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Camille Roux
 
Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...GDG Bujumbura
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022Frederic Leger
 
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019Bonitasoft
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Microsoft Décideurs IT
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Microsoft Technet France
 
DevOps & Docker : Open Source dans Azure
DevOps & Docker : Open Source dans AzureDevOps & Docker : Open Source dans Azure
DevOps & Docker : Open Source dans AzureMicrosoft
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
MWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkMWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkLaurent Sittler
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6Microsoft
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptMichael Akbaraly
 
Un site sans CMS (Teknseo 2014)
Un site sans CMS (Teknseo 2014)Un site sans CMS (Teknseo 2014)
Un site sans CMS (Teknseo 2014)Didcode
 
D’un modèle d'IA dans un notebook à un service temps réel : architecturons !
D’un modèle d'IA dans un notebook à un service temps réel : architecturons ! D’un modèle d'IA dans un notebook à un service temps réel : architecturons !
D’un modèle d'IA dans un notebook à un service temps réel : architecturons ! Marie-Alice Blete
 
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...FactoVia
 
Kubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationKubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationWescale
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerJean-Baptiste Claramonte
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Publicis Sapient Engineering
 
Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2waizou
 

Similaire à Self-Service infrastructure pour GCP avec Terraform et Gitlab (20)

meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023meetup devops aix-marseille - décembre 2023
meetup devops aix-marseille - décembre 2023
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022
 
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"
 
DevOps & Docker : Open Source dans Azure
DevOps & Docker : Open Source dans AzureDevOps & Docker : Open Source dans Azure
DevOps & Docker : Open Source dans Azure
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
MWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkMWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint Framework
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
 
Un site sans CMS (Teknseo 2014)
Un site sans CMS (Teknseo 2014)Un site sans CMS (Teknseo 2014)
Un site sans CMS (Teknseo 2014)
 
D’un modèle d'IA dans un notebook à un service temps réel : architecturons !
D’un modèle d'IA dans un notebook à un service temps réel : architecturons ! D’un modèle d'IA dans un notebook à un service temps réel : architecturons !
D’un modèle d'IA dans un notebook à un service temps réel : architecturons !
 
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
 
Kubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationKubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestration
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration Docker
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
 
Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2
 

Self-Service infrastructure pour GCP avec Terraform et Gitlab