microservices spotify
play

Microservices @ Spotify Kevin Goldsmith VP Engineering - PowerPoint PPT Presentation

Microservices @ Spotify Kevin Goldsmith VP Engineering @kevingoldsmith Lets say I wanted to build a large application Some requirements Some requirements Mustscaletomillionsofusers Some requirements Mustscaletomillionsofusers


  1. Microservices @ Spotify Kevin Goldsmith VP Engineering @kevingoldsmith

  2. Let’s say I wanted to build a large application

  3. Some requirements

  4. Some requirements ‣ Mustscaletomillionsofusers

  5. Some requirements ‣ Mustscaletomillionsofusers ‣ Supportmultipleplatforms

  6. Some requirements ‣ Mustscaletomillionsofusers ‣ Supportmultipleplatforms ‣ Handlecomplexbusinessrules

  7. Some requirements ‣ Mustscaletomillionsofusers ‣ Supportmultipleplatforms ‣ Handlecomplexbusinessrules ‣ Competitiveinafastmovingmarket

  8. Some requirements ‣ Mustscaletomillionsofusers ‣ Supportmultipleplatforms ‣ Handlecomplexbusinessrules ‣ Competitiveinafastmovingmarket ‣ ReactQuickly

  9. Some requirements ‣ Mustscaletomillionsofusers ‣ Supportmultipleplatforms ‣ Handlecomplexbusinessrules ‣ Competitiveinafastmovingmarket ‣ ReactQuickly ‣ Out-innovate

  10. A product like this

  11. A product like this

  12. A product like this ‣ 75+ Million Monthly Active Users

  13. A product like this ‣ 75+ Million Monthly Active Users ‣ 58 Countries

  14. A product like this ‣ 75+ Million Monthly Active Users ‣ 58 Countries ‣ > 20,000 songs added per day

  15. A product like this ‣ 75+ Million Monthly Active Users ‣ 58 Countries ‣ > 20,000 songs added per day ‣ > 2B playlists

  16. A product like this ‣ 75+ Million Monthly Active Users ‣ 58 Countries ‣ > 20,000 songs added per day ‣ > 2B playlists ‣ Incredibly complex business rules

  17. A product like this ‣ 75+ Million Monthly Active Users ‣ 58 Countries ‣ > 20,000 songs added per day ‣ > 2B playlists ‣ Incredibly complex business rules ‣ Lots of competition

  18. A product like this ‣ 75+ Million Monthly Active Users ‣ 58 Countries ‣ > 20,000 songs added per day ‣ > 2B playlists ‣ Incredibly complex business rules ‣ Lots of competition

  19. A product like this ‣ 75+ Million Monthly Active Users ‣ 58 Countries ‣ > 20,000 songs added per day ‣ > 2B playlists ‣ Incredibly complex business rules ‣ Lots of competition

  20. How do you support these requirements while moving fast and innovating?

  21. Solution Autonomous full-stack teams

  22. Autonomous adjective au·ton·o·mous - \ ȯ - ˈ tä-n ə -m ə s\ (of a country or region) having the freedom to govern itself or control its own affairs. "the federation included sixteen autonomous republics" having the freedom to act independently. "school governors are legally autonomous" synonyms: self-governing, independent, sovereign, free, self-ruling, self- determining, autarchic; self-sufficient "an autonomous republic"

  23. Autonomous adjective au·ton·o·mous - \ ȯ - ˈ tä-n ə -m ə s\ (of a country or region) having the freedom to govern itself or control its own affairs. "the federation included sixteen autonomous republics" having the freedom to act independently. "school governors are legally autonomous" synonyms: self-governing, independent, sovereign, free, self-ruling, self-determining, autarchic; self-sufficient "an autonomous republic"

  24. Platform Platform Platform Platform Core Library Server Infrastructure

  25. Platform Platform Platform Platform Core Library Server Infrastructure

  26. Platform Platform Platform Platform Core Library Server Infrastructure

  27. Platform Platform Platform Platform Core Library Server Infrastructure

  28. Platform Platform Platform Platform Core Library Server Infrastructure

  29. Platform Platform Platform Platform Core Library Server Infrastructure

  30. Challenges

  31. Challenges Synchronization

  32. Challenges Client UX implementation Synchronization

  33. Challenges Client UX implementation depends on Synchronization

  34. Challenges Client UX implementation depends on Core Library Implementation Synchronization

  35. Challenges Client UX implementation depends on Core Library Implementation depends on Synchronization

  36. Challenges Client UX implementation depends on Core Library Implementation depends on Synchronization Server Implementation

  37. Challenges Client UX implementation depends on Core Library Implementation depends on Synchronization Server Implementation depends on

  38. Challenges Client UX implementation depends on Core Library Implementation depends on Synchronization Server Implementation depends on Infrastructure Implementation

  39. Platform Platform Platform Platform Core Library Server Infrastructure

  40. Platform Platform Platform Platform platforms Core Library Server Infrastructure

  41. Platform Platform Platform Platform platforms Feature Team Feature Team Feature Team Feature Team Feature Team Feature Team Core Library Server Infrastructure

  42. Platform Platform Platform Platform platforms Feature Team Feature Team Feature Team Feature Team Feature Team Feature Team Core Library Server Infrastructure

  43. Platform Platform Platform Platform platforms Feature Team Feature Team Feature Team Feature Team Feature Team Feature Team Core Library Server Infrastructure

  44. What this looks like at Spotify

  45. What this looks like at Spotify ‣ 90+ teams

  46. What this looks like at Spotify ‣ 90+ teams ‣ 600+ Developers

  47. What this looks like at Spotify ‣ 90+ teams ‣ 600+ Developers ‣ 5 Development offices

  48. What this looks like at Spotify ‣ 90+ teams ‣ 600+ Developers ‣ 5 Development offices ‣ 1 Product

  49. Full-stack autonomous teams Requires you to structure your application in loosely coupled parts

  50. Services

  51. Load Ballancer

  52. Microservices yay! Easier to scale based on real-world bottlenecks

  53. Microservices yay! Easier to test

  54. Microservices yay! Easier to deploy

  55. Microservices yay! Easier to monitor

  56. Microservices yay! Can be versioned independently

  57. Microservices yay! Are less susceptible to large failures

  58. Microservices boo! are harder to monitor

  59. Microservices boo! need good documentation / discovery tools

  60. Microservices boo! create increased latency

  61. What does this look like at Spotify?

  62. What does this look like at Spotify? ‣ 810 active services

  63. What does this look like at Spotify? ‣ 810 active services ‣ ~10 Systems per squad

  64. What does this look like at Spotify? ‣ 810 active services ‣ ~10 Systems per squad ‣ ~1.7 Systems per person with access to production servers

  65. What does this look like at Spotify? ‣ 810 active services ‣ ~10 Systems per squad ‣ ~1.7 Systems per person with access to production servers ‣ ~1.15 Systems per member of T echnology

  66. http:/ /spotify.github.io/apollo/

  67. Questions twitter: @kevingoldsmith (yes, we’re hiring)

Recommend


More recommend