Introduction to AWS DevOps
1 - AWS DevOps ecosystem
AWS offers a complete suite of services to automate every stage of the software development lifecycle.
2 - Overview of the services
2.1 Code* services
| Service | Description | Equivalent |
|---|---|---|
| CodeCommit | Private Git repositories | GitHub, GitLab |
| CodeBuild | Build and tests | Jenkins, CircleCI |
| CodeDeploy | Automated deployment | Octopus Deploy |
| CodePipeline | CI/CD orchestration | Jenkins Pipeline |
| CodeArtifact | Artifact repository | Nexus, JFrog |
2.2 Reference architecture
3 - Benefits of AWS DevOps
3.1 Native integration
- All services work together natively
- Unified authentication with IAM
- No complex plugin configuration
- Native support for EC2, ECS, EKS, Lambda
3.2 Scalability
- Fully managed services
- No infrastructure to manage
- Scales automatically with load
- Pay-per-use
3.3 Security
- Encryption at rest and in transit
- IAM for fine-grained access control
- Integration with Secrets Manager
- Audit trail with CloudTrail
4 - Comparison with other solutions
| Criterion | AWS Code* | GitHub Actions | Jenkins | GitLab CI |
|---|---|---|---|---|
| Managed | ✅ | ✅ | ❌ | ✅ |
| AWS integration | Native | Good | Plugins | Plugins |
| Learning curve | Medium | Easy | Complex | Easy |
| Cost | Pay-per-use | Free tier | Infrastructure | Free tier |
| Self-hosted | ❌ | ✅ | ✅ | ✅ |
5 - Initial configuration
5.1 AWS CLI prerequisites
# 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 for DevOps
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:*",
"codebuild:*",
"codedeploy:*",
"codepipeline:*",
"ecr:*",
"ecs:*",
"cloudwatch:*",
"logs:*",
"s3:*",
"iam:PassRole"
],
"Resource": "*"
}
]
}
6 - Pricing
6.1 CodeCommit
| Usage | Price |
|---|---|
| 5 active users | Free |
| Additional users | $1/month/user |
| Git requests | Included |
| Storage | 50 GB included |
6.2 CodeBuild
| Compute Type | Price/minute |
|---|---|
| build.general1.small | $0.005 |
| build.general1.medium | $0.01 |
| build.general1.large | $0.02 |
| GPU builds | $0.65 |
Free tier: 100 minutes/month (general1.small)
6.3 CodeDeploy
| Target | Price |
|---|---|
| EC2/On-premises | Free |
| ECS | Free |
| Lambda | Free |
6.4 CodePipeline
| Usage | Price |
|---|---|
| First active pipeline | Free |
| Additional pipelines | $1/month |
7 - First pipeline
7.1 Simple architecture
7.2 Minimal example with the 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
Summary
In this chapter, we discovered:
- The AWS DevOps ecosystem and its services
- The benefits of native integration
- The initial configuration (CLI, IAM)
- The pricing of the services
- An overview of a first pipeline
Next step
In the next chapter, we will explore AWS CodeCommit in detail.
→ Next chapter: AWS CodeCommit