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.

of

Evolutionary  Architecture at Work Slide 1 Evolutionary  Architecture at Work Slide 2 Evolutionary  Architecture at Work Slide 3 Evolutionary  Architecture at Work Slide 4 Evolutionary  Architecture at Work Slide 5 Evolutionary  Architecture at Work Slide 6 Evolutionary  Architecture at Work Slide 7 Evolutionary  Architecture at Work Slide 8 Evolutionary  Architecture at Work Slide 9 Evolutionary  Architecture at Work Slide 10 Evolutionary  Architecture at Work Slide 11 Evolutionary  Architecture at Work Slide 12 Evolutionary  Architecture at Work Slide 13 Evolutionary  Architecture at Work Slide 14 Evolutionary  Architecture at Work Slide 15 Evolutionary  Architecture at Work Slide 16 Evolutionary  Architecture at Work Slide 17 Evolutionary  Architecture at Work Slide 18 Evolutionary  Architecture at Work Slide 19 Evolutionary  Architecture at Work Slide 20 Evolutionary  Architecture at Work Slide 21 Evolutionary  Architecture at Work Slide 22 Evolutionary  Architecture at Work Slide 23 Evolutionary  Architecture at Work Slide 24 Evolutionary  Architecture at Work Slide 25 Evolutionary  Architecture at Work Slide 26 Evolutionary  Architecture at Work Slide 27 Evolutionary  Architecture at Work Slide 28 Evolutionary  Architecture at Work Slide 29 Evolutionary  Architecture at Work Slide 30 Evolutionary  Architecture at Work Slide 31 Evolutionary  Architecture at Work Slide 32 Evolutionary  Architecture at Work Slide 33 Evolutionary  Architecture at Work Slide 34 Evolutionary  Architecture at Work Slide 35 Evolutionary  Architecture at Work Slide 36 Evolutionary  Architecture at Work Slide 37 Evolutionary  Architecture at Work Slide 38 Evolutionary  Architecture at Work Slide 39 Evolutionary  Architecture at Work Slide 40 Evolutionary  Architecture at Work Slide 41 Evolutionary  Architecture at Work Slide 42 Evolutionary  Architecture at Work Slide 43 Evolutionary  Architecture at Work Slide 44 Evolutionary  Architecture at Work Slide 45 Evolutionary  Architecture at Work Slide 46 Evolutionary  Architecture at Work Slide 47 Evolutionary  Architecture at Work Slide 48 Evolutionary  Architecture at Work Slide 49 Evolutionary  Architecture at Work Slide 50 Evolutionary  Architecture at Work Slide 51 Evolutionary  Architecture at Work Slide 52 Evolutionary  Architecture at Work Slide 53 Evolutionary  Architecture at Work Slide 54 Evolutionary  Architecture at Work Slide 55 Evolutionary  Architecture at Work Slide 56 Evolutionary  Architecture at Work Slide 57 Evolutionary  Architecture at Work Slide 58 Evolutionary  Architecture at Work Slide 59 Evolutionary  Architecture at Work Slide 60 Evolutionary  Architecture at Work Slide 61 Evolutionary  Architecture at Work Slide 62 Evolutionary  Architecture at Work Slide 63 Evolutionary  Architecture at Work Slide 64 Evolutionary  Architecture at Work Slide 65 Evolutionary  Architecture at Work Slide 66
Upcoming SlideShare
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Next
Download to read offline and view in fullscreen.

13 Likes

Share

Download to read offline

Evolutionary Architecture at Work

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Evolutionary Architecture at Work

  1. 1. Monday, April 22, 13
  2. 2. Evolutionary Architecture at Work phil calçado @pcalcado http://philcalcado.com Monday, April 22, 13
  3. 3. 2011: Phil decides to move to Berlin Monday, April 22, 13
  4. 4. Monday, April 22, 13
  5. 5. Monday, April 22, 13
  6. 6. Monday, April 22, 13
  7. 7. ~ 180 million users / month > 10 hours of audio uploaded every minute Monday, April 22, 13
  8. 8. Organisation challenges Monday, April 22, 13
  9. 9. SoundCloud was born on Rails It allowed us to iterate real fast and keep code quality up(-ish). Monday, April 22, 13
  10. 10. Controller ActiveRecord Model Database Rails is simple. Monday, April 22, 13
  11. 11. Controller ActiveRecord Model Database Rails is simple. But it leads you to monoliths SoundCloud .com Monday, April 22, 13
  12. 12. Conway’s Law kicks in Monolithic applications lead to monolithic teams Controller ActiveRecord Model Database SoundCloud .com ? Monday, April 22, 13
  13. 13. Big teams == overhead Who is doing what? Monday, April 22, 13
  14. 14. Big teams == overhead Stand-ups become the main communication channel Monday, April 22, 13
  15. 15. Big teams == overhead Massive backlog requires constant grooming and management Monday, April 22, 13
  16. 16. Big teams == overhead In the end you’ll need a full time “Iteration Manager” Monday, April 22, 13
  17. 17. technical challenges Monday, April 22, 13
  18. 18. There is one system SoundCloud .com Monday, April 22, 13
  19. 19. There is one system not really. Sounds & Sets Social Graph Premium Features Search Activity Stream ... Monday, April 22, 13
  20. 20. Multiple subsystems Ruby/Rails are a horrible Golden Hammers Monday, April 22, 13
  21. 21. Multiple subsystems The stability of the system is pretty much the same as the less stable subsystem’s Monday, April 22, 13
  22. 22. We need to split Monday, April 22, 13
  23. 23. Controller ActiveRecord Model Database SoundCloud .com ? Monday, April 22, 13
  24. 24. Sounds & Sets Social Graph? Premium Features Monday, April 22, 13
  25. 25. How? Have an enterprise Architect? Monday, April 22, 13
  26. 26. How? Create an architecture Steering Group? Monday, April 22, 13
  27. 27. What about Everyone is an architect? Monday, April 22, 13
  28. 28. Enabling the teams Monday, April 22, 13
  29. 29. Step 1) Stabilise the legacy app Monday, April 22, 13
  30. 30. Idiomatic Rails is funny Monday, April 22, 13
  31. 31. Understanding the Rails mindset: http://bit.ly/not-a-virtue Monday, April 22, 13
  32. 32. Understanding the Rails mindset: i do not think it means what you think it means http://bit.ly/not-a-virtue Monday, April 22, 13
  33. 33. Stopgap Solution Monday, April 22, 13
  34. 34. Stopgap Solution Monday, April 22, 13
  35. 35. Stopgap Solution (A lot like java circa 2005) Monday, April 22, 13
  36. 36. Step 2) Create a common protocol Monday, April 22, 13
  37. 37. Sounds & Sets Social Graph Premium Features Search Activity Stream ... Monday, April 22, 13
  38. 38. Sounds & Sets Social Graph Premium Features Search Activity Stream ... Ruby Clojure Go Haskell Scala Ruby Monday, April 22, 13
  39. 39. We want to try things before making a call Monday, April 22, 13
  40. 40. Don’t publish rules, publish guidelines Monday, April 22, 13
  41. 41. Step 3) Minimise non-technical overhead Monday, April 22, 13
  42. 42. Social Graph? Monday, April 22, 13
  43. 43. Step 4) Minimise technical overhead Monday, April 22, 13
  44. 44. Pushing a micro-service to production should be easy Monday, April 22, 13
  45. 45. Monday, April 22, 13
  46. 46. Monday, April 22, 13
  47. 47. Monday, April 22, 13
  48. 48. Monday, April 22, 13
  49. 49. People solving the same problems over and over Monday, April 22, 13
  50. 50. Monday, April 22, 13
  51. 51. (with the same code...) Monday, April 22, 13
  52. 52. Monday, April 22, 13
  53. 53. Monday, April 22, 13
  54. 54. Current status Monday, April 22, 13
  55. 55. About 6 application teams, 3 engineers + 1 product person Monday, April 22, 13
  56. 56. Micro-services in Clojure, Scala and (J)Ruby Monday, April 22, 13
  57. 57. Pull Request lead time reduced from 3 to 1 week Monday, April 22, 13
  58. 58. Still afraid of deleting old code Monday, April 22, 13
  59. 59. We have “black hole” teams Monday, April 22, 13
  60. 60. There is a lot of infrastructure to build Monday, April 22, 13
  61. 61. In 4 slides Monday, April 22, 13
  62. 62. Step 1) Stabilise the legacy app Don’t stop the world, but don’t let the code base deteriorate even more Monday, April 22, 13
  63. 63. Step 2) Create a common protocol Guidelines and examples, not rules Monday, April 22, 13
  64. 64. Minimise non-technical overhead Small teams don’t need... a lot Monday, April 22, 13
  65. 65. Step 4) Minimise technical overhead Only try to re-use after you use Monday, April 22, 13
  66. 66. phil calçado http://philcalcado.com @pcalcado www.soundcloud.com Monday, April 22, 13
  • jakarta99

    Aug. 11, 2017
  • mihamrah

    Nov. 29, 2014
  • JpEspinosa

    Jul. 2, 2013
  • lfalmeida

    May. 27, 2013
  • garuhenr

    May. 7, 2013
  • rodrigoy

    May. 7, 2013
  • TakeshiWatanabe2

    Apr. 28, 2013
  • gnouhra1

    Apr. 24, 2013
  • vivianegribeiro

    Apr. 24, 2013
  • PavelDemyanenko

    Apr. 24, 2013
  • hlmerscher

    Apr. 23, 2013
  • rash360

    Apr. 23, 2013
  • zlatkoc

    Apr. 23, 2013

Views

Total views

3,789

On Slideshare

0

From embeds

0

Number of embeds

371

Actions

Downloads

74

Shares

0

Comments

0

Likes

13

×