Josh Evans αα·ααΆαα’αααΈαα·ααααα
ααααΌαα
ααααα αα·αα
αααα»ααααααααααΆααααααΈααααΌ Netflix αααα
αΆααααααΎαααΈααΌαααααΆαααααΉα - ααΆααα·ααΆαααΆαααααααααααΆααααααααΆαααΌα
αααα αΆααααααααααΆααααααΉαααααααααα
ααα
αΆα αα·αα’αααααααααααααααααΆα αααααα’ααααΎααΌαααααΆαααα ααΆααααααααααααΈααΆαα’αα»ααααααααααα ααααΆαααααααα αα·αααααα·ααααα·ααΆααααααΆααα
αααααααΆααααααααααΆααααααααΆαααΌα
α
αα·αααΌα ααΆααααΆααααααααα·ααααα·ααΆααα ααΆαααΆααα±ααααααΎααααΆααααΆααΆααααΈαααααΆααααααΆα’ααααααΆαα·ααΆααΌαααΈααααα αα·ααα αα αααα·ααααΆααααΈαααΌα ααΆαα»αααΊααα ααΊααΆααΆααααααα α α·αααααααααα·ααΆαααΎααααΈααααααααΆααααα»αααααΆαααααΈαααααα·ααααΆαα αααα»αααααα·ααααα·ααΆααααααααα»αααΆαααααΎαααααααΆαααΎαααααΈαααα αΆαααααΌααα αα αααα·ααααΆααα’αααα»ααααααΆαα Netflix αααααααΌαααΆααααα αΌααα αααα»αααΆαα’αα»ααααααα’αααα»ααααααΆααααααααΆαα»ααααααα’ααααΎ Java αα·α EC2 ααα»αααααα ααααααα’αΆααΈαααααααΈαα ααααΎα α’αααα’αα·ααααααααΆαα αΆααααααΎααααααααααΆαααΆαα»ααααΈααΌα ααΆ Python, Ruby, Node-JS αα·α Docker α
αααα»ααα·αααΆααΆαααααααΆαααΆααααααα½αααΎαααΆα’αααααααΌααα·ααααΌαααΎααααΈα’ααααα·αααααααααΎαααααΎαααΆαααΆαααα’ααααα·ααααα
αΆαααΆαααααΆααααα’αα·αα·ααα ααΆααΆααα’ααααΆαα
αΆααααααΎααααααΆαααααααααααααΆαα - ααΎαααΆααααααα·ααΈααααα·ααααα·ααΆααα
αααα»α Python αα·ααααααα·ααΈ back-office αα½αα
ααα½ααα
αααα»α Ruby ααα»ααααα’αααΈαααααΆααααα
αΆααα’αΆαααααααα
ααααααα’ααααααααΎαααα αααααααααααΎαααΆααααααΆαααΆαα½αααααΉαααααααα
αα JVM α αΎαααΉαααααΆααααΈααα αααααα αααααα·ααΈαα
ααΆαα Node software platform. js. αααααΆααααΈααΆαααααΆα Docker α’αααΈαααΆαααααααα»αααααΆαα ααΎαααΆαααααΎααΆααααααα·ααααΆ α αΎααα
αα
αααα·ααααΆαααααΎααααααΎαααααΆαααααΆαααΆααΆααα·α αα
ααααααααΎαα’αα»ααααααΆαααααΆααα’αα·αα·αα αααααααΆααΆαααααααααα
αααΎαα αααα»αβααΉαβααααΆααβα’αααβααΆβα ααα»βα’αααΈβααΆαβααΆβααΌα
ααααα
API Gateway αα·αααΆααΆααααααααΆααααα»αααΆααα½ααααα αΌαααααααΈαααα’ααα αΆααααααα’αΆα ααΎααα½ααΆα ααα»α αααα αααααααΆααα’αααα’αα·αααααα UI α αα½αααααΆααααααααααααααΈαααΆαααααααΈαα½ααααΆαααααααααααααΆααααΈααααΎααΆαααααΆααααααΌα αα½αααα’αΆα ααΆαααααααΆααα½αααΆαα ααα·ααααα α αΎααααααΆαααααα ααΆααα§αααααα’αααααααΎααααΆαα α αΎαααΆαααααΆααααααΌαααΆααα’αααααααααΌαααΆαααααΎααααΆαααααααΆαα½αααΉαα ααα»α αααα αααααααααΎαααΆααα αααα»α API gatewayα
αααααΆαααΆαααΆααααα αααααΆαααΎαα‘αΎααααααααααΌααααα αΆααααΆααααααΎα monolith ααααΈαααααααΆ API ααααΌαααΆααααα»αααΎαααααααααΆαα½αααΉαααΌαααΆααααααααααααΆααΈαααΌαααΆαααααααααααΆαααΎαα‘αΎαα α§ααΆα ααα α ααα»α αααα αααα½αα ααα½αααααΌαααΆαααα αα α¬ααααααΈαααΆααααααΎααααα αααααααΌαααααααΆα αααΎαααα’αααΈαα½ααααααααααΆαααααααα’αααα αα αΆααααααΆαααΆααα’ααααααααΆαααα API α
ααΆααα ααα»αααααα»αααΆαααα ααα»α αααα ααααΆααααα α αΎαααΆαααΆα ααααΈααααΆαααα API α ααΎααααΈααααΎααΌα αααα ααΎαααΆααααααΎααααΆαααΆαα» Node.js αααααααΎαααΆαααΆαααααα·ααΈααΌα ααα αααα»α Docker containersα ααΆα’αα»ααααΆαα±ααααΎαααααααα αΆ αα·αααΆαααΆααααΆαα½αααααααααΆαααααΈαααααα·ααΈααααΆααααΆαααααα
αααααααααΆαααααΆααααααΌαααΆαααααααΊααααΆαα α αΎαααΆααααααΆααΌα ααΆααααααα
- α§αααααααα·αααΆαα ααΆαααααααααααα
αα
αααα·ααααΆααααΈ ααΆαααΆαα§αααααααααΈ ααΈααααααααα»α UI ααααΎααααααΈαααα’α ααΎααααΈαααααΎαααααΌααααααααααααα·αααααΆα αα·αα
αΆαααΆα
αα
αααΆααααα
αααΎααααα»αααΆααααααααααα αααααΆαα
ααΆαααααααααα αα½αααααααΆαααααααααααααααΈα αα·ααα·αα·αααααΎααα»αααΆαααααααΆα
Opportunity Insight and Sorting - α§ααΆα αααααααΆααααΊα§αααααααααΈαααααααΌαααΆαααΎααααΈαααα αΆαααααααΆαα’αααΈααααΎαααΆααααααα·ααΈαααααΆα ααΆα αΆαααΆα ααααα»αααΆαααΉαααΈα ααα½α processor ααααΌαααΆαααΆααααΆαα αααααααα’αααα αα αΆαααααΌαααΆαααααΎααααΆαα αα·αααΆααααααΌαααααααΆαααααααααΌαα±ααααΆαα§αααααααααααα - ααΆαααααααααααααΌαααΆαααΌαααααΆα - AMI ααΌαααααΆαααΆααααααΆαααααΆααα ααΆααΆααααα αα αα·αα―ααααααΆααααα αααΎαα
- ααΆααααααααααααααΆααα αα·αααΆαααααΆαααααααα α¬αα αα αααα·ααααΆαααα ααααΎαααα’αα»ααααΆαα±ααα’ααααααααααααααααΆαααααα»αααααα ααΌα ααααααΎαααΆααααααΎα Titus αααααΆαααα·ααΆααααααααααα»αααΊαααααααααααααΌαααΆαααΆαααααααΆααα»αααΊααααααα’αΆα αα»αα α·αααααΆα αα·αα’αΆα αα»αα α·αααααΆα αα·αααΆααα½ααααα αΌααααααΆαα½α Amazon AWS α
- ααΆαα αααααααααααΆααα α¬αααα·ααΆα ααΆαααααααα αα αααα·ααααΆααααΈααΆαα½αααΉααα»αααΆαααααΌαααΌα ααααΆαααααα·ααΆαααααΌαα±ααα ααααααΆαα αααα»αα§αααααα’αααα’αα·αααααα Node.js αααααΆαααΌαααααΆαααΎαααα
- αααααααααΆααα·ααααΆ αα·ααααα·αααααα§ααααΆα ααααα ααΆαααααΆαα’αααΈαα αα αααα·ααααΆααααΈα αααααΎαααΌααααα αΆαααααααααΈααααααααΌααααααα αα·ααααααΈααΆα
ααΌα ααααα αΎα ααΎααα·αα’αΆα ααΆααααααα·ααααα½αααΎαα αααα "ααααΌαααααΆααα αααΌ" αα½αααΆααα α αΎαααααΌααααααΎααα·ααΈααααΈαααΆαα·α αα ααΎααααΈαααα»ααα αα αααα·ααααΆααααααΎαα ααΎααααΈαααααΆααΆαα αααΆαααααΆααα α»α ααΎαααΆααααααααΆαααΆααααααααααααααΆα α αΎααααααααΎ JVM ααααΆααααααΈ αα·α Docker α ααΎαααΆααααααα’αΆαα·ααΆαααααααααααΆααααααααααααααα·αααααΆα ααΌαααααΉαααααααα»αα’αααΈαααααααααΆααααααα α α·ααααααααα½ααα αα·αααΆαααΎαααΉαα α·ααααα½αααα±ααααααααααααααααΆαααΎααααΈααααΎααααΆααα‘αΎααα·αααΌααααααααααΆααααααΆαα₯αααα·αααααααααααα½αααααΆααααααΎααα½α α αΎαα ααΎαααΆαααααΎαα·ααΈααΆαααααααααα αααααααααααααΆαααααα ααΆααΆααΆαααααααΎααααΈα ααα αΆαααα·ααααα ααΆααα’αα·αα·ααα’ααααααΆαα·α α§ααΆα ααααα½αααΆα αααααΆααααααΆαααΈααααααααΆαααα αααα’αΆα ααααΌαααΆααααααΎααααααααααααααααα· ααΌα ααααααΆααΆααααα½ααααα»αααΆααααααΎααααα Python αααα Ruby αααα Java ααΆααΎαα
ααΎααααα»ααααααααααΆαα·α αα ααΌαα±ααΆαααΎααααΈααααΎααααΆαααα αα αααα·ααααΆααααααα αΆαα±ααααΎααααααΆααααα αΆαα±ααααΎαααΈαααα½αα―ααα αααααααααα½α αα·ααααα»αααααΆαααΆαααααααααααΆααααααααα
α αΌααα·ααΆαα’αααΈααΆαα»α α»αααααα - ααΆαααααΆααααααΌαα¬ααΆααααααααα½αα ααααΎαααΈαααααααααΆαααααΎααααΆααααα·αααααααααΎααααααααα½ααα·αααααΎααααΆααΆααααααααααααΆα α αα·αααΆαααααααααα½αααααα α’αααα’αΆα αα·ααΆαααΆαααΆαααα 9 ααααΉαααΊααΆαααααααΆααααααΆααααα»ααααααΆαα Netflix αα ααααααααΆααααα»ααα ααΎααααααααααΆααααα’αα·ααααΆααααααΆα
ααΎααΎαα’αΆα
αααααα
ααΆαααΌαααααΏααααααααααΆαα’αα»ααααααΆαα
αααααααα·ααααααααα αααααΊααααΎααΆαααααΆααααααΌαααααΈα₯ααααααα
αααααααααααα ααααα·αααααα±ααααΆαααΆαααααΆααααα»αααΆααααααααααΆ αα·αααααα·ααααααΎαααΆααα’αΆαααα’α½ααααα’αα·αα·ααααααααΎααααααααααΆ? αααα»αα αα»α Netflix αααααα
ααΆαααΆααΆααααααΆαααααΎααααΆαα Spinnaker αααααΆαααααααααααααααααααΎααααααααααΈ αα·αααΆαα
ααα
αΆααααα (αααΈααΈ) α
ααΆααΆααα·αααα Spinnaker ααααΌαααΆααα
ααΆα‘αΎαααΎααααΈαα½ααααα
αΌαααΆαα’αα»ααααααα’αααα»αααααααΎα ααΌα
αααααα
αααααΎαααΆαααααααΆααααΆαααΆαα»αα
αααα»αααα·ααααα ααΎαα’αΆα
αααα
αΌααααααααααααααΆαααα
αααα»ααα
αα
αααα·ααααΆα
ααα
αΆαααααααααααααααααααΆαααααααΎαα
ααΎαα’αΆα
αααα
αΌααα
αα
αααα·ααααΆααΈααα
αααα»ααααααα
ααα
αΆαααααααΎα αααααΎαααΆαααααααααααα ααΆααα·ααΆααααααααααααααααα· αα·αααΆαααΆαααααααΆαααΆαααααΆααααΆαα ααΆααα·ααΆα Canary ααΆαβαααβααΆβααΎαβααΉαααΆαβααΆαβα
ααΆα
αβαα½αβαα
βααααβααααΈβααβααΌα α αΎαβαααααΌαβα
ααΆα
αβααα·αααααβαααβαα
βαααβααΆαβααααβα
αΆααα αααααΆααααααΎααα·αα·αααααΎαααΈαααααααααΌαααααΈαααααααΆαααΆαα½αααΆααα·α
αα
- αααααΎαααΆαα¬α’αΆαααααααΆααααααΌααααααΆαααααΆααα
ααΆαβααΆααβα±ααβααααΎαααΆαβαα·αβααααααααΈβααΆαβαααβααΆ ααααα·αβααΎβααΆαβααΆααβα±ααβααααΎαααΆαβαααα»αβαααααβαα½αβααΆαβαααα αΆ ααΎαβααααΆααααΈβαα βααΆαβααΆααβα±ααβααααΎαααΆαβαααα»αβαααααβαααααβαααα αααα»αααααΈααααααααΈαααα½ααα·αα·ααααααααΆααααααΆααααΆαααΎααααΌααααααα αΌααα αααα»ααααααααα·αααααα αααα»αααΉαααααααααααααΆααααα±ααα’ααα α αΎαααααΆαα’αααα±αααα·αα·αααααΎαααΆααα·ααΆααααΆααΈαα»ααααααααα»α αα·αααααααααα ααααα·ααααα·ααΆα Netflix αα αααα»αααα ααααα·αααΎα’αααα αΆααα’αΆαααααααααα»αααΆαααααα»αααΉαα±ααααΆαααααααα αα αααα»ααααααΆααααααα ααΆαααααΈααα’αΌαααα»αααααααΆα’αΆα ααΎαααΆααααααααΎααΆαααααα ααΆααααααααααααΆαα
αα
α
α»ααααα
αααααα·α
αα
αα·ααΆααααΆ αααα»αααΉααα·ααΆααααααααααα’αααΈα’αααααΆα αα·αααααΆαααααααααααααααα»αα αα»α Netflix Inc α αα
ααΎαααααΌα ααΎαααΆααααααααΆααααα½αα α
ααΆ Electronic Delivery αααααΆααααααααΌααα NRDP 1.x media streaming α ααΆααα "backstream" α’αΆα
ααααΌαααΆαααααΎαα
ααΈααα ααΈαααααααααΌαα‘αΎα α’αααααααΎααααΆααα’αΆα
ααΆαααααααΆαα·ααΆαααααΆααααΆαα
αΆααααΆαααααΈαα
αααααααααα
ααΎα§αααααααα»αααααα αααα·ααΆα
ααα
αΆαααΈααΈααααααΌααααα’αααααα Netflix αααα‘αααααα·ααααα»αααααΆα 2009 ααΎααα
ααΌα
αααα
α§αααααα’αααααααΎααααΆααααΆααααααα·ααΈ Netflix αααααΆαα
ααα»α
αααααΆαα UI αααΌαα»ααα»ααααα·ααΆα ααΆαααΎαααααΎαααΆαααααΆαααα αα·αααΆαα
αΆααααΆαααααΈ αααααα’ααααΎαααα·ααΆ NRDP - Netflix Ready Device Platform α
αα ααααααα ααα»α αααααΆααα’αααααααΎααΊααΆααααααΆααα ααΆαααα»αααΌαα’αααΈαααα α ααΆ Queque Reader α αΎαα’αααααααΎααααΆααααΉαα αΌααα ααΆααααα αααααααΎααααΈααααααα’αααΈαα½ααα Queque α αΎααααααΆααααααΎαααΆαα·ααΆαααααΆααααααααα ααΎα§ααααααααααα½αααα ααΆααα·αααααΆαααΊααΆαααα»αααΆααα»α αα·ααααα»αααΆααααααααΆαααααα·αααα·ααααα’αααααΆαα ααα αΆαα’αα‘α·α ααααΌαα·αααΌα ααααΆ α αΎαααΆαααααΆααααααααΆαααΆααα·ααααα·αααα ααααα»αααααΌαααΆααααααΎαα‘αΎααααααα’ααααΎ XML α αααα»ααααααΆαα½αααααΆαααααα Netflix API αααααΆααα’αΆααΈαααααααΈααΈααΈααααΌαααΆααααααΎαα‘αΎα ααααααα»αα±αααααααα·ααΈααΆααΈααΈααΈααΉαααΆαα ααΆα ααα ααΆααααααΆααααααααααΎαα
αααααΆαααΆαααΆααααα Netflix API ααααΌαααΆααααα ααααΆαααα’ααΎααααΈαα½αααΎαααΆαα½αααΉαα ααα»α αααααΆααα’αααααααΎααααααααααΆαα αααααααα·α αααααΆααααα»ααα·ααααααααααΆααααΆαα·ααΆααΆααα’αα ααααααΆαα’αααΈααΆααααααααα’αΆα ααααΆα ααααααααΎααααααααΆααααα»αααΆααααααΎααααααΈααΎαα ααΆααΆα REST API ααΌαα αααααα’ααααΎαααααααΆααα JSON, HTTP Response Code, ααΌα ααααΆαααααααΎαααα»αααααΆααααααααααααΎα αα·αααααΌαα»ααααα·ααΆα OAuth αααααΆα’αααΈαααααααΌαααΆαααΆαααΆααα αααααααααααΆαααααααα·ααΈαααααααΆααα»αα ααΆααααΎα±ααααΆα’αΆα ααααΆααααΈααΈααααΌααΆααΆαααααααΆαα ααα αΆαααΆαα·ααΆααααααΈααα ααΆα―ααααα½αα
αααα αΆααΆαα½αααΆαααααΆααααααΌαααΊααΆααααααααα αααααΆαα₯α‘αΌααααααααααααααααααΎαααααΎαααΆαααααΆααααααΈααααααα’ααααΎαααααΆααααααααααααΆααΆαααααα»αααααααα·ααααα·ααΆα - αα½ααα
ααΎ Rest, JSON αα·α OAuth αα½αααααα
ααΎ RPC, XML αα·αααααααΆααα»ααααα·ααΆαα’αααααααΎααααΆαααααααα’ααααΎαααααααααααααΆαααααΆαα NTBA α αααααΊααΆααααΆααααααααααΌαααΆααααααΌαααα
ααΆααΆααααααΆααααααΎαααααΆαααααΆααααα»αααΆααααΈαααααααΎα ααΈαααααααααΌα API αα·αααΆαααααΎααΆαααααααΆαααΆαααα’ααΆαα½α NCCP α αΎααααααΆαα±ααααΆαααΆαααα·ααααΆααααα»αα ααΆααα»αααααΆααΊαα αααα»αααααΆαααα αα·ααΈααΆα ααααααΈ αααΌαα»ααα»ααααα·ααΆα α αΎαα’αααα’αα·ααααααααΆααΏααααααΌαααααΌααααΆαααα·αααα»αααααΆααΆαααααα»αα
αααα»ααααααα αααα»αααΆαααααααΆααΆαα½ααα·αααααααΆαααααααααααΆαααααααααα»αα αα»α ααααααα»αααΆααα½ααααα½αααΆ "ααΎα’αααΈαα
ααΆααααΆαααααααααααααααααααααΉαααααΌα?" α αΎαααΆααααΆααα½ααααα½ααααα·αααΆ "α’ααααααα ααααΆαααα½αααΆααααααΆαααααα
αααα α’αααΈαααα·ααΆαααααΆααααα
α - ααΎααΆαα’αααΈααΎαα‘αΎαααααα·αααΎααΎααα½ααααα
αΌαααααααΆααααα α αΎααα½ααααααααααΌαα’αααΈαααααΎαααΆααααααΎααααΈααααΎααΆαααα’? αα·ααΈααΆααααααααααΊααΆααααααααααΆαααααΆαααα
ααΉαα
αααΆαααααα Conway: "α’αααααΆαααααααααααααα
ααΆααααΌαααΆαααΆααΆαααααααΆααα
ααΆαααα
αααααα
ααΆααααααααααααΆααααααααα’αααααΆαααα" α αααβααΆβαα·αααααβα’ααΌααΈβααΆαα ααΌα
ααααβαααα»αβα
αΌαβα
α·αααβα’αααΈβαααβααΆααααΆααβααΆαβαααα "αααααβααΆαα½αβααβαααααα·ααΈβαααβαααα»αβαααα
αΆααβααΈβαα
ααΆααααααααβααααΆαααβαααβααΆαβαααααΎαβααΆ"α αααααΆααααααααααααα»αα
αΌαα
α·ααααααα»αααΈ Eric Raymondα "ααααα·αααΎα’αααααΆααααα»αα’αααα’αα·ααααααα
ααα½ααα½ααααααααΎααΆαααΎα’αααα
ααααα αααα’αααααΉααααα
ααααΆαα½αααΉααααααα·ααΈα
ααααα 4-pass"α ααΆααΆααααααΎαααΆαα αααα»αα αα»α Netflix ααΆααααααα·ααΈα
ααααα 4-pass α αΎααααααΆαααααααααΎαααααΎααΆαα
ααΎαα’αΆα αα·ααΆαααΆαααΆαααα»αααααΈαααααααα»ααααα»ααααααΈααααα α’αΆαα·ααΆαααΈαα½αααααααΎααα·ααααααΆαααααααααΆααα ααα»ααααααΆα’αααααΆα ααΆααΊααΆα’αααααΆαααααααα»αααααΆαααααααααααααΎαααΆαα ααααα·α ααααα ααΈααααΆαααα hodgepodge ααΎαααΆαααααΌααα ααααΆαααααααααααααΎαα α ααΆ Blade Runner ααΈααααααα ααΈαααααΎααααα»ααα·ααΆαα’αααΈααααΆααααααα αα·ααααααααΆααααα NCCP αααα»αααΆαααααα αα·ααααα αΌααααααααΆαααα αααα»αααααΌααααΈ Zuul α ααα API αα·ααα»αααΆααααααααΌαααααΆα "ααααα" ααααΌαβααΆαβααααβααααΆαβαα βααΆβααααΆβααααΆαβααΌα βααααΈβαααβααΆαβαα»ααααα·ααΆαβααααα·αβαααααβααΆαβαα»α ααΆαβα αΆααβα‘αΎααα·α ααΆαβααααααβαα·ααααααβααΆααΎαα
ααΌα αααα ααα’αΆα αα·ααΆαααΆαααΆ αα ααΆααααααααααΆααααααΆα αα·ααααααΆαα»αααααααααα»αα αα»αααΎααα½ααΆααΈαααΆαααααΆαααααα»αααΆααααα ααα ααΆαααααααααααααααα αα·αααΆαααααΆαααα»α α¬ααΆααΆααααΆαααααΆααααααΌαα ααααΆαααααααα Microservices ααΆααααααααααα»αααααΆα αα·αααΆααααααααααΈααΆααα α αΎααα»αααΆαααααααΆααΊααα’ααααΎαα·ααα αα·αααΆαααΉααααααααΆαααααΆαα
ααΆαααααΆαααΆαα·ααααααααα·α αα½α
ααΌαα’ααα»αα
ααααααΆαααααΆαααα
ααΆαα½ααα½αααΎαα ααΎα’αααα
αΌαα
α·αααα’αααααααααααΎααα? α
ααααΎαααααΉαααΆααα½αα±ααα
αΆααα’αΆααααααααααααααααα? ααΆααααααΎααααααΆααααααΆαα·αα¬ααααΆαααααα·αααααααα·,
Dell R730xd 2x αααααΆααα
αααα»αααααααααααα·αααααα Equinix Tier IV αα
ααΈαααα»α Amsterdam? αα
ααΈααα
ααααα: www.habr.com