0% found this document useful (0 votes)
15 views

Presentation Deck - Getting Started With DevOps On AWS

The document discusses DevOps and continuous delivery practices using AWS services. It describes the typical release process stages of source, build, test, and deploy. It then covers topics including continuous integration, continuous deployment, common issues, and AWS code services that can help implement these practices like CodeCommit, CodeBuild, and CodeDeploy.

Uploaded by

RE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Presentation Deck - Getting Started With DevOps On AWS

The document discusses DevOps and continuous delivery practices using AWS services. It describes the typical release process stages of source, build, test, and deploy. It then covers topics including continuous integration, continuous deployment, common issues, and AWS code services that can help implement these practices like CodeCommit, CodeBuild, and CodeDeploy.

Uploaded by

RE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Builders Online Series

Getting Started with DevOps on AWS

Loh, Yiang Meng


Solutions Architect,
Amazon Web Services

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
• What is DevOps?

• Release Process

• What is CI/CD?

• AWS Code Services

• Demo

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is DevOps?
DevOps =

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is DevOps?
DevOps = Culture + Practices + Tools

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is DevOps?
DevOps = Culture + Practices + Tools

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is DevOps?
DevOps = Culture + Practices + Tools

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is DevOps?
DevOps = Culture + Practices + Tools

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A typical release process stages

Source Build Test Deploy

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A typical release process stages

Source

• Pull source code


such as .java files

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A typical release process stages

Source Build

• Pull source code • Compile code


such as .java files • Unit tests
• Style checkers
• Generate code
artifacts

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A typical release process stages

Source Build Test

• Pull source code • Compile code • Integration tests


such as .java files • Unit tests with other
• Style checkers systems
• Generate code • Load testing
artifacts • UI tests
• Security testing

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A typical release process stages

Source Build Test Deploy

• Pull source code • Compile code • Integration tests • Deploy to staging


such as .java files • Unit tests with other environments
• Style checkers systems • Promote to
• Generate code • Load testing Production
artifacts • UI tests environment
• Security testing

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Common issues faced

Source Build Test Deploy

• Merge conflicts
• Tightly coupled
changes
• Repository
unavailability

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Common issues faced

Source Build Test Deploy

• Merge conflicts • Inconsistent


• Tightly coupled configuration
changes • Long wait for
• Repository build server
unavailability availability

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Common issues faced

Source Build Test Deploy

• Merge conflicts • Inconsistent • Simply going


• Tightly coupled configuration through motion
changes • Long wait for • Inconsistent
• Repository build server testing
unavailability availability • Unable to do load
testing

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Common issues faced

Source Build Test Deploy

• Merge conflicts • Inconsistent • Simply going • Deployment


• Tightly coupled configuration through motion downtime
changes • Long wait for • Inconsistent • “But it worked in
• Repository build server testing Staging!”
unavailability availability • Unable to do load • Inconsistent
testing rollback

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous integration goals

Source Build Test Deploy

Continuous integration

1. Automatically kick off a new build when new code is checked in


2. Build and test code in a consistent, repeatable environment
3. Continually have an artifact ready for deployment
4. Continually close feedback loop when build fails

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous deployment goals

Source Build Test Deploy

Continuous integration

Continuous deployment

1. Automatically deploy new changes to staging environments for testing


2. Deploy to production safely without impacting customers
3. Deliver to customers faster
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Code Services

Source Build Test Deploy

AWS CodeCommit AWS CodeBuild AWS CodeBuild AWS CodeDeploy


+ 3rd party tooling

AWS CodePipeline
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Code Services

Source

AWS CodeCommit

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeCommit
Secure, scalable, and managed Git source control Git objects
in Amazon Simple
Storage Service
(Amazon S3)

SSH or HTTPS Git index


in Amazon DynamoDB

Git push
AWS CodeCommit
Encryption keys
in AWS Key
Management Service
(KMS)

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Branching strategy: GitFlow workflow
• Easier to understand and
test
• Code review faster
• Backwards compatible
• GitFlow discipline

Credits: Atlassian GitFlow Workflow

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Code Services

Build Test

AWS CodeBuild AWS CodeBuild


+ 3rd party tooling

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeBuild
• Fully managed build service
• Isolated build containers for
consistent, immutable environment
• Docker and AWS Command Line
Interface (CLI) out of box
• Ability to customize build
environment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous integration workflow

AWS CodeCommit AWS CodeBuild


Test types
Commit to
dev branch Hook Unit tests

Pull code Integration tests

Developer Code coverage


Send build report to development Distributed builds;
team; stop everything if build fails run tests in parallel

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Code Services

Deploy

AWS CodeDeploy

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeDeploy
• Automates code deployments
• Handles complexity of application
updates
• Avoid downtime during deployment
• Roll back automatically upon failure
• Limit “blast radius” with traffic control

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Choosing a deployment technique
Aim is to introduce the changes slowly
• Achieve zero downtime
• Deploy to only a few instances first
• Incrementally shift traffic to new version
• Bake and monitor performance before
committing
• Achieve fast rollback on failures

Deployment strategies
• Blue-Green
• Canary

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue-Green deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue-Green deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue-Green deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue-Green deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue-Green deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue-Green deployment
Advantages
• Zero downtime
• Original environment is not impacted
• Quick and safe rollback

Disadvantages
• Added cost and time for creating new environment
• Operational overheads

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Canary deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Canary deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Canary deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Canary deployment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Canary deployment
Advantages
• Test new version with small amount of production traffic before committing
• Quick and safe rollback
• Zero downtime

Disadvantages
• Old version and new version should be compatible
• Added cost and time for creating cloned environment

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous deployment workflow

Merge PR Hook
into trunk pull code

Developer

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous deployment workflow

Merge PR Hook
into trunk pull code

Developer

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodePipeline
• Managed continuous delivery service
• Model and visualize release process
• Automated pipeline trigger on code
change
• Integrates with third-party tools

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodePipeline
Source Deploy-Staging

PullSource TestAPI
CodeCommit Runscope

QA-SignOff
Build Manual Approval

MyAppBuild NotifyDevelopers Review


CodeBuild Lambda
TriggerProd
TestAPI Lambda
Runscope

Deploy-Dev

DeployDev NotifyDevelopers
CodeDeploy Lambda Deploy-Prod

TriggerStaging Prod-ap-southeast
Lambda CodeDeploy

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Digital Training
Featured Courses
• AWS Cloud Practitioner Essentials (Second Edition)
Learn the fundamentals of the AWS Cloud and prepare for the AWS
Certified Cloud Practitioner exam.
• Amazon DynamoDB for Serverless Architectures
An introduction to Amazon DynamoDB and how it’s leveraged in
building a serverless architecture.
• AWS Security Fundamentals
Learn fundamental cloud computing and AWS security concepts,
including AWS access control and management, governance, logging,
Build cloud skills with and encryption methods.
550+ free digital training • Getting Started with Amazon Simple Storage Service (Amazon S3)
courses, or dive deep The course provides you with the knowledge to determine when to use
with classroom training Amazon S3 by reviewing typical use cases and understanding how the
service provides object storage for your applications.

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. aws.amazon.com/training
Thank you for attending AWS Builders Online Series
We hope you found it interesting! A kind reminder to complete the survey.
Let us know what you thought of today’s event and how we can improve the event
experience for you in the future.

[email protected]
twitter.com/AWSCloud

facebook.com/AmazonWebServices
youtube.com/user/AmazonWebServices

slideshare.net/AmazonWebServices
twitch.tv/aws

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Builders Online Series

Thank you

© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.

You might also like