Fast Delivery
Adrian Cockcroft @adrianco Technology Fellow - Battery Ventures September 2014
Fast Delivery Adrian Cockcroft @adrianco Technology Fellow - - - PowerPoint PPT Presentation
Fast Delivery Adrian Cockcroft @adrianco Technology Fellow - Battery Ventures September 2014 Typical reactions to my Netflix talks Typical reactions to my Netflix talks You guys are crazy! Cant believe it 2009 Typical
Adrian Cockcroft @adrianco Technology Fellow - Battery Ventures September 2014
Typical reactions to my Netflix talks…
Typical reactions to my Netflix talks…
“You guys are crazy! Can’t believe it”
– 2009
Typical reactions to my Netflix talks…
“You guys are crazy! Can’t believe it”
– 2009
“What Netflix is doing won’t work”
– 2010
Typical reactions to my Netflix talks…
“You guys are crazy! Can’t believe it”
– 2009
“What Netflix is doing won’t work”
– 2010
It only works for ‘Unicorns’ like Netflix”
– 2011
Typical reactions to my Netflix talks…
“You guys are crazy! Can’t believe it”
– 2009
“What Netflix is doing won’t work”
– 2010
It only works for ‘Unicorns’ like Netflix”
– 2011
“We’d like to do that but can’t”
– 2012
Typical reactions to my Netflix talks…
“You guys are crazy! Can’t believe it”
– 2009
“What Netflix is doing won’t work”
– 2010
It only works for ‘Unicorns’ like Netflix”
– 2011
“We’d like to do that but can’t”
– 2012
“We’re on our way using Netflix OSS code”
– 2013
What I learned from my time at Netflix
What I learned from my time at Netflix
What I learned from my time at Netflix
What I learned from my time at Netflix
What I learned from my time at Netflix
What I learned from my time at Netflix
What I learned from my time at Netflix
What I learned from my time at Netflix
Cloud Adoption
%*&!”
By Simon Wardley http://enterpriseitadoption.com/
Cloud Adoption
%*&!”
By Simon Wardley http://enterpriseitadoption.com/
2009
Cloud Adoption
%*&!”
By Simon Wardley http://enterpriseitadoption.com/
2009
Cloud Adoption
@adrianco’s new job at the intersection
Enterprise IT
%*&!”
By Simon Wardley http://enterpriseitadoption.com/
2014 2009
“It isn't what we don't know that gives us trouble, it's what we know that ain't so.”
"This is the IT swamp draining manual for anyone who is neck deep in alligators.”
Non-Cloud Product
Business NeedNon-Cloud Product
Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS
Business NeedNon-Cloud Product
Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS
Business NeedIaaS Cloud
Non-Cloud Product
Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS
Business NeedProcess Hand-Off Steps for Product Development on IaaS
Product Manager Development Team QA Integration Team Operations Deploy Team BI Analytics Team
IaaS Based Product
Business Need
Software Development
Deployment and Testing
Customer Feedback
IaaS Based Product
Business Need
Software Development
Deployment and Testing
Customer Feedback
etc…
IaaS Based Product
Business Need
Software Development
Deployment and Testing
Customer Feedback
etc…
IaaS Based Product
Software provisioning is undifferentiated heavy lifting – replace it with PaaS
Business Need
Software Development
Deployment and Testing
Customer Feedback
etc…
IaaS Based Product
Software provisioning is undifferentiated heavy lifting – replace it with PaaS
Business Need
Software Development
Deployment and Testing
Customer Feedback
PaaS Cloud
etc…
IaaS Based Product
Software provisioning is undifferentiated heavy lifting – replace it with PaaS
Business Need
Software Development
Customer Feedback
etc…
Process Hand-Off Steps for Feature Development on PaaS
Product Manager Developer BI Analytics Team
PaaS Based Product
Business Need
Software Development
Customer Feedback
etc…
PaaS Based Product
Building your own business apps is undifferentiated heavy lifting – use SaaS
Business Need
Software Development
Customer Feedback
etc…
PaaS Based Product
Building your own business apps is undifferentiated heavy lifting – use SaaS
Business Need
Software Development
Customer Feedback
SaaS/ BPaaS Cloud
etc…
PaaS Based Product
Building your own business apps is undifferentiated heavy lifting – use SaaS
Business Need
Customer Feedback
etc…
SaaS Based Business Application Development
Business Need
Customer Feedback
SaaS Based Business Application Development
Business Need
Customer Feedback
and thousands more…
Observe Orient Decide Act
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point Measure Customers
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point
INNOVATION
Measure Customers
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point Analysis Model Hypotheses
INNOVATION
Measure Customers
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point Analysis Model Hypotheses
BIG DATA INNOVATION
Measure Customers
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Model Hypotheses
BIG DATA INNOVATION
Measure Customers
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Model Hypotheses
BIG DATA INNOVATION CULTURE
Measure Customers
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Incremental Features Automatic Deploy Launch AB Test Model Hypotheses
BIG DATA INNOVATION CULTURE
Measure Customers
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Incremental Features Automatic Deploy Launch AB Test Model Hypotheses
BIG DATA INNOVATION CULTURE CLOUD
Measure Customers
Continuous Delivery
Observe Orient Decide Act Land grab
Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Incremental Features Automatic Deploy Launch AB Test Model Hypotheses
BIG DATA INNOVATION CULTURE CLOUD
Measure Customers
Continuous Delivery
Release Plan Developer Developer Developer Developer Developer QA Release Integration Ops Replace Old With New Release
Monolithic service updates Works well with a small number
language like php, java or ruby
Release Plan Developer Developer Developer Developer Developer QA Release Integration Ops Replace Old With New Release Bugs
Monolithic service updates Works well with a small number
language like php, java or ruby
Release Plan Developer Developer Developer Developer Developer QA Release Integration Ops Replace Old With New Release Bugs Bugs
Monolithic service updates Works well with a small number
language like php, java or ruby
Developer Developer Developer Developer Developer Old Release Still Running Release Plan Release Plan Release Plan Release Plan
Immutable microservice deployment is faster, scales with large teams and diverse platform components
Developer Developer Developer Developer Developer Old Release Still Running Release Plan Release Plan Release Plan Release Plan Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production
Immutable microservice deployment is faster, scales with large teams and diverse platform components
Developer Developer Developer Developer Developer Old Release Still Running Release Plan Release Plan Release Plan Release Plan Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Bugs
Immutable microservice deployment is faster, scales with large teams and diverse platform components
Developer Developer Developer Developer Developer Old Release Still Running Release Plan Release Plan Release Plan Release Plan Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Deploy Feature to Production Bugs Deploy Feature to Production
Immutable microservice deployment is faster, scales with large teams and diverse platform components
Non-Destructive Production Updates
What Happened?
Rate of change increased Cost and size and risk of change reduced
Open Source Disruption
Follow developers not dollars
free leads to an extreme case
25 50 75 100 Ignore Ignore Worry Dead % Open source adoption by new installations % Incumbent revenue
Ecosystem Transitions
Ecosystem Transitions
1990’s
Ecosystem Transitions
1990’s 2000’s
Ecosystem Transitions
1990’s 2000’s 2010’s
Evolution of Deployment Tools
Evolution of Deployment Tools
Evolution of Deployment Tools
Evolution of Deployment Tools
Evolution of Deployment Tools
A Microservice Definition
architecture with bounded contexts
A Microservice Definition
architecture with bounded contexts
If every service has to be updated at the same time it’s not loosely coupled
A Microservice Definition
architecture with bounded contexts
If every service has to be updated at the same time it’s not loosely coupled If you have to know too much about surrounding services you don’t have a bounded context. See the Domain Driven Design book by Eric Evans.
Separate Concerns with Microservices
http://en.wikipedia.org/wiki/Conway's_law
NetflixOSS - High Availability Patterns
Cloud Native
Code pushes can cause floods of new instances and metrics Short baseline for alert threshold analysis – everything looks unusual
Short lifetimes make it hard to aggregate historical views Hand tweaked monitoring tools take too much work to keep running
End-to-end request flow measurements are very important Request flow visualizations get overwhelmed
Microservice Based Architectures
See http://www.slideshare.net/LappleApple/gilt-from-monolith-ruby-app-to-micro-service-scala-service-architecture“Death Star” Architecture Diagrams
As visualized by Appdynamics, Boundary.com and Twitter internal tools
“Death Star” Architecture Diagrams
Netflix Gilt Groupe (12 of 450) Twitter
As visualized by Appdynamics, Boundary.com and Twitter internal tools
Continuous Delivery and DevOps
Not cool if it takes 5 minutes to see it failed and 5 more to see a fix No-one notices if it only takes 5 seconds to detect and 5 to see a fix
NetflixOSS Hystrix/Turbine Circuit Breaker
http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.html
NetflixOSS Hystrix/Turbine Circuit Breaker
http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.html
Low Latency SaaS Based Monitors
www.vividcortex.com and www.boundary.com
Metric to display latency needs to be less than human attention span (~10s)
Forward Thinking
Forward Thinking
Forward Thinking
Forward Thinking
http://eugenedvorkin.com/seven-micro-services-architecture-advantages/Any Questions?
Disclosure: some of the companies mentioned are Battery Ventures Portfolio Companies See www.battery.com for a list of portfolio investments