SlideShare a Scribd company logo
1 of 39
©  2016,  Amazon  Web  Services,  Inc.  or  its  Affiliates.  All  rights  reserved.
Shiva  Narayanaswamy,  Solution  Architect
Amazon  Web  Services
Colin  Panisset,  Global  Infrastructure   Lead
REA
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  SOE  AMI/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
Thank  You!

More Related Content

What's hot

What's hot (20)

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
 
A tale of two clouds
A tale of two cloudsA tale of two clouds
A tale of two clouds
 
Security and Compliance – Most Commonly Asked Questions - Technical 101
Security and Compliance – Most Commonly Asked Questions - Technical 101Security and Compliance – Most Commonly Asked Questions - Technical 101
Security and Compliance – Most Commonly Asked Questions - Technical 101
 
Application Migrations at Scale
Application Migrations at ScaleApplication Migrations at Scale
Application Migrations at Scale
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
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
 
Creating your Hybrid Cloud with AWS -Technical 201
Creating your Hybrid Cloud with AWS -Technical 201Creating your Hybrid Cloud with AWS -Technical 201
Creating your Hybrid Cloud with AWS -Technical 201
 
Cloud is the New Normal, So How Do I Get Started? - Business
Cloud is the New Normal, So How Do I Get Started? - BusinessCloud is the New Normal, So How Do I Get Started? - Business
Cloud is the New Normal, So How Do I Get Started? - Business
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech TalksDesign, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
 
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
 
Keeping Security In-Step with your Application Demand Curve
Keeping Security In-Step with your Application Demand CurveKeeping Security In-Step with your Application Demand Curve
Keeping Security In-Step with your Application Demand Curve
 
Achieving Profitability on AWS
Achieving Profitability on AWSAchieving Profitability on AWS
Achieving Profitability on AWS
 
Accelerating YourBusiness with Security
Accelerating YourBusiness with SecurityAccelerating YourBusiness with Security
Accelerating YourBusiness with Security
 
Aws certification-101
Aws certification-101Aws certification-101
Aws certification-101
 
Running a Lean Startup with AWS
Running a Lean Startup with AWSRunning a Lean Startup with AWS
Running a Lean Startup with AWS
 
Cost Optimisation at Scale - Business
Cost Optimisation at Scale - BusinessCost Optimisation at Scale - Business
Cost Optimisation at Scale - Business
 
Enforcing Your Security Policy at Scale - Technical 301
Enforcing Your Security Policy at Scale - Technical 301Enforcing Your Security Policy at Scale - Technical 301
Enforcing Your Security Policy at Scale - Technical 301
 
Devops on AWS
Devops on AWSDevops on AWS
Devops on AWS
 
What Organizational and Governance Changes Do I Need to Make Prior to Migrati...
What Organizational and Governance Changes Do I Need to Make Prior to Migrati...What Organizational and Governance Changes Do I Need to Make Prior to Migrati...
What Organizational and Governance Changes Do I Need to Make Prior to Migrati...
 

Viewers also liked

Viewers also liked (20)

How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
 
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
 
AWS Mobile Hub + AWS Device Farm
AWS Mobile Hub + AWS Device FarmAWS Mobile Hub + AWS Device Farm
AWS Mobile Hub + AWS Device Farm
 
Building Your Practice on AWS: An APN Breakfast Session
Building Your Practice on AWS: An APN Breakfast SessionBuilding Your Practice on AWS: An APN Breakfast Session
Building Your Practice on AWS: An APN Breakfast Session
 
Amazon EC2
Amazon EC2Amazon EC2
Amazon EC2
 
#EarthOnAWS: How the Cloud Is Transforming Earth Observation | AWS Public Sec...
#EarthOnAWS: How the Cloud Is Transforming Earth Observation | AWS Public Sec...#EarthOnAWS: How the Cloud Is Transforming Earth Observation | AWS Public Sec...
#EarthOnAWS: How the Cloud Is Transforming Earth Observation | AWS Public Sec...
 
Amazon S3 - Masterclass - Pop-up Loft Tel Aviv
Amazon S3 - Masterclass - Pop-up Loft Tel AvivAmazon S3 - Masterclass - Pop-up Loft Tel Aviv
Amazon S3 - Masterclass - Pop-up Loft Tel Aviv
 
Develping mobile services on aws - Pop-up Loft Tel Aviv
Develping mobile services on aws - Pop-up Loft Tel AvivDevelping mobile services on aws - Pop-up Loft Tel Aviv
Develping mobile services on aws - Pop-up Loft Tel Aviv
 
Keynote - Currency fair
Keynote - Currency fairKeynote - Currency fair
Keynote - Currency fair
 
Account Separation and Mandatory Access Control on AWS | Security Roadshow Du...
Account Separation and Mandatory Access Control on AWS | Security Roadshow Du...Account Separation and Mandatory Access Control on AWS | Security Roadshow Du...
Account Separation and Mandatory Access Control on AWS | Security Roadshow Du...
 
Workshop: We love APIs
Workshop: We love APIsWorkshop: We love APIs
Workshop: We love APIs
 
Cloud First: New Architecture for New Infrastructure
Cloud First: New Architecture for New InfrastructureCloud First: New Architecture for New Infrastructure
Cloud First: New Architecture for New Infrastructure
 
Another Day, Another Billion Packets
Another Day, Another Billion PacketsAnother Day, Another Billion Packets
Another Day, Another Billion Packets
 
Amazon Simple Work Flow Engine (SWF): How Beamr uses SWF for video optimizati...
Amazon Simple Work Flow Engine (SWF): How Beamr uses SWF for video optimizati...Amazon Simple Work Flow Engine (SWF): How Beamr uses SWF for video optimizati...
Amazon Simple Work Flow Engine (SWF): How Beamr uses SWF for video optimizati...
 
Keynote - AON
Keynote - AONKeynote - AON
Keynote - AON
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Log Analysis At Scale
Log Analysis At ScaleLog Analysis At Scale
Log Analysis At Scale
 
AWS March 2016 Webinar Series - Managed Database Services on Amazon Web Services
AWS March 2016 Webinar Series - Managed Database Services on Amazon Web ServicesAWS March 2016 Webinar Series - Managed Database Services on Amazon Web Services
AWS March 2016 Webinar Series - Managed Database Services on Amazon Web Services
 
Customer Story: Derivitec
Customer Story: DerivitecCustomer Story: Derivitec
Customer Story: Derivitec
 
Vidispine
VidispineVidispine
Vidispine
 

Similar to Application Delivery Patterns for Developers - Technical 401

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)
MvkZ
 

Similar to Application Delivery Patterns for Developers - Technical 401 (20)

Application Delivery Patterns
Application Delivery PatternsApplication Delivery Patterns
Application Delivery Patterns
 
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
 
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)
 
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
 
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
 
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
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on 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
 
AWS Kochi User Group Presentation
AWS  Kochi User Group PresentationAWS  Kochi User Group Presentation
AWS Kochi User Group Presentation
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 

More from 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
 

More from Amazon Web Services (20)

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

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Application Delivery Patterns for Developers - Technical 401

  • 1. ©  2016,  Amazon  Web  Services,  Inc.  or  its  Affiliates.  All  rights  reserved. Shiva  Narayanaswamy,  Solution  Architect Amazon  Web  Services Colin  Panisset,  Global  Infrastructure   Lead REA 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  SOE  AMI/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