Skip to main content

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

ServiceDescriptionEquivalent
CodeCommitPrivate Git repositoriesGitHub, GitLab
CodeBuildBuild and testsJenkins, CircleCI
CodeDeployAutomated deploymentOctopus Deploy
CodePipelineCI/CD orchestrationJenkins Pipeline
CodeArtifactArtifact repositoryNexus, 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

CriterionAWS Code*GitHub ActionsJenkinsGitLab CI
Managed
AWS integrationNativeGoodPluginsPlugins
Learning curveMediumEasyComplexEasy
CostPay-per-useFree tierInfrastructureFree 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

UsagePrice
5 active usersFree
Additional users$1/month/user
Git requestsIncluded
Storage50 GB included

6.2 CodeBuild

Compute TypePrice/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

TargetPrice
EC2/On-premisesFree
ECSFree
LambdaFree

6.4 CodePipeline

UsagePrice
First active pipelineFree
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


← Back to the table of contents