Containers at Netflix - An Evolving Story Sangeeta Narayanan - - PowerPoint PPT Presentation

containers at netflix an evolving story
SMART_READER_LITE
LIVE PREVIEW

Containers at Netflix - An Evolving Story Sangeeta Narayanan - - PowerPoint PPT Presentation

Containers at Netflix - An Evolving Story Sangeeta Narayanan Engineering Manager @Netflix @sangeetan Going Global Recent Launches: Italy, Spain, Portugal Early 2016: Korea, Hong Kong, Taiwan, Singapore Growing BIGGER Winning Moments of


slide-1
SLIDE 1

Containers at Netflix - An Evolving Story

Sangeeta Narayanan Engineering Manager @Netflix @sangeetan

slide-2
SLIDE 2
slide-3
SLIDE 3

Going Global

Recent Launches: Italy, Spain, Portugal Early 2016: Korea, Hong Kong, Taiwan, Singapore

slide-4
SLIDE 4

Growing BIGGER

slide-5
SLIDE 5

Winning Moments of Truth

slide-6
SLIDE 6
slide-7
SLIDE 7

Getting BETTER

slide-8
SLIDE 8

J a n A p r J u l O c t

2015

slide-9
SLIDE 9

J a n A p r J u l O c t

2015

slide-10
SLIDE 10

J a n A p r J u l O c t

2015

A/B Tests New features

slide-11
SLIDE 11

J a n A p r J u l O c t

2015

A/B Tests New features Device Launches

slide-12
SLIDE 12

Going FASTER

slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15
slide-16
SLIDE 16

Cloud Native Architecture

slide-17
SLIDE 17

Automation & Tooling

slide-18
SLIDE 18

Culture

slide-19
SLIDE 19

New Considerations

Diversity - Users, Tech stacks, Workloads Dev Ex - Dev iterations, Debugging, Packaging Rapid Delivery Resource Sharing

slide-20
SLIDE 20
slide-21
SLIDE 21
slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24

Dev-centric packaging & reproducibility Infrastructure abstraction Faster dev iterations Resource sharing

Why Docker?

slide-25
SLIDE 25
slide-26
SLIDE 26

Docker @Netflix - Use Cases

Algorithms Engineering Data Pipeline Edge Engineering

slide-27
SLIDE 27

Docker @Netflix - Use Cases

Algorithms Engineering Data Pipeline Edge Engineering

slide-28
SLIDE 28

Algorithms Engineering

R&D of algorithmic components for product

slide-29
SLIDE 29
slide-30
SLIDE 30

Precompute Online Services Model Trainer New data available

slide-31
SLIDE 31

Infrastructure abstraction Polyglot support & Local Dev Ex Dynamic resource allocation & distributed job scheduling

Requirements

slide-32
SLIDE 32

Model Trainer Online Services Precompute New data available Distributed scheduler

+

slide-33
SLIDE 33

Distributed Scheduling & Task Management

Model Trainer Spinnaker Other Apps Fenzo

slide-34
SLIDE 34

Infrastructure abstraction Polyglot + Local Dev Distributed Scheduling

Num of Containers

slide-35
SLIDE 35

Docker @Netflix - Use Cases

Algorithms Engineering Data Pipeline Edge Engineering

slide-36
SLIDE 36

Data Pipeline

Publish, Collect, Process, Move Data

slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39

Local Dev Ex Infrastructure abstraction Fine-grained resource management

Requirements

slide-40
SLIDE 40

Job

slide-41
SLIDE 41

Infrastructure abstraction Local Dev Ex Fine grained resource Management

Num of Containers

slide-42
SLIDE 42

Docker @Netflix - Use Cases

Algorithms Engineering Data Pipeline Edge Engineering

slide-43
SLIDE 43

Edge Engineering

Entry point to Netflix for all device traffic

slide-44
SLIDE 44

Automation & Tools

slide-45
SLIDE 45

Automation & Tools

Node.js Html, JS

slide-46
SLIDE 46

Infrastructure abstraction Local dev, Polyglot - Java, Groovy, Node.js Fine-grained resource management

Requirements

slide-47
SLIDE 47

Ops Tooling Networking, IPC Security Insights Failure Testing Performance And more…

Requirements++

Long running Services vs. Batch Jobs

slide-48
SLIDE 48

Ops Tooling Networking, IPC Security Insights Failure Testing Performance And more…

Requirements++

Long running Services vs. Batch Jobs

slide-49
SLIDE 49
slide-50
SLIDE 50

Local Dev Test/ Debug Open PR CI Build/Test AMI

Bakery

Deploy

Spinnaker

Dist Job Sched

slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54

Gradle docker plugin to generate Dockerfile Spinnaker CloudProvider provides abstraction Bakery support for image generation Docker registry for internal images libnetwork plugin for addressable IP

Building out the pieces

slide-55
SLIDE 55

Dev Ex Wins

Faster dev iterations Run prod image locally; attach debugger Multiple branch/config variations Hot reloading of files ‘Roman Riding’ with AMIs

slide-56
SLIDE 56

ON

Not There Yet!

slide-57
SLIDE 57

‘PaaS-like' Dev Experience Production scale/Operational readiness Optimized resource utilization

slide-58
SLIDE 58

Infrastructure Abstraction Dev Ex Production ready Online Services Polyglot env, Packaging

slide-59
SLIDE 59
slide-60
SLIDE 60

Thank You

@sangeetan

slide-61
SLIDE 61

The Netflix Algorithms Engineering & Data Pipeline teams

Acknowledgements Photo Credits

https://goo.gl/sP5T4X https://goo.gl/JaNlyf https://goo.gl/rZXws1 http://goo.gl/V4UFmR https://goo.gl/R08GPQ http://tastyk.deviantart.com/art/Evolution-149719618 https://goo.gl/W2UKv0 https://goo.gl/fRcpPN https://goo.gl/tF199H https://goo.gl/K1OH9T wildflowers https://goo.gl/KSaL5s roadmap https://goo.gl/8JCDQy odometer https://goo.gl/c4RuSR takeaway box