Introduction à GCP DevOps
1 - Écosystème GCP DevOps
Google Cloud Platform propose une suite complète d'outils pour le développement, le déploiement et l'exploitation d'applications.
2 - Services principaux
2.1 Vue d'ensemble
| Service | Description | Équivalent |
|---|---|---|
| Cloud Source Repos | Repositories Git privés | GitHub, GitLab |
| Cloud Build | CI/CD serverless | Jenkins, GitHub Actions |
| Artifact Registry | Package & container registry | Docker Hub, Nexus |
| Cloud Deploy | Continuous delivery | ArgoCD, Spinnaker |
| GKE | Kubernetes managé | EKS, AKS |
| Cloud Run | Serverless containers | AWS Fargate |
2.2 Architecture de référence
3 - Configuration initiale
3.1 Installer gcloud CLI
# macOS
brew install google-cloud-sdk
# Linux
curl https://sdk.cloud.google.com | bash
# Windows
# Télécharger depuis https://cloud.google.com/sdk/docs/install
# Initialiser
gcloud init
# Se connecter
gcloud auth login
# Configurer le projet
gcloud config set project mon-projet-id
3.2 Activer les APIs
# Activer les APIs DevOps
gcloud services enable \
cloudbuild.googleapis.com \
artifactregistry.googleapis.com \
cloudrun.googleapis.com \
container.googleapis.com \
clouddeploy.googleapis.com \
monitoring.googleapis.com \
logging.googleapis.com
3.3 IAM et permissions
# Créer un Service Account
gcloud iam service-accounts create devops-sa \
--display-name="DevOps Service Account"
# Attribuer les rôles
gcloud projects add-iam-policy-binding mon-projet \
--member="serviceAccount:[email protected]" \
--role="roles/cloudbuild.builds.builder"
gcloud projects add-iam-policy-binding mon-projet \
--member="serviceAccount:[email protected]" \
--role="roles/artifactregistry.writer"
4 - Tarification
4.1 Cloud Build
| Usage | Prix |
|---|---|
| 120 minutes/jour | Gratuit |
| Minutes supplémentaires | $0.003/min (e2-medium) |
| Machine n1-highcpu-8 | $0.016/min |
| Machine n1-highcpu-32 | $0.064/min |
4.2 Artifact Registry
| Usage | Prix |
|---|---|
| Stockage | $0.10/GB/mois |
| Egress | Prix standard GCP |
| Vulnerability scanning | $0.26/image |
4.3 Cloud Run
| Ressource | Prix |
|---|---|
| vCPU | $0.00002400/vCPU-seconde |
| Mémoire | $0.00000250/GiB-seconde |
| Requêtes | $0.40/million |
| Free tier | 2M requêtes/mois |
4.4 GKE
| Type | Prix |
|---|---|
| GKE Autopilot | $0.10/vCPU/heure |
| GKE Standard | Gratuit (nodes facturés) |
| Control plane | $0.10/heure/cluster |
5 - Organisations et projets
5.1 Hiérarchie GCP
5.2 Créer un projet
# Créer un projet
gcloud projects create mon-nouveau-projet \
--name="Mon Nouveau Projet" \
--organization=123456789
# Définir comme projet par défaut
gcloud config set project mon-nouveau-projet
# Lier à un compte de facturation
gcloud beta billing projects link mon-nouveau-projet \
--billing-account=0X0X0X-0X0X0X-0X0X0X
6 - Régions et zones
6.1 Régions Europe
| Région | Localisation |
|---|---|
| europe-west1 | Belgique |
| europe-west2 | Londres |
| europe-west3 | Francfort |
| europe-west4 | Pays-Bas |
| europe-west9 | Paris |
6.2 Configuration
# Définir la région par défaut
gcloud config set compute/region europe-west1
gcloud config set compute/zone europe-west1-b
# Vérifier la configuration
gcloud config list
7 - Comparaison avec AWS et Azure
| Fonctionnalité | GCP | AWS | Azure |
|---|---|---|---|
| CI/CD | Cloud Build | CodePipeline | Azure Pipelines |
| Container Registry | Artifact Registry | ECR | ACR |
| Kubernetes | GKE | EKS | AKS |
| Serverless Containers | Cloud Run | Fargate | Container Apps |
| Monitoring | Cloud Monitoring | CloudWatch | Azure Monitor |
Résumé
Dans ce chapitre, nous avons découvert :
- L'écosystème GCP DevOps
- Les services principaux
- La configuration initiale (gcloud, APIs)
- La tarification
- L'organisation des projets
Prochaine étape
Dans le prochain chapitre, nous explorerons Cloud Source Repositories.
→ Chapitre suivant : Cloud Source Repositories