Translating Developer Productivity to Netflix Customer Delight

Preview:

Citation preview

Translating Developer Productivity to Netflix Customer DelightEdge Engineering Open House June 9, 2016 @ Netflix

Vasanth AsokanEdge Developer Experience@vasanthasokan

Developer Experience?

DEVELOP(rapidly)

DEPLOY(reliably)

OPERATE(effectively)

Experimentation driven innovation

~700 apps, dozens of pushes a day15+ client teams, ~200 developers

~50 direct services, 100s of AB tests, dozens of new features

The Innovation Funnel

API

Devices

Netflix Services

Client Adaptor Applications

Why care about DevEx?

DeveloperProductivity

ProductInnovation

Tools

Automation

Insights

CustomerSatisfaction

App Development and Management

DEVELOP(rapidly)

DEPLOY(reliably)

OPERATE(effectively)

SERV

ICE

LAYE

R

Netflix Microservices

appW

AN

Boun

dary API SERVER JVM

js java

Developer Ergonomics

app

...

app

app

CLI

EN

T LI

BR

AR

IES

Large / Complex

SERV

ICE

LAYE

R

REM

OTE

SERV

ICE

LAYE

Rapp

API SERVER JVM

Developer Ergonomics ...

app

...

app

app

CLI

EN

T LI

BR

AR

IES

js javajs

DOCKER CONTAINERS

WAN

Bo

unda

ryNetflix

Microservices

Setup Canary

SupportProd Push

Pre-Prod

MetricsTracing

Lifecycle

Alerts

Build

Bootstrap

API Discovery

REPL

Unit Test

SDK Debug Logging

Profiling

Audits

Security

Custom Routing

Dependency Management

Client Application Development Critical Component!

Dx Developer Experience

$ newt init

Just bring your Javascript business logic

NeWT: Netflix Workflow Toolkit

Continuous Integration

Deployment Pipelines

Autoscaling

Dashboards

Alerting

Logging

Lifecycle Management

Audits and Analytics

Container tooling

Canaries

Dependency Management

Titus

ATLAS

NeWT: Netflix Workflow Toolkit

Edge PaaS UI

$ newt auto-deploy -d

nodeJSproject

Docker Machine

node-inspector

DebuggerFile watcher / live reload trigger

File watcher agent

NeWT: Local Container Development

Local Container

docker build / run

$ newt auto-deploy -d

Docker Machine

NeWT: Local Container Development

Local Container

CloudMicroservices

Cloud Proxy

Terminate security

Disc

over

y Ag

ent

Service Discover

y

Loca

l Sy

stem

Clou

d

App Operations and Insights

DEVELOP(rapidly)

DEPLOY(reliably)

OPERATE(effectively)

• Low Latency, High throughput, Highly Efficient• Handle bursty or large scale loads• Extensible programming model

600 jobs in production, 8M messages/sec at peak, 100Gbps network throughput

Mantis - Stream Processing Platform

Monitoring facets of aggregate application health, globally

Aggregate Insights

Aggregate Insights

Analyze in real-time, requests matching a precise set of conditions

Surgical Insights

Surgical Insights - Real-time Stream Queries

Surgical Insights - Real-time Stream Queries

Surgical Insights - Real-time Stream Queries

Monitoring server side calling pattern and internal application profile

Session Tracing

Session Tracing

Session Tracing - Request Profile

Session Tracing - Per Node Profile

Automatic monitoring of high cardinality data across multiple dimensions

Real-time Anomaly Detection

Real-time Anomaly Detection

• Scaling developer productivity with business growth

• Provide fully managed PaaS experience to client developers • Shift Left Insights to power smart development• Curated, blended visualizations that simplify devops

In conclusion...

Tech Soup