Netflix Edge Services
Continuous Innovation
with Rapid Software
Delivery
Sangeeta Narayanan
@sangeetan
http://www.linkedin.com/in/
sangeetanarayanan
GitPro World April 2015
http://goo.gl/V2TVa1
Netflix Trivia Jeopardy
34.9%
Share of peak downstream NA internet traffic
62 Million
Worldwide subscribers
10 Billion
Hours of content viewed in Q1 2015
Continuous Innovation
http://goo.gl/RXG4m8
http://netflix.github.io/
Continuous Innovation
http://goo.gl/VhokZV
Microservices
Continuous Delivery
Microservices
Single application comprised of a suite of
small, fine-grained services
❖ Loosely coupled
❖ Self-contained
❖ Independently managed and operated
Benefits of Microservices
❖ Increased velocity
❖ Optimized technology choices for each
service
❖ Improved resiliency through fault
isolation
❖ Greater developer efficiency
No free lunch!
❖ Complexity of Distributed Systems
❖ Greater Operational overhead
❖ Versioning/interfaces between services
❖ Testability
Benefits outweigh Costs
@ Netflix
Microservices @ Netflix
Availability
Zone
Availability
Zone
Availability
Zone
AWS
Region
Microservices
Single application comprised of a suite of
small, fine-grained services
❖ Loosely coupled
❖ Self-contained (Bounded Context)
❖ Independently managed and operated
Operate what you Build
❖ Delivery/Deployments
❖ Configurations
❖ Alerts
❖ On Call duties
❖ etc.
http://goo.gl/Q75Xdz
Operate what you Build
❖ Delivery/Deployments
❖ Configurations
❖ Alerts
❖ On Call duties
❖ etc.
http://goo.gl/Q75Xdz
Continuous Delivery
“The practice of building software so that it
is always in a state where it could be put
into production”
Attribution: http://martinfowler.com/delivery.html
❖ Reduced risk because of smaller releases
❖ Easier to recover from errors
❖ Automation enables scaling
❖ Frees up capacity to work on core business
❖ Releasing software in a steady stream
Key Concepts
❖ Delivery Pipelines
❖ Feedback loops
❖ Hands-free deployments
❖ Insights & communication
Netflix API Delivery pipeline
Build
BakeTest
Canary Analysis
Deploy
Branching Strategy
Modeled after github-flow
Automated Pull Request Processing
Automated Patch Branching
Long lived branch; always
deployable
Feature branches; short-lived
Feedback Loops
❖ Aggregate
Health Score
❖ >1500 metrics
❖ Configurable
❖ Multiple regions
Old$Code$(Baseline)$ New$Code$(Canary)$
~1%$Traffic$
Canary Analysis
http://bit.ly/1wQ8fPQ
Hands-free deployments
Red/Black Deployments
Old Code
Production Traffic
Old Code New Code
Production Traffic
Old Code New Code
Production Traffic
Automated Rollback
Pipeline Insights
Operational Insights
❖ Historical & Real time
views
❖ Rich, Dynamic data
visualizations
❖ Data aggregated from
various sources incl. real
time stream processing system
WebSockets
ServerSentEvents
RealtimeHistorical
http://goo.gl/1v8kev
Culture
Freedom and Responsibility
❖ Highly Aligned, Loosely
Coupled
❖ Management by Context, not
control
Continuous Innovation
Microservices
Continuous Delivery
Culture
Thank You

GITPro World Apr 2015 - Continuous Innovation with Rapid Software Delivery