29
Translating Developer Productivity to Netflix Customer Delight Edge Engineering Open House June 9, 2016 @ Netflix Vasanth Asokan Edge Developer Experience @vasanthasokan

Translating Developer Productivity to Netflix Customer Delight

Embed Size (px)

Citation preview

Page 1: Translating Developer Productivity to Netflix Customer Delight

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

Vasanth AsokanEdge Developer Experience@vasanthasokan

Page 2: Translating Developer Productivity to Netflix Customer Delight

Developer Experience?

Page 3: Translating Developer Productivity to Netflix Customer Delight

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

Page 4: Translating Developer Productivity to Netflix Customer Delight

Why care about DevEx?

DeveloperProductivity

ProductInnovation

Tools

Automation

Insights

CustomerSatisfaction

Page 5: Translating Developer Productivity to Netflix Customer Delight

App Development and Management

DEVELOP(rapidly)

DEPLOY(reliably)

OPERATE(effectively)

Page 6: Translating Developer Productivity to Netflix Customer Delight

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

Page 7: Translating Developer Productivity to Netflix Customer Delight

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

Page 8: Translating Developer Productivity to Netflix Customer Delight

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

Page 9: Translating Developer Productivity to Netflix Customer Delight

$ 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

Page 10: Translating Developer Productivity to Netflix Customer Delight

Titus

ATLAS

NeWT: Netflix Workflow Toolkit

Page 11: Translating Developer Productivity to Netflix Customer Delight

Edge PaaS UI

Page 12: Translating Developer Productivity to Netflix Customer Delight

$ 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

Page 13: Translating Developer Productivity to Netflix Customer Delight

$ 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

Page 14: Translating Developer Productivity to Netflix Customer Delight

App Operations and Insights

DEVELOP(rapidly)

DEPLOY(reliably)

OPERATE(effectively)

Page 15: Translating Developer Productivity to Netflix Customer Delight

• 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

Page 16: Translating Developer Productivity to Netflix Customer Delight

Monitoring facets of aggregate application health, globally

Aggregate Insights

Page 17: Translating Developer Productivity to Netflix Customer Delight

Aggregate Insights

Page 18: Translating Developer Productivity to Netflix Customer Delight

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

Surgical Insights

Page 19: Translating Developer Productivity to Netflix Customer Delight

Surgical Insights - Real-time Stream Queries

Page 20: Translating Developer Productivity to Netflix Customer Delight

Surgical Insights - Real-time Stream Queries

Page 21: Translating Developer Productivity to Netflix Customer Delight

Surgical Insights - Real-time Stream Queries

Page 22: Translating Developer Productivity to Netflix Customer Delight

Monitoring server side calling pattern and internal application profile

Session Tracing

Page 23: Translating Developer Productivity to Netflix Customer Delight

Session Tracing

Page 24: Translating Developer Productivity to Netflix Customer Delight

Session Tracing - Request Profile

Page 25: Translating Developer Productivity to Netflix Customer Delight

Session Tracing - Per Node Profile

Page 26: Translating Developer Productivity to Netflix Customer Delight

Automatic monitoring of high cardinality data across multiple dimensions

Real-time Anomaly Detection

Page 27: Translating Developer Productivity to Netflix Customer Delight

Real-time Anomaly Detection

Page 28: Translating Developer Productivity to Netflix Customer Delight

• 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...

Page 29: Translating Developer Productivity to Netflix Customer Delight

Tech Soup