Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Application Networks:
Microservices at Netflix
May 2016
Uri Sarid
CTO – MuleSoft
Katharina Probst
Engineering Manager, API – Netflix
To survive and thrive, you need:
3
RobustnessAgilitySpeed
4
And do it all – at scale!
No business is safe from disruption
5
No business is safe from disruption
6
“52% of the Fortune 500
have been merged,
acquired, gone
bankrupt or fallen off
the ...
But some survive and thrive
7
McDonalds: just a fast-food chain?
a digital restaurant platform
for
innovation and executio...
What are they doing right?
8
on what: better apparel? price and selection?
Under Armour is
“building the biggest connected...
They are composable, built for change
9
an immersive content platform
automotive software innovation platform
parcels and ...
Remember why an application network
10
A seamless network of applications that…
… is organized around focused,
well-define...
11
Microservices
towards
microservices
12
The 2 pillars of microservices
API
excellence
devops
excellence
The 2 pillars of microservices
• API excellence
- Define atomic service boundaries
- Design for purpose – know service com...
Services at Netflix
Self-contained functionality exposes an API
Always owned by a team
Many teams own more than one servic...
….
System overview
Zuul
(gateway)
API
Personali-
zation
User
info
EVCache Ratings A/B
Services interactions (simplified)
1 2
4 5 6 7?
Zuul
(gateway)
Geo
API
User Info A/B EVCache
Recommen-
dations
3
Lifecycle of a service
Services scale independently
Services scale up/down with
traffic
Changes in traffic patterns
don’t affect services equally
Services evolve independently
Independent release cycles
Some services change more
frequently than others
Embedding service
EVCache
service
EVCache
client lib
Services provide client libraries
Client library as canonical way
to ...
Lifecycle of API service
Daily dependency updates
Daily canaries
Daily pushes:
((new code ||
new dependency updates)
&& ca...
Spinnaker for CI, CD, and more
Spinnaker for CI, CD, and more
Operations: engineers are responsible for:
Code pushes
Metrics, alerts, monitoring
Choosing the right tooling
for whatever...
Atlas for telemetry
Mantis for real-time analysis
How to create a new service - paved path
Teams want to build
business logic, not an RPC
mechanism
A central team can provi...
28
Lessons from microservices at scale
Smart enablement:
• Templatize services
• Templatize process
• Reuse: patterns
• Re...
Planning for failure in a complex system
Zuul API Downstream
services
Testing for different failure conditions
Chaos monkey
Chaos Kong
FIT
Protect against failure: Hystrix
….
API
Personali-
zation
User
info
EVCache Ratings A/B
Hystrix
….
API
Personali-
zation
User
info
EVCache Ratings A/B
Don’t let this
happen.
Hystrix
….
API
Personali-
zation
User
info
EVCache Ratings A/B
Instead, don’t send
more traffic to
unhealthy service.
Hystrix
….
API
Personalization
fallback
User
info
EVCache Ratings A/B
Serve fallbacks
instead.
Hystrix
….
API
Personali-
zation
User
info
EVCache Ratings A/B
Return to normal
when service is
back up.
36
Microservices for you?
API
excellence
devops
excellence
an immersive content platform
• SDLC
• Connectivity
• Bridges
•...
Thank you
Upcoming SlideShare
Loading in …5
×

Application Networks: Microservices and APIs at Netflix

8,411 views

Published on

Who better to talk about microservices — one of the hottest technology trends for 2016 — than Netflix? This streaming-entertainment giant began adopting them in 2009, years before the exact term even existed. Join MuleSoft and Netflix as they co-present the value that a microservices architecture can bring to your business, and see first hand the real-world implementation of APIs at Netflix. Then learn from MuleSoft’s CTO how APIs and DevOps are two important pillars of microservices and discover how they can become part of your application network.

Published in: Software

Application Networks: Microservices and APIs at Netflix

  1. 1. Application Networks: Microservices at Netflix May 2016
  2. 2. Uri Sarid CTO – MuleSoft Katharina Probst Engineering Manager, API – Netflix
  3. 3. To survive and thrive, you need: 3 RobustnessAgilitySpeed
  4. 4. 4 And do it all – at scale!
  5. 5. No business is safe from disruption 5
  6. 6. No business is safe from disruption 6 “52% of the Fortune 500 have been merged, acquired, gone bankrupt or fallen off the list since 2000.” – R. Ray Wang, Principal Analyst, Constellation Research
  7. 7. But some survive and thrive 7 McDonalds: just a fast-food chain? a digital restaurant platform for innovation and execution agility
  8. 8. What are they doing right? 8 on what: better apparel? price and selection? Under Armour is “building the biggest connected fitness platform in the world” competes with
  9. 9. They are composable, built for change 9 an immersive content platform automotive software innovation platform parcels and logistics API-first business retail enterprise data fabric network as a service
  10. 10. Remember why an application network 10 A seamless network of applications that… … is organized around focused, well-defined units of value … is recomposable … emerges bottoms-up via self-service … where visibility, security and govern-ability are built in … where connectivity and reuse are top-level concerns … bends, not breaks … where each node adds value to the whole network … where the business regains control of its future
  11. 11. 11 Microservices towards microservices
  12. 12. 12 The 2 pillars of microservices API excellence devops excellence
  13. 13. The 2 pillars of microservices • API excellence - Define atomic service boundaries - Design for purpose – know service commitment - Dependencies well-defined and managed - API lifecycle • Devops excellence - Standardize containers and meta-services (services for your services) - Automate promotion, testing, provisioning, deployment, security, … - Design for resilience and operatability 13
  14. 14. Services at Netflix Self-contained functionality exposes an API Always owned by a team Many teams own more than one service Operated by owner team Self-contained functionality exposes an API Always owned by a team Many teams own more than one service Operated by owner team
  15. 15. …. System overview Zuul (gateway) API Personali- zation User info EVCache Ratings A/B
  16. 16. Services interactions (simplified) 1 2 4 5 6 7? Zuul (gateway) Geo API User Info A/B EVCache Recommen- dations 3
  17. 17. Lifecycle of a service
  18. 18. Services scale independently Services scale up/down with traffic Changes in traffic patterns don’t affect services equally
  19. 19. Services evolve independently Independent release cycles Some services change more frequently than others
  20. 20. Embedding service EVCache service EVCache client lib Services provide client libraries Client library as canonical way to interact with service Service owner defines API
  21. 21. Lifecycle of API service Daily dependency updates Daily canaries Daily pushes: ((new code || new dependency updates) && canaries pass)
  22. 22. Spinnaker for CI, CD, and more
  23. 23. Spinnaker for CI, CD, and more
  24. 24. Operations: engineers are responsible for: Code pushes Metrics, alerts, monitoring Choosing the right tooling for whatever operational insight you need
  25. 25. Atlas for telemetry
  26. 26. Mantis for real-time analysis
  27. 27. How to create a new service - paved path Teams want to build business logic, not an RPC mechanism A central team can provide a paved path (template)
  28. 28. 28 Lessons from microservices at scale Smart enablement: • Templatize services • Templatize process • Reuse: patterns • Reuse: services • Provide expertise Smart operations: • Automated++ • Fail fast & learn • Design for failure • Disrupt yourself • Bend vs break Smart containers: • Built-in governance • Built-in meta-svcs • Setup for SDLC • Fungible • Understood by ops
  29. 29. Planning for failure in a complex system Zuul API Downstream services
  30. 30. Testing for different failure conditions Chaos monkey Chaos Kong FIT
  31. 31. Protect against failure: Hystrix …. API Personali- zation User info EVCache Ratings A/B
  32. 32. Hystrix …. API Personali- zation User info EVCache Ratings A/B Don’t let this happen.
  33. 33. Hystrix …. API Personali- zation User info EVCache Ratings A/B Instead, don’t send more traffic to unhealthy service.
  34. 34. Hystrix …. API Personalization fallback User info EVCache Ratings A/B Serve fallbacks instead.
  35. 35. Hystrix …. API Personali- zation User info EVCache Ratings A/B Return to normal when service is back up.
  36. 36. 36 Microservices for you? API excellence devops excellence an immersive content platform • SDLC • Connectivity • Bridges • Paved path • Automation • Tools for failure, compensation, visibility, and recovery • … • Culture & mindset • Training • Devops • Buy-in from bottom • Buy-in from top • Bridges • Team ownership – to what degree? • …
  37. 37. Thank you

×