Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Project Rubicon

Project Rubicon

Summary of 3 years of refactoring monolith application into microservices. Presentation contains key points in the history of the project and lessons learned.

7f1dfa02fd3771699d5bac40fc54a21c?s=128

Mateusz Gajewski

September 22, 2016
Tweet

Transcript

  1. 3 lata przekraczania Rubikonu Mateusz Gajewski, 
 Allegro Tech Meeting

    2016, Toruń
  2. Agenda - historia rewolucji technologicznej Allegro 2 • Czym był

    projekt Rubikon? • Jak wyglądała jego historia? • Czego się nauczyliśmy w trakcie? • I najważniejsze: czy “przekroczyliśmy Rubikon”?
  3. Disclaimer: w tej prezentacji nie będzie wszystkiego co się działo

    ;-)
  4. Cofnijmy się do przełomu 2012/2013 roku…

  5. Budujemy Now(sz)ą Platformę Agile, TDD, SOA w PHP, 100% Cloud

    5
  6. Manifest architektury 2.0 6

  7. 7

  8. 25.06.2013 - Kick-off i konstytucja Rubikonu 8

  9. Założenia Rubikonu Tworzymy: • wysokiej jakości, • usługi mikrousługi, •

    w architekturze rozproszonej, • w Javie, • deployowane 100% w chmurze, • z wykorzystaniem technologii open-source. 9
  10. Lipiec 2013 Nowa struktura organizacyjna 10

  11. Rubikon Extravaganza Offsite 11

  12. Kryteria sukcesu Rubikonu • nie ma Qeppo*, • mamy w

    firmie wymiataczy Javowych, • są usługi, • usługi mają mierniki, • development jest szybszy, • mamy continuous delivery, • nie ma drugiego Qeppo, • nadal zarabiamy 12 * kodowa nazwa starej platformy
  13. wrzesień 2013 ATM 13

  14. • Powstaje bootstrap usług w Javie ;) • Zalążek docelowej

    architektury (Service Discovery, Logger), • Szkolenia Java (JVM, Spring), • Pierwsze zespoły zaczynają pisać w Javie, • Rekrutacje programistów (mentorów) Java w Poznaniu i Warszawie, • Niektórzy stawiają własnego PaaSa w cloudzie ;) • Walki religijne (Guice vs Spring, Maven vs Gradle, Jetty vs Undertow) ;) Wydarzyło się w 2013 roku 14
  15. 2014

  16. Tworzenie nowej mikrousługi 16

  17. luty 2014 startuje projekt MaaS 17

  18. marzec 2014 startuje projekt BOOT 18

  19. marzec 2014 startuje projekt DaaS 19

  20. marzec 2014 startuje projekt Hermes 20

  21. marzec 2014 szkolenie Strategic DDD 21

  22. kwiecień 2014 startuje projekt DNSaaS 22

  23. maj 2014 Java 8 + Embedded Bootstrap 23

  24. maj 2014 startuje projekt VaaS 24

  25. czerwiec 2014 powstaje zespół TieFighter 25

  26. czerwiec 2014 powstaje Desired Architecture 26

  27. lipiec 2014 powstaje zespół Skylab 27

  28. sierpień 2014 uruchomienie DoIT 28

  29. sierpień 2014 start projektu Edge 29

  30. sierpień 2014 powstaje allegro.tech 30

  31. październik 2014 powstaje zespół SRE 31

  32. listopad 2014 powstaje zespół CKQ 32

  33. • pierwsze usługi stają się produkcyjne, • dalej budujemy elementy

    nowej architektury, • coraz więcej zespołów zaczyna programować w Javie, • nadal intensywnie rekrutujemy i uczymy się, • dzielimy się wiedzą na zewnątrz, opensourcujemy nasze rozwiązania, Wydarzyło się w 2014 roku 33
  34. 2015

  35. Luty 2015 Hiring Squad i biuro krakowskie 35

  36. marzec 2015 MIX/MI4/MRI 36

  37. marzec 2015 uruchomienie New Service 37

  38. luty - sierpień 2015 operacja Przekroczyć Rubikon 38

  39. sierpień 2015 nowa organizacja IT i produktu 39

  40. • Operacja Przekroczyć Rubikon, • Migracja do nowego Datacenter (DC5),

    • Nowa architektura dojrzewa i przechodzi audyt :) • Zaczynamy korzystać z danych (Data Science), • Powstają nowe produkty w oparciu o nową architekturę, • Zatrudniamy coraz lepszych ludzi, • Testujemy nowe rozwiązania (Mesos, Consul, Zipkin), • Powstają nowe usługi infrastrukturalne (LBaaS) Wydarzyło się w 2015 roku 40
  41. 2016

  42. Allegro App Engine 42

  43. Desired Architecture 43

  44. Czego się nauczyliśmy?

  45. musieliśmy popełnić wiele błędów 45

  46. zmiana architektury to żmudny proces uczenia się 46

  47. przekroczenie Rubikonu nie było wyłącznie rewolucją technologiczną 47

  48. stary monolit trzeba pokochać ;)
 bo za szybko nie zginie

    48
  49. automatyzacja i stabilność środowiska jest najważniejsza 49

  50. architektura mikrousługowa jest bardzo kosztowna 50

  51. Czy było warto? Oczywiście!

  52. 52 Czy przekroczyliśmy Rubikon? Zdecydowanie! • nie ma Qeppo ❓

    • mamy w firmie wymiataczy Javowych ✅ • są usługi ✅ • usługi mają mierniki ✅ • development jest szybszy ✅ • mamy continuous delivery ✅ • nie ma drugiego Qeppo ✅ • nadal zarabiamy ✅ 52
  53. Przekroczenie Rubikonu to wspólne dzieło 500 inżynierów budujących Allegro przez

    ostatnie 3 lata! Dało się! Dzięki :) 53