what has soundcloud learnt about microservices
play

What has SoundCloud learnt about microservices? Phil Calado - PowerPoint PPT Presentation

What has SoundCloud learnt about microservices? Phil Calado SoundCloud >11 hours of audio uploaded every minute ~300 million people every month What we did in 2012-13 SoundCloud.com Sounds Social Activity & Sets Graph


  1. What has SoundCloud learnt about microservices? Phil Calçado SoundCloud

  2. >11 hours of audio uploaded every minute

  3. ~300 million people every month

  4. What we did in 2012-13

  5. SoundCloud.com

  6. Sounds ˝ Social Activity & Sets Graph Stream Premium ˝ Features Search API

  7. Sounds ˝ Social & Sets Graph Activity API Stream Premium ˝ Search Features

  8. api.soundcloud.com iOS Android Desktop Widget 3rd Party

  9. api-mobile api web api-partn iOS 3rd Party Android Desktop Widget

  10. More details http://bit.ly/dealing-with-the-monolith

  11. minimise #1 your fixed cost per app

  12. every new app answers What language? What build system? What I/O lib? How do we deploy? What do we monitor?

  13. typical agile project iteration 0 iteration 1 iteration 2 iteration 3 iteration 4 technical tasks user stories

  14. typical microservices project iteration 0 iteration 1 iteration 2 iteration 3 iteration 4

  15. You will have lots of microservices

  16. Consider having a “standard”, well- supported and documented stack

  17. outsource #2 as much as possible

  18. micro service x-ray app infrastructure

  19. Avoid building as much ˝ infrastructure as possible

  20. some good options

  21. Only infrastructure we need to build is the glue between the lib and our quirks

  22. Avoid having quirks

  23. acknowledge #3 the new complexity

  24. user track likes

  25. typical app user track likes unit test single process run inside an IDE

  26. microservice user track likes integration test multiple processes stubs and fakes

  27. must be easy to provision + +

  28. make #4 everything visible

  29. make interactions visible

  30. standardised dashboards

  31. wrap your #5 legacy with stranglers

  32. not exactly true api-mobile api web api-partn iOS 3rd Party Android Desktop Widget

  33. mothership still alive api web api-partn api.soundcloud.com iOS Android Desktop Widget 3rd Party

  34. api.soundcloud.com Client

  35. api.soundcloud.com strangler Client

  36. api.soundcloud.com strangler Client

  37. api.soundcloud.com strangler Client

  38. what changed changed since 2013?

  39. Stop babysitting ☑ Rails

  40. Enable & empower ☑ app devs

  41. “Experience based” ☒ api?

  42. What comes next?

  43. more devices

  44. IDL based RPC?

  45. ephemeral test environments

  46. phil calçado http://philcalcado.com˝ @pcalcado˝ www.soundcloud.com˝

Recommend


More recommend