Cloud Native Applications:
What Changed
May 2013
Adrian Cockcroft
@adrianco #netflixcloud @NetflixOSS
http://www.linkedin.com/in/adriancockcroft
We are Engineers
We solve hard problems
We build amazing and complex things
We fix things when they break
We strive for perfection
Perfect code
Perfect hardware
Perfectly operated
But perfection takes too long…
So we compromise
Time to market vs. Quality
Utopia remains out of reach
Where time to market wins big
Making a land-grab
Disrupting competitors (OODA)
Anything delivered as web services
How Soon?
Code features in days instead of months
Get hardware in minutes instead of weeks
Incident response in seconds instead of hours
Tipping the Balance
Utopia Dystopia
A new engineering challenge
Construct a highly agile and highly
available service from ephemeral and
often broken components
Inspiration
What Changed?
Developers are the bottleneck
Platform manages service delivery
Agility and implementation speed wins
Examples of Cloud Native Apps
Everything Google or Amazon does
Some startup web services
Netflix
Netflix Streaming
A Cloud Native Application based on
an open source platform
Netflix Member Web Site Home Page
Personalization Driven – How Does It Work?
How Netflix Streaming Works
Customer Device
(PC, PS3, TV…)
Web Site or
Discovery API
User Data
Personalization
Streaming API
DRM
QoS Logging
OpenConnect
CDN Boxes
CDN
Management and
Steering
Content Encoding
Consumer
Electronics
AWS Cloud
Services
CDN Edge
Locations
Some Strategic Questions
What changed…
The AWS Question
Why does Netflix use AWS when
Amazon Prime is a competitor?
Netflix vs. Amazon Prime
• Do retailers competing with Amazon use AWS?
– Yes, lots of them, Netflix is no different
• Does Prime have a platform advantage?
– No, because Netflix gets to run on AWS
• Does Netflix take Amazon Prime seriously?
– Yes, but so far Prime isn’t impacting our business
Amazon Video 1.31%
18x Prime
25x Prime
Nov
2012
Streaming
Bandwidth
March
2013
Mean
Bandwidth
+39% 6mo
The Google Cloud Question
Why doesn’t Netflix use Google
Cloud as well as AWS?
Google Cloud – Wait and See
Pro’s
• Cloud Native
• Huge scale for internal apps
• Exposing internal services
• Nice clean API model
• Starting a price war
• Fast for what it does
• Rapid start & minute billing
Con’s
• In beta until last week
• No big customers yet
• Missing many key features
• Different arch model
• Missing billing options
• No SSD or huge instances
• Zone maintenance windows
But: Anyone interested is welcome to port NetflixOSS components to Google Cloud
Cloud Wars: Price and Performance
AWS vs.
GCS War
Private
Cloud
What Changed:
Everyone using
AWS or GCS gets
the price cuts and
performance
improvements, as
they happen. No
need to switch
vendor.
No Change:
Locked in for
three years.
The DIY Question
Why doesn’t Netflix build and run its
own cloud?
Fitting Into Public Scale
Public
Grey
Area
Private
1,000 Instances 100,000 Instances
Netflix FacebookStartups
How big is Public?
AWS upper bound estimate based on the number of public IP Addresses
Every provisioned instance gets a public IP by default
AWS Maximum Possible Instance Count 3.7 Million
Growth >10x in Three Years, >2x Per Annum
DIY Alternatives: what could
Netflix do with $100M to invest?
Build a datacenter, Launch in a new country, or
fund the next “House of Cards”?
All payback over several years
Grow the business!
The Alternative Supplier
Question
What if there is no clear leader for a
feature, or AWS doesn’t have what
we need?
Things We Don’t Use AWS For
SaaS Applications – Pagerduty, Appdynamics
Content Delivery Service
DNS Service
CDN Scale
AWS CloudFront
Akamai
Limelight
Level 3
Netflix
Openconnect
YouTube
Gigabits Terabits
NetflixFacebookStartups
Content Delivery Service
Open Source Hardware Design + FreeBSD, bird, nginx
see openconnect.netflix.com
DNS Service
AWS Route53 is missing too many features
Multiple vendor strategy Dyn, Ultra, Route53
Abstracted (broken) DNS APIs with Denominator
Managing Multi-Region Availability
Cassandra Replicas
Zone A
Cassandra Replicas
Zone B
Cassandra Replicas
Zone C
Regional Load Balancers
Cassandra Replicas
Zone A
Cassandra Replicas
Zone B
Cassandra Replicas
Zone C
Regional Load Balancers
UltraDNS
DynECT
DNS
AWS
Route53
Denominator – manage traffic via multiple DNS providers
Denominator
What Changed?
Get out of the way of innovation
Best of breed, by the hour
Choices based on scale
Cost
reduction
Slow down
developers
Less
competitive
Less revenue
Lower
margins
Process
reduction
Speed up
developers
More
competitive
More
revenue
Higher
margins
Cloud Native – What Changed?
Master copies of data are cloud resident
Dynamically provisioned micro-services
Services are distributed and ephemeral
How to get to Cloud Native?
Freedom and Responsibility for Developers
Decentralize and Automate Ops Activities
Integrate DevOps into the Business Organization
A Cloud Native Open Source Platform
See netflix.github.com
Boosting the @NetflixOSS Ecosystem
See netflix.github.com
Come to my tutorial this afternoon!
Takeaway
NetflixOSS makes it easier for everyone to become Cloud Native
What changed is the speed and agility of the integrated Cloud
Native BusDevOps organization
@adrianco #netflixcloud @NetflixOSS

Gluecon keynote

  • 1.
    Cloud Native Applications: WhatChanged May 2013 Adrian Cockcroft @adrianco #netflixcloud @NetflixOSS http://www.linkedin.com/in/adriancockcroft
  • 2.
    We are Engineers Wesolve hard problems We build amazing and complex things We fix things when they break
  • 3.
    We strive forperfection Perfect code Perfect hardware Perfectly operated
  • 4.
    But perfection takestoo long… So we compromise Time to market vs. Quality Utopia remains out of reach
  • 5.
    Where time tomarket wins big Making a land-grab Disrupting competitors (OODA) Anything delivered as web services
  • 6.
    How Soon? Code featuresin days instead of months Get hardware in minutes instead of weeks Incident response in seconds instead of hours
  • 7.
  • 8.
    A new engineeringchallenge Construct a highly agile and highly available service from ephemeral and often broken components
  • 9.
  • 10.
    What Changed? Developers arethe bottleneck Platform manages service delivery Agility and implementation speed wins
  • 11.
    Examples of CloudNative Apps Everything Google or Amazon does Some startup web services Netflix
  • 12.
    Netflix Streaming A CloudNative Application based on an open source platform
  • 13.
    Netflix Member WebSite Home Page Personalization Driven – How Does It Work?
  • 14.
    How Netflix StreamingWorks Customer Device (PC, PS3, TV…) Web Site or Discovery API User Data Personalization Streaming API DRM QoS Logging OpenConnect CDN Boxes CDN Management and Steering Content Encoding Consumer Electronics AWS Cloud Services CDN Edge Locations
  • 15.
  • 16.
    The AWS Question Whydoes Netflix use AWS when Amazon Prime is a competitor?
  • 17.
    Netflix vs. AmazonPrime • Do retailers competing with Amazon use AWS? – Yes, lots of them, Netflix is no different • Does Prime have a platform advantage? – No, because Netflix gets to run on AWS • Does Netflix take Amazon Prime seriously? – Yes, but so far Prime isn’t impacting our business
  • 18.
    Amazon Video 1.31% 18xPrime 25x Prime Nov 2012 Streaming Bandwidth March 2013 Mean Bandwidth +39% 6mo
  • 19.
    The Google CloudQuestion Why doesn’t Netflix use Google Cloud as well as AWS?
  • 20.
    Google Cloud –Wait and See Pro’s • Cloud Native • Huge scale for internal apps • Exposing internal services • Nice clean API model • Starting a price war • Fast for what it does • Rapid start & minute billing Con’s • In beta until last week • No big customers yet • Missing many key features • Different arch model • Missing billing options • No SSD or huge instances • Zone maintenance windows But: Anyone interested is welcome to port NetflixOSS components to Google Cloud
  • 21.
    Cloud Wars: Priceand Performance AWS vs. GCS War Private Cloud What Changed: Everyone using AWS or GCS gets the price cuts and performance improvements, as they happen. No need to switch vendor. No Change: Locked in for three years.
  • 22.
    The DIY Question Whydoesn’t Netflix build and run its own cloud?
  • 23.
    Fitting Into PublicScale Public Grey Area Private 1,000 Instances 100,000 Instances Netflix FacebookStartups
  • 24.
    How big isPublic? AWS upper bound estimate based on the number of public IP Addresses Every provisioned instance gets a public IP by default AWS Maximum Possible Instance Count 3.7 Million Growth >10x in Three Years, >2x Per Annum
  • 25.
    DIY Alternatives: whatcould Netflix do with $100M to invest? Build a datacenter, Launch in a new country, or fund the next “House of Cards”? All payback over several years Grow the business!
  • 26.
    The Alternative Supplier Question Whatif there is no clear leader for a feature, or AWS doesn’t have what we need?
  • 27.
    Things We Don’tUse AWS For SaaS Applications – Pagerduty, Appdynamics Content Delivery Service DNS Service
  • 28.
    CDN Scale AWS CloudFront Akamai Limelight Level3 Netflix Openconnect YouTube Gigabits Terabits NetflixFacebookStartups
  • 29.
    Content Delivery Service OpenSource Hardware Design + FreeBSD, bird, nginx see openconnect.netflix.com
  • 30.
    DNS Service AWS Route53is missing too many features Multiple vendor strategy Dyn, Ultra, Route53 Abstracted (broken) DNS APIs with Denominator
  • 32.
    Managing Multi-Region Availability CassandraReplicas Zone A Cassandra Replicas Zone B Cassandra Replicas Zone C Regional Load Balancers Cassandra Replicas Zone A Cassandra Replicas Zone B Cassandra Replicas Zone C Regional Load Balancers UltraDNS DynECT DNS AWS Route53 Denominator – manage traffic via multiple DNS providers Denominator
  • 33.
    What Changed? Get outof the way of innovation Best of breed, by the hour Choices based on scale Cost reduction Slow down developers Less competitive Less revenue Lower margins Process reduction Speed up developers More competitive More revenue Higher margins
  • 34.
    Cloud Native –What Changed? Master copies of data are cloud resident Dynamically provisioned micro-services Services are distributed and ephemeral
  • 35.
    How to getto Cloud Native? Freedom and Responsibility for Developers Decentralize and Automate Ops Activities Integrate DevOps into the Business Organization
  • 36.
    A Cloud NativeOpen Source Platform See netflix.github.com
  • 37.
    Boosting the @NetflixOSSEcosystem See netflix.github.com Come to my tutorial this afternoon!
  • 38.
    Takeaway NetflixOSS makes iteasier for everyone to become Cloud Native What changed is the speed and agility of the integrated Cloud Native BusDevOps organization @adrianco #netflixcloud @NetflixOSS