Ne*lix Case Study 2 - - PowerPoint PPT Presentation

ne lix case study
SMART_READER_LITE
LIVE PREVIEW

Ne*lix Case Study 2 - - PowerPoint PPT Presentation

Cloud Computing ECPE 276 Ne*lix Case Study 2 h6ps://media.ne*lix.com/en/company-blog/compleBng-the-ne*lix-cloud-migraBon Cloud Compu2ng Spring


slide-1
SLIDE 1

ì ¡

Cloud ¡Computing ¡

ECPE ¡276 ¡

Ne*lix ¡ ¡ Case ¡Study ¡

slide-2
SLIDE 2

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

2 ¡

h6ps://media.ne*lix.com/en/company-­‑blog/compleBng-­‑the-­‑ne*lix-­‑cloud-­‑migraBon ¡ ¡

slide-3
SLIDE 3

Netflix ¡& ¡The ¡Cloud ¡

ì Cloud ¡provider: ¡AWS ¡ ì Services ¡at ¡AWS ¡

ì

Business ¡logic, ¡billing, ¡payments ¡

ì

Distributed ¡databases ¡

ì

Big ¡data ¡processing/analyBcs ¡

ì

RecommendaBons ¡

ì

Transcoding ¡ ì Video ¡streaming ¡not ¡at ¡AWS ¡

ì

Ne*lix ¡Open ¡Connect ¡CDN ¡ (Ne*lix-­‑owned ¡servers ¡co-­‑located ¡at/near ¡customer ¡ISPs) ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

3 ¡

slide-4
SLIDE 4

Netflix ¡Scale ¡

ì 2015 ¡Sandvine ¡report ¡ ì Streaming ¡video ¡and ¡audio ¡traffic ¡now ¡accounts ¡for ¡

  • ver ¡70% ¡of ¡North ¡American ¡downstream ¡traffic ¡

ì Peak ¡evening ¡hours, ¡fixed ¡access ¡networks ¡(not ¡

wireless) ¡ ì Top ¡3 ¡sources ¡of ¡video ¡traffic? ¡

ì Ne9lix ¡-­‑ ¡37.1% ¡ ì YouTube ¡-­‑ ¡17.9% ¡ ì Amazon ¡Video ¡-­‑ ¡3.1% ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

4 ¡

h6ps://www.sandvine.com/pr/2015/12/7/sandvine-­‑over-­‑70-­‑of-­‑north-­‑american-­‑traffic-­‑is-­‑now-­‑streaming-­‑video-­‑and-­‑audio.html ¡ ¡

Math: ¡ 70% ¡* ¡37.1% ¡= ¡ 25.9% ¡of ¡evening ¡ traffic ¡is ¡Ne0lix ¡

slide-5
SLIDE 5

Cloud ¡Migration ¡Timeline ¡

ì 7 ¡years ¡migra2on ¡from ¡private ¡datacenter ¡to ¡cloud ¡ ì MigraBon ¡strategy ¡op2on ¡“A”: ¡ ¡

Configure ¡AWS ¡to ¡match ¡your ¡current ¡datacenter ¡

ì Equivalent ¡EC2 ¡nodes ¡ ì Equivalent ¡network ¡topology ¡ ¡

(“Virtual ¡Private ¡Cloud”) ¡

ì Run ¡the ¡same ¡applicaBons ¡you ¡already ¡do ¡ ì Pros? ¡Cons? ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

5 ¡

slide-6
SLIDE 6

Cloud ¡Migration ¡Timeline ¡

ì 7 ¡years ¡migra2on ¡from ¡private ¡datacenter ¡to ¡cloud ¡ ì MigraBon ¡strategy ¡op2on ¡“B”: ¡

Rebuild ¡your ¡applica2ons ¡and ¡corporate ¡processes ¡ to ¡follow ¡cloud ¡norms ¡

ì Monolithic ¡app ¡-­‑> ¡Micro ¡applicaBons ¡(e.g. ¡Lambda) ¡ ì RelaBonal ¡DB ¡-­‑> ¡NoSQL ¡database ¡(e.g. ¡DynamoDB) ¡ ì Budget ¡approvals ¡/ ¡procurement ¡-­‑> ¡Self-­‑service ¡tools ¡

for ¡new ¡cloud ¡nodes ¡

ì Pros? ¡Cons? ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

6 ¡

slide-7
SLIDE 7

Cloud ¡Migration ¡Timeline ¡

ì Ne*lix ¡chose ¡opBon ¡“B” ¡(hence, ¡the ¡7 ¡years ¡to ¡

migrate) ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

7 ¡

slide-8
SLIDE 8

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

8 ¡

AWS ¡re:Invent ¡2015 ¡| ¡(DVO203) ¡ ¡

¡

A ¡Day ¡in ¡the ¡Life ¡of ¡a ¡Ne*lix ¡Engineer ¡using ¡37% ¡of ¡the ¡Internet ¡

h6ps://www.youtube.com/watch?v=-­‑mL3zT1iIKw ¡ ¡

slide-9
SLIDE 9

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

9 ¡

slide-10
SLIDE 10

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

10 ¡

ì Chaos ¡Monkey ¡ ì Chaos ¡Gorilla ¡ ì Chaos ¡Kong ¡ ì Armageddon ¡Monkey ¡

(disable ¡AMAZON!) ¡

ì Janitor ¡Monkey ¡ ì Conformity ¡Monkey ¡

h6p://techblog.ne*lix.com/ 2011/07/ne*lix-­‑simian-­‑army.html ¡ ¡

slide-11
SLIDE 11

Chaos ¡Monkey ¡

ì

IdenBfy ¡group ¡of ¡systems, ¡and ¡ randomly ¡terminate ¡one ¡server ¡

ì

Runs ¡during ¡off-­‑peak, ¡normal ¡ business ¡hours ¡while ¡engineers ¡are ¡ working ¡

ì

Idea: ¡Unleash ¡a ¡wild ¡monkey ¡with ¡a ¡ weapon ¡in ¡your ¡data ¡center ¡to ¡ randomly ¡shoot ¡down ¡instances ¡and ¡ chew ¡through ¡cables ¡-­‑-­‑ ¡all ¡the ¡while ¡ conBnuing ¡to ¡serve ¡customers ¡ without ¡interrupBon ¡ ¡

ì

Why ¡would ¡you ¡do ¡this? ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

11 ¡

slide-12
SLIDE 12

Chaos ¡Monkey ¡Motivation ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

12 ¡

“Failures ¡happen, ¡and ¡they ¡inevitably ¡happen ¡when ¡least ¡desired.” ¡ “Even ¡if ¡you ¡are ¡confident ¡that ¡your ¡architecture ¡can ¡ tolerate ¡a ¡system ¡failure, ¡are ¡you ¡sure ¡it ¡will ¡sBll ¡be ¡able ¡to ¡ next ¡week ¡or ¡next ¡month? ¡ ¡Soqware ¡is ¡complex ¡and ¡ dynamic, ¡that ¡"simple ¡fix" ¡you ¡put ¡in ¡place ¡last ¡week ¡could ¡ have ¡undesired ¡consequences.” ¡ “If ¡your ¡applicaBon ¡can't ¡tolerate ¡a ¡system ¡failure ¡would ¡you ¡ rather ¡find ¡out ¡by ¡being ¡paged ¡at ¡3am ¡or ¡aqer ¡you ¡are ¡in ¡the ¡

  • ffice ¡having ¡already ¡had ¡your ¡morning ¡coffee?” ¡

h6ps://github.com/Ne*lix/SimianArmy/wiki/Chaos-­‑Monkey ¡ ¡

slide-13
SLIDE 13

Chaos ¡Monkey ¡Motivation ¡

ì With ¡Chaos ¡Monkey, ¡the ¡engineers ¡know ¡which ¡

servers/services ¡were ¡killed ¡(via ¡logging), ¡so ¡they ¡ can ¡diagnose ¡& ¡correct ¡any ¡unanBcipated ¡failures ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

13 ¡

slide-14
SLIDE 14

Chaos ¡Gorilla ¡ ¡

ì Simulates ¡outage ¡of ¡

enBre ¡AWS ¡ availability ¡zone ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

14 ¡

slide-15
SLIDE 15

Chaos ¡Kong ¡

ì Simulates ¡outage ¡of ¡enBre ¡

AWS ¡region ¡

ì Real ¡life ¡failure: ¡

ì DynamoDB ¡(and ¡dependent ¡

services) ¡failed ¡in ¡US-­‑ EAST-­‑1 ¡region ¡on ¡Sept ¡20th ¡ 2015 ¡for ¡6-­‑8 ¡hours ¡ ì Simula2ng ¡this ¡in ¡advance ¡

allowed ¡Ne*lix ¡to ¡survive ¡ failure ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

15 ¡

h6p://techblog.ne*lix.com/2015/09/ chaos-­‑engineering-­‑upgraded.html ¡ ¡

slide-16
SLIDE 16

Latency ¡Monkey ¡

ì

Introduce ¡ar>ficial ¡delays ¡in ¡RESTful ¡client-­‑ server ¡communicaBon ¡layer ¡

ì

Small ¡delays ¡simulate ¡service ¡degrada>on ¡ ¡

ì

Measure ¡if ¡upstream ¡services ¡respond ¡ appropriately ¡

ì

Large ¡delays ¡simulate ¡failure ¡of ¡node ¡or ¡ service ¡(without ¡physically ¡bringing ¡instances ¡ down) ¡

ì

Test ¡fault-­‑tolerance ¡of ¡a ¡service ¡by ¡ simulaBng ¡the ¡failure ¡of ¡its ¡dependencies, ¡ without ¡making ¡these ¡dependencies ¡ unavailable ¡to ¡the ¡rest ¡of ¡the ¡system ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

16 ¡

slide-17
SLIDE 17

Open ¡Source ¡Monkeys ¡

ì h6ps://github.com/Ne*lix/SimianArmy/

wiki ¡

ì Chaos ¡Monkey ¡ ì Janitor ¡Monkey ¡

ì

Locate ¡unused ¡resources ¡and ¡terminate ¡ them ¡ ì Conformity ¡Monkey ¡

ì

Locate ¡nodes ¡not ¡following ¡best ¡prac>ces ¡ and ¡terminate ¡them ¡

ì

Example: ¡Nodes ¡not ¡in ¡auto-­‑scaling ¡group ¡

Spring ¡2016 ¡ Cloud ¡Compu2ng ¡

17 ¡