SlideShare uma empresa Scribd logo
1 de 87
Baixar para ler offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Asif Khan
Global Tech Leader, Developer Technologies and Applications, Amazon Web Services
SRV312
DevOps on AWS:
Building Systems to Deliver Faster
https://secure.flickr.com/photos/mgifford/4525333972
Why are we
here today?
What We'll Cover
What is DevOps?
The Amazon DevOps story
AWS Code Services
AWS DevOps Portfolio
Software Moves
Faster Today
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Why Does DevOps Matter?
5xLower change
failure rate
440xFaster from commit
to deploy
46xMore frequent
deployments
44%More time spent on
new features and
code
Source: Puppet 2017 State of DevOps Report
What is DevOps?
What is DevOps?
• Cultural philosophies
• Practices
• Tools
DevOps Culture
• Dev & ops coming together
• No more silos
• Shared responsibility
• Ownership
• Visibility and communication
DevOps Practices
Microservices
• Moving away from monolithic application
architecture to many individual services
DevOps Practices
• Continuous integration
• Continuous delivery & deployment
DevOps Practices
Infrastructure as code
• Model your AWS resources using code
DevOps Practices
• Monitoring and logging
• Track and analyze metrics and logs
• Understand real-time performance of
infrastructure and application
Reliability
Benefits of DevOps
Speed
Scale
Rapid deliveryImproved collaboration
Security
A look back at
development
at Amazon
https://secure.flickr.com/photos/pixelthing/15806918992/
2001
Development Transformation at Amazon: 2001–2009
2009
Monolithic
application + teams
Microservices + two-pizza teams
Things went much
better under this
model, and teams
were releasing faster
than ever, but we felt
that we could still
improve.
In 2009, we ran
a study to find
out where
inefficiencies
might still exist.
We Were Just Waiting
WaitWrite
code WaitBuild
code WaitDeploy
to test
Deploy
to prod
We Were Just Waiting
WaitWrite
code WaitBuild
code WaitDeploy
to test
Deploy
to prod
Mins Days Mins Days Mins Days Mins
We Were Just Waiting
WaitWrite
code WaitBuild
code WaitDeploy
to test
Deploy
to prod
Weeks
Mins Days Mins Days Mins Days Mins
We Were Just Waiting
WaitWrite
code WaitBuild
code WaitDeploy
to test
Deploy
to prod
Weeks
Mins Days Mins Days Mins Days Mins
We built tools to
automate our software
release process
https://secure.flickr.com/photos/lindseygee/5894617854/
Automated actions and
transitions; from check-
in to production
Development benefits:
• Faster
• Safer
• Simplification &
standardization
• Visualization of the
process
Pipelines
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 deployments
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!
This Has Continued to Work Out Really Well
Where Do You
?
© 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
Release Processes Levels
Source Build Test Production
Continuous integration
Continuous delivery
Continuous deployment
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Code Services
AWS CodeBuild
+ Third Party
Software release steps
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
AWS
CodeStar
Source Build Test Deploy Monitor
AWS X-Ray
Amazon
CloudWatch
Amazon CloudWatch
AWS CloudTrail
Monitoring
& logging
AWS DevOps Portfolio
AWS CodeCommit
AWS CodeDeploy
AWS CodePipeline
Software development and
continuous delivery toolchain
AWS CloudFormation
AWS OpsWorks
AWS Config
Infrastructure
as code
AWS CodeBuild
AWS CodeStar
AWS OpsWorks for
Chef Automate
AWS X-Ray
Build & Test Your
Application
https://secure.flickr.com/photos/spenceyc/7481166880
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 AWS CodePipeline and Jenkins
integration
AWS CodeBuild
How does it work?
1. Downloads source code
2. Executes commands configured in the build spec 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
How can I automate my release process with AWS
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 AWS CodeBuild as the workers off of a Jenkins master
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
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
Amazon S3
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
No Building Required
Many languages don’t require building. These
are considered interpreted languages:
• PHP
• Ruby
• Python
• Node.js
You can just deploy your code!
EC2
Testing Your Code
Testing is both a science and an art form!
Goals for testing your code:
• Want to confirm intended functionality
• Catch programming syntax errors
• Standardize code patterns and format
• Reduce bugs due to unwanted application
usage and logic failures
• Make applications more secure
Where to Focus Your Tests
UI
Service
Unit 70%
20%
10%
What service and release step corresponds with which tests?
UI
Service
Unit
Third-party
tooling
AWS CodeBuild
BuildTest
Pricing
• Pay by the minute
• Three compute types differentiated by the amount of
memory and CPU resources:
• Free tier of 100 build minutes
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
Deploying Your
Applications
https://secure.flickr.com/photos/simononly/15386966677
Automates code deployments to any instance
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
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
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
• Remove/add instance to
Elastic Load Balancing
• 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
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
Orchestrating Build and
Deploy with a Pipeline
https://www.flickr.com/photos/seattlemunicipalarchives/12504672623/
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
Source
Source
GitHub
Build
CodeBuild
AWS CodeBuild
Deploy
JavaApp
Elastic Beanstalk
Pipeline
Stage
Action
Transition
AWS CodePipeline
MyApplication
Build
AWS CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
Parallel actions
Source
Source
GitHub
AWS CodePipeline
MyApplication
Deploy
JavaApp
Elastic Beanstalk
Build
AWS CodeBuild
AWS CodeBuild
NotifyDevelopers
Lambda
TestAPI
Runscope
Sequential actions
Deploy
JavaApp
Elastic Beanstalk
Source
Source
GitHub
AWS CodePipeline
MyApplication
Build
AWS CodeBuild
AWS CodeBuild
Staging-Deploy
JavaApp
Elastic Beanstalk
Prod-Deploy
JavaApp
Elastic Beanstalk
QATeamReview
Manual Approval
Manual approvals
Review
AWS CodePipeline
MyApplication
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 Amazon SNS or
Lambda
AWS CodeCommit
Source Control in the Cloud
Secure Fully
managed
High
availability
Store
anything
AWS CodeCommit
Git pull/push AWS CodeCommit
Git objects in
Amazon S3
Git index in
Amazon
Amazon DynamoDB
Encryption key
in AWS KMS
SSH or HTTPS
$ 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
Pricing
AWS CodeCommit
$1 per active user per month (first five users free)
AWS CodePipeline
$1 per active pipeline per month (first one free)
AWS CodeDeploy
Free to deploy to Amazon EC2
$0.02 per update to on-premises server
AWS CodeBuild
Compute Instance
Type
Memory(GB) vCPU Price per build minute
($)
Small 3 2 0.005
Medium 7 4 0.010
Large 15 8 0.020
© 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
AWS CodeStar
Project templates for EC2, AWS Lambda, and Elastic Beanstalk
Select Source Control Provider
AWS CodeStar
Preconfigured continuous delivery toolchain
AWS CodeStar
Easily connect your favorite IDE
AWS CodeStar
Set up secure team access in a few clicks
AWS CodeStar
Unified dashboard – Managing delivery pipeline and issue tracking
AWS CodeStar
Unified dashboard – Application activity and commit history
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.
Monolithic vs. Service-Oriented
Architectures
Service-oriented
architecture
Monolithic
© 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
Loca lhost
UDP
X-Ray API
HTTPS
HTTPS
X-Ray console
App & X-Ray
SDK
On-premises server
X-Ray
Daemon
Local host
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 capture 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, macOS, and
Windows.
Pre-installed on AWS Lambda.
Can be run anywhere as long as AWS credentials are provided (for
example, EC2, Amazon ECS, on-premises, 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.
Helpful Links
Go to https://aws.amazon.com/xray to learn more
Documentation: http://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html
Samples:
 .NET: https://github.com/awslabs/aws-xray-dotnet-webapp
 Java: https://github.com/awslabs/eb-java-scorekeep/tree/xray
 Node.js: https://github.com/awslabs/eb-node-express-sample/tree/xray
 Python: https://github.com/awslabs/eb-py-flask-signup/tree/xray
 AWS Lambda: https://github.com/awslabs/aws-xray-rekognition-lambda-sample
 Alarms & alerts: https://github.com/aws-samples/aws-xray-cloudwatch-event
 Latency trends: https://github.com/aws-samples/aws-xray-scatter-sample
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AWS Cloud9
Cloud-based integrated development
environment (IDE)
Let’s you write, run, and debug your code with
just a browser
Share your environment with your team to pair
program in real time
Direct terminal access to AWS
Provides great serverless experience: enables
local testing and preconfigures the
development environment with all SDKs,
libraries, and plugins
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Fully Featured Editor
Broad Selection of Run Times
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Fully Featured Debugger
Integrated Tools for Serverless Development
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Continuous Delivery for Serverless
Applications
AWS
CodeCommit
AWS
CodeBuild
Source Repository Build Deploy
Or
AWS Cloud9
AWS CodeStar
AWS Lambda
Author
AWS
CodePipeline
Monitor
AWS X-Ray
And
/ or Amazon
CloudWatch
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Continuous Delivery for Containers
AWS
CodeCommit
AWS
CodeBuild
Amazon ECR
Amazon ECS
Source
repository Build Deploy
Or Or
AWS
CodePipeline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Please complete the session survey in
the summit mobile app.
Submit Session Feedback
1. Tap the Schedule icon. 2. Select the session
you attended.
3. Tap Session
Evaluation to submit your
feedback.
Submit Session Feedback
1. Tap the Schedule icon. 2. Select the session
you attended.
3. Tap Session
Evaluation to submit your
feedback.
Thank you!

Mais conteúdo relacionado

Mais procurados

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
Amazon Web Services
 
AWS Enterprise Summit London 2013 - Yuri Misnik - AWS
AWS Enterprise Summit London 2013 - Yuri Misnik - AWSAWS Enterprise Summit London 2013 - Yuri Misnik - AWS
AWS Enterprise Summit London 2013 - Yuri Misnik - AWS
Amazon Web Services
 

Mais procurados (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 ...
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
 
Breaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWSBreaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWS
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
Leveraging elastic web scale computing with AWS
 Leveraging elastic web scale computing with AWS Leveraging elastic web scale computing with AWS
Leveraging elastic web scale computing with AWS
 
Migrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an ExpertMigrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an Expert
 
Adopting DevOps at Scale on AWS with VirtusaPolaris
Adopting DevOps at Scale on AWS with VirtusaPolarisAdopting DevOps at Scale on AWS with VirtusaPolaris
Adopting DevOps at Scale on AWS with VirtusaPolaris
 
Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...
Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...
Leo Zhadanovsky - Building Web Apps with AWS CodeStar and AWS Elastic Beansta...
 
Delivering DevOps on AWS: Accelerating Software Delivery with AWS Developer T...
Delivering DevOps on AWS: Accelerating Software Delivery with AWS Developer T...Delivering DevOps on AWS: Accelerating Software Delivery with AWS Developer T...
Delivering DevOps on AWS: Accelerating Software Delivery with AWS Developer T...
 
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...
 
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
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201
 
Well-Architected for Security: Advanced Session
Well-Architected for Security: Advanced SessionWell-Architected for Security: Advanced Session
Well-Architected for Security: Advanced Session
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
AWS Enterprise Summit London 2013 - Yuri Misnik - AWS
AWS Enterprise Summit London 2013 - Yuri Misnik - AWSAWS Enterprise Summit London 2013 - Yuri Misnik - AWS
AWS Enterprise Summit London 2013 - Yuri Misnik - AWS
 

Semelhante a SRV312 DevOps on AWS: Building Systems to Deliver Faster

A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
Amazon Web Services
 

Semelhante a SRV312 DevOps on AWS: Building Systems to Deliver Faster (20)

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
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
 
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
 
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWS
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
 
Automate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeployAutomate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeploy
 
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
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
ACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer ToolsACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer Tools
 
Dev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - TorontoDev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - Toronto
 
DevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryDevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous Delivery
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesGetting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar Series
 
LaunchingYourAppTheAmazonWay_SFStartupDay
LaunchingYourAppTheAmazonWay_SFStartupDayLaunchingYourAppTheAmazonWay_SFStartupDay
LaunchingYourAppTheAmazonWay_SFStartupDay
 
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
 
Continuous Deployment with Amazon Web Services
Continuous Deployment with Amazon Web ServicesContinuous Deployment with Amazon Web Services
Continuous Deployment with Amazon Web Services
 
AWS Code Services
AWS Code ServicesAWS Code Services
AWS Code Services
 

Mais de Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon 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
 

Mais de 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
 

SRV312 DevOps on AWS: Building Systems to Deliver Faster

  • 1. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Asif Khan Global Tech Leader, Developer Technologies and Applications, Amazon Web Services SRV312 DevOps on AWS: Building Systems to Deliver Faster
  • 3. What We'll Cover What is DevOps? The Amazon DevOps story AWS Code Services AWS DevOps Portfolio
  • 5. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Why Does DevOps Matter? 5xLower change failure rate 440xFaster from commit to deploy 46xMore frequent deployments 44%More time spent on new features and code Source: Puppet 2017 State of DevOps Report
  • 7. What is DevOps? • Cultural philosophies • Practices • Tools
  • 8. DevOps Culture • Dev & ops coming together • No more silos • Shared responsibility • Ownership • Visibility and communication
  • 9. DevOps Practices Microservices • Moving away from monolithic application architecture to many individual services
  • 10. DevOps Practices • Continuous integration • Continuous delivery & deployment
  • 11. DevOps Practices Infrastructure as code • Model your AWS resources using code
  • 12. DevOps Practices • Monitoring and logging • Track and analyze metrics and logs • Understand real-time performance of infrastructure and application
  • 13. Reliability Benefits of DevOps Speed Scale Rapid deliveryImproved collaboration Security
  • 14. A look back at development at Amazon https://secure.flickr.com/photos/pixelthing/15806918992/
  • 15. 2001 Development Transformation at Amazon: 2001–2009 2009 Monolithic application + teams Microservices + two-pizza teams
  • 16. Things went much better under this model, and teams were releasing faster than ever, but we felt that we could still improve.
  • 17. In 2009, we ran a study to find out where inefficiencies might still exist.
  • 18. We Were Just Waiting WaitWrite code WaitBuild code WaitDeploy to test Deploy to prod
  • 19. We Were Just Waiting WaitWrite code WaitBuild code WaitDeploy to test Deploy to prod Mins Days Mins Days Mins Days Mins
  • 20. We Were Just Waiting WaitWrite code WaitBuild code WaitDeploy to test Deploy to prod Weeks Mins Days Mins Days Mins Days Mins
  • 21. We Were Just Waiting WaitWrite code WaitBuild code WaitDeploy to test Deploy to prod Weeks Mins Days Mins Days Mins Days Mins
  • 22. We built tools to automate our software release process https://secure.flickr.com/photos/lindseygee/5894617854/
  • 23. Automated actions and transitions; from check- in to production Development benefits: • Faster • Safer • Simplification & standardization • Visualization of the process Pipelines
  • 24. 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 deployments
  • 25. 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! This Has Continued to Work Out Really Well
  • 27. © 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
  • 28. Release Processes Levels Source Build Test Production Continuous integration Continuous delivery Continuous deployment
  • 29. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Code Services AWS CodeBuild + Third Party Software release steps AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline AWS CodeStar Source Build Test Deploy Monitor AWS X-Ray Amazon CloudWatch
  • 30. Amazon CloudWatch AWS CloudTrail Monitoring & logging AWS DevOps Portfolio AWS CodeCommit AWS CodeDeploy AWS CodePipeline Software development and continuous delivery toolchain AWS CloudFormation AWS OpsWorks AWS Config Infrastructure as code AWS CodeBuild AWS CodeStar AWS OpsWorks for Chef Automate AWS X-Ray
  • 31. Build & Test Your Application https://secure.flickr.com/photos/spenceyc/7481166880
  • 32. 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 AWS CodePipeline and Jenkins integration AWS CodeBuild
  • 33. How does it work? 1. Downloads source code 2. Executes commands configured in the build spec 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
  • 34. How can I automate my release process with AWS 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 AWS CodeBuild as the workers off of a Jenkins master
  • 35. 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
  • 36. 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 Amazon S3
  • 37. 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
  • 38. No Building Required Many languages don’t require building. These are considered interpreted languages: • PHP • Ruby • Python • Node.js You can just deploy your code! EC2
  • 39. Testing Your Code Testing is both a science and an art form! Goals for testing your code: • Want to confirm intended functionality • Catch programming syntax errors • Standardize code patterns and format • Reduce bugs due to unwanted application usage and logic failures • Make applications more secure
  • 40. Where to Focus Your Tests UI Service Unit 70% 20% 10%
  • 41. What service and release step corresponds with which tests? UI Service Unit Third-party tooling AWS CodeBuild BuildTest
  • 42. Pricing • Pay by the minute • Three compute types differentiated by the amount of memory and CPU resources: • Free tier of 100 build minutes 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
  • 44. Automates code deployments to any instance 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
  • 45. 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
  • 46. 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 • Remove/add instance to Elastic Load Balancing • 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
  • 47. 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
  • 48. Orchestrating Build and Deploy with a Pipeline https://www.flickr.com/photos/seattlemunicipalarchives/12504672623/
  • 49. 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
  • 51. Build AWS CodeBuild AWS CodeBuild NotifyDevelopers Lambda Parallel actions Source Source GitHub AWS CodePipeline MyApplication Deploy JavaApp Elastic Beanstalk
  • 52. Build AWS CodeBuild AWS CodeBuild NotifyDevelopers Lambda TestAPI Runscope Sequential actions Deploy JavaApp Elastic Beanstalk Source Source GitHub AWS CodePipeline MyApplication
  • 53. Build AWS CodeBuild AWS CodeBuild Staging-Deploy JavaApp Elastic Beanstalk Prod-Deploy JavaApp Elastic Beanstalk QATeamReview Manual Approval Manual approvals Review AWS CodePipeline MyApplication
  • 54. 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 Amazon SNS or Lambda AWS CodeCommit
  • 55. Source Control in the Cloud Secure Fully managed High availability Store anything
  • 56. AWS CodeCommit Git pull/push AWS CodeCommit Git objects in Amazon S3 Git index in Amazon Amazon DynamoDB Encryption key in AWS KMS SSH or HTTPS
  • 57. $ 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
  • 58. Pricing AWS CodeCommit $1 per active user per month (first five users free) AWS CodePipeline $1 per active pipeline per month (first one free) AWS CodeDeploy Free to deploy to Amazon EC2 $0.02 per update to on-premises server AWS CodeBuild Compute Instance Type Memory(GB) vCPU Price per build minute ($) Small 3 2 0.005 Medium 7 4 0.010 Large 15 8 0.020
  • 59. © 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
  • 60. AWS CodeStar Project templates for EC2, AWS Lambda, and Elastic Beanstalk
  • 63. AWS CodeStar Easily connect your favorite IDE
  • 64. AWS CodeStar Set up secure team access in a few clicks
  • 65. AWS CodeStar Unified dashboard – Managing delivery pipeline and issue tracking
  • 66. AWS CodeStar Unified dashboard – Application activity and commit history
  • 68. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Traditional Debugging Developer Local test Developer Add breakpoints Add log statements
  • 69. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monolithic vs. Service-Oriented Architectures Service-oriented architecture Monolithic
  • 70. © 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.
  • 71. © 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
  • 72. © 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
  • 73. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. X-Ray Service
  • 74. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. App & X-Ray SDK EC2 Instance/Containers/Lambda X-Ray Daemon Loca lhost UDP X-Ray API HTTPS HTTPS X-Ray console App & X-Ray SDK On-premises server X-Ray Daemon Local host UDP EC2 Role AWS Credentials DevOps team HTTPS X-Ray Workflow
  • 75. © 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 capture 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)
  • 76. © 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, macOS, and Windows. Pre-installed on AWS Lambda. Can be run anywhere as long as AWS credentials are provided (for example, EC2, Amazon ECS, on-premises, developer machine, and others). Source on GitHub under https://github.com/aws/aws-xray-daemon
  • 77. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Helpful Links Go to https://aws.amazon.com/xray to learn more Documentation: http://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html Samples:  .NET: https://github.com/awslabs/aws-xray-dotnet-webapp  Java: https://github.com/awslabs/eb-java-scorekeep/tree/xray  Node.js: https://github.com/awslabs/eb-node-express-sample/tree/xray  Python: https://github.com/awslabs/eb-py-flask-signup/tree/xray  AWS Lambda: https://github.com/awslabs/aws-xray-rekognition-lambda-sample  Alarms & alerts: https://github.com/aws-samples/aws-xray-cloudwatch-event  Latency trends: https://github.com/aws-samples/aws-xray-scatter-sample
  • 78. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AWS Cloud9 Cloud-based integrated development environment (IDE) Let’s you write, run, and debug your code with just a browser Share your environment with your team to pair program in real time Direct terminal access to AWS Provides great serverless experience: enables local testing and preconfigures the development environment with all SDKs, libraries, and plugins
  • 79. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Fully Featured Editor
  • 80. Broad Selection of Run Times
  • 81. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Fully Featured Debugger
  • 82. Integrated Tools for Serverless Development
  • 83. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Continuous Delivery for Serverless Applications AWS CodeCommit AWS CodeBuild Source Repository Build Deploy Or AWS Cloud9 AWS CodeStar AWS Lambda Author AWS CodePipeline Monitor AWS X-Ray And / or Amazon CloudWatch
  • 84. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Continuous Delivery for Containers AWS CodeCommit AWS CodeBuild Amazon ECR Amazon ECS Source repository Build Deploy Or Or AWS CodePipeline
  • 85. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Please complete the session survey in the summit mobile app.
  • 86. Submit Session Feedback 1. Tap the Schedule icon. 2. Select the session you attended. 3. Tap Session Evaluation to submit your feedback.
  • 87. Submit Session Feedback 1. Tap the Schedule icon. 2. Select the session you attended. 3. Tap Session Evaluation to submit your feedback. Thank you!