3. Typical reactions to my Netflix talks…
“You guys are
crazy! Can’t
believe it”
– 2009
4. Typical reactions to my Netflix talks…
“You guys are
crazy! Can’t
believe it”
– 2009
“What Netflix is doing
won’t work”
– 2010
5. 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
6. 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
7. 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
9. What I learned from my time at Netflix
•Speed wins in the marketplace
10. What I learned from my time at Netflix
•Speed wins in the marketplace
•Remove friction from product development
11. What I learned from my time at Netflix
•Speed wins in the marketplace
•Remove friction from product development
•High trust, low process, no hand-offs between teams
12. What I learned from my time at Netflix
•Speed wins in the marketplace
•Remove friction from product development
•High trust, low process, no hand-offs between teams
•Freedom and responsibility culture
13. What I learned from my time at Netflix
•Speed wins in the marketplace
•Remove friction from product development
•High trust, low process, no hand-offs between teams
•Freedom and responsibility culture
•Don’t do your own undifferentiated heavy lifting
14. What I learned from my time at Netflix
•Speed wins in the marketplace
•Remove friction from product development
•High trust, low process, no hand-offs between teams
•Freedom and responsibility culture
•Don’t do your own undifferentiated heavy lifting
•Use simple patterns automated by tooling
15. What I learned from my time at Netflix
•Speed wins in the marketplace
•Remove friction from product development
•High trust, low process, no hand-offs between teams
•Freedom and responsibility culture
•Don’t do your own undifferentiated heavy lifting
•Use simple patterns automated by tooling
•Self service cloud makes impossible things instant
19. Cloud Adoption
@adrianco’s
new job at the
intersection
of cloud and
Enterprise IT
2009 2014
%*&!”
By Simon Wardley http://enterpriseitadoption.com/
24. The Global Land-Grab
Azure
AWS
GCE
?
19 Regions
11 Regions
3 Regions
?
?
?
?
http://www.google.com/about/datacenters/inside/locations/index.html
http://azure.microsoft.com/en-us/regions/
25. The Global Land-Grab
Azure
AWS
GCE
?
19 Regions
11 Regions
3 Regions
?
?
?
?
http://www.google.com/about/datacenters/inside/locations/index.html
http://azure.microsoft.com/en-us/regions/
26. This is the year that Enterprises
finally embraced cloud.
27. This is the year that Enterprises
finally embraced cloud.
28. This is the year that Enterprises
finally embraced cloud.
29. This is the year that Enterprises
finally embraced cloud.
39. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Measure
Customers
Continuous
Delivery
40. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
INNOVATION
Measure
Customers
Continuous
Delivery
41. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
Model
Hypotheses
INNOVATION
Measure
Customers
Continuous
Delivery
42. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Model
Hypotheses
INNOVATION
Measure
Customers
Continuous
Delivery
43. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Model
Hypotheses
INNOVATION
Measure
Customers
Continuous
Delivery
44. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Model
Hypotheses
INNOVATION
CULTURE
Measure
Customers
Continuous
Delivery
45. Land grab
opportunity Competitive
Observe
Orient
Decide
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Launch AB
Test
Automatic
Deploy
Incremental
Features
Model
Hypotheses
INNOVATION
CULTURE
Measure
Customers
Continuous
Delivery
46. Land grab
opportunity Competitive
Observe
Orient
Decide
Measure
Customers
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Launch AB
Test
Automatic
Deploy
Incremental
Features
Model
Hypotheses
INNOVATION
CULTURE
CLOUD
Continuous
Delivery
47. Land grab
opportunity Competitive
Observe
Orient
Decide
Measure
Customers
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Launch AB
Test
Automatic
Deploy
Incremental
Features
Model
Hypotheses
INNOVATION
CULTURE
CLOUD
Continuous
Delivery
48. Land grab
opportunity Competitive
Observe
Orient
Decide
Measure
Customers
Act
Move
Customer Pain
Point
Analysis
BIG DATA
Plan Response
JFDI
Share Plans
Launch AB
Test
Automatic
Deploy
Incremental
Features
Model
Hypotheses
INNOVATION
CULTURE
CLOUD
Continuous
Delivery
50. Breaking Down the SILOs
Prod
Mgr
UX Dev QA DBA Sys
Adm Adm
Net
Adm
SAN
51. Breaking Down the SILOs
Prod
Mgr
UX Dev QA DBA Sys
Adm Adm
Net
Adm
SAN
Product Team Using Monolithic Delivery
Product Team Using Monolithic Delivery
52. Breaking Down the SILOs
Product Team Using Monolithic Delivery
Prod
UX Dev QA DBA Sys
Net
SAN
Mgr
Adm
Adm
Adm Product Team Using Microservices
Product Team Using Monolithic Delivery
Product Team Using Microservices
Product Team Using Microservices
53. Breaking Down the SILOs
Product Team Using Monolithic Delivery
Prod
UX Dev QA DBA Sys
Net
SAN
Mgr
Adm
Adm
Adm Product Team Using Microservices
Product Team Using Monolithic Delivery
Product Team Using Microservices Platform Team
Product Team Using Microservices
54. Breaking Down the SILOs
Product Team Using Monolithic Delivery
Prod
UX Dev QA DBA Sys
Net
SAN
Mgr
Adm
Adm
Adm Product Team Using Microservices
Product Team Using Monolithic Delivery
Platform Team A
P
I Product Team Using Microservices
Product Team Using Microservices
55. Breaking Down the SILOs
Product Team Using Monolithic Delivery
Prod
UX Dev QA DBA Sys
Net
SAN
Mgr
Adm
Adm
Adm Product Team Using Microservices
Product Team Using Monolithic Delivery
Platform Team
A
P
I Product Team Using Microservices
Product Team Using Microservices
DevOps is a Re-Org
56. 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
of developers and a single
language like php, java or ruby
57. Release Plan
Developer
Developer
Developer
Developer
Developer
Monolithic service updates
QA Release
Integration
Ops Replace Old
With New
Release
Bugs
Works well with a small number
of developers and a single
language like php, java or ruby
58. Release Plan
Developer
Developer
Developer
Developer
Developer
Monolithic service updates
QA Release
Integration
Ops Replace Old
With New
Release
Bugs
Bugs
Works well with a small number
of developers and a single
language like php, java or ruby
59. 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
60. Developer
Developer
Developer
Developer
Developer
Immutable microservice deployment
is faster, scales with large teams and
diverse platform components
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
61. Developer
Developer
Developer
Developer
Developer
Immutable microservice deployment
is faster, scales with large teams and
diverse platform components
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
62. Developer
Developer
Developer
Developer
Developer
Immutable microservice deployment
is faster, scales with large teams and
diverse platform components
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
63. Developing at the Speed of Docker
Developers
• Compile/Build
• Seconds
Extend container
• Package dependencies
• Seconds
PaaS deploy Container
• Docker startup
• Seconds
etc…
64. Developing at the Speed of Docker
Developers
• Compile/Build
• Seconds
Extend container
• Package dependencies
• Seconds
PaaS deploy Container
• Docker startup
• Seconds
Emerging market for Docker runtime orchestration options
etc…
65. What Happened?
Rate of change
increased
Cost and size and
risk of change
reduced
68. If every service has to be
updated at the same time
it’s not loosely coupled
A Microservice Definition
!
Loosely coupled service oriented
architecture with bounded contexts
69. If every service has to be
updated at the same time
it’s not loosely coupled
A Microservice Definition
!
Loosely coupled service oriented
architecture with bounded contexts
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.
70. High Availability Patterns
● Business logic isolation in stateless micro-services
● Immutable code with instant rollback
● Auto-scaled capacity and deployment updates
● Distributed across availability zones and regions
● De-normalized single function NoSQL data stores
● See over 40 NetflixOSS projects at netflix.github.com
● Get “Technical Indigestion” trying to keep up with techblog.netflix.com
75. Cloud Native
● High rate of change
Code pushes can cause floods of new instances and metrics
Short baseline for alert threshold analysis – everything looks unusual
● Ephemeral Configurations
Short lifetimes make it hard to aggregate historical views
Hand tweaked monitoring tools take too much work to keep running
● Microservices with complex calling patterns
End-to-end request flow measurements are very important
Request flow visualizations get overwhelmed
76. Microservice Based Architectures
See http://www.slideshare.net/LappleApple/gilt-from-monolith-ruby-app-to-micro-service-scala-service-architecture
77. “Death Star” Architecture Diagrams
As visualized by Appdynamics, Boundary.com and Twitter internal tools
78. “Death Star” Architecture Diagrams
Netflix Gilt Groupe (12 of 450) Twitter
As visualized by Appdynamics, Boundary.com and Twitter internal tools
79. Continuous Delivery and DevOps
● Changes are smaller but more frequent
● Individual changes are more likely to be broken
● Changes are normally deployed by developers
● Feature flags are used to enable new code
● Instant detection and rollback matters much more
80. Whoops! I didn’t mean that!
Reverting…
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
87. Reaction from Fortune 100 CTO:
“But Netflix has a superstar development team, we don’t!"
88. Reaction from Fortune 100 CTO:
“But Netflix has a superstar development team, we don’t!"
Adrian’s Response:
“Netflix hired them from you, and got out of their way…”
89. Where to Start with DevOps?
Enterprise Mobile Apps
Horizontal Team
App-Store Provisioning
APIs to Everyone
DevOps Already…
90. 1
Where to Start with Cloud?
Archive
Data in
the Cloud
2
Use Diverse
Cloud Zones
and Regions
3
Migrate to
Cloud-aware
Tooling
98. Any Questions?
● Battery Ventures http://www.battery.com
● Adrian’s Blog http://perfcap.blogspot.com
● Slideshare http://slideshare.com/adriancockcroft
!
● Monitorama Opening Keynote Portland OR - May 7th, 2014 - Video available
● GOTO Chicago Opening Keynote May 20th, 2014 - Video available
● Qcon New York – Speed and Scale - June 11th, 2014 - Video available
● Structure - Cloud Trends - San Francisco - June 19th, 2014 - Video available
● GOTO Copenhagen/Aarhus – Denmark – Sept 25th, 2014
● DevOps Enterprise Summit - San Francisco - Oct 21-23rd, 2014
● GOTO Berlin - Germany - Nov 6th, 2014
● AWS Re:Invent - Las Vegas - November 14th, 2014
● Dockercon Europe - Amsterdam - December 4th, 2014
Disclosure: some of the companies mentioned are Battery Ventures Portfolio Companies
See www.battery.com for a list of portfolio investments