PHPCon 2015 - The technical story of BlaBlaCar

PHPCon 2015 - The technical story of BlaBlaCar

Talk given with @odolbeau at the 2015 PHPCon in Poland

0bd054e9a591ec3afb355f5c2c899a23?s=128

Benjamin De Bernardi

November 14, 2015
Tweet

Transcript

  1. 1.
  2. 4.

    Leader ride-sharing service. Our goal is to become the 1st

    travel platform. 30€ 30€ 30€ 30€
  3. 11.
  4. 16.
  5. 17.
  6. 20.
  7. 21.

    V3

  8. 23.
  9. 24.
  10. 25.
  11. 27.
  12. 31.
  13. 32.
  14. 33.
  15. 34.
  16. 35.
  17. 39.

    Symfony Upgrades Started with SF2 2.0 Upgrade as soon as

    we can Remove deprecated code Follow best practices 2.0 → 2.7
  18. 40.

    Configuration 1 conf file for each country 100+ configuration keys

    Fallback on default Inheritance for localized websites Toggling of features
  19. 47.

    29 582 Commits There are “only” 15 506 commits for

    symfony/symfony There are “only” 10 228 commits for joyent/node There are “only” 9 266 commits for twbs/bootstrap There are 44 809 commits for rails/rails (but it’s ruby… #troll)
  20. 51.

    What else ? • Long learning curve • Too many

    side effects • Time consuming • Big maintenance • Spaghetti code
  21. 56.
  22. 58.

    The gateway ❖ It’s code ❖ It uses DDD ❖

    Everyone love it ❖ It’s very well organized ❖ There’s a lot of (very) strict rules ❖ It separates business logic & data access ❖ It’s a vendor ! Easy to use everywhere
  23. 60.
  24. 62.
  25. 66.

    Gateway The gateway • Flexible • Easy to test •

    Deployed when needed • Used for all new projects
  26. 68.

    Gateway V3 W W W W W C W C

    C C W Current ecosystem W • 90 workers • 40 commands
  27. 69.

    V3 W W W W W C W C C

    C W Future ecosystem? W Gateway Gateway Gateway
  28. 70.

    V3 W W W W W C W C C

    C W Future ecosystem? W B B B B B B D D D
  29. 71.

    We moved from an homemade framework to a monolith. We

    want to move from this monolith to microservices.
  30. 73.

    • Fail, learn, succeed! • Microservices FTW! • Be worldwide!

    Benjamin De Bernardi @Genes0r Olivier Dolbeau @odolbeau We’re hiring! In Paris & Warsaw! http://blbl.cr/dreamjobs