Introduction à AWS DevOps
1 - Écosystème AWS DevOps
AWS propose une suite complète de services pour automatiser toutes les étapes du cycle de développement logiciel.
2 - Vue d'ensemble des services
2.1 Services Code*
| Service | Description | Équivalent |
|---|---|---|
| CodeCommit | Repositories Git privés | GitHub, GitLab |
| CodeBuild | Build et tests | Jenkins, CircleCI |
| CodeDeploy | Déploiement automatisé | Octopus Deploy |
| CodePipeline | Orchestration CI/CD | Jenkins Pipeline |
| CodeArtifact | Repository d'artefacts | Nexus, JFrog |
2.2 Architecture de référence
3 - Avantages d'AWS DevOps
3.1 Intégration native
- Tous les services fonctionnent ensemble nativement
- Authentification unifiée avec IAM
- Pas de configuration de plugins complexe
- Support natif pour EC2, ECS, EKS, Lambda
3.2 Scalabilité
- Services entièrement managés
- Pas d'infrastructure à gérer
- Scale automatiquement selon la charge
- Pay-per-use (paiement à l'utilisation)
3.3 Sécurité
- Chiffrement au repos et en transit
- IAM pour le contrôle d'accès fin
- Intégration avec Secrets Manager
- Audit trail avec CloudTrail
4 - Comparaison avec d'autres solutions
| Critère | AWS Code* | GitHub Actions | Jenkins | GitLab CI |
|---|---|---|---|---|
| Managé | ✅ | ✅ | ❌ | ✅ |
| Intégration AWS | Native | Bonne | Plugins | Plugins |
| Courbe d'apprentissage | Moyenne | Facile | Complexe | Facile |
| Coût | Pay-per-use | Free tier | Infrastructure | Free tier |
| Self-hosted | ❌ | ✅ | ✅ | ✅ |
5 - Configuration initiale
5.1 Prérequis AWS CLI
# Installer AWS CLI
# macOS
brew install awscli
# Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
# Windows
# Télécharger depuis https://aws.amazon.com/cli/
# Configurer les credentials
aws configure
# AWS Access Key ID: AKIA...
# AWS Secret Access Key: ...
# Default region name: eu-west-1
# Default output format: json
# Vérifier
aws sts get-caller-identity
5.2 IAM User pour DevOps
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:*",
"codebuild:*",
"codedeploy:*",
"codepipeline:*",
"ecr:*",
"ecs:*",
"cloudwatch:*",
"logs:*",
"s3:*",
"iam:PassRole"
],
"Resource": "*"
}
]
}
6 - Tarification
6.1 CodeCommit
| Usage | Prix |
|---|---|
| 5 utilisateurs actifs | Gratuit |
| Utilisateurs supplémentaires | $1/mois/utilisateur |
| Git requests | Inclus |
| Storage | 50 Go inclus |
6.2 CodeBuild
| Compute Type | Prix/minute |
|---|---|
| build.general1.small | $0.005 |
| build.general1.medium | $0.01 |
| build.general1.large | $0.02 |
| GPU builds | $0.65 |
Free tier: 100 minutes/mois (general1.small)
6.3 CodeDeploy
| Target | Prix |
|---|---|
| EC2/On-premises | Gratuit |
| ECS | Gratuit |
| Lambda | Gratuit |
6.4 CodePipeline
| Usage | Prix |
|---|---|
| Premier pipeline actif | Gratuit |
| Pipelines supplémentaires | $1/mois |
7 - Premier pipeline
7.1 Architecture simple
7.2 Exemple minimal avec CLI
# Créer un repository CodeCommit
aws codecommit create-repository \
--repository-name my-first-repo \
--repository-description "Mon premier repo AWS"
# Cloner le repo
git clone https://git-codecommit.eu-west-1.amazonaws.com/v1/repos/my-first-repo
cd my-first-repo
# Ajouter du code
echo '{"name": "my-app"}' > package.json
git add .
git commit -m "Initial commit"
git push origin main
Résumé
Dans ce chapitre, nous avons découvert :
- L'écosystème AWS DevOps et ses services
- Les avantages de l'intégration native
- La configuration initiale (CLI, IAM)
- La tarification des services
- Un aperçu d'un premier pipeline
Prochaine étape
Dans le prochain chapitre, nous explorerons AWS CodeCommit en détail.
→ Chapitre suivant : AWS CodeCommit