SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Microservices at Amazon
Chris Munns
Business Development Manager - DevOps
About me:
Chris Munns - munns@amazon.com, @chrismunns
– Business Development Manager – DevOps
– New Yorker
– Previously:
•  AWS Solutions Architect 2011-2014
•  Lead of Infrastructure/DevOps @hingeapp
•  Formerly on operations teams @Etsy and @Meetup
•  Little time at a hedge fund, Xerox and others
– Rochester Institute of Technology: Applied Networking and Systems Administration
’05
– Internet infrastructure geek
The Micro-elephant in the room
https://www.flickr.com/photos/davidrosenphotography/14711027415/
Microservices
“is a software architecture style in which complex
applications are composed of small, independent
processes communicating with each other using
language-agnostic APIs. These services are
small, highly decoupled and focus on doing a
small task, facilitating a modular approach to
system-building.” - Wikipedia
https://en.wikipedia.org/wiki/Microservices
Microservices
Smart people are talking about it:
•  Sam Newman - book “Building
Microservices” O’Reilly Publishing
•  Adrian Cockcroft – numerous talks,
presentations, blog posts
“Loosely coupled service oriented
architecture with bounded contexts”
•  Martin Fowler – numerous blog posts
•  2 sessions at AWS Re:Invent 2014
•  ~8 sessions at AWS Re:Invent 2015
But is it just a fad?
Phil Calcado(ex-SoundCloud) in his Sept 8th post entitled “How we ended up
with microservices.” highlighted the recent growth of the term:
Data from Google Trends
http://philcalcado.com/2015/09/08/how_we_ended_up_with_microservices.html
But is it just a fad?
As they say in dramatic police dramas….Let’s ENHANCE!:
Data from Google Trends
Lots of folks are doing it
• Gilt: “From Monolith Ruby App to Distributed Scala Micro-
Services” NYC Tech Talks
• Nike: “Nike’s Journey to Microservices” – AWS Re:Invent
2014
• SoundCloud: ”Building Products at SoundCloud—Part III:
Microservices in Scala and Finagle”
• Capital One: “Lack Of Legacy Lets Capital One Build
Nimble Infrastructure” – ThePlatform.net
• Hailo: “A Journey into Microservices” – sudo.hailoapp.com
Brilliant folks are sharing tools for it
• Netflix: Dozens of tools - https://netflix.github.io/
• Airbnb: SmartStack - http://nerds.airbnb.com/
smartstack-service-discovery-cloud/
• Twitter: Mesos - https://mesos.apache.org/
• LinkedIn: Rest.li - https://github.com/linkedin/
rest.li
Monolith development lifecycle
developers
releasetestbuild
delivery pipelineapp
•  Single-purpose
•  Connect only
through APIs
•  Connect over HTTPS
•  Largely “black
boxes” to each other
•  “Microservices”
Microservices vs. SOA
Wikipedia: “distinct from a Service-oriented architecture (SOA)
in that the latter aims at integrating various (business)
applications whereas several microservices belong to one
application only”
Martin Fowler: “This common manifestation of SOA has led
some microservice advocates to reject the SOA label entirely,
although others consider microservices to be one form of SOA”
Oracle: “The picture that emerges is not of microservices as an
alternative to SOA, but rather as a way to restore flexibility that
may have been lost in SOAs that became too rigid and
monolithic.” https://en.wikipedia.org/wiki/Microservices
http://martinfowler.com/articles/microservices.html#MicroservicesAndSoa
http://www.oracle.com/technetwork/issue-archive/2015/15-mar/o25architect-2458702.html
Microservices:
•  Many very small components
•  Business logic lives inside of
single service domain
•  Simple wire protocols(HTTP
with XML/JSON)
•  API driven with SDKs/Clients
SOA:
•  Fewer more sophisticated
components
•  Business logic can live across
domains
•  Enterprise Service Bus like
layers between services
•  Middleware
Microservices vs. SOA
14
•  Two-pizza teams
•  Full ownership
•  Full accountability
•  Aligned incentives
•  “DevOps”
Wait, now we’re
talking about
Pizza?
16
©2015 Apigee. All Rights Reserved. 
Image By: Chris Munns – munns@amazon.com
How do Two Pizza Teams work?
We call them “Service teams”
• Own the “primitives” they build:
– Product planning (roadmap)
– Development work
– Operational/Client support work
• “You build it, you run it”
• Part of a larger concentrated org (Amazon.com,
AWS, Prime, etc)
17
Who Does QA?
18
The Two
Pizza
Team
Who Does
On Call?
19
Image By: Chris Munns – munns@amazon.com
The Two
Pizza
Team
What does Ops
Do?
20
Not
Exist
What about Ops/QA/Etc?
Everyone exists on a “service team” focused on their
primitive(s):
• SDE’s focused on developing
• PM’s focused on product direction
• TPM’s help drive development
• SE’s focused on infra/tooling
• SDET’s focused on test excellence throughout the
organization
Some folks are shared across the org, some on individual
teams

21
Boy, that sounds like a lot of freedom?
It is! Teams are empowered and also held to high
standards:
• Thorough onboarding/training
• Patterns/practices defined at scale and with 20+
years of organizational knowledge
• Regular technical and business metric reviews
• Regular sharing of new tools, services, technologies,
etc, by internal subject matter experts
22
Missing tools
developers delivery pipelineservices
???
•  Self-service
•  Technology-agnostic
•  Encourage best
practices
•  Single-purpose
services
•  Deployment service
•  No downtime
deployments
•  Health checking
•  Versioned artifacts
and rollbacks
•  Continuous delivery
•  From check-in to
production
•  Automated actions
and transitions
•  >90% of teams
Pipelines
Microservice development lifecycle
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
= 50 million deployments a year
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
I’m sold, how do
I make my own
pizza?
29
©2015 Apigee. All Rights Reserved. 
Image By: Chris Munns – munns@amazon.com
How to make pizza?
• Yeast
• Water
• Sugar
• Olive oil
• Tomato sauce
• Cheese
• <insert favorite toppings here>
30
No Chris, I mean in
the organizational/
technological sense
31
©2015 Apigee. All Rights Reserved. 
Image By: Chris Munns – munns@amazon.com
The keys to your own Two Pizza teams & Microservices
Culture
Practices
Tools
32
The keys to your own Two Pizza teams & Microservices
Culture
– Ownership & Accountability go hand in hand
– Larger teams typically move slower than smaller teams
– Insist on standards of excellence, but be flexible on the how
Practices
– Continuous Integration & Delivery
– Simplify operational tasks
Tools
– CI & CD tools
– Infrastructure management
– Metrics/Monitoring/Logging
– Communication and Collaboration
33
The keys to your own Two Pizza teams & Microservices
Culture
– Ownership & Accountability go hand in hand
– Larger teams typically move slower than smaller teams
– Insist on standards of excellence, but be flexible on the how
Practices
– Continuous Integration & Delivery
– Simplify operational tasks
Tools
– CI & CD tools
– Infrastructure management
– Metrics/Monitoring/Logging
– Communication and Collaboration
34
The keys to your own Two Pizza teams & Microservices
Culture
– Ownership & Accountability go hand in hand
– Larger teams typically move slower than smaller teams
– Insist on standards of excellence, but be flexible on the how
Practices
– Continuous Integration & Delivery
– Simplify operational tasks
Tools
– CI & CD tools
– Infrastructure management
– Metrics/Monitoring/Logging
– Communication and Collaboration
35
The keys to your own Two Pizza teams & Microservices
Culture
– Ownership & Accountability go hand in hand
– Larger teams typically move slower than smaller teams
– Insist on standards of excellence, but be flexible on the how
Practices
– Continuous Integration & Delivery
– Simplify operational tasks
Tools
– CI & CD tools
– Infrastructure management
– Metrics/Monitoring/Logging
– Communication and Collaboration
36
Internal “Service teams”
should own, support,
train, drive excellence
of these tools
Apollo and Pipelines as AWS Services:
CodePipeline
launched July 2015
CodeDeploy
launched Nov 2014
Establishing a pattern for services and clients
It’s important that the organization isn’t reinventing the
wheel on every new service:
•  How are clients going to communicate?
•  What cross service authorization requirements are there?
•  How do services prevent abuse?
•  How do you quickly build clients against a service?
•  How do services handle discovery of others services and resources?
Use an API Gateway!
Internet
Mobile Apps
Websites
Services
API
Gateway
AWS Lambda
functions
API Gateway
Cache
Endpoints on
Amazon EC2
Any other publicly
accessible endpoint
Amazon
CloudWatch
Monitoring
Amazon
CloudFront
HOST
METRICS
SERVICE
METRICS
LOG
ANALYSIS
BUILD
METRICS
FIN, ACK
This is a big topic that is hard to cover in a single session, day,
week! Key pointers:
•  Microservices patterns are changing how we are building APIs
and our applications in general
•  Team structure plays an incredible role in building, running,
scaling Microservices
•  Focusing on flexible tooling that provides standards can help an
organization focus on what matters
•  Enable the smart people you hire to do great things by giving
them both ownership and accountability on those things
success
41
Thank you
42

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
 
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 BarcelonaAWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
AWS App Mesh (Service Mesh Magic)- AWS Container Day 2019 Barcelona
 
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersYour Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
 
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJSMicro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Micro Frontends
Micro FrontendsMicro Frontends
Micro Frontends
 
Cloud Native Applications Maturity Model
Cloud Native Applications Maturity ModelCloud Native Applications Maturity Model
Cloud Native Applications Maturity Model
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Micro frontends
Micro frontendsMicro frontends
Micro frontends
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 

Destacado

Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
Amazon Web Services
 

Destacado (18)

Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
 
AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDB
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
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
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...
 
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
 
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
 
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
(WEB301) Operational Web Log Analysis | AWS re:Invent 2014
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
 
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
(ARC402) Deployment Automation: From Developers' Keyboards to End Users' Scre...
 
State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
 
AWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the CloudAWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the Cloud
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best Practices
 

Similar a I Love APIs 2015: Microservices at Amazon

API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
Richard Hudson
 
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig DicksonAWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
Amazon Web Services Korea
 

Similar a I Love APIs 2015: Microservices at Amazon (20)

Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
 
20161220 - microservice
20161220 - microservice20161220 - microservice
20161220 - microservice
 
A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
 
Serverless & Microservices Architecture
Serverless & Microservices ArchitectureServerless & Microservices Architecture
Serverless & Microservices Architecture
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
 
AWS Summit Auckland - Smaller is Better - Microservices on AWS
AWS Summit Auckland - Smaller is Better - Microservices on AWSAWS Summit Auckland - Smaller is Better - Microservices on AWS
AWS Summit Auckland - Smaller is Better - Microservices on AWS
 
Introduction to Microservices_Architecture.pptx
Introduction to Microservices_Architecture.pptxIntroduction to Microservices_Architecture.pptx
Introduction to Microservices_Architecture.pptx
 
Microservices - an integration perspective
Microservices - an integration perspectiveMicroservices - an integration perspective
Microservices - an integration perspective
 
Containing your microservice sprawl
Containing your microservice sprawlContaining your microservice sprawl
Containing your microservice sprawl
 
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig DicksonAWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
 
Microserces Architecture
Microserces ArchitectureMicroserces Architecture
Microserces Architecture
 
Building Next Gen Applications and Microservices
Building Next Gen Applications and Microservices Building Next Gen Applications and Microservices
Building Next Gen Applications and Microservices
 
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
 
Building next gen applications and microservices
Building next gen applications and microservicesBuilding next gen applications and microservices
Building next gen applications and microservices
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
 
Accelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices
Accelerate Delivery: Business case for Agile DevOps, CI/CD and MicroservicesAccelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices
Accelerate Delivery: Business case for Agile DevOps, CI/CD and Microservices
 

Más de Apigee | Google Cloud

Más de Apigee | Google Cloud (20)

How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
 
Magazine Luiza at a glance (1)
Magazine Luiza at a glance (1)Magazine Luiza at a glance (1)
Magazine Luiza at a glance (1)
 
Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs Monetization: Unlock More Value from Your APIs
Monetization: Unlock More Value from Your APIs
 
Apigee Demo: API Platform Overview
Apigee Demo: API Platform OverviewApigee Demo: API Platform Overview
Apigee Demo: API Platform Overview
 
Ticketmaster at a glance
Ticketmaster at a glanceTicketmaster at a glance
Ticketmaster at a glance
 
AccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First WorldAccuWeather: Recasting API Experiences in a Developer-First World
AccuWeather: Recasting API Experiences in a Developer-First World
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Apigee Product Roadmap Part 2
Apigee Product Roadmap Part 2Apigee Product Roadmap Part 2
Apigee Product Roadmap Part 2
 
The Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management MarketThe Four Transformative Forces of the API Management Market
The Four Transformative Forces of the API Management Market
 
Walgreens at a glance
Walgreens at a glanceWalgreens at a glance
Walgreens at a glance
 
Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to MicrogatewayApigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices Deployments
 
Pitney Bowes at a glance
Pitney Bowes at a glancePitney Bowes at a glance
Pitney Bowes at a glance
 
Microservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices SuccessMicroservices Done Right: Key Ingredients for Microservices Success
Microservices Done Right: Key Ingredients for Microservices Success
 
Adapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet KapoorAdapt or Die: Opening Keynote with Chet Kapoor
Adapt or Die: Opening Keynote with Chet Kapoor
 
Adapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg BrailAdapt or Die: Keynote with Greg Brail
Adapt or Die: Keynote with Greg Brail
 
Adapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant JhingranAdapt or Die: Keynote with Anant Jhingran
Adapt or Die: Keynote with Anant Jhingran
 
London Adapt or Die: Opening Keynot
London Adapt or Die: Opening KeynotLondon Adapt or Die: Opening Keynot
London Adapt or Die: Opening Keynot
 
London Adapt or Die: Lunch keynote
London Adapt or Die: Lunch keynoteLondon Adapt or Die: Lunch keynote
London Adapt or Die: Lunch keynote
 
London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!London Adapt or Die: Closing Keynote — Adapt Now!
London Adapt or Die: Closing Keynote — Adapt Now!
 

Último

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 

I Love APIs 2015: Microservices at Amazon

  • 1. Microservices at Amazon Chris Munns Business Development Manager - DevOps
  • 2. About me: Chris Munns - munns@amazon.com, @chrismunns – Business Development Manager – DevOps – New Yorker – Previously: •  AWS Solutions Architect 2011-2014 •  Lead of Infrastructure/DevOps @hingeapp •  Formerly on operations teams @Etsy and @Meetup •  Little time at a hedge fund, Xerox and others – Rochester Institute of Technology: Applied Networking and Systems Administration ’05 – Internet infrastructure geek
  • 3. The Micro-elephant in the room https://www.flickr.com/photos/davidrosenphotography/14711027415/
  • 4. Microservices “is a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task, facilitating a modular approach to system-building.” - Wikipedia https://en.wikipedia.org/wiki/Microservices
  • 5. Microservices Smart people are talking about it: •  Sam Newman - book “Building Microservices” O’Reilly Publishing •  Adrian Cockcroft – numerous talks, presentations, blog posts “Loosely coupled service oriented architecture with bounded contexts” •  Martin Fowler – numerous blog posts •  2 sessions at AWS Re:Invent 2014 •  ~8 sessions at AWS Re:Invent 2015
  • 6. But is it just a fad? Phil Calcado(ex-SoundCloud) in his Sept 8th post entitled “How we ended up with microservices.” highlighted the recent growth of the term: Data from Google Trends http://philcalcado.com/2015/09/08/how_we_ended_up_with_microservices.html
  • 7. But is it just a fad? As they say in dramatic police dramas….Let’s ENHANCE!: Data from Google Trends
  • 8. Lots of folks are doing it • Gilt: “From Monolith Ruby App to Distributed Scala Micro- Services” NYC Tech Talks • Nike: “Nike’s Journey to Microservices” – AWS Re:Invent 2014 • SoundCloud: ”Building Products at SoundCloud—Part III: Microservices in Scala and Finagle” • Capital One: “Lack Of Legacy Lets Capital One Build Nimble Infrastructure” – ThePlatform.net • Hailo: “A Journey into Microservices” – sudo.hailoapp.com
  • 9. Brilliant folks are sharing tools for it • Netflix: Dozens of tools - https://netflix.github.io/ • Airbnb: SmartStack - http://nerds.airbnb.com/ smartstack-service-discovery-cloud/ • Twitter: Mesos - https://mesos.apache.org/ • LinkedIn: Rest.li - https://github.com/linkedin/ rest.li
  • 10.
  • 12. •  Single-purpose •  Connect only through APIs •  Connect over HTTPS •  Largely “black boxes” to each other •  “Microservices”
  • 13. Microservices vs. SOA Wikipedia: “distinct from a Service-oriented architecture (SOA) in that the latter aims at integrating various (business) applications whereas several microservices belong to one application only” Martin Fowler: “This common manifestation of SOA has led some microservice advocates to reject the SOA label entirely, although others consider microservices to be one form of SOA” Oracle: “The picture that emerges is not of microservices as an alternative to SOA, but rather as a way to restore flexibility that may have been lost in SOAs that became too rigid and monolithic.” https://en.wikipedia.org/wiki/Microservices http://martinfowler.com/articles/microservices.html#MicroservicesAndSoa http://www.oracle.com/technetwork/issue-archive/2015/15-mar/o25architect-2458702.html
  • 14. Microservices: •  Many very small components •  Business logic lives inside of single service domain •  Simple wire protocols(HTTP with XML/JSON) •  API driven with SDKs/Clients SOA: •  Fewer more sophisticated components •  Business logic can live across domains •  Enterprise Service Bus like layers between services •  Middleware Microservices vs. SOA 14
  • 15. •  Two-pizza teams •  Full ownership •  Full accountability •  Aligned incentives •  “DevOps”
  • 16. Wait, now we’re talking about Pizza? 16 ©2015 Apigee. All Rights Reserved. Image By: Chris Munns – munns@amazon.com
  • 17. How do Two Pizza Teams work? We call them “Service teams” • Own the “primitives” they build: – Product planning (roadmap) – Development work – Operational/Client support work • “You build it, you run it” • Part of a larger concentrated org (Amazon.com, AWS, Prime, etc) 17
  • 18. Who Does QA? 18 The Two Pizza Team
  • 19. Who Does On Call? 19 Image By: Chris Munns – munns@amazon.com The Two Pizza Team
  • 21. What about Ops/QA/Etc? Everyone exists on a “service team” focused on their primitive(s): • SDE’s focused on developing • PM’s focused on product direction • TPM’s help drive development • SE’s focused on infra/tooling • SDET’s focused on test excellence throughout the organization Some folks are shared across the org, some on individual teams 21
  • 22. Boy, that sounds like a lot of freedom? It is! Teams are empowered and also held to high standards: • Thorough onboarding/training • Patterns/practices defined at scale and with 20+ years of organizational knowledge • Regular technical and business metric reviews • Regular sharing of new tools, services, technologies, etc, by internal subject matter experts 22
  • 23. Missing tools developers delivery pipelineservices ???
  • 24. •  Self-service •  Technology-agnostic •  Encourage best practices •  Single-purpose services
  • 25. •  Deployment service •  No downtime deployments •  Health checking •  Versioned artifacts and rollbacks
  • 26. •  Continuous delivery •  From check-in to production •  Automated actions and transitions •  >90% of teams Pipelines
  • 27. Microservice development lifecycle developers delivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  • 28. = 50 million deployments a year Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments
  • 29. I’m sold, how do I make my own pizza? 29 ©2015 Apigee. All Rights Reserved. Image By: Chris Munns – munns@amazon.com
  • 30. How to make pizza? • Yeast • Water • Sugar • Olive oil • Tomato sauce • Cheese • <insert favorite toppings here> 30
  • 31. No Chris, I mean in the organizational/ technological sense 31 ©2015 Apigee. All Rights Reserved. Image By: Chris Munns – munns@amazon.com
  • 32. The keys to your own Two Pizza teams & Microservices Culture Practices Tools 32
  • 33. The keys to your own Two Pizza teams & Microservices Culture – Ownership & Accountability go hand in hand – Larger teams typically move slower than smaller teams – Insist on standards of excellence, but be flexible on the how Practices – Continuous Integration & Delivery – Simplify operational tasks Tools – CI & CD tools – Infrastructure management – Metrics/Monitoring/Logging – Communication and Collaboration 33
  • 34. The keys to your own Two Pizza teams & Microservices Culture – Ownership & Accountability go hand in hand – Larger teams typically move slower than smaller teams – Insist on standards of excellence, but be flexible on the how Practices – Continuous Integration & Delivery – Simplify operational tasks Tools – CI & CD tools – Infrastructure management – Metrics/Monitoring/Logging – Communication and Collaboration 34
  • 35. The keys to your own Two Pizza teams & Microservices Culture – Ownership & Accountability go hand in hand – Larger teams typically move slower than smaller teams – Insist on standards of excellence, but be flexible on the how Practices – Continuous Integration & Delivery – Simplify operational tasks Tools – CI & CD tools – Infrastructure management – Metrics/Monitoring/Logging – Communication and Collaboration 35
  • 36. The keys to your own Two Pizza teams & Microservices Culture – Ownership & Accountability go hand in hand – Larger teams typically move slower than smaller teams – Insist on standards of excellence, but be flexible on the how Practices – Continuous Integration & Delivery – Simplify operational tasks Tools – CI & CD tools – Infrastructure management – Metrics/Monitoring/Logging – Communication and Collaboration 36 Internal “Service teams” should own, support, train, drive excellence of these tools
  • 37. Apollo and Pipelines as AWS Services: CodePipeline launched July 2015 CodeDeploy launched Nov 2014
  • 38. Establishing a pattern for services and clients It’s important that the organization isn’t reinventing the wheel on every new service: •  How are clients going to communicate? •  What cross service authorization requirements are there? •  How do services prevent abuse? •  How do you quickly build clients against a service? •  How do services handle discovery of others services and resources?
  • 39. Use an API Gateway! Internet Mobile Apps Websites Services API Gateway AWS Lambda functions API Gateway Cache Endpoints on Amazon EC2 Any other publicly accessible endpoint Amazon CloudWatch Monitoring Amazon CloudFront
  • 41. FIN, ACK This is a big topic that is hard to cover in a single session, day, week! Key pointers: •  Microservices patterns are changing how we are building APIs and our applications in general •  Team structure plays an incredible role in building, running, scaling Microservices •  Focusing on flexible tooling that provides standards can help an organization focus on what matters •  Enable the smart people you hire to do great things by giving them both ownership and accountability on those things success 41