GlueCon 2013 Notes: Cloud Native Applications: What Changed – Adrian Cockcroft, Cloud Architect at Netflix
Keynote: Cloud Native Applications: What Changed – Adrian Cockcroft, Cloud Architect at Netflix (@adrianco and @NetflixOSS)
- We are engineers and strive for perfection, fixing things when they break
- Perfection takes too long, so we compromise (time to market vs. quality)
- Time to market wins big (making a land grab, OODA loop)
- Code features in days instead of months, hardware in minutes instead of weeks, incident response in seconds instead of hours
- A new engineering challenge: construct a highly agile and highly avail service from ephemeral and often broken components
- Continuous integration still breaks things, but more often, in smaller increments, and with a faster ability to land grab
- Recommended books:
- Developers are now the bottleneck, platform manages service delivery, agility and impl speed wins
- Examples of cloud native apps: everything Google/Amazon, startup web services, Netflix
- Case study: Netflix Streaming
- Cloud native application based on an open platform
- Use AWS to encode movies, other tasks, but video bits stream from CDN
- They use AWS, even though Amazon Prime is a competitor – other competitors use AWS also, removes Amazon’s use of AWS as a competitive adv, Prime isn’t impacting their business
- They aren’t using Google Cloud, yet
- Huge scale with exposed internal services (didn’t need to build) that have a nice API model and forcing a price war, faster start and per-minute billing
- But, unproven and only recently out of beta, missing some billing options, and no SSD or huge instances, zone maint windows force zone migrations
- Price war between AWS and Google help customers of AWS with no vendor change
- Private cloud prices are increasing
- Public vs. private cloud
- Facebook is too big to go public, startups are too small to go private, Netflix is in the grey area and currently fits into AWS
- The size of the public cloud is doubling every year, doubling the size of the cloud that can be run by AWS customers
- The choice: build a new datacenter or build the business in some way (new series, new countries)
- Multiple vendors for CDN (CloudFront is good for gigabits -> Akamai/Limelight terabits -> Netflix Openconnect)
- Opted to ship hardware CDN equip to ISPs – easy and helps out ISPs by localizing conent
- Multiple vendors for DNS (Route 53 isn’t robust enough)
- Built OSS project called Denominator
- Use regional load balancers and DNS providers to overcome outages
- Netflix has changed from cost reduction focus to process reduction to speed up developers, become more competitive, generate higher margins
- Best of breed, by the hour chosen by scale
- 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 (Biz DevOps)
- DevOps requires a reorg, as does being cloud native
- Netflix OSS: A cloud native OSS platform
- Netflix OSS Cloud Prize