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

Growing tech at a startup @ Pixels.camp 2016

Growing tech at a startup @ Pixels.camp 2016

Miguel Loureiro

October 08, 2016
Tweet

More Decks by Miguel Loureiro

Other Decks in Programming

Transcript

  1. Integrate “Legacy here” “Legacy there” “Not my fault, legacy” “Oh

    look, legacy!” “Legacy there” “LEGA“Legac y there” CY” “Legacy shit...” “Legacy there”
  2. Pre production 25 35 API ADMIN OPS 5 DEVS 3

    REPO 2 ENV 1 DB 0 DEPLOYS Teams attached to projects
  3. Pre production 25 35 API ADMIN OPS SHARED LIBRARY (GREAT!

    ) 5 DEVS 4 REPO 2 ENV 1 DB 0 DEPLOYS
  4. Staging 25 35 API ADMIN OPS SHARED LIBRARY (GREAT! )

    5 DEVS 4 REPO 3 ENV 2 DB 8 DEPLOYS
  5. Production and Staging 25 35 API DEMAND AUX ADMIN SUPPLY

    OPS SHARED LIBRARY ( HMMMM... ) 13 DEVS 9 REPO 4 ENV 2 DB 1 SE 44 DEPLOYS JOBS 2 JOBS 1
  6. Production and Staging 25 35 API DEMAND AUX ADMIN SUPPLY

    OPS SHARED LIBRARY ( HMMMM... ) 13 DEVS 9 REPO 4 ENV 3 DB 1 SE 46 DEPLOYS JOBS 2 JOBS 1 Reporting
  7. Production and Staging 25 35 API DEM AND AUX ADMIN

    SU PP LY OPS ROOT OF ALL EVIL! 20 DEVS 13 REPO 4 ENV 3 DB 1 SE 80+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy)
  8. Production and Staging 25 35 API DEM AND AUX ADMIN

    SU PP LY OPS ROOT OF ALL EVIL! 20 DEVS 13 REPO 4 ENV 3 DB 1 SE 80+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy) Leaked domain logic
  9. Production and Staging 25 35 API DEM AND AUX ADMIN

    SU PP LY OPS ROOT OF ALL EVIL! 20 DEVS 13 REPO 4 ENV 3 DB 1 SE 80+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy) Leaked domain logic Doesn’t scale anymore
  10. Production and Staging 25 35 API DEM AND AUX ADMIN

    SU PP LY OPS ROOT OF ALL EVIL! 20 DEVS 13 REPO 4 ENV 3 DB 1 SE 80+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy) Leaked domain logic Doesn’t scale anymore COUPLED ARCHITECTURE
  11. Production and Staging 25 35 API DEM AND AUX ADMIN

    SU PP LY OPS ROOT OF ALL EVIL! 20 DEVS 12 REPO 4 ENV 3 DB 1 SE 80+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy)
  12. “My general rule of thumb: don’t violate DRY within a

    microservice, but be relaxed about violating DRY across all services. The evils of too much coupling between services are far worse than the problems caused by code duplication”
  13. Production and Staging 25 35 API DEM AND AUX ADMIN

    SU PP LY OPS ROOT OF ALL EVIL! 20 DEVS 12 REPO 4 ENV 3 DB 1 SE 80+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy) SPLIT THIS
  14. We’ll use the bounded context provided by Domain Driven Design

    We just need to have separate delivery pipelines for each one (directory)
  15. Production and Staging 25 35 API DEM AND AUX ADMIN

    SU PP LY OPS ROOT OF ALL EVIL! 20 DEVS 17 REPO 4 ENV 3 DB 1 SE 120+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy) Auth Pricing calculator Search API Search Jobs
  16. Fully automated releases 1. Merge to master 2. Circle CI

    BUILDS docker image, TAGS it and PUSHES to a private docker registry.
  17. Fully automated releases 1. Merge to master 2. Circle CI

    BUILDS docker image, TAGS it and PUSHES to a private docker registry. 3. Update service with the new task definition
  18. Production and Staging 25 35 API DEM AND AUX ADMIN

    SU PP LY OPS ROOT OF ALL EVIL! 20 DEVS 17 REPO 4 ENV 3 DB 1 SE 120+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy) Auth Pricing calculator Search API Search Jobs
  19. Production and Staging 25 35 DEM AND AUX ADMIN SU

    PP LY OPS 20+ DEVS 40+ REPO 4 ENV 3 DB 1 SE 200+ DEPL.. Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy) Auth Pricing calculator Search API Search Jobs Offers Properties Communication ... Considering mono repo
  20. Team organization Squad A1 Squad B1 Squad C1 Squad C2

    Squad A2 Squad B2 Squad D1 Squad D2 25 35 DEM AND AUX ADMIN SU PP LY OPS Reporting JOBS 2 JOBS 1 AUX app SUPPLY app Mobile API (read proxy) Auth Pricing calculator Search API Search Jobs Offers Properties Communication ... Squad Small 3 devs Autonomous Motivated