SlideShare a Scribd company logo
1 of 154
Download to read offline
Adrian Cockcroft @adrianco June 2014
Migrating to Cloud Native with Microservices
‹#› | Battery Ventures
‹#› | Battery Ventures
Typical reactions to my Netflix talks…
‹#› | Battery Ventures
Typical reactions to my Netflix talks…
“You guys are
crazy! Can’t
believe it”
– 2009
‹#› | Battery Ventures
Typical reactions to my Netflix talks…
“You guys are
crazy! Can’t
believe it”
– 2009
“What Netflix is doing
won’t work”
– 2010
‹#› | Battery Ventures
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
‹#› | Battery Ventures
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
‹#› | Battery Ventures
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
‹#› | Battery Ventures
What I learned from my time at Netflix
‹#› | Battery Ventures
What I learned from my time at Netflix
● Speed wins in the marketplace
‹#› | Battery Ventures
What I learned from my time at Netflix
● Speed wins in the marketplace
● Remove friction from product development
‹#› | Battery Ventures
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
‹#› | Battery Ventures
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
‹#› | Battery Ventures
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
‹#› | Battery Ventures
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
‹#› | Battery Ventures
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
‹#› | Battery Ventures
Enterprise IT Adoption of Cloud
By Simon Wardley http://enterpriseitadoption.com/
Now
%*&!”
‹#› | Battery Ventures
‹#› | Battery Ventures
Speed
‹#› | Battery Ventures
Speed
‹#› | Battery Ventures
Speed
Innovation
‹#› | Battery Ventures
Speed
Innovation
New Ideas
‹#› | Battery Ventures
Speed
Innovation
New Ideas
New Products
‹#› | Battery Ventures
What separates
incumbents from
disruptors?
‹#› | Battery Ventures
Assumptions
‹#› | Battery Ventures
Optimizations
‹#› | Battery Ventures
“It isn't what we don't know
that gives us trouble, it's
what we know that ain't so.”
!
Will Rogers
http://www.brainyquote.com/quotes/quotes/w/willrogers385286.html
‹#› | Battery Ventures
Incumbents
follow the $$$
Market size lags disruption because high price products are replaced by low priced products
‹#› | Battery Ventures
‹#› | Battery Ventures
Disruptors
‹#› | Battery Ventures
Disruptors
‹#› | Battery Ventures
Disruptors
Take what used to be expensive
‹#› | Battery Ventures
Disruptors
Take what used to be expensive
learn to “waste” them
‹#› | Battery Ventures
Disruptors
Take what used to be expensive
learn to “waste” them
to save money elsewhere
‹#› | Battery Ventures
Examples
‹#› | Battery Ventures
Solid State Disk
Example
‹#› | Battery Ventures
Storage systems
assume random
reads are expensive
Decades of filesystems and storage array development based on spinning rust
‹#› | Battery Ventures
RR is free
Immutable writes
Log-merge
SSD works best for random reads and sequential writes. Bad for updates.
‹#› | Battery Ventures
SSD packaging
as disk, as PCI card
now as memory DIMM
Each generation reduces overhead and improves price/performance
‹#› | Battery Ventures
Disclosure: Diablo Technologies is a Battery Ventures Portfolio Company
See www.battery.com for a list of portfolio investments
‹#› | Battery Ventures
Traditional vs. Cloud Native Storage Architectures
Business
Logic
Database
Master
Fabric
Storage
Arrays
Database
Slave
Fabric
Storage
Arrays
‹#› | Battery Ventures
Traditional vs. Cloud Native Storage Architectures
Business
Logic
Database
Master
Fabric
Storage
Arrays
Database
Slave
Fabric
Storage
Arrays
Business
Logic
Cassandra
Zone A nodes
Cassandra
Zone B nodes
Cassandra
Zone C nodes
Cloud Object
Store Backups
‹#› | Battery Ventures
Traditional vs. Cloud Native Storage Architectures
Business
Logic
Database
Master
Fabric
Storage
Arrays
Database
Slave
Fabric
Storage
Arrays
Business
Logic
Cassandra
Zone A nodes
Cassandra
Zone B nodes
Cassandra
Zone C nodes
Cloud Object
Store Backups
SSDs inside
arrays disrupt
incumbent
suppliers
‹#› | Battery Ventures
Traditional vs. Cloud Native Storage Architectures
Business
Logic
Database
Master
Fabric
Storage
Arrays
Database
Slave
Fabric
Storage
Arrays
Business
Logic
Cassandra
Zone A nodes
Cassandra
Zone B nodes
Cassandra
Zone C nodes
Cloud Object
Store Backups
SSDs inside
ephemeral
instances
disrupt an
entire industry
SSDs inside
arrays disrupt
incumbent
suppliers
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
● Linear scale up benchmarked and seen in production
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
● Linear scale up benchmarked and seen in production
● Hundreds of nodes per cluster in common use today
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
● Linear scale up benchmarked and seen in production
● Hundreds of nodes per cluster in common use today
● Thousands of nodes per cluster actively being tested and used
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
● Linear scale up benchmarked and seen in production
● Hundreds of nodes per cluster in common use today
● Thousands of nodes per cluster actively being tested and used
● Cassandra scale using high end AWS storage instances
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
● Linear scale up benchmarked and seen in production
● Hundreds of nodes per cluster in common use today
● Thousands of nodes per cluster actively being tested and used
● Cassandra scale using high end AWS storage instances
● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
● Linear scale up benchmarked and seen in production
● Hundreds of nodes per cluster in common use today
● Thousands of nodes per cluster actively being tested and used
● Cassandra scale using high end AWS storage instances
● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD
● 100 nodes = 30 million iops and 640 TB - Ludicrous
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
● Linear scale up benchmarked and seen in production
● Hundreds of nodes per cluster in common use today
● Thousands of nodes per cluster actively being tested and used
● Cassandra scale using high end AWS storage instances
● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD
● 100 nodes = 30 million iops and 640 TB - Ludicrous
● 1000 nodes = 300 million iops and 6.4 PB - Plaid!
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
How to Scale Storage Beyond Ludicrous
● Cassandra scalability
● Linear scale up benchmarked and seen in production
● Hundreds of nodes per cluster in common use today
● Thousands of nodes per cluster actively being tested and used
● Cassandra scale using high end AWS storage instances
● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD
● 100 nodes = 30 million iops and 640 TB - Ludicrous
● 1000 nodes = 300 million iops and 6.4 PB - Plaid!
http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
‹#› | Battery Ventures
Disruptor
Cassandra
Perfect match for SSD, no write amplification, no updates, scales to plaid
‹#› | Battery Ventures
Product
Development
Another disruptive example
‹#› | Battery Ventures
Assumption:
Process prevents
problems
Another disruptive example
‹#› | Battery Ventures
Non-Cloud Product Development
Months before you find out whether the product meets the need
Business
Need
• Documents
• Weeks
Approval
Process
• Meetings
• Weeks
Hardware
Purchase
• Negotiations
• Weeks
Software
Development
• Specifications
• Weeks
Deployment and
Testing
• Reports
• Weeks
Customer
Feedback
• It sucks!
• Weeks
‹#› | Battery Ventures
Non-Cloud Product Development
Months before you find out whether the product meets the need
Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS
Business
Need
• Documents
• Weeks
Approval
Process
• Meetings
• Weeks
Hardware
Purchase
• Negotiations
• Weeks
Software
Development
• Specifications
• Weeks
Deployment and
Testing
• Reports
• Weeks
Customer
Feedback
• It sucks!
• Weeks
‹#› | Battery Ventures
Non-Cloud Product Development
Months before you find out whether the product meets the need
Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS
Business
Need
• Documents
• Weeks
Approval
Process
• Meetings
• Weeks
Hardware
Purchase
• Negotiations
• Weeks
Software
Development
• Specifications
• Weeks
Deployment and
Testing
• Reports
• Weeks
Customer
Feedback
• It sucks!
• Weeks
IaaS
Cloud
‹#› | Battery Ventures
Non-Cloud Product Development
Months before you find out whether the product meets the need
Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS
Business
Need
• Documents
• Weeks
Software
Development
• Specifications
• Weeks
Deployment and
Testing
• Reports
• Weeks
Customer
Feedback
• It sucks!
• Weeks
‹#› | Battery Ventures
Process Hand-Off Steps for Product Development on IaaS
Product Manager
Development Team
QA Integration Team
Operations Deploy
Team
BI Analytics Team
‹#› | Battery Ventures
IaaS Based Product Development
Weeks before you find out whether the product meets the need
Business Need
• Documents
• Weeks
Software Development
• Specifications
• Weeks
Deployment and Testing
• Reports
• Days
Customer Feedback
• It sucks!
• Days
‹#› | Battery Ventures
IaaS Based Product Development
Weeks before you find out whether the product meets the need
Business Need
• Documents
• Weeks
Software Development
• Specifications
• Weeks
Deployment and Testing
• Reports
• Days
Customer Feedback
• It sucks!
• Days
etc…
‹#› | Battery Ventures
IaaS Based Product Development
Weeks before you find out whether the product meets the need
Software provisioning is undifferentiated heavy lifting – replace it with PaaS
Business Need
• Documents
• Weeks
Software Development
• Specifications
• Weeks
Deployment and Testing
• Reports
• Days
Customer Feedback
• It sucks!
• Days
etc…
‹#› | Battery Ventures
IaaS Based Product Development
Weeks before you find out whether the product meets the need
Software provisioning is undifferentiated heavy lifting – replace it with PaaS
Business Need
• Documents
• Weeks
Software Development
• Specifications
• Weeks
Deployment and Testing
• Reports
• Days
Customer Feedback
• It sucks!
• Days
PaaS
Cloud
etc…
‹#› | Battery Ventures
IaaS Based Product Development
Weeks before you find out whether the product meets the need
Software provisioning is undifferentiated heavy lifting – replace it with PaaS
Business Need
• Documents
• Weeks
Software Development
• Specifications
• Weeks
Customer Feedback
• It sucks!
• Days
etc…
‹#› | Battery Ventures
Process Hand-Off Steps for Feature Development on PaaS
Product Manager
Developer
BI Analytics Team
‹#› | Battery Ventures
PaaS Based Product Feature Development
Days before you find out whether the feature meets the need
Business Need
• Discussions
• Days
Software Development
• Code
• Days
Customer Feedback
• Fix this Bit!
• Hours
etc…
‹#› | Battery Ventures
PaaS Based Product Feature Development
Days before you find out whether the feature meets the need
Building your own business apps is undifferentiated heavy lifting – use SaaS
Business Need
• Discussions
• Days
Software Development
• Code
• Days
Customer Feedback
• Fix this Bit!
• Hours
etc…
‹#› | Battery Ventures
PaaS Based Product Feature Development
Days before you find out whether the feature meets the need
Building your own business apps is undifferentiated heavy lifting – use SaaS
Business Need
• Discussions
• Days
Software Development
• Code
• Days
Customer Feedback
• Fix this Bit!
• Hours
SaaS/
BPaaS
Cloud
etc…
‹#› | Battery Ventures
PaaS Based Product Feature Development
Days before you find out whether the feature meets the need
Building your own business apps is undifferentiated heavy lifting – use SaaS
Business Need
• Discussions
• Days
Customer Feedback
• Fix this Bit!
• Hours
etc…
‹#› | Battery Ventures
SaaS Based Business App Development
Hours before you find out whether the feature meets the need
Business Need
•GUI Builder
•Hours
Customer Feedback
•Fix this bit!
•Seconds
‹#› | Battery Ventures
SaaS Based Business App Development
Hours before you find out whether the feature meets the need
Business Need
•GUI Builder
•Hours
Customer Feedback
•Fix this bit!
•Seconds
and thousands more…
‹#› | Battery Ventures
What Happened?
Rate of change
increased
Cost and size and
risk of change
reduced
‹#› | Battery Ventures
Continuous
Delivery on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Continuous
Delivery on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Land grab
opportunity Competitive
Move
Customer Pain
Point
Measure
Customers
Continuous
Delivery on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Land grab
opportunity Competitive
Move
Customer Pain
Point
INNOVATION
Measure
Customers
Continuous
Delivery on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Land grab
opportunity Competitive
Move
Customer Pain
Point
Analysis
Model
Hypotheses
INNOVATION
Measure
Customers
Continuous
Delivery on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Land grab
opportunity Competitive
Move
Customer Pain
Point
Analysis
Model
Hypotheses
BIG DATA
INNOVATION
Measure
Customers
Continuous
Delivery on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Land grab
opportunity Competitive
Move
Customer Pain
Point
Analysis
JFDI
Plan
Response
Share Plans
Model
Hypotheses
BIG DATA
INNOVATION
Measure
Customers
Continuous
Delivery on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Land grab
opportunity Competitive
Move
Customer Pain
Point
Analysis
JFDI
Plan
Response
Share Plans
Model
Hypotheses
BIG DATA
INNOVATION
CULTURE
Measure
Customers
Continuous
Delivery on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Land grab
opportunity 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 on
Cloud
‹#› | Battery Ventures
Observe
Orient
Decide
Act
Land grab
opportunity 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 on
Cloud
‹#› | Battery VenturesMonolithic development model has a coordination bottleneck and replacement risk
Release Plan
Developer
Developer
Developer
Developer
Developer
QA Release
Integration
Ops
Replace Old
With New
‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive
Stable
Components
In Use
Old Unused
Components
‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive
DeveloperFeature Plan
Stable
Components
In Use
Old Unused
Components
‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive
Feature Plan
Developer
Developer
Feature Plan
Stable
Components
In Use
Old Unused
Components
‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive
Feature Plan
Developer
Developer
Deploy
Feature to
Production
Feature Plan
Stable
Components
In Use
Old Unused
Components
‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive
Feature Plan
Developer
Developer
Deploy
Feature to
Production
Feature Plan
Deploy
Feature to
Production
Stable
Components
In Use
Old Unused
Components
‹#› | Battery Ventures
Non-Destructive Production Updates
● “Immutable Code” Service Pattern
● Existing services are unchanged, old code remains in service
● New code deploys as a new service group
● No impact to production until traffic routing changes
● A|B Tests, Feature Flags and Version Routing control traffic
● First users in the test cell are the developer and test engineers
● A cohort of users is added looking for measurable improvement
● Finally make default for everyone, keeping old code for a while
‹#› | Battery Ventures
Disruptor
Continuous Delivery
Compute capacity is an ephemeral commodity, learn to waste it to save time and get agility
‹#› | Battery Ventures
Development and
Operations
Another disruptive example, if you assume they don’t mix…
‹#› | Battery Ventures
Developers make code
‹#› | Battery Ventures
Operations run code
‹#› | Battery Ventures
It can take weeks to get
a VM after a developer
files a ticket…
‹#› | Battery Ventures
But if operations is a
self service API…
‹#› | Battery Ventures
Developers run their
own code
‹#› | Battery Ventures
Developers are on call
‹#› | Battery Ventures
Developers have
freedom
‹#› | Battery Ventures
Developers have
incentives to be
responsible
Avoids the externalities of over-dependence on operations to fix everything
‹#› | Battery Ventures
Less down time
With the right incentives and tooling developers write code that scales and doesn't break
‹#› | Battery Ventures
No meetings
Developers end up spending more time developing than when they had to keep explaining their code to ops
‹#› | Battery Ventures
DevOps is a re-org, not
a new team to hire
For most companies, the cultural transformation needed to do DevOps is the blocker
‹#› | Battery Ventures
Disruptor
High Trust Culture
DevOps
Give up central coordination and control, to get speed and align incentives
‹#› | Battery Ventures
It’s what you know that isn’t so…
‹#› | Battery Ventures
It’s what you know that isn’t so…
● Make your assumptions explicit
‹#› | Battery Ventures
It’s what you know that isn’t so…
● Make your assumptions explicit
● Extrapolate trends to the limit
‹#› | Battery Ventures
It’s what you know that isn’t so…
● Make your assumptions explicit
● Extrapolate trends to the limit
● Listen to non-customers
‹#› | Battery Ventures
It’s what you know that isn’t so…
● Make your assumptions explicit
● Extrapolate trends to the limit
● Listen to non-customers
● Follow developer adoption, not IT spend
‹#› | Battery Ventures
It’s what you know that isn’t so…
● Make your assumptions explicit
● Extrapolate trends to the limit
● Listen to non-customers
● Follow developer adoption, not IT spend
● Map evolution of products to services to utilities
‹#› | Battery Ventures
It’s what you know that isn’t so…
● Make your assumptions explicit
● Extrapolate trends to the limit
● Listen to non-customers
● Follow developer adoption, not IT spend
● Map evolution of products to services to utilities
● Re-organize your teams for speed of execution
‹#› | Battery Ventures
How do we get there?
‹#› | Battery Ventures
"This is the IT swamp draining manual for anyone who is neck deep in alligators.”
‹#› | Battery Ventures
Once you’re out of the swamp, read this…
‹#› | Battery Ventures
Open Source Ecosystems
● The most advanced, scalable and stable code you can get is OSS
● No procurement cycle, fix and extend it yourself
● Github is a developer’s online resume
● Github is also your company’s online resume!
● Extensible platforms create ecosystems
● Give up control to get ubiquity – Apache license
!
Innovate, Leverage and Commoditize
‹#› | Battery Ventures
Cloud Native for High Availability
● 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
‹#› | Battery Ventures
A Microservice Definition
!
Loosely coupled service oriented
architecture with bounded contexts
See http://en.wikipedia.org/wiki/Domain-driven_design for discussion of bounded contexts
‹#› | Battery Ventures
Scaling Continuous Delivery Models
● Devs book a train ticket
● Everyone runs the monolith
● Queue for the next train
● Coordination chat session
● Need to learn deploy process
● Copy code to existing servers
● Few concurrent versions
● Tens of monolithic updates/day maximum
● Roll-forward only
● “Done” is released to prod
● Everyone has their own build
● Dev runs their own microservice
● No waiting, no meetings
● API call to update prod timeline
● Automated hands-off deploy
● Immutable code on new servers
● Unlimited concurrent versions
● 100s of independent updates
● Roll-back in seconds
● “Done” is retired from prod
Monolithic Microservices
‹#› | Battery Ventures
Separate Concerns Using Micro-services
● Invert Conway’s Law – teams own service groups and backend stores
● One “verb” per single function micro-service, size doesn’t matter
● One developer independently produces a micro-service
● Each micro-service is it’s own build, avoids trunk conflicts
● Deploy in a container: Tomcat, AMI or Docker, whatever…
● Stateless business logic. Cattle, not pets.
● Stateful cached data access layer can use ephemeral instances
http://en.wikipedia.org/wiki/Conway's_law
‹#› | Battery Ventures
Microservices Development Architecture
● Client libraries
Even if you start with a raw protocol, a client side driver is the end-state
Best strategy is to own your own client libraries from the start
● Multithreading and Non-blocking Calls
Reactive model RxJava uses Observable to hide concurrency cleanly
Netty can be used to get non-blocking I/O speedup over Tomcat container
● Circuit Breakers – See Fluxcapacitor.com for code
NetflixOSS Hystrix, Turbine, Latency Monkey, Ribbon/Karyon
Also look at Finagle/Zipkin from Twitter
‹#› | Battery Ventures
Microservice Datastores
● Book: Refactoring Databases
SchemaSpy to examine schema structure
Denormalization into one datasource per table or materialized view
● Polyglot Persistence
Use a mixture of database technologies, behind REST data access layers
See NetflixOSS Storage Tier as a Service HTTP (staash.com) for MySQL and C*
● CAP – Consistent or Available when Partitioned
Look at Jepsen torture tests for common systems aphyr.com/tags/jepsen
There is no such thing as a consistent distributed system, get over it…
‹#› | Battery Ventures
Strategies for impatient product managers
● Carrot
“This new feature you want will be ready faster as a microservice”
● Stick
“This new feature you want will only be implemented in the new
microservice based system”
● Shiny Object
“Why don’t you concentrate on some other part of the system while we get
the transition done?”
‹#› | Battery Ventures
Monitoring and
Microservices
‹#› | Battery Ventures
Issues with Continuous Delivery and Microservices
● 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
‹#› | Battery Ventures
Microservice Based Architectures
See http://www.slideshare.net/LappleApple/gilt-from-monolith-ruby-app-to-micro-service-scala-service-architecture
From a Gilt Groupe Presentation
‹#› | Battery Ventures
“Death Star” Architecture Diagrams
As visualized by Appdynamics, Boundary.com and Twitter internal tools
‹#› | Battery Ventures
“Death Star” Architecture Diagrams
As visualized by Appdynamics, Boundary.com and Twitter internal tools
Netflix Gilt Groupe (12 of 450) Twitter
‹#› | Battery Ventures
Continuous Delivery and DevOps Implications
● 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
‹#› | Battery Ventures
What’s wrong with measuring in minutes?
Takes too long to see a problem
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Metric Threshold
‹#› | Battery Ventures
What’s wrong with measuring in minutes?
Takes too long to see a problem
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Metric Threshold
Something broke
at 2m20
‹#› | Battery Ventures
What’s wrong with measuring in minutes?
Takes too long to see a problem
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Metric Threshold
Something broke
at 2m20
40s of failure
didn’t trigger
‹#› | Battery Ventures
What’s wrong with measuring in minutes?
Takes too long to see a problem
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Metric Threshold
Something broke
at 2m20
40s of failure
didn’t trigger
1st high metric
seen at agent on
instance
‹#› | Battery Ventures
What’s wrong with measuring in minutes?
Takes too long to see a problem
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Metric Threshold
Something broke
at 2m20
40s of failure
didn’t trigger
1st high metric
seen at agent on
instance
1st high metric arrives at
monitoring system
‹#› | Battery Ventures
What’s wrong with measuring in minutes?
Takes too long to see a problem
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Metric Threshold
Something broke
at 2m20
40s of failure
didn’t trigger
1st high metric
seen at agent on
instance
1st high metric arrives at
monitoring system
1st high metric
processed
(maybe)
‹#› | Battery Ventures
What’s wrong with measuring in minutes?
Takes too long to see a problem
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Metric Threshold
Something broke
at 2m20
40s of failure
didn’t trigger
1st high metric
seen at agent on
instance
1st high metric arrives at
monitoring system
1st high metric
processed
(maybe)
1st high metric
seen on graph
‹#› | Battery Ventures
What’s wrong with measuring in minutes?
Takes too long to see a problem
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Metric Threshold
Something broke
at 2m20
40s of failure
didn’t trigger
1st high metric
seen at agent on
instance
1st high metric arrives at
monitoring system
1st high metric
processed
(maybe)
1st high metric
seen on graph
Three datapoints on
user graph so looks
bad at 8m00.
‹#› | Battery Ventures
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
‹#› | Battery Ventures
Try that again by the second
More confidence more quickly
Threshold
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
‹#› | Battery Ventures
Try that again by the second
More confidence more quickly
Threshold
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Something broke
at 2m20
‹#› | Battery Ventures
Try that again by the second
More confidence more quickly
Threshold
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Something broke
at 2m20
Measurable in
1s
‹#› | Battery Ventures
Try that again by the second
More confidence more quickly
Threshold
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Something broke
at 2m20
Measurable in
1s
1st high metric
seen at agent on
instance
‹#› | Battery Ventures
Try that again by the second
More confidence more quickly
Threshold
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Something broke
at 2m20
Measurable in
1s
1st high metric
seen at agent on
instance
1st high metric arrives at
monitoring system
‹#› | Battery Ventures
Try that again by the second
More confidence more quickly
Threshold
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Something broke
at 2m20
Measurable in
1s
1st high metric
seen at agent on
instance
1st high metric arrives at
monitoring system
1st high metric
processed
‹#› | Battery Ventures
Try that again by the second
More confidence more quickly
Threshold
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Something broke
at 2m20
Measurable in
1s
1st high metric
seen at agent on
instance
1st high metric arrives at
monitoring system
1st high metric
processed
1st high metric
seen on graph
‹#› | Battery Ventures
Try that again by the second
More confidence more quickly
Threshold
0
1
2
3
4
5
Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
Something broke
at 2m20
Measurable in
1s
1st high metric
seen at agent on
instance
1st high metric arrives at
monitoring system
1st high metric
processed
1st high metric
seen on graph
Three datapoints on
user graph so looks
bad at 2m25.
‹#› | Battery Ventures
NetflixOSS Hystrix / Turbine Circuit Breaker Monitoring
http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.html
Streaming metrics directly from services to a web browser each second
‹#› | Battery Ventures
NetflixOSS Hystrix / Turbine Circuit Breaker Monitoring
http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.html
Streaming metrics directly from services to a web browser each second
‹#› | Battery Ventures
Latest SaaS Based Monitoring Products
www.vividcortex.com and www.boundary.com
Seeing Problems In Seconds
‹#› | Battery Ventures
Metric to display latency needs to be
less than human attention span (~10s)
‹#› | Battery Ventures
Summary
● Speed wins in the marketplace
● Remove friction from product development
● High trust, low process
● Freedom and responsibility culture
● Don’t do your own undifferentiated heavy lifting
● Simple patterns automated by tooling
● Microservices for speed and availability
‹#› | Battery Ventures
Separation of Concerns



Bounded Contexts
‹#› | Battery Ventures
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
● GOTO Chicago Opening Keynote May 20th, 2014
● Qcon New York – June 11th, 2014
● GOTO Copenhagen/Aarhus – Denmark – Sept 25th, 2014
● DevOps Enterprise Summit - San Francisco - Oct 21-23rd, 2014
Disclosure: some of the companies mentioned are Battery Ventures Portfolio Companies
See www.battery.com for a list of portfolio investments

More Related Content

What's hot

Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONAdrian Cockcroft
 
Software Architecture Conference - Monitoring Microservices - A Challenge
Software Architecture Conference -  Monitoring Microservices - A ChallengeSoftware Architecture Conference -  Monitoring Microservices - A Challenge
Software Architecture Conference - Monitoring Microservices - A ChallengeAdrian Cockcroft
 
Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Adrian Cockcroft
 
GameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos EngineeringGameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos EngineeringDiUS
 
When Developers Operate and Operators Develop
When Developers Operate and Operators DevelopWhen Developers Operate and Operators Develop
When Developers Operate and Operators DevelopAdrian Cockcroft
 
Microservices: What's Missing - O'Reilly Software Architecture New York
Microservices: What's Missing - O'Reilly Software Architecture New YorkMicroservices: What's Missing - O'Reilly Software Architecture New York
Microservices: What's Missing - O'Reilly Software Architecture New YorkAdrian Cockcroft
 
What's Missing? Microservices Meetup at Cisco
What's Missing? Microservices Meetup at CiscoWhat's Missing? Microservices Meetup at Cisco
What's Missing? Microservices Meetup at CiscoAdrian Cockcroft
 
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureScaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureGilt Tech Talks
 
Microservices the Good Bad and the Ugly
Microservices the Good Bad and the UglyMicroservices the Good Bad and the Ugly
Microservices the Good Bad and the UglyAdrian Cockcroft
 
Goto Berlin - Migrating to Microservices (Fast Delivery)
Goto Berlin - Migrating to Microservices (Fast Delivery)Goto Berlin - Migrating to Microservices (Fast Delivery)
Goto Berlin - Migrating to Microservices (Fast Delivery)Adrian Cockcroft
 
Microservices Workshop - Craft Conference
Microservices Workshop - Craft ConferenceMicroservices Workshop - Craft Conference
Microservices Workshop - Craft ConferenceAdrian Cockcroft
 
From Monolith to Microservices – and Beyond!
From Monolith to Microservices – and Beyond!From Monolith to Microservices – and Beyond!
From Monolith to Microservices – and Beyond!Jules Pierre-Louis
 
Cloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCCloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCAdrian Cockcroft
 
FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0 FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0 Mark Hinkle
 
PagerDuty + Rundeck = Shorter Incidents, Fewer Escalations
PagerDuty + Rundeck = Shorter Incidents, Fewer EscalationsPagerDuty + Rundeck = Shorter Incidents, Fewer Escalations
PagerDuty + Rundeck = Shorter Incidents, Fewer EscalationsRundeck
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Sourceaspyker
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)VMware Tanzu
 
AWS Repatriation: Bring Your Apps Back
AWS Repatriation: Bring Your Apps BackAWS Repatriation: Bring Your Apps Back
AWS Repatriation: Bring Your Apps BackRandy Bias
 
Chaos engineering & Gameday on AWS
Chaos engineering & Gameday on AWSChaos engineering & Gameday on AWS
Chaos engineering & Gameday on AWSBilal Aybar
 

What's hot (20)

Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
 
Software Architecture Conference - Monitoring Microservices - A Challenge
Software Architecture Conference -  Monitoring Microservices - A ChallengeSoftware Architecture Conference -  Monitoring Microservices - A Challenge
Software Architecture Conference - Monitoring Microservices - A Challenge
 
Microxchg Microservices
Microxchg MicroservicesMicroxchg Microservices
Microxchg Microservices
 
Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016
 
GameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos EngineeringGameDay - Achieving resilience through Chaos Engineering
GameDay - Achieving resilience through Chaos Engineering
 
When Developers Operate and Operators Develop
When Developers Operate and Operators DevelopWhen Developers Operate and Operators Develop
When Developers Operate and Operators Develop
 
Microservices: What's Missing - O'Reilly Software Architecture New York
Microservices: What's Missing - O'Reilly Software Architecture New YorkMicroservices: What's Missing - O'Reilly Software Architecture New York
Microservices: What's Missing - O'Reilly Software Architecture New York
 
What's Missing? Microservices Meetup at Cisco
What's Missing? Microservices Meetup at CiscoWhat's Missing? Microservices Meetup at Cisco
What's Missing? Microservices Meetup at Cisco
 
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architectureScaling Gilt: from monolith ruby app to micro service scala service architecture
Scaling Gilt: from monolith ruby app to micro service scala service architecture
 
Microservices the Good Bad and the Ugly
Microservices the Good Bad and the UglyMicroservices the Good Bad and the Ugly
Microservices the Good Bad and the Ugly
 
Goto Berlin - Migrating to Microservices (Fast Delivery)
Goto Berlin - Migrating to Microservices (Fast Delivery)Goto Berlin - Migrating to Microservices (Fast Delivery)
Goto Berlin - Migrating to Microservices (Fast Delivery)
 
Microservices Workshop - Craft Conference
Microservices Workshop - Craft ConferenceMicroservices Workshop - Craft Conference
Microservices Workshop - Craft Conference
 
From Monolith to Microservices – and Beyond!
From Monolith to Microservices – and Beyond!From Monolith to Microservices – and Beyond!
From Monolith to Microservices – and Beyond!
 
Cloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCCCloud Native Cost Optimization UCC
Cloud Native Cost Optimization UCC
 
FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0 FLUX - Crash Course in Cloud 2.0
FLUX - Crash Course in Cloud 2.0
 
PagerDuty + Rundeck = Shorter Incidents, Fewer Escalations
PagerDuty + Rundeck = Shorter Incidents, Fewer EscalationsPagerDuty + Rundeck = Shorter Incidents, Fewer Escalations
PagerDuty + Rundeck = Shorter Incidents, Fewer Escalations
 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)
 
AWS Repatriation: Bring Your Apps Back
AWS Repatriation: Bring Your Apps BackAWS Repatriation: Bring Your Apps Back
AWS Repatriation: Bring Your Apps Back
 
Chaos engineering & Gameday on AWS
Chaos engineering & Gameday on AWSChaos engineering & Gameday on AWS
Chaos engineering & Gameday on AWS
 

Similar to QCon New York - Migrating to Cloud Native with Microservices

Abusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAbusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAlan Pinstein
 
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and KnativeBuild and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and KnativeOmar Al-Safi
 
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings React London 2017
 
Docker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudDocker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudAbraham Hoffman
 
Cumulonimbus fortification-secure-your-data-in-the-cloud
Cumulonimbus fortification-secure-your-data-in-the-cloudCumulonimbus fortification-secure-your-data-in-the-cloud
Cumulonimbus fortification-secure-your-data-in-the-cloudDavid Busby, CISSP
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesAdrian Cockcroft
 
【IVS CTO Night & Day】Amazon Container Services
【IVS CTO Night & Day】Amazon Container Services【IVS CTO Night & Day】Amazon Container Services
【IVS CTO Night & Day】Amazon Container ServicesAmazon Web Services Japan
 
AWS Cloud Kata | Kuala Lumpur - Getting to Profitability on AWS
AWS Cloud Kata | Kuala Lumpur - Getting to Profitability on AWSAWS Cloud Kata | Kuala Lumpur - Getting to Profitability on AWS
AWS Cloud Kata | Kuala Lumpur - Getting to Profitability on AWSAmazon Web Services
 
AWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWSAWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWSAmazon Web Services
 
Laying OpenStack Cinder Block Services
Laying OpenStack Cinder Block ServicesLaying OpenStack Cinder Block Services
Laying OpenStack Cinder Block ServicesKenneth Hui
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)W2O Group
 
25 12 18 meetup - road to k8s
25 12 18 meetup - road to k8s25 12 18 meetup - road to k8s
25 12 18 meetup - road to k8sDaniel Borovsky
 
2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert Ertman2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert ErtmanApeldoorn JUG
 
Cloud Native (Bert Ertman)
Cloud Native (Bert Ertman)Cloud Native (Bert Ertman)
Cloud Native (Bert Ertman)Anton de Ruiter
 
Scylla Summit 2022: New AWS Instances Perfect for ScyllaDB
Scylla Summit 2022: New AWS Instances Perfect for ScyllaDBScylla Summit 2022: New AWS Instances Perfect for ScyllaDB
Scylla Summit 2022: New AWS Instances Perfect for ScyllaDBScyllaDB
 
Stampede con 2014 cassandra in the real world
Stampede con 2014   cassandra in the real worldStampede con 2014   cassandra in the real world
Stampede con 2014 cassandra in the real worldzznate
 
Big Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, RackspaceBig Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, RackspaceOpenStack
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPDaniel Zivkovic
 

Similar to QCon New York - Migrating to Cloud Native with Microservices (20)

Abusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAbusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and Profit
 
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and KnativeBuild and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
 
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
Realtime Webpack - Pushing on-demand bundling to the limits by Oliver Woodings
 
Docker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudDocker - Scripting the PayPal Cloud
Docker - Scripting the PayPal Cloud
 
Cumulonimbus fortification-secure-your-data-in-the-cloud
Cumulonimbus fortification-secure-your-data-in-the-cloudCumulonimbus fortification-secure-your-data-in-the-cloud
Cumulonimbus fortification-secure-your-data-in-the-cloud
 
Netflix in the Cloud
Netflix in the CloudNetflix in the Cloud
Netflix in the Cloud
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
【IVS CTO Night & Day】Amazon Container Services
【IVS CTO Night & Day】Amazon Container Services【IVS CTO Night & Day】Amazon Container Services
【IVS CTO Night & Day】Amazon Container Services
 
AWS Cloud Kata | Kuala Lumpur - Getting to Profitability on AWS
AWS Cloud Kata | Kuala Lumpur - Getting to Profitability on AWSAWS Cloud Kata | Kuala Lumpur - Getting to Profitability on AWS
AWS Cloud Kata | Kuala Lumpur - Getting to Profitability on AWS
 
AWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWSAWS Cloud Kata | Manila - Getting to Profitability on AWS
AWS Cloud Kata | Manila - Getting to Profitability on AWS
 
Laying OpenStack Cinder Block Services
Laying OpenStack Cinder Block ServicesLaying OpenStack Cinder Block Services
Laying OpenStack Cinder Block Services
 
Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)
 
25 12 18 meetup - road to k8s
25 12 18 meetup - road to k8s25 12 18 meetup - road to k8s
25 12 18 meetup - road to k8s
 
2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert Ertman2019-10-15 - the future of cloud-native Java - Bert Ertman
2019-10-15 - the future of cloud-native Java - Bert Ertman
 
Cloud Native (Bert Ertman)
Cloud Native (Bert Ertman)Cloud Native (Bert Ertman)
Cloud Native (Bert Ertman)
 
Scylla Summit 2022: New AWS Instances Perfect for ScyllaDB
Scylla Summit 2022: New AWS Instances Perfect for ScyllaDBScylla Summit 2022: New AWS Instances Perfect for ScyllaDB
Scylla Summit 2022: New AWS Instances Perfect for ScyllaDB
 
Stampede con 2014 cassandra in the real world
Stampede con 2014   cassandra in the real worldStampede con 2014   cassandra in the real world
Stampede con 2014 cassandra in the real world
 
Big Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, RackspaceBig Data and OpenStack, a Love Story: Michael Still, Rackspace
Big Data and OpenStack, a Love Story: Michael Still, Rackspace
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
 
Performance stack
Performance stackPerformance stack
Performance stack
 

More from Adrian Cockcroft

Gophercon 2016 Communicating Sequential Goroutines
Gophercon 2016 Communicating Sequential GoroutinesGophercon 2016 Communicating Sequential Goroutines
Gophercon 2016 Communicating Sequential GoroutinesAdrian Cockcroft
 
Evolution of Microservices - Craft Conference
Evolution of Microservices - Craft ConferenceEvolution of Microservices - Craft Conference
Evolution of Microservices - Craft ConferenceAdrian Cockcroft
 
Microxchg Analyzing Response Time Distributions for Microservices
Microxchg Analyzing Response Time Distributions for MicroservicesMicroxchg Analyzing Response Time Distributions for Microservices
Microxchg Analyzing Response Time Distributions for MicroservicesAdrian Cockcroft
 
Innovation and Architecture
Innovation and ArchitectureInnovation and Architecture
Innovation and ArchitectureAdrian Cockcroft
 
Dockercon 2015 - Faster Cheaper Safer
Dockercon 2015 - Faster Cheaper SaferDockercon 2015 - Faster Cheaper Safer
Dockercon 2015 - Faster Cheaper SaferAdrian Cockcroft
 
Gluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeAdrian Cockcroft
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesAdrian Cockcroft
 
Cloud Native Cost Optimization
Cloud Native Cost OptimizationCloud Native Cost Optimization
Cloud Native Cost OptimizationAdrian Cockcroft
 
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...Adrian Cockcroft
 
Hack Kid Con - Learn to be a Data Scientist for $1
Hack Kid Con - Learn to be a Data Scientist for $1Hack Kid Con - Learn to be a Data Scientist for $1
Hack Kid Con - Learn to be a Data Scientist for $1Adrian Cockcroft
 

More from Adrian Cockcroft (11)

Gophercon 2016 Communicating Sequential Goroutines
Gophercon 2016 Communicating Sequential GoroutinesGophercon 2016 Communicating Sequential Goroutines
Gophercon 2016 Communicating Sequential Goroutines
 
Evolution of Microservices - Craft Conference
Evolution of Microservices - Craft ConferenceEvolution of Microservices - Craft Conference
Evolution of Microservices - Craft Conference
 
In Search of Segmentation
In Search of SegmentationIn Search of Segmentation
In Search of Segmentation
 
Microxchg Analyzing Response Time Distributions for Microservices
Microxchg Analyzing Response Time Distributions for MicroservicesMicroxchg Analyzing Response Time Distributions for Microservices
Microxchg Analyzing Response Time Distributions for Microservices
 
Innovation and Architecture
Innovation and ArchitectureInnovation and Architecture
Innovation and Architecture
 
Dockercon 2015 - Faster Cheaper Safer
Dockercon 2015 - Faster Cheaper SaferDockercon 2015 - Faster Cheaper Safer
Dockercon 2015 - Faster Cheaper Safer
 
Gluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A ChallengeGluecon Monitoring Microservices and Containers: A Challenge
Gluecon Monitoring Microservices and Containers: A Challenge
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in Microservices
 
Cloud Native Cost Optimization
Cloud Native Cost OptimizationCloud Native Cost Optimization
Cloud Native Cost Optimization
 
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
 
Hack Kid Con - Learn to be a Data Scientist for $1
Hack Kid Con - Learn to be a Data Scientist for $1Hack Kid Con - Learn to be a Data Scientist for $1
Hack Kid Con - Learn to be a Data Scientist for $1
 

Recently uploaded

Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 

Recently uploaded (20)

Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 

QCon New York - Migrating to Cloud Native with Microservices

  • 1. Adrian Cockcroft @adrianco June 2014 Migrating to Cloud Native with Microservices
  • 2. ‹#› | Battery Ventures
  • 3. ‹#› | Battery Ventures Typical reactions to my Netflix talks…
  • 4. ‹#› | Battery Ventures Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009
  • 5. ‹#› | Battery Ventures Typical reactions to my Netflix talks… “You guys are crazy! Can’t believe it” – 2009 “What Netflix is doing won’t work” – 2010
  • 6. ‹#› | Battery Ventures 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
  • 7. ‹#› | Battery Ventures 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
  • 8. ‹#› | Battery Ventures 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. ‹#› | Battery Ventures What I learned from my time at Netflix
  • 10. ‹#› | Battery Ventures What I learned from my time at Netflix ● Speed wins in the marketplace
  • 11. ‹#› | Battery Ventures What I learned from my time at Netflix ● Speed wins in the marketplace ● Remove friction from product development
  • 12. ‹#› | Battery Ventures 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
  • 13. ‹#› | Battery Ventures 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
  • 14. ‹#› | Battery Ventures 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
  • 15. ‹#› | Battery Ventures 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
  • 16. ‹#› | Battery Ventures 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
  • 17. ‹#› | Battery Ventures Enterprise IT Adoption of Cloud By Simon Wardley http://enterpriseitadoption.com/ Now %*&!”
  • 18. ‹#› | Battery Ventures
  • 19. ‹#› | Battery Ventures Speed
  • 20. ‹#› | Battery Ventures Speed
  • 21. ‹#› | Battery Ventures Speed Innovation
  • 22. ‹#› | Battery Ventures Speed Innovation New Ideas
  • 23. ‹#› | Battery Ventures Speed Innovation New Ideas New Products
  • 24. ‹#› | Battery Ventures What separates incumbents from disruptors?
  • 25. ‹#› | Battery Ventures Assumptions
  • 26. ‹#› | Battery Ventures Optimizations
  • 27. ‹#› | Battery Ventures “It isn't what we don't know that gives us trouble, it's what we know that ain't so.” ! Will Rogers http://www.brainyquote.com/quotes/quotes/w/willrogers385286.html
  • 28. ‹#› | Battery Ventures Incumbents follow the $$$ Market size lags disruption because high price products are replaced by low priced products
  • 29. ‹#› | Battery Ventures
  • 30. ‹#› | Battery Ventures Disruptors
  • 31. ‹#› | Battery Ventures Disruptors
  • 32. ‹#› | Battery Ventures Disruptors Take what used to be expensive
  • 33. ‹#› | Battery Ventures Disruptors Take what used to be expensive learn to “waste” them
  • 34. ‹#› | Battery Ventures Disruptors Take what used to be expensive learn to “waste” them to save money elsewhere
  • 35. ‹#› | Battery Ventures Examples
  • 36. ‹#› | Battery Ventures Solid State Disk Example
  • 37. ‹#› | Battery Ventures Storage systems assume random reads are expensive Decades of filesystems and storage array development based on spinning rust
  • 38. ‹#› | Battery Ventures RR is free Immutable writes Log-merge SSD works best for random reads and sequential writes. Bad for updates.
  • 39. ‹#› | Battery Ventures SSD packaging as disk, as PCI card now as memory DIMM Each generation reduces overhead and improves price/performance
  • 40. ‹#› | Battery Ventures Disclosure: Diablo Technologies is a Battery Ventures Portfolio Company See www.battery.com for a list of portfolio investments
  • 41. ‹#› | Battery Ventures Traditional vs. Cloud Native Storage Architectures Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays
  • 42. ‹#› | Battery Ventures Traditional vs. Cloud Native Storage Architectures Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays Business Logic Cassandra Zone A nodes Cassandra Zone B nodes Cassandra Zone C nodes Cloud Object Store Backups
  • 43. ‹#› | Battery Ventures Traditional vs. Cloud Native Storage Architectures Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays Business Logic Cassandra Zone A nodes Cassandra Zone B nodes Cassandra Zone C nodes Cloud Object Store Backups SSDs inside arrays disrupt incumbent suppliers
  • 44. ‹#› | Battery Ventures Traditional vs. Cloud Native Storage Architectures Business Logic Database Master Fabric Storage Arrays Database Slave Fabric Storage Arrays Business Logic Cassandra Zone A nodes Cassandra Zone B nodes Cassandra Zone C nodes Cloud Object Store Backups SSDs inside ephemeral instances disrupt an entire industry SSDs inside arrays disrupt incumbent suppliers
  • 45. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 46. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 47. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 48. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 49. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 50. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used ● Cassandra scale using high end AWS storage instances http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 51. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used ● Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 52. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used ● Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD ● 100 nodes = 30 million iops and 640 TB - Ludicrous http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 53. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used ● Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD ● 100 nodes = 30 million iops and 640 TB - Ludicrous ● 1000 nodes = 300 million iops and 6.4 PB - Plaid! http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 54. ‹#› | Battery Ventures How to Scale Storage Beyond Ludicrous ● Cassandra scalability ● Linear scale up benchmarked and seen in production ● Hundreds of nodes per cluster in common use today ● Thousands of nodes per cluster actively being tested and used ● Cassandra scale using high end AWS storage instances ● EC2 i2.8xlarge - over 300,000 iops read or write, 6.4TB of SSD ● 100 nodes = 30 million iops and 640 TB - Ludicrous ● 1000 nodes = 300 million iops and 6.4 PB - Plaid! http://techblog.netflix.com/2011/11/benchmarking-cassandra-scalability-on.html
  • 55. ‹#› | Battery Ventures Disruptor Cassandra Perfect match for SSD, no write amplification, no updates, scales to plaid
  • 56. ‹#› | Battery Ventures Product Development Another disruptive example
  • 57. ‹#› | Battery Ventures Assumption: Process prevents problems Another disruptive example
  • 58. ‹#› | Battery Ventures Non-Cloud Product Development Months before you find out whether the product meets the need Business Need • Documents • Weeks Approval Process • Meetings • Weeks Hardware Purchase • Negotiations • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Weeks Customer Feedback • It sucks! • Weeks
  • 59. ‹#› | Battery Ventures Non-Cloud Product Development Months before you find out whether the product meets the need Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS Business Need • Documents • Weeks Approval Process • Meetings • Weeks Hardware Purchase • Negotiations • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Weeks Customer Feedback • It sucks! • Weeks
  • 60. ‹#› | Battery Ventures Non-Cloud Product Development Months before you find out whether the product meets the need Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS Business Need • Documents • Weeks Approval Process • Meetings • Weeks Hardware Purchase • Negotiations • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Weeks Customer Feedback • It sucks! • Weeks IaaS Cloud
  • 61. ‹#› | Battery Ventures Non-Cloud Product Development Months before you find out whether the product meets the need Hardware provisioning is undifferentiated heavy lifting – replace it with IaaS Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Weeks Customer Feedback • It sucks! • Weeks
  • 62. ‹#› | Battery Ventures Process Hand-Off Steps for Product Development on IaaS Product Manager Development Team QA Integration Team Operations Deploy Team BI Analytics Team
  • 63. ‹#› | Battery Ventures IaaS Based Product Development Weeks before you find out whether the product meets the need Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Days Customer Feedback • It sucks! • Days
  • 64. ‹#› | Battery Ventures IaaS Based Product Development Weeks before you find out whether the product meets the need Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Days Customer Feedback • It sucks! • Days etc…
  • 65. ‹#› | Battery Ventures IaaS Based Product Development Weeks before you find out whether the product meets the need Software provisioning is undifferentiated heavy lifting – replace it with PaaS Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Days Customer Feedback • It sucks! • Days etc…
  • 66. ‹#› | Battery Ventures IaaS Based Product Development Weeks before you find out whether the product meets the need Software provisioning is undifferentiated heavy lifting – replace it with PaaS Business Need • Documents • Weeks Software Development • Specifications • Weeks Deployment and Testing • Reports • Days Customer Feedback • It sucks! • Days PaaS Cloud etc…
  • 67. ‹#› | Battery Ventures IaaS Based Product Development Weeks before you find out whether the product meets the need Software provisioning is undifferentiated heavy lifting – replace it with PaaS Business Need • Documents • Weeks Software Development • Specifications • Weeks Customer Feedback • It sucks! • Days etc…
  • 68. ‹#› | Battery Ventures Process Hand-Off Steps for Feature Development on PaaS Product Manager Developer BI Analytics Team
  • 69. ‹#› | Battery Ventures PaaS Based Product Feature Development Days before you find out whether the feature meets the need Business Need • Discussions • Days Software Development • Code • Days Customer Feedback • Fix this Bit! • Hours etc…
  • 70. ‹#› | Battery Ventures PaaS Based Product Feature Development Days before you find out whether the feature meets the need Building your own business apps is undifferentiated heavy lifting – use SaaS Business Need • Discussions • Days Software Development • Code • Days Customer Feedback • Fix this Bit! • Hours etc…
  • 71. ‹#› | Battery Ventures PaaS Based Product Feature Development Days before you find out whether the feature meets the need Building your own business apps is undifferentiated heavy lifting – use SaaS Business Need • Discussions • Days Software Development • Code • Days Customer Feedback • Fix this Bit! • Hours SaaS/ BPaaS Cloud etc…
  • 72. ‹#› | Battery Ventures PaaS Based Product Feature Development Days before you find out whether the feature meets the need Building your own business apps is undifferentiated heavy lifting – use SaaS Business Need • Discussions • Days Customer Feedback • Fix this Bit! • Hours etc…
  • 73. ‹#› | Battery Ventures SaaS Based Business App Development Hours before you find out whether the feature meets the need Business Need •GUI Builder •Hours Customer Feedback •Fix this bit! •Seconds
  • 74. ‹#› | Battery Ventures SaaS Based Business App Development Hours before you find out whether the feature meets the need Business Need •GUI Builder •Hours Customer Feedback •Fix this bit! •Seconds and thousands more…
  • 75. ‹#› | Battery Ventures What Happened? Rate of change increased Cost and size and risk of change reduced
  • 76. ‹#› | Battery Ventures Continuous Delivery on Cloud
  • 77. ‹#› | Battery Ventures Observe Orient Decide Act Continuous Delivery on Cloud
  • 78. ‹#› | Battery Ventures Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Measure Customers Continuous Delivery on Cloud
  • 79. ‹#› | Battery Ventures Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point INNOVATION Measure Customers Continuous Delivery on Cloud
  • 80. ‹#› | Battery Ventures Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis Model Hypotheses INNOVATION Measure Customers Continuous Delivery on Cloud
  • 81. ‹#› | Battery Ventures Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis Model Hypotheses BIG DATA INNOVATION Measure Customers Continuous Delivery on Cloud
  • 82. ‹#› | Battery Ventures Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Model Hypotheses BIG DATA INNOVATION Measure Customers Continuous Delivery on Cloud
  • 83. ‹#› | Battery Ventures Observe Orient Decide Act Land grab opportunity Competitive Move Customer Pain Point Analysis JFDI Plan Response Share Plans Model Hypotheses BIG DATA INNOVATION CULTURE Measure Customers Continuous Delivery on Cloud
  • 84. ‹#› | Battery Ventures Observe Orient Decide Act Land grab opportunity 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 on Cloud
  • 85. ‹#› | Battery Ventures Observe Orient Decide Act Land grab opportunity 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 on Cloud
  • 86. ‹#› | Battery VenturesMonolithic development model has a coordination bottleneck and replacement risk Release Plan Developer Developer Developer Developer Developer QA Release Integration Ops Replace Old With New
  • 87. ‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive Stable Components In Use Old Unused Components
  • 88. ‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive DeveloperFeature Plan Stable Components In Use Old Unused Components
  • 89. ‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive Feature Plan Developer Developer Feature Plan Stable Components In Use Old Unused Components
  • 90. ‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive Feature Plan Developer Developer Deploy Feature to Production Feature Plan Stable Components In Use Old Unused Components
  • 91. ‹#› | Battery VenturesMicroservices based continuous delivery scales with large development teams and is nondestructive Feature Plan Developer Developer Deploy Feature to Production Feature Plan Deploy Feature to Production Stable Components In Use Old Unused Components
  • 92. ‹#› | Battery Ventures Non-Destructive Production Updates ● “Immutable Code” Service Pattern ● Existing services are unchanged, old code remains in service ● New code deploys as a new service group ● No impact to production until traffic routing changes ● A|B Tests, Feature Flags and Version Routing control traffic ● First users in the test cell are the developer and test engineers ● A cohort of users is added looking for measurable improvement ● Finally make default for everyone, keeping old code for a while
  • 93. ‹#› | Battery Ventures Disruptor Continuous Delivery Compute capacity is an ephemeral commodity, learn to waste it to save time and get agility
  • 94. ‹#› | Battery Ventures Development and Operations Another disruptive example, if you assume they don’t mix…
  • 95. ‹#› | Battery Ventures Developers make code
  • 96. ‹#› | Battery Ventures Operations run code
  • 97. ‹#› | Battery Ventures It can take weeks to get a VM after a developer files a ticket…
  • 98. ‹#› | Battery Ventures But if operations is a self service API…
  • 99. ‹#› | Battery Ventures Developers run their own code
  • 100. ‹#› | Battery Ventures Developers are on call
  • 101. ‹#› | Battery Ventures Developers have freedom
  • 102. ‹#› | Battery Ventures Developers have incentives to be responsible Avoids the externalities of over-dependence on operations to fix everything
  • 103. ‹#› | Battery Ventures Less down time With the right incentives and tooling developers write code that scales and doesn't break
  • 104. ‹#› | Battery Ventures No meetings Developers end up spending more time developing than when they had to keep explaining their code to ops
  • 105. ‹#› | Battery Ventures DevOps is a re-org, not a new team to hire For most companies, the cultural transformation needed to do DevOps is the blocker
  • 106. ‹#› | Battery Ventures Disruptor High Trust Culture DevOps Give up central coordination and control, to get speed and align incentives
  • 107. ‹#› | Battery Ventures It’s what you know that isn’t so…
  • 108. ‹#› | Battery Ventures It’s what you know that isn’t so… ● Make your assumptions explicit
  • 109. ‹#› | Battery Ventures It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit
  • 110. ‹#› | Battery Ventures It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers
  • 111. ‹#› | Battery Ventures It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers ● Follow developer adoption, not IT spend
  • 112. ‹#› | Battery Ventures It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers ● Follow developer adoption, not IT spend ● Map evolution of products to services to utilities
  • 113. ‹#› | Battery Ventures It’s what you know that isn’t so… ● Make your assumptions explicit ● Extrapolate trends to the limit ● Listen to non-customers ● Follow developer adoption, not IT spend ● Map evolution of products to services to utilities ● Re-organize your teams for speed of execution
  • 114. ‹#› | Battery Ventures How do we get there?
  • 115. ‹#› | Battery Ventures "This is the IT swamp draining manual for anyone who is neck deep in alligators.”
  • 116. ‹#› | Battery Ventures Once you’re out of the swamp, read this…
  • 117. ‹#› | Battery Ventures Open Source Ecosystems ● The most advanced, scalable and stable code you can get is OSS ● No procurement cycle, fix and extend it yourself ● Github is a developer’s online resume ● Github is also your company’s online resume! ● Extensible platforms create ecosystems ● Give up control to get ubiquity – Apache license ! Innovate, Leverage and Commoditize
  • 118. ‹#› | Battery Ventures Cloud Native for High Availability ● 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
  • 119. ‹#› | Battery Ventures A Microservice Definition ! Loosely coupled service oriented architecture with bounded contexts See http://en.wikipedia.org/wiki/Domain-driven_design for discussion of bounded contexts
  • 120. ‹#› | Battery Ventures Scaling Continuous Delivery Models ● Devs book a train ticket ● Everyone runs the monolith ● Queue for the next train ● Coordination chat session ● Need to learn deploy process ● Copy code to existing servers ● Few concurrent versions ● Tens of monolithic updates/day maximum ● Roll-forward only ● “Done” is released to prod ● Everyone has their own build ● Dev runs their own microservice ● No waiting, no meetings ● API call to update prod timeline ● Automated hands-off deploy ● Immutable code on new servers ● Unlimited concurrent versions ● 100s of independent updates ● Roll-back in seconds ● “Done” is retired from prod Monolithic Microservices
  • 121. ‹#› | Battery Ventures Separate Concerns Using Micro-services ● Invert Conway’s Law – teams own service groups and backend stores ● One “verb” per single function micro-service, size doesn’t matter ● One developer independently produces a micro-service ● Each micro-service is it’s own build, avoids trunk conflicts ● Deploy in a container: Tomcat, AMI or Docker, whatever… ● Stateless business logic. Cattle, not pets. ● Stateful cached data access layer can use ephemeral instances http://en.wikipedia.org/wiki/Conway's_law
  • 122. ‹#› | Battery Ventures Microservices Development Architecture ● Client libraries Even if you start with a raw protocol, a client side driver is the end-state Best strategy is to own your own client libraries from the start ● Multithreading and Non-blocking Calls Reactive model RxJava uses Observable to hide concurrency cleanly Netty can be used to get non-blocking I/O speedup over Tomcat container ● Circuit Breakers – See Fluxcapacitor.com for code NetflixOSS Hystrix, Turbine, Latency Monkey, Ribbon/Karyon Also look at Finagle/Zipkin from Twitter
  • 123. ‹#› | Battery Ventures Microservice Datastores ● Book: Refactoring Databases SchemaSpy to examine schema structure Denormalization into one datasource per table or materialized view ● Polyglot Persistence Use a mixture of database technologies, behind REST data access layers See NetflixOSS Storage Tier as a Service HTTP (staash.com) for MySQL and C* ● CAP – Consistent or Available when Partitioned Look at Jepsen torture tests for common systems aphyr.com/tags/jepsen There is no such thing as a consistent distributed system, get over it…
  • 124. ‹#› | Battery Ventures Strategies for impatient product managers ● Carrot “This new feature you want will be ready faster as a microservice” ● Stick “This new feature you want will only be implemented in the new microservice based system” ● Shiny Object “Why don’t you concentrate on some other part of the system while we get the transition done?”
  • 125. ‹#› | Battery Ventures Monitoring and Microservices
  • 126. ‹#› | Battery Ventures Issues with Continuous Delivery and Microservices ● 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
  • 127. ‹#› | Battery Ventures Microservice Based Architectures See http://www.slideshare.net/LappleApple/gilt-from-monolith-ruby-app-to-micro-service-scala-service-architecture From a Gilt Groupe Presentation
  • 128. ‹#› | Battery Ventures “Death Star” Architecture Diagrams As visualized by Appdynamics, Boundary.com and Twitter internal tools
  • 129. ‹#› | Battery Ventures “Death Star” Architecture Diagrams As visualized by Appdynamics, Boundary.com and Twitter internal tools Netflix Gilt Groupe (12 of 450) Twitter
  • 130. ‹#› | Battery Ventures Continuous Delivery and DevOps Implications ● 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
  • 131. ‹#› | Battery Ventures What’s wrong with measuring in minutes? Takes too long to see a problem 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Metric Threshold
  • 132. ‹#› | Battery Ventures What’s wrong with measuring in minutes? Takes too long to see a problem 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Metric Threshold Something broke at 2m20
  • 133. ‹#› | Battery Ventures What’s wrong with measuring in minutes? Takes too long to see a problem 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Metric Threshold Something broke at 2m20 40s of failure didn’t trigger
  • 134. ‹#› | Battery Ventures What’s wrong with measuring in minutes? Takes too long to see a problem 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Metric Threshold Something broke at 2m20 40s of failure didn’t trigger 1st high metric seen at agent on instance
  • 135. ‹#› | Battery Ventures What’s wrong with measuring in minutes? Takes too long to see a problem 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Metric Threshold Something broke at 2m20 40s of failure didn’t trigger 1st high metric seen at agent on instance 1st high metric arrives at monitoring system
  • 136. ‹#› | Battery Ventures What’s wrong with measuring in minutes? Takes too long to see a problem 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Metric Threshold Something broke at 2m20 40s of failure didn’t trigger 1st high metric seen at agent on instance 1st high metric arrives at monitoring system 1st high metric processed (maybe)
  • 137. ‹#› | Battery Ventures What’s wrong with measuring in minutes? Takes too long to see a problem 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Metric Threshold Something broke at 2m20 40s of failure didn’t trigger 1st high metric seen at agent on instance 1st high metric arrives at monitoring system 1st high metric processed (maybe) 1st high metric seen on graph
  • 138. ‹#› | Battery Ventures What’s wrong with measuring in minutes? Takes too long to see a problem 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Metric Threshold Something broke at 2m20 40s of failure didn’t trigger 1st high metric seen at agent on instance 1st high metric arrives at monitoring system 1st high metric processed (maybe) 1st high metric seen on graph Three datapoints on user graph so looks bad at 8m00.
  • 139. ‹#› | Battery Ventures 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
  • 140. ‹#› | Battery Ventures Try that again by the second More confidence more quickly Threshold 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7
  • 141. ‹#› | Battery Ventures Try that again by the second More confidence more quickly Threshold 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Something broke at 2m20
  • 142. ‹#› | Battery Ventures Try that again by the second More confidence more quickly Threshold 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Something broke at 2m20 Measurable in 1s
  • 143. ‹#› | Battery Ventures Try that again by the second More confidence more quickly Threshold 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Something broke at 2m20 Measurable in 1s 1st high metric seen at agent on instance
  • 144. ‹#› | Battery Ventures Try that again by the second More confidence more quickly Threshold 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Something broke at 2m20 Measurable in 1s 1st high metric seen at agent on instance 1st high metric arrives at monitoring system
  • 145. ‹#› | Battery Ventures Try that again by the second More confidence more quickly Threshold 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Something broke at 2m20 Measurable in 1s 1st high metric seen at agent on instance 1st high metric arrives at monitoring system 1st high metric processed
  • 146. ‹#› | Battery Ventures Try that again by the second More confidence more quickly Threshold 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Something broke at 2m20 Measurable in 1s 1st high metric seen at agent on instance 1st high metric arrives at monitoring system 1st high metric processed 1st high metric seen on graph
  • 147. ‹#› | Battery Ventures Try that again by the second More confidence more quickly Threshold 0 1 2 3 4 5 Minute 1 Minute 2 Minute 3 Minute 4 Minute 5 Minute 6 Minute 7 Something broke at 2m20 Measurable in 1s 1st high metric seen at agent on instance 1st high metric arrives at monitoring system 1st high metric processed 1st high metric seen on graph Three datapoints on user graph so looks bad at 2m25.
  • 148. ‹#› | Battery Ventures NetflixOSS Hystrix / Turbine Circuit Breaker Monitoring http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.html Streaming metrics directly from services to a web browser each second
  • 149. ‹#› | Battery Ventures NetflixOSS Hystrix / Turbine Circuit Breaker Monitoring http://techblog.netflix.com/2012/12/hystrix-dashboard-and-turbine.html Streaming metrics directly from services to a web browser each second
  • 150. ‹#› | Battery Ventures Latest SaaS Based Monitoring Products www.vividcortex.com and www.boundary.com Seeing Problems In Seconds
  • 151. ‹#› | Battery Ventures Metric to display latency needs to be less than human attention span (~10s)
  • 152. ‹#› | Battery Ventures Summary ● Speed wins in the marketplace ● Remove friction from product development ● High trust, low process ● Freedom and responsibility culture ● Don’t do your own undifferentiated heavy lifting ● Simple patterns automated by tooling ● Microservices for speed and availability
  • 153. ‹#› | Battery Ventures Separation of Concerns
 
 Bounded Contexts
  • 154. ‹#› | Battery Ventures 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 ● GOTO Chicago Opening Keynote May 20th, 2014 ● Qcon New York – June 11th, 2014 ● GOTO Copenhagen/Aarhus – Denmark – Sept 25th, 2014 ● DevOps Enterprise Summit - San Francisco - Oct 21-23rd, 2014 Disclosure: some of the companies mentioned are Battery Ventures Portfolio Companies See www.battery.com for a list of portfolio investments