SlideShare a Scribd company logo
1 of 40
Download to read offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Shiva Narayanaswamy – Solution Architect, AWS
Colin Panisset – Global Infrastructure Lead, REA
April 2016
Application Delivery Patterns
Own your destiny. It is a Pipeline dream
Technical 401
Agenda: Application Delivery Patterns
• Why?
• What?
• How?
• The REA Journey
• What the…?
• X Commandments
• What next?
Mission Statement
Deliver better features to customers, quickly, securely,
more reliably and cheaper.
http://www.space.com/images/i/000/034/954/original/blue-origin-test-fires-new-rocket-engine-3.jpg
Deliver “Hello World”
package main
import “fmt”
func main() {
fmt.Printf(“Hello, World.n”)
}
#!/path/to/python
print “Hello World!”
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1 {
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello, world!");
Console.ReadLine()
}
}
}
#!/path/to/ruby
puts "Hello World!";
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello Worldn');
}).listen(8080);
Development Lifecycle
REPOSITORY
PM SYSTEM
CI SYSTEM
DEVELOPER
LOOKUP
TASKS
SUBMIT
CODE
SCHEDULE BUILD
AUTOMATIC
BUILD
BUILD
RESULTS
BUILD
ARTEFACTS
CLOUDFORMATION,
PUPPET,
CHEF,
ANSIBLE.
CONTAINERS,
AMIs
EXE, MSI,
RPM, DEB,
ZIP, TAR
Delivery Lifecycle
REPOSITORY
PM SYSTEM
DEPLOYMENT
SYSTEM
DEVELOPER
LOOKUP
TASKS
SUBMIT
CODE
SCHEDULE BUILD
BUILD /
ARTEFACTS
BUILD
RESULTS
CI SYSTEM
ENVIRONMENTS
SYSTEST
PRE-PROD
PRODUCTION
DEPLOYMENT
RESULTS
DEPLOYMENT
CONFIG
TRIGGER A
PUSH / PULL
Delivery Lifecycle
REPOSITORY
PM SYSTEM
DEPLOYMENT
SYSTEM
DEVELOPER
LOOKUP
TASKS
SUBMIT
CODE
SCHEDULE BUILD
BUILD /
ARTEFACTS
BUILD
RESULTS
CI SYSTEM
ENVIRONMENTS
SYSTEST
PRE-PROD
PRODUCTION
DEPLOYMENT
RESULTS
DEPLOYMENT
CONFIG
ATOMIC UNIT OF DELIVERY
§ FUNCTIONAL CODE
§ UNIT TESTS
§ API
§ BUILD CONFIG
§ RUNTIME CONFIG
§ INFRASTRUCTURE CODE
§ DELIVERY PIPELINE
PUSH / PULL
PUSH / PULL
Delivery Lifecycle
REPOSITORY
PM SYSTEM
DEPLOYMENT
SYSTEM
DEVELOPER
LOOKUP
TASKS
SUBMIT
CODE
SCHEDULE BUILD
BUILD /
ARTEFACTS
BUILD
RESULTS
CI SYSTEM
ENVIRONMENTS
SYSTEST
PRE-PROD
PRODUCTION
DEPLOYMENT
RESULTS
DEPLOYMENT
CONFIG
ATOMIC UNIT OF
DEPLOYMENT
§ DEPLOYABLE ARTEFACT
§ API
§ TEST SCRIPTS
§ BUILD CONFIG
§ RUNTIME CONFIG
§ INFRASTRUCTURE CODE
§ DELIVERY PIPELINE
§ ENVIRONMENT CONFIG
§ SECURITY CONFIG
§ MONITORING CONFIG
§ BACKUP CONFIG
§ AVAILABILITY CONFIG
§ SLA CONFIG
Application Deployment Patterns
Arbitrary Snowflakes Periodic deployments Blue Green Deployments
Canary Deployment Dark Launch /
Feature Toggle
Environment Promotion
Orchestrate Delivery with Pipelines
A pipeline models your release process as a series of stages that promote
changes along a set of environments into the hands of your customers.
A pipeline is a model of your standard procedure for deploying software.
Pipeline
Stage
Action
Pipeline
Run
Source change
• starts a run; and
• creates an artifact to be used by other actions.
Manual trigger
Stage transition
Parallel Actions
Pipeline Concepts – AWS CodePipeline
Characteristics of a Good Pipeline
Fast Feedback Validation Idempotent
SecureDesired State
Consistency
Roll Forward API Driven Visualization ExtensibleAs Code
Pipeline Design
Blockers
Simple Integral Security
Metrics Driven
Chained
Andon Cord Process Events
Loosely Coupled
Corollary to Conways Law :
Your pipelines design will be a copy of your organisation's communication structure.
Pipeline metrics
• Number of Builds
• Number of Deployments
• Average Time For Changes to Reach Production
• Average Time From First Pipeline Stage to Each Stage
• Number of Changes Reaching Production
• Average Build Time
Let us Deliver a Polyglot Beast
Packer/Puppet/Chef scripts
Foundation SOE pipeline
Foundation SOEAMI/Container
Nginx SOE
pipeline
Java SOE
pipeline
Tomcat SOE
pipeline
Developer
SOE pipeline
Nginx SOE Java SOE Tomcat SOE Developer
Workstation
Nginx SOE Java SOE Tomcat SOE HAProxy SOE
Let us Deliver a Polyglot Beast
IIS SOE
Application 1
on EC2
Application 2
on ECS
Application 3
on Beanstalk
REA's Application Delivery Journey
Colin Panisset
Global Infrastructure Lead
Context
Opportunities
• Not a nuclear facility
• Move fast, fail fast &
cheap
• Fail fast & cheap = learn
fast & cheap
• Tight feedback loops =
higher quality
History – 2010 and before
• All tin, all the time
• Co-tenant apps to improve
utilisation
• Coupled monoliths
• Inconsistent environments
• Infrequent deployments,
expensive discovery
History – Moving to AWS
• Early 2011: one dev acct.
• Early 2012: prod & staging
accounts
• Environment consistency
• (Trusted) Dev access to
staging and prod!
• Early microservices, layer 3
coupling:
• microliths
History – Managing the Blast Radius
• IAM Users means
persistent credentials
• Useful if you build
components outside AWS
• Credential management is
hard
• Federated identity, EC2
Instance Roles, build inside
AWS
History – Isolation vs Overhead
A few big accounts:
• IAM policy management
overhead
• Blast radius
• Tragedy of the commons
So: many small accounts
Evolution of Delivery Artifacts
• Code blobs/tarballs via
Puppet or manual
• Dependencies
(RPM/DEB)
• Externalised config
• Fully resolved artifacts
(Docker, AMI)
Evolution of Delivery Patterns
• Pets: “Chuck it over the
wall”
• Push via SSH/pull via
agent
• Cattle, not pets: re-
provision to deploy
• Blue/Green
• Rolling update
Challenges with Deployments across Multiple Accounts
• Layer 3 coupling
• Decouple along
boundaries of data
responsibility, SLA
• Managing secrets and
keys
• Consistency across
environments
Operational Challenges & Resolutions in Multiple Accounts
• Push vs Pull models of
deployment:
• where's the trust?
• signaling patterns
• Manual intervention for
artifact promotion
• Monitoring and alerting
Demo
Who wants a demo of
a real REA pipeline?
Metrics – How will You Know when you've Succeeded?
• Time To Deliver (commit
-> live)
• Deployments per X
• 95%-ile Deltas Delivered
(lower is better)
• Exclude human factors
…
Key Lessons Learned
• Multiple accounts over
managing fine-grained
IAM policies
• Decouple across
boundaries of
responsibility or SLA, not
org structure
• Trust your tests
Key Lessons Learned (more)
• Deploy fully-resolved
artifacts
• Decouple deployment
tooling from apps
• Put your delivery teams
on pager, give them the
power to respond
• Keep metrics!
Thank You!
Colin Panisset
Global Infrastructure Lead
Application Delivery from Outer Space
Cost Aware Serverless
Shared Experience Observer PatternThrottles
Location Aware
Some Tools
AWS Codepipeline BuildKite
Commandments for Application Delivery
I. Acknowledge time. Version control everything
II. Be the master of your dependencies
III. Externalising configurations shall set you free
IV. Don’t be a prisoner of state
V. Loosely couple
VI. Audits that don’t kill you, make you stronger
VII. Everyone sees everything, all the time
VIII. Measure success
IX. Continuous practice
X. Own your Destiny, end to end
How do I start?
THINK BIG
START SMALL
ACT NOW
AWS Training & Certification
Intro Videos & Labs
Free videos and labs to
help you learn to work
with 30+ AWS services
– in minutes!
Training Classes
In-person and online
courses to build
technical skills –
taught by accredited
AWS instructors
Online Labs
Practice working with
AWS services in live
environment –
Learn how related
services work
together
AWS Certification
Validate technical
skills and expertise –
identify qualified IT
talent or show you
are AWS cloud ready
Learn more: aws.amazon.com/training
Your Training Next Steps:
ü Visit the AWS Training & Certification pod to discuss your
training plan & AWS Summit training offer
ü Register & attend AWS instructor led training
ü Get Certified
AWS Certified? Visit the AWS Summit Certification Lounge to pick up your swag
Learn more: aws.amazon.com/training
Title Only
Thank You!

More Related Content

What's hot

Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSAmazon Web Services
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldAmazon Web Services
 
Introduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesIntroduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesAmazon Web Services
 
Application Lifecycle Management and Event Driven Programming on AWS
Application Lifecycle Management and Event Driven Programming on AWSApplication Lifecycle Management and Event Driven Programming on AWS
Application Lifecycle Management and Event Driven Programming on AWSShiva Narayanaswamy
 
AWS re:Invent 2016: Automated DevOps and Continuous Delivery (DEV211)
AWS re:Invent 2016: Automated DevOps and Continuous Delivery (DEV211)AWS re:Invent 2016: Automated DevOps and Continuous Delivery (DEV211)
AWS re:Invent 2016: Automated DevOps and Continuous Delivery (DEV211)Amazon Web Services
 
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 CodeDeployAmazon Web Services
 
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 ToolsAmazon Web Services
 
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Amazon Web Services
 
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Amazon Web Services
 
無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門 無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門 Amazon Web Services
 
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...Amazon Web Services
 
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...Amazon Web Services
 
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 AWSShiva Narayanaswamy
 
Container Management on AWS with ECS, Docker and Blox - Level 400
Container Management on AWS with ECS, Docker and Blox - Level 400Container Management on AWS with ECS, Docker and Blox - Level 400
Container Management on AWS with ECS, Docker and Blox - Level 400Amazon Web Services
 
AWS APAC Webinar Week - Training & Certification Masterclass
AWS APAC Webinar Week - Training & Certification MasterclassAWS APAC Webinar Week - Training & Certification Masterclass
AWS APAC Webinar Week - Training & Certification MasterclassAmazon Web Services
 
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAchieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAmazon Web Services
 
Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon Web Services
 

What's hot (20)

Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECS
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless World
 
Introduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesIntroduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code Services
 
Application Lifecycle Management and Event Driven Programming on AWS
Application Lifecycle Management and Event Driven Programming on AWSApplication Lifecycle Management and Event Driven Programming on AWS
Application Lifecycle Management and Event Driven Programming on AWS
 
AWS re:Invent 2016: Automated DevOps and Continuous Delivery (DEV211)
AWS re:Invent 2016: Automated DevOps and Continuous Delivery (DEV211)AWS re:Invent 2016: Automated DevOps and Continuous Delivery (DEV211)
AWS re:Invent 2016: Automated DevOps and Continuous Delivery (DEV211)
 
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
 
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
 
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
 
AWS Deployment Best Practices
AWS Deployment Best PracticesAWS Deployment Best Practices
AWS Deployment Best Practices
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
 
無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門 無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門
 
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
 
AWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic ScaleAWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic Scale
 
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
 
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
 
Container Management on AWS with ECS, Docker and Blox - Level 400
Container Management on AWS with ECS, Docker and Blox - Level 400Container Management on AWS with ECS, Docker and Blox - Level 400
Container Management on AWS with ECS, Docker and Blox - Level 400
 
AWS APAC Webinar Week - Training & Certification Masterclass
AWS APAC Webinar Week - Training & Certification MasterclassAWS APAC Webinar Week - Training & Certification Masterclass
AWS APAC Webinar Week - Training & Certification Masterclass
 
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAchieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
 
Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016
 

Viewers also liked

Your APIs can be soft and fluffy
Your APIs can be soft and fluffyYour APIs can be soft and fluffy
Your APIs can be soft and fluffyShiva Narayanaswamy
 
Build high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWSBuild high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWSShiva Narayanaswamy
 
Innovation at Scale - Top 10 AWS questions when you start
Innovation at Scale - Top 10 AWS questions when you startInnovation at Scale - Top 10 AWS questions when you start
Innovation at Scale - Top 10 AWS questions when you startShiva Narayanaswamy
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMalcolm Duncanson, CISSP
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesShiva Narayanaswamy
 
Pets, Cattle, Rabbits and Microbes
Pets, Cattle, Rabbits and Microbes Pets, Cattle, Rabbits and Microbes
Pets, Cattle, Rabbits and Microbes Shiva Narayanaswamy
 

Viewers also liked (12)

Your APIs can be soft and fluffy
Your APIs can be soft and fluffyYour APIs can be soft and fluffy
Your APIs can be soft and fluffy
 
Build high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWSBuild high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWS
 
Event driven infrastructure
Event driven infrastructureEvent driven infrastructure
Event driven infrastructure
 
Innovation at Scale - Top 10 AWS questions when you start
Innovation at Scale - Top 10 AWS questions when you startInnovation at Scale - Top 10 AWS questions when you start
Innovation at Scale - Top 10 AWS questions when you start
 
ECS and ECR deep dive
ECS and ECR deep diveECS and ECR deep dive
ECS and ECR deep dive
 
AWS Tagging Strategy
AWS Tagging StrategyAWS Tagging Strategy
AWS Tagging Strategy
 
Masterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM RolesMasterless Puppet Using AWS S3 Buckets and IAM Roles
Masterless Puppet Using AWS S3 Buckets and IAM Roles
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
AWS EC2 and ELB troubleshooting
AWS EC2 and ELB troubleshootingAWS EC2 and ELB troubleshooting
AWS EC2 and ELB troubleshooting
 
State of Union - Containerz
State of Union - ContainerzState of Union - Containerz
State of Union - Containerz
 
Pets, Cattle, Rabbits and Microbes
Pets, Cattle, Rabbits and Microbes Pets, Cattle, Rabbits and Microbes
Pets, Cattle, Rabbits and Microbes
 

Similar to Application Delivery Patterns

Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Amazon Web Services
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAmazon Web Services
 
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...Amazon Web Services
 
It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5margaret_ronald
 
Building a DevOps Culture in Public Sector | AWS Public Sector Summit 2017
Building a DevOps Culture in Public Sector | AWS Public Sector Summit 2017Building a DevOps Culture in Public Sector | AWS Public Sector Summit 2017
Building a DevOps Culture in Public Sector | AWS Public Sector Summit 2017Amazon Web Services
 
AWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationVarun Manik
 
Securing Systems at Cloud Scale with DevSecOps
Securing Systems at Cloud Scale with DevSecOpsSecuring Systems at Cloud Scale with DevSecOps
Securing Systems at Cloud Scale with DevSecOpsAmazon Web Services
 
AWS Kochi User Group Presentation
AWS  Kochi User Group PresentationAWS  Kochi User Group Presentation
AWS Kochi User Group PresentationVarun Manik
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)sKaushikNarayanan
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)MvkZ
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)sKaushikNarayanan
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)MvkZ
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)sKaushikNarayanan
 
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017Amazon Web Services
 
Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020Varun Manik
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of ComputingAmazon Web Services
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWSDavid Mat
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAmazon Web Services
 

Similar to Application Delivery Patterns (20)

Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
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...
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5
 
Building a DevOps Culture in Public Sector | AWS Public Sector Summit 2017
Building a DevOps Culture in Public Sector | AWS Public Sector Summit 2017Building a DevOps Culture in Public Sector | AWS Public Sector Summit 2017
Building a DevOps Culture in Public Sector | AWS Public Sector Summit 2017
 
AWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps Presentation
 
Securing Systems at Cloud Scale with DevSecOps
Securing Systems at Cloud Scale with DevSecOpsSecuring Systems at Cloud Scale with DevSecOps
Securing Systems at Cloud Scale with DevSecOps
 
AWS Kochi User Group Presentation
AWS  Kochi User Group PresentationAWS  Kochi User Group Presentation
AWS Kochi User Group Presentation
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)Big datatraining.in devops-part2 (1)
Big datatraining.in devops-part2 (1)
 
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
Integrating Security into DevOps and CI / CD Environments - Pop-up Loft TLV 2017
 
Devops on AWS
Devops on AWSDevops on AWS
Devops on AWS
 
Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of Computing
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWS
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
 

Recently uploaded

DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Deliverybabeytanya
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of indiaimessage0108
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 

Recently uploaded (20)

DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on DeliveryCall Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
Call Girls In Mumbai Central Mumbai ❤️ 9920874524 👈 Cash on Delivery
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of india
 
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya 🤌  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 

Application Delivery Patterns

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Shiva Narayanaswamy – Solution Architect, AWS Colin Panisset – Global Infrastructure Lead, REA April 2016 Application Delivery Patterns Own your destiny. It is a Pipeline dream Technical 401
  • 2. Agenda: Application Delivery Patterns • Why? • What? • How? • The REA Journey • What the…? • X Commandments • What next?
  • 3. Mission Statement Deliver better features to customers, quickly, securely, more reliably and cheaper. http://www.space.com/images/i/000/034/954/original/blue-origin-test-fires-new-rocket-engine-3.jpg
  • 4. Deliver “Hello World” package main import “fmt” func main() { fmt.Printf(“Hello, World.n”) } #!/path/to/python print “Hello World!” using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello, world!"); Console.ReadLine() } } } #!/path/to/ruby puts "Hello World!"; var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello Worldn'); }).listen(8080);
  • 5. Development Lifecycle REPOSITORY PM SYSTEM CI SYSTEM DEVELOPER LOOKUP TASKS SUBMIT CODE SCHEDULE BUILD AUTOMATIC BUILD BUILD RESULTS BUILD ARTEFACTS CLOUDFORMATION, PUPPET, CHEF, ANSIBLE. CONTAINERS, AMIs EXE, MSI, RPM, DEB, ZIP, TAR
  • 6. Delivery Lifecycle REPOSITORY PM SYSTEM DEPLOYMENT SYSTEM DEVELOPER LOOKUP TASKS SUBMIT CODE SCHEDULE BUILD BUILD / ARTEFACTS BUILD RESULTS CI SYSTEM ENVIRONMENTS SYSTEST PRE-PROD PRODUCTION DEPLOYMENT RESULTS DEPLOYMENT CONFIG TRIGGER A PUSH / PULL
  • 7. Delivery Lifecycle REPOSITORY PM SYSTEM DEPLOYMENT SYSTEM DEVELOPER LOOKUP TASKS SUBMIT CODE SCHEDULE BUILD BUILD / ARTEFACTS BUILD RESULTS CI SYSTEM ENVIRONMENTS SYSTEST PRE-PROD PRODUCTION DEPLOYMENT RESULTS DEPLOYMENT CONFIG ATOMIC UNIT OF DELIVERY § FUNCTIONAL CODE § UNIT TESTS § API § BUILD CONFIG § RUNTIME CONFIG § INFRASTRUCTURE CODE § DELIVERY PIPELINE PUSH / PULL
  • 8. PUSH / PULL Delivery Lifecycle REPOSITORY PM SYSTEM DEPLOYMENT SYSTEM DEVELOPER LOOKUP TASKS SUBMIT CODE SCHEDULE BUILD BUILD / ARTEFACTS BUILD RESULTS CI SYSTEM ENVIRONMENTS SYSTEST PRE-PROD PRODUCTION DEPLOYMENT RESULTS DEPLOYMENT CONFIG ATOMIC UNIT OF DEPLOYMENT § DEPLOYABLE ARTEFACT § API § TEST SCRIPTS § BUILD CONFIG § RUNTIME CONFIG § INFRASTRUCTURE CODE § DELIVERY PIPELINE § ENVIRONMENT CONFIG § SECURITY CONFIG § MONITORING CONFIG § BACKUP CONFIG § AVAILABILITY CONFIG § SLA CONFIG
  • 9. Application Deployment Patterns Arbitrary Snowflakes Periodic deployments Blue Green Deployments Canary Deployment Dark Launch / Feature Toggle Environment Promotion
  • 10. Orchestrate Delivery with Pipelines A pipeline models your release process as a series of stages that promote changes along a set of environments into the hands of your customers. A pipeline is a model of your standard procedure for deploying software.
  • 11. Pipeline Stage Action Pipeline Run Source change • starts a run; and • creates an artifact to be used by other actions. Manual trigger Stage transition Parallel Actions Pipeline Concepts – AWS CodePipeline
  • 12. Characteristics of a Good Pipeline Fast Feedback Validation Idempotent SecureDesired State Consistency Roll Forward API Driven Visualization ExtensibleAs Code
  • 13. Pipeline Design Blockers Simple Integral Security Metrics Driven Chained Andon Cord Process Events Loosely Coupled Corollary to Conways Law : Your pipelines design will be a copy of your organisation's communication structure.
  • 14. Pipeline metrics • Number of Builds • Number of Deployments • Average Time For Changes to Reach Production • Average Time From First Pipeline Stage to Each Stage • Number of Changes Reaching Production • Average Build Time
  • 15. Let us Deliver a Polyglot Beast Packer/Puppet/Chef scripts Foundation SOE pipeline Foundation SOEAMI/Container Nginx SOE pipeline Java SOE pipeline Tomcat SOE pipeline Developer SOE pipeline Nginx SOE Java SOE Tomcat SOE Developer Workstation
  • 16. Nginx SOE Java SOE Tomcat SOE HAProxy SOE Let us Deliver a Polyglot Beast IIS SOE Application 1 on EC2 Application 2 on ECS Application 3 on Beanstalk
  • 17. REA's Application Delivery Journey Colin Panisset Global Infrastructure Lead
  • 19. Opportunities • Not a nuclear facility • Move fast, fail fast & cheap • Fail fast & cheap = learn fast & cheap • Tight feedback loops = higher quality
  • 20. History – 2010 and before • All tin, all the time • Co-tenant apps to improve utilisation • Coupled monoliths • Inconsistent environments • Infrequent deployments, expensive discovery
  • 21. History – Moving to AWS • Early 2011: one dev acct. • Early 2012: prod & staging accounts • Environment consistency • (Trusted) Dev access to staging and prod! • Early microservices, layer 3 coupling: • microliths
  • 22. History – Managing the Blast Radius • IAM Users means persistent credentials • Useful if you build components outside AWS • Credential management is hard • Federated identity, EC2 Instance Roles, build inside AWS
  • 23. History – Isolation vs Overhead A few big accounts: • IAM policy management overhead • Blast radius • Tragedy of the commons So: many small accounts
  • 24. Evolution of Delivery Artifacts • Code blobs/tarballs via Puppet or manual • Dependencies (RPM/DEB) • Externalised config • Fully resolved artifacts (Docker, AMI)
  • 25. Evolution of Delivery Patterns • Pets: “Chuck it over the wall” • Push via SSH/pull via agent • Cattle, not pets: re- provision to deploy • Blue/Green • Rolling update
  • 26. Challenges with Deployments across Multiple Accounts • Layer 3 coupling • Decouple along boundaries of data responsibility, SLA • Managing secrets and keys • Consistency across environments
  • 27. Operational Challenges & Resolutions in Multiple Accounts • Push vs Pull models of deployment: • where's the trust? • signaling patterns • Manual intervention for artifact promotion • Monitoring and alerting
  • 28. Demo Who wants a demo of a real REA pipeline?
  • 29. Metrics – How will You Know when you've Succeeded? • Time To Deliver (commit -> live) • Deployments per X • 95%-ile Deltas Delivered (lower is better) • Exclude human factors …
  • 30. Key Lessons Learned • Multiple accounts over managing fine-grained IAM policies • Decouple across boundaries of responsibility or SLA, not org structure • Trust your tests
  • 31. Key Lessons Learned (more) • Deploy fully-resolved artifacts • Decouple deployment tooling from apps • Put your delivery teams on pager, give them the power to respond • Keep metrics!
  • 32. Thank You! Colin Panisset Global Infrastructure Lead
  • 33. Application Delivery from Outer Space Cost Aware Serverless Shared Experience Observer PatternThrottles Location Aware
  • 35. Commandments for Application Delivery I. Acknowledge time. Version control everything II. Be the master of your dependencies III. Externalising configurations shall set you free IV. Don’t be a prisoner of state V. Loosely couple VI. Audits that don’t kill you, make you stronger VII. Everyone sees everything, all the time VIII. Measure success IX. Continuous practice X. Own your Destiny, end to end
  • 36. How do I start? THINK BIG START SMALL ACT NOW
  • 37. AWS Training & Certification Intro Videos & Labs Free videos and labs to help you learn to work with 30+ AWS services – in minutes! Training Classes In-person and online courses to build technical skills – taught by accredited AWS instructors Online Labs Practice working with AWS services in live environment – Learn how related services work together AWS Certification Validate technical skills and expertise – identify qualified IT talent or show you are AWS cloud ready Learn more: aws.amazon.com/training
  • 38. Your Training Next Steps: ü Visit the AWS Training & Certification pod to discuss your training plan & AWS Summit training offer ü Register & attend AWS instructor led training ü Get Certified AWS Certified? Visit the AWS Summit Certification Lounge to pick up your swag Learn more: aws.amazon.com/training