SlideShare a Scribd company logo
1 of 71
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pop-up Loft
DevOps on AWS: Building Systems to Deliver Faster
Trevor Sullivan,
AWS Solutions Architect
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What is DevOps?
• Cultural philosophies
• Practices
• Tools
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
DevOps Culture
• Dev & Ops coming together
• No more “silos”
• Shared responsibility
• Ownership
• Visibility and communication
Dev
Ops
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Monolithic vs. Service-Oriented Architectures
Service-Oriented ArchitectureMonolithic
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
DevOps Practices
• Continuous Integration
• Continuous Delivery & Deployment
Source Control
AUTOMATED
Commit changes
Build
Run build and unit tests
Staging
Deploy to test environment
Run integration tests, load tests
Production
Deploy to production
environment
AUTOMATED
CONTINUOUS DELIVERY
CONTINUOUS INTEGRATION
CONTINUOUS DEPLOYMENT
APPROVE DEPLOY
AUTOMATIC DEPLOY
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
DevOps Practices
• Infrastructure as code
• Model your AWS resources using code
• Discover "who" changed "what" and "when"
• Author templates in YAML or JSON
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
DevOps Practices
• Monitoring and Logging
• Track and analyze metrics and logs
• Understand real-time performance of infrastructure and
application
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Reliability
Benefits of DevOps
Speed
Scale
Rapid DeliveryImproved Collaboration
Security
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
A look back at
development at
Amazon..
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Development transformation at Amazon: 2001-2009
2009
monolithic
application + teams
microservices + 2 pizza teams
2001
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Things went much
better under this
model and teams
were releasing faster
than ever, but we felt
that we could still
improve.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
In 2009, we ran
a study to find
out where
inefficiencies
might still exist
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to Prod
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
We were just waiting.
WaitWrite
Code WaitBuild
Code WaitDeploy
to Test
Deploy
to Prod
Weeks
Mins Days Mins Days Mins Days Mins
Hours
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
We built tools to automate
our software release
process
https://secure.flickr.com/photos/lindseygee/5894617854/
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
• Automated actions
and transitions; from
check-in to
production
• Development
benefits:
• Faster
• Safer
• Simplification &
standardization
• Visualization of the
process
Pipelines
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
This has continued to work out really well:
• In 2014:
• Thousands of service teams across Amazon
• Building microservices
• Practicing continuous delivery
• Many environments (staging, beta, production)
50 million deploys
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
This has continued to work out really well:
• Every year at Amazon, we perform a survey of all our software developers.
The 2014 results found only one development tool/service could be
correlated statistically with happier developers:
• Our pipelines service!
continuous delivery == happier developers!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Where do you
?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
• Integration
tests with other
systems
• Load testing
• UI tests
• Penetration
testing
Five major phases of release and monitor
Source Build Test Deploy Monitor
• Check-in source
code such as
.java files.
• Peer review
new code
• Compile code
• Unit tests
• Style checkers
• Code metrics
• Create
container
images
• Deployment to
production
environments
• Monitor code in
production to
quickly detect
unusual activity
or errors
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Build & test your
application
https://secure.flickr.com/photos/spenceyc/7481166880
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Fully managed build service that compiles source code, runs
tests, and produces software packages
Scales continuously and processes multiple builds
concurrently
You can provide custom build environments suited to your
needs via Docker images
Only pay by the minute for the compute resources you use
Launched with CodePipeline and Jenkins integration
AWS CodeBuild
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How does it work?
1. Downloads source code
2. Executes commands configured in the buildspec in temporary compute
containers (created fresh on every build)
3. Streams the build output to the service console and CloudWatch logs
4. Uploads the generated artifact to an S3 bucket
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
How can I automate my release process with CodeBuild?
• Integrated with AWS CodePipeline for CI/CD
• Easily pluggable (API/CLI driven)
• Bring your own build environments
• Create Docker images containing tools you need
• Open source Jenkins plugin
• Use CodeBuild as the workers off of a Jenkins master
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
buildspec.yml Example
version: 0.1
environment_variables:
plaintext:
JAVA_HOME: "/usr/lib/jvm/java-8-openjdk-amd64"
phases:
install:
commands:
- apt-get update -y
- apt-get install -y maven
pre_build:
commands:
- echo Nothing to do in the pre_build phase...
build:
commands:
- echo Build started on `date`
- mvn install
post_build:
commands:
- echo Build completed on `date`
artifacts:
type: zip
files:
- target/messageUtil-1.0.jar
discard-paths: yes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
buildspec.yml Example
version: 0.1
environment_variables:
plaintext:
JAVA_HOME: "/usr/lib/jvm/java-8-openjdk-amd64"
phases:
install:
commands:
- apt-get update -y
- apt-get install -y maven
pre_build:
commands:
- echo Nothing to do in the pre_build phase...
build:
commands:
- echo Build started on `date`
- mvn install
post_build:
commands:
- echo Build completed on `date`
artifacts:
type: zip
files:
- target/messageUtil-1.0.jar
discard-paths: yes
• Variables to be used by phases of
build
• Examples for what you can do in the
phases of a build:
• You can install packages or run
commands to prepare your
environment in ”install”.
• Run syntax checking, commands in
“pre_build”.
• Execute your build tool/command
in “build”
• Test your app further or ship a
container image to a repository in
post_build
• Create and store an artifact in S3
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Building Your Code
• “Building” code typically refers to languages that require
compiled binaries:
• .NET languages: C#, F#, VB.net, etc.
• Java and JVM languages: Java, Scala, JRuby
• Go
• iOS languages: Swift, Objective-C
• We also refer to the process of creating Docker container
images as “building” the image.
EC2
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
No Building Required!
• Many languages don’t require building. These are
considered interpreted languages:
• PHP
• Ruby
• Python
• Node.js
• PowerShell
• You can just deploy your code!
EC2
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Testing Your Code
• Testing is both a science and an art form!
• Goals for testing your code:
• Want to confirm desired functionality
• Catch programming syntax errors
• Standardize code patterns and format
• Reduce bugs due to non-desired application usage and
logic failures
• Make applications more secure
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Where to Focus Your Tests:
UI
Service
Unit 70%
20%
10%
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
What service and release step corresponds with which tests?
UI
Service
Unit
Third Party
Tooling
AWS CodeBuild
BuildTest
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pricing
• Pay by the Minute
• Three compute types differentiated by the amount of memory and CPU
resources:
Compute instance type Memory (GB) vCPU Price per build minute ($)
build.general1.small 3 2 0.005
build.general1.medium 7 4 0.010
build.general1.large 15 8 0.020
*As of January 20 2017
Free tier of 100 build minutes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Deploying your
applications
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Automates code deployments to EC2 instances
Handles the complexity of updating your
applications
Avoid downtime during application deployment
Rollback automatically if failure detected
Deploy to Amazon EC2 or on-premises servers, in
any language and on any operating system
Integrates with third-party tools and AWS
AWS CodeDeploy
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
appspec.yml Example
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
permissions:
- object: /var/www/html
pattern: "*.html
owner: root
group: root
mode: 755
hooks:
ApplicationStop:
- location: scripts/deregister_from_elb.sh
BeforeInstall:
- location: scripts/install_dependencies.sh
ApplicationStart:
- location: scripts/start_httpd.sh
ValidateService:
- location: scripts/test_site.sh
- location: scripts/register_with_elb.sh
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
appspec.yml Exampleversion: 0.0
os: linux
files:
- source: /
destination: /var/www/html
permissions:
- object: /var/www/html
pattern: “*.html”
owner: root
group: root
mode: 755
hooks:
ApplicationStop:
- location: scripts/deregister_from_elb.sh
BeforeInstall:
- location: scripts/install_dependencies.sh
ApplicationStart:
- location: scripts/start_httpd.sh
ValidateService:
- location: scripts/test_site.sh
- location: scripts/register_with_elb.sh
• Remove/add instance to ELB
• Install dependency packages
• Start Apache
• Confirm successful deploy
• More!
• Send application files to one
directory and configuration files
to another
• Set specific permissions on
specific directories & files
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
v2 v2 v2 v2 v2 v2
one at a time
half at a time
all at once
v2 v2 v2 v1 v1 v1
v2 v1 v1 v1 v1 v1 Agent Agent
Dev Deployment group
OR
Prod Deployment group
Agent
AgentAgent
Agent Agent
Agent
Choose Deployment Speed and Group
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Orchestrating build and
deploy with a pipeline
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Continuous delivery service for fast and reliable
application updates
Model and visualize your software release process
Builds, tests, and deploys your code every time
there is a code change
Integrates with third-party tools and AWS
AWS CodePipeline
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Source
Source
GitHub
Build
CodeBuild
AWS CodeBuild
Deploy
JavaApp
Elastic Beanstalk
Pipeline
Stage
Action
Transition
CodePipeline
MyApplication
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Build
CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
Parallel actions
Source
Source
GitHub
CodePipeline
MyApplication
Deploy
JavaApp
Elastic Beanstalk
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Build
CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
TestAPI
Runscope
Sequential actions
Deploy
JavaApp
Elastic Beanstalk
Source
Source
GitHub
CodePipeline
MyApplication
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Build
CodeBuild
AWS CodeBuild
Staging-Deploy
JavaApp
Elastic Beanstalk
Prod-Deploy
JavaApp
Elastic Beanstalk
QATeamReview
Manual Approval
Manual Approvals
Review
CodePipeline
MyApplication
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Secure, scalable, and managed Git source control
Use standard Git tools
Scalability, availability, and durability of Amazon S3
Encryption at rest with customer-specific keys
No repo size limit
Post commit hooks to call out to SNS/Lambda
AWS CodeCommit
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Secure Fully
managed
High
availability
Store
anything
Source control in the cloud
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CodeCommit
git pull/push CodeCommit
Git objects in
Amazon S3
Git index in
Amazon
DynamoDB
Encryption key
in AWS KMS
SSH or HTTPS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
Cloning into 'aws-cli'...
Receiving objects: 100% (16032/16032), 5.55 MiB | 1.25 MiB/s, done.
Resolving deltas: 100% (9900/9900), done.
Checking connectivity... done.
$ nano README.rst
$ git commit -am 'updated README'
[master 4fa0318] updated README
1 file changed, 1 insertion(+)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 297 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote:
To https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
4dacd6d..4fa0318 master -> master
Same Git experience
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CodeStar
• Quickly develop, build and deploy
applications on AWS
• Start developing on AWS in minutes
• Work across your team, securely
• Manage software delivery easily
• Choose from a variety of project
templates
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CodeStar
Project Templates for EC2, Lambda, and Elastic Beanstalk
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Select Source Control Provider
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pre- Configured Continuous Delivery Toolchain
AWS CodeStar
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Easily connect your favorite IDE
AWS CodeStar
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Set up secure team access in a few clicks
AWS CodeStar
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Unified Dashboard – Managing Delivery Pipeline and Issue Tracking
AWS CodeStar
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS CodeStar
Unified Dashboard – Application Activity and Commit History
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
AWS X-Ray
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Traditional Debugging
Developer Local Test
Developer
Add
Breakpoints
Add Log
Statements
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
The traditional process of debugging doesn’t scale well for
production applications or those built using a service-oriented,
microservice, or serverless architecture.
It’s tedious, repetitive, and time consuming.
Requiring Dev & Ops to spend more time debugging
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Identify Performance
Bottlenecks
How Does AWS X-Ray help?
Pinpoint Specific
Service Issues
Identify Errors Identify Impact to Users
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Additional Use Cases
Use Off-Cloud Custom Payload Deep Linking Custom Apps
via API
Filter
Expressions
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
X-Ray Service
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
App & X-Ray
SDK
EC2 Instance/Containers/Lambda
X-Ray
Daemon
Localhost
UDP
X-Ray API
HTTPS
HTTPS
X-Ray Console
App & X-Ray
SDK
On-prem Server
X-Ray
Daemon
Localhost
UDP
EC2 Role
AWS
Credentials
DevOps Team
HTTPS
X-Ray Workflow
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
X-Ray SDK
Enables you to get started quickly without having to manually instrument
your application code to log metadata about requests
Source on GitHub under https://github.com/aws?q=xray-sdk
Available for Java, .NET, .NET Core, Python, Ruby, Go, & Node.js
Adds filters to automatically captures metadata for calls to:
§ AWS services using the AWS SDK
§ Non-AWS services over HTTP and HTTPS
§ Databases (MySQL, PostgreSQL, and Amazon DynamoDB)
§ Queues (Amazon SQS)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
X-Ray Daemon
• Receives data from the SDK over UDP and acts as a local buffer. Data is
flushed to the backend every second or when the local buffer fills.
• Available for Amazon Linux AMI, RHEL, Ubuntu, OS X, and Windows.
• Pre-installed on AWS Lambda.
• Can be run anywhere as long as AWS credentials are provided (for
example, EC2, ECS, on-premise, developer machine, and others).
• Source on GitHub under https://github.com/aws/aws-xray-daemon
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Case Study: Instacart
Scenario
Homegrown deployment tool
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Case Study: lululemon athletica
Scenario
Offering more digital services
Took days to stand up new development environments
Solution
Deploy in minutes with AWS CloudFormation and AWS CodePipeline
Distribute artifacts with Amazon S3
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Pop-up Loft
aws.amazon.com/activate
Everything and Anything Startups
Need to Get Started on AWS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Title
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
Design Guide Lines
• Use Dots for List elements
– Alternate Dots and Dashes
• Font info
– Arial
– Color: White
– Content: In Arial
– Titles: Arial Bold
• Content should be Left aligned
– No Center aligned text
• Avoid Clipart

More Related Content

What's hot

AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS SummitAWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS SummitAmazon Web Services
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeAmazon Web Services
 
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | EdurekaCodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | EdurekaEdureka!
 
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...Amazon Web Services
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An IntroductionAmazon Web Services
 
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...Amazon Web Services
 
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitInfrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitAmazon Web Services
 
All You Need to Know about AWS Elastic Load Balancer
All You Need to Know about AWS Elastic Load BalancerAll You Need to Know about AWS Elastic Load Balancer
All You Need to Know about AWS Elastic Load BalancerCloudlytics
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon Web Services
 
How to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarHow to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarAmazon Web Services
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...Amazon Web Services
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Amazon Web Services
 
AWS CDK introduction
AWS CDK introductionAWS CDK introduction
AWS CDK introductionleo lapworth
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesGary Silverman
 
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkContinuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkThomas Shaw
 

What's hot (20)

AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS SummitAWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
AWS Networking Fundamentals - SVC304 - Anaheim AWS Summit
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | EdurekaCodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
CodeBuild CodePipeline CodeDeploy CodeCommit in AWS | Edureka
 
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An Introduction
 
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitInfrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
 
All You Need to Know about AWS Elastic Load Balancer
All You Need to Know about AWS Elastic Load BalancerAll You Need to Know about AWS Elastic Load Balancer
All You Need to Know about AWS Elastic Load Balancer
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
 
How to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarHow to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStar
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
 
AWS Amplify
AWS AmplifyAWS Amplify
AWS Amplify
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)
 
AWS CDK introduction
AWS CDK introductionAWS CDK introduction
AWS CDK introduction
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Introduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best PracticesIntroduction to AWS VPC, Guidelines, and Best Practices
Introduction to AWS VPC, Guidelines, and Best Practices
 
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkContinuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
 
AWS ELB
AWS ELBAWS ELB
AWS ELB
 
Aws VPC
Aws VPCAws VPC
Aws VPC
 

Similar to DevOps on AWS

Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon Web Services
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...Amazon Web Services
 
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...Amazon Web Services
 
Amazon CI/CD Practices for Software Development Teams - SRV320 - Chicago AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Chicago AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Chicago AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Chicago AWS ...Amazon Web Services
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryAmazon Web Services
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryAmazon Web Services
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsAmazon Web Services
 
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Amazon Web Services
 
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...Amazon Web Services
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018Bhuvaneswari Subramani
 
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...Amazon Web Services
 
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Amazon Web Services
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSatSistemas
 

Similar to DevOps on AWS (20)

Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
 
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Atlanta AWS ...
 
Amazon CI/CD Practices for Software Development Teams - SRV320 - Chicago AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Chicago AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Chicago AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Chicago AWS ...
 
DevOps Culture at Amazon
DevOps Culture at AmazonDevOps Culture at Amazon
DevOps Culture at Amazon
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & Delivery
 
Improve Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & DeliveryImprove Productivity with Continuous Integration & Delivery
Improve Productivity with Continuous Integration & Delivery
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
CI/CD@Scale
CI/CD@ScaleCI/CD@Scale
CI/CD@Scale
 
Webinar-DevOps.pdf
Webinar-DevOps.pdfWebinar-DevOps.pdf
Webinar-DevOps.pdf
 
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
 
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
 
DevOps: The Amazon Story
DevOps: The Amazon StoryDevOps: The Amazon Story
DevOps: The Amazon Story
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
 
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
 
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
Continuous Integration Best Practices (DEV319-R1) - AWS re:Invent 2018
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
CI/CD using AWS developer tools
CI/CD using AWS developer toolsCI/CD using AWS developer tools
CI/CD using AWS developer tools
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWS
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

DevOps on AWS

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Pop-up Loft DevOps on AWS: Building Systems to Deliver Faster Trevor Sullivan, AWS Solutions Architect
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved What is DevOps? • Cultural philosophies • Practices • Tools
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved DevOps Culture • Dev & Ops coming together • No more “silos” • Shared responsibility • Ownership • Visibility and communication Dev Ops
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Monolithic vs. Service-Oriented Architectures Service-Oriented ArchitectureMonolithic
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved DevOps Practices • Continuous Integration • Continuous Delivery & Deployment Source Control AUTOMATED Commit changes Build Run build and unit tests Staging Deploy to test environment Run integration tests, load tests Production Deploy to production environment AUTOMATED CONTINUOUS DELIVERY CONTINUOUS INTEGRATION CONTINUOUS DEPLOYMENT APPROVE DEPLOY AUTOMATIC DEPLOY
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved DevOps Practices • Infrastructure as code • Model your AWS resources using code • Discover "who" changed "what" and "when" • Author templates in YAML or JSON
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved DevOps Practices • Monitoring and Logging • Track and analyze metrics and logs • Understand real-time performance of infrastructure and application
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Reliability Benefits of DevOps Speed Scale Rapid DeliveryImproved Collaboration Security
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved A look back at development at Amazon..
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Development transformation at Amazon: 2001-2009 2009 monolithic application + teams microservices + 2 pizza teams 2001
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Things went much better under this model and teams were releasing faster than ever, but we felt that we could still improve.
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved In 2009, we ran a study to find out where inefficiencies might still exist
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved We were just waiting. WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved We were just waiting. WaitWrite Code WaitBuild Code WaitDeploy to Test Deploy to Prod Weeks Mins Days Mins Days Mins Days Mins Hours
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved We built tools to automate our software release process https://secure.flickr.com/photos/lindseygee/5894617854/
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved • Automated actions and transitions; from check-in to production • Development benefits: • Faster • Safer • Simplification & standardization • Visualization of the process Pipelines
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved This has continued to work out really well: • In 2014: • Thousands of service teams across Amazon • Building microservices • Practicing continuous delivery • Many environments (staging, beta, production) 50 million deploys
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved This has continued to work out really well: • Every year at Amazon, we perform a survey of all our software developers. The 2014 results found only one development tool/service could be correlated statistically with happier developers: • Our pipelines service! continuous delivery == happier developers!
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Where do you ?
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. • Integration tests with other systems • Load testing • UI tests • Penetration testing Five major phases of release and monitor Source Build Test Deploy Monitor • Check-in source code such as .java files. • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images • Deployment to production environments • Monitor code in production to quickly detect unusual activity or errors
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Build & test your application https://secure.flickr.com/photos/spenceyc/7481166880
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Fully managed build service that compiles source code, runs tests, and produces software packages Scales continuously and processes multiple builds concurrently You can provide custom build environments suited to your needs via Docker images Only pay by the minute for the compute resources you use Launched with CodePipeline and Jenkins integration AWS CodeBuild
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved How does it work? 1. Downloads source code 2. Executes commands configured in the buildspec in temporary compute containers (created fresh on every build) 3. Streams the build output to the service console and CloudWatch logs 4. Uploads the generated artifact to an S3 bucket
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved How can I automate my release process with CodeBuild? • Integrated with AWS CodePipeline for CI/CD • Easily pluggable (API/CLI driven) • Bring your own build environments • Create Docker images containing tools you need • Open source Jenkins plugin • Use CodeBuild as the workers off of a Jenkins master
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved buildspec.yml Example version: 0.1 environment_variables: plaintext: JAVA_HOME: "/usr/lib/jvm/java-8-openjdk-amd64" phases: install: commands: - apt-get update -y - apt-get install -y maven pre_build: commands: - echo Nothing to do in the pre_build phase... build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Build completed on `date` artifacts: type: zip files: - target/messageUtil-1.0.jar discard-paths: yes
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved buildspec.yml Example version: 0.1 environment_variables: plaintext: JAVA_HOME: "/usr/lib/jvm/java-8-openjdk-amd64" phases: install: commands: - apt-get update -y - apt-get install -y maven pre_build: commands: - echo Nothing to do in the pre_build phase... build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Build completed on `date` artifacts: type: zip files: - target/messageUtil-1.0.jar discard-paths: yes • Variables to be used by phases of build • Examples for what you can do in the phases of a build: • You can install packages or run commands to prepare your environment in ”install”. • Run syntax checking, commands in “pre_build”. • Execute your build tool/command in “build” • Test your app further or ship a container image to a repository in post_build • Create and store an artifact in S3
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Building Your Code • “Building” code typically refers to languages that require compiled binaries: • .NET languages: C#, F#, VB.net, etc. • Java and JVM languages: Java, Scala, JRuby • Go • iOS languages: Swift, Objective-C • We also refer to the process of creating Docker container images as “building” the image. EC2
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved No Building Required! • Many languages don’t require building. These are considered interpreted languages: • PHP • Ruby • Python • Node.js • PowerShell • You can just deploy your code! EC2
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Testing Your Code • Testing is both a science and an art form! • Goals for testing your code: • Want to confirm desired functionality • Catch programming syntax errors • Standardize code patterns and format • Reduce bugs due to non-desired application usage and logic failures • Make applications more secure
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Where to Focus Your Tests: UI Service Unit 70% 20% 10%
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved What service and release step corresponds with which tests? UI Service Unit Third Party Tooling AWS CodeBuild BuildTest
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Pricing • Pay by the Minute • Three compute types differentiated by the amount of memory and CPU resources: Compute instance type Memory (GB) vCPU Price per build minute ($) build.general1.small 3 2 0.005 build.general1.medium 7 4 0.010 build.general1.large 15 8 0.020 *As of January 20 2017 Free tier of 100 build minutes
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Deploying your applications
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Automates code deployments to EC2 instances Handles the complexity of updating your applications Avoid downtime during application deployment Rollback automatically if failure detected Deploy to Amazon EC2 or on-premises servers, in any language and on any operating system Integrates with third-party tools and AWS AWS CodeDeploy
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved appspec.yml Example version: 0.0 os: linux files: - source: / destination: /var/www/html permissions: - object: /var/www/html pattern: "*.html owner: root group: root mode: 755 hooks: ApplicationStop: - location: scripts/deregister_from_elb.sh BeforeInstall: - location: scripts/install_dependencies.sh ApplicationStart: - location: scripts/start_httpd.sh ValidateService: - location: scripts/test_site.sh - location: scripts/register_with_elb.sh
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved appspec.yml Exampleversion: 0.0 os: linux files: - source: / destination: /var/www/html permissions: - object: /var/www/html pattern: “*.html” owner: root group: root mode: 755 hooks: ApplicationStop: - location: scripts/deregister_from_elb.sh BeforeInstall: - location: scripts/install_dependencies.sh ApplicationStart: - location: scripts/start_httpd.sh ValidateService: - location: scripts/test_site.sh - location: scripts/register_with_elb.sh • Remove/add instance to ELB • Install dependency packages • Start Apache • Confirm successful deploy • More! • Send application files to one directory and configuration files to another • Set specific permissions on specific directories & files
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved v2 v2 v2 v2 v2 v2 one at a time half at a time all at once v2 v2 v2 v1 v1 v1 v2 v1 v1 v1 v1 v1 Agent Agent Dev Deployment group OR Prod Deployment group Agent AgentAgent Agent Agent Agent Choose Deployment Speed and Group
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Orchestrating build and deploy with a pipeline
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Continuous delivery service for fast and reliable application updates Model and visualize your software release process Builds, tests, and deploys your code every time there is a code change Integrates with third-party tools and AWS AWS CodePipeline
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Source Source GitHub Build CodeBuild AWS CodeBuild Deploy JavaApp Elastic Beanstalk Pipeline Stage Action Transition CodePipeline MyApplication
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Build CodeBuild AWS CodeBuild NotifyDevelopers Lambda Parallel actions Source Source GitHub CodePipeline MyApplication Deploy JavaApp Elastic Beanstalk
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Build CodeBuild AWS CodeBuild NotifyDevelopers Lambda TestAPI Runscope Sequential actions Deploy JavaApp Elastic Beanstalk Source Source GitHub CodePipeline MyApplication
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Build CodeBuild AWS CodeBuild Staging-Deploy JavaApp Elastic Beanstalk Prod-Deploy JavaApp Elastic Beanstalk QATeamReview Manual Approval Manual Approvals Review CodePipeline MyApplication
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Secure, scalable, and managed Git source control Use standard Git tools Scalability, availability, and durability of Amazon S3 Encryption at rest with customer-specific keys No repo size limit Post commit hooks to call out to SNS/Lambda AWS CodeCommit
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Secure Fully managed High availability Store anything Source control in the cloud
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS CodeCommit git pull/push CodeCommit Git objects in Amazon S3 Git index in Amazon DynamoDB Encryption key in AWS KMS SSH or HTTPS
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved $ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli Cloning into 'aws-cli'... Receiving objects: 100% (16032/16032), 5.55 MiB | 1.25 MiB/s, done. Resolving deltas: 100% (9900/9900), done. Checking connectivity... done. $ nano README.rst $ git commit -am 'updated README' [master 4fa0318] updated README 1 file changed, 1 insertion(+) $ git push Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 297 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: To https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli 4dacd6d..4fa0318 master -> master Same Git experience
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS CodeStar • Quickly develop, build and deploy applications on AWS • Start developing on AWS in minutes • Work across your team, securely • Manage software delivery easily • Choose from a variety of project templates
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS CodeStar Project Templates for EC2, Lambda, and Elastic Beanstalk
  • 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Select Source Control Provider
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Pre- Configured Continuous Delivery Toolchain AWS CodeStar
  • 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Easily connect your favorite IDE AWS CodeStar
  • 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Set up secure team access in a few clicks AWS CodeStar
  • 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Unified Dashboard – Managing Delivery Pipeline and Issue Tracking AWS CodeStar
  • 55. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS CodeStar Unified Dashboard – Application Activity and Commit History
  • 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved AWS X-Ray
  • 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Traditional Debugging Developer Local Test Developer Add Breakpoints Add Log Statements
  • 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved The traditional process of debugging doesn’t scale well for production applications or those built using a service-oriented, microservice, or serverless architecture. It’s tedious, repetitive, and time consuming. Requiring Dev & Ops to spend more time debugging
  • 59. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Identify Performance Bottlenecks How Does AWS X-Ray help? Pinpoint Specific Service Issues Identify Errors Identify Impact to Users
  • 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Additional Use Cases Use Off-Cloud Custom Payload Deep Linking Custom Apps via API Filter Expressions
  • 61. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved X-Ray Service
  • 62. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved App & X-Ray SDK EC2 Instance/Containers/Lambda X-Ray Daemon Localhost UDP X-Ray API HTTPS HTTPS X-Ray Console App & X-Ray SDK On-prem Server X-Ray Daemon Localhost UDP EC2 Role AWS Credentials DevOps Team HTTPS X-Ray Workflow
  • 63. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved X-Ray SDK Enables you to get started quickly without having to manually instrument your application code to log metadata about requests Source on GitHub under https://github.com/aws?q=xray-sdk Available for Java, .NET, .NET Core, Python, Ruby, Go, & Node.js Adds filters to automatically captures metadata for calls to: § AWS services using the AWS SDK § Non-AWS services over HTTP and HTTPS § Databases (MySQL, PostgreSQL, and Amazon DynamoDB) § Queues (Amazon SQS)
  • 64. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved X-Ray Daemon • Receives data from the SDK over UDP and acts as a local buffer. Data is flushed to the backend every second or when the local buffer fills. • Available for Amazon Linux AMI, RHEL, Ubuntu, OS X, and Windows. • Pre-installed on AWS Lambda. • Can be run anywhere as long as AWS credentials are provided (for example, EC2, ECS, on-premise, developer machine, and others). • Source on GitHub under https://github.com/aws/aws-xray-daemon
  • 65. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Case Study: Instacart Scenario Homegrown deployment tool
  • 66. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Case Study: lululemon athletica Scenario Offering more digital services Took days to stand up new development environments Solution Deploy in minutes with AWS CloudFormation and AWS CodePipeline Distribute artifacts with Amazon S3
  • 67. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Pop-up Loft aws.amazon.com/activate Everything and Anything Startups Need to Get Started on AWS
  • 68. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Title
  • 69. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
  • 70. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved
  • 71. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved Design Guide Lines • Use Dots for List elements – Alternate Dots and Dashes • Font info – Arial – Color: White – Content: In Arial – Titles: Arial Bold • Content should be Left aligned – No Center aligned text • Avoid Clipart