How Big Tech Ships Code to Production

Sdílet
Vložit
  • čas přidán 8. 11. 2023
  • Get a Free System Design PDF with 158 pages by subscribing to our weekly newsletter: bytebytego.ck.page/subscribe
    Animation tools: Adobe Illustrator and After Effects.
    Checkout our bestselling System Design Interview books:
    Volume 1: amzn.to/3Ou7gkd
    Volume 2: amzn.to/3HqGozy
    The digital version of System Design Interview books: bit.ly/3mlDSk9
    ABOUT US:
    Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.

Komentáře • 49

  • @alwinsebastian7499
    @alwinsebastian7499 Před 7 měsíci +46

    Often times convincing that a issue is fixed takes more time than actually fixing it.

  • @gekkogordon
    @gekkogordon Před 6 měsíci +10

    I'm an Agile project manager at a major financial institution, and it's incredible to witness our daily operations summarized in an impressive and efficient SDLC flow. Thank you!

  • @ApplyIT2021
    @ApplyIT2021 Před 7 měsíci +5

    Concise video with the required information for newbies in less than 5 minutes.

  • @prashantjain9988
    @prashantjain9988 Před 7 měsíci +5

    Quite close to what we do, just a small change, instead of deploying main/master to production, we create Release Branch with a cutoff of 1 week before rollout for UAT, stress testing and Marketing SignOff, then deploy that package.

  • @dushyantchaudhry4654
    @dushyantchaudhry4654 Před 7 měsíci

    every single word you said is gold!!! nothing extra said nothing missed out

  • @TheTacoReview
    @TheTacoReview Před 4 měsíci

    We automate our unit testing on PUSHes. So that PR only happens on tested code. We have automated functional tests and fuzzing on pre-prod code, before pushing to production. Good video!

  • @Fer_S.
    @Fer_S. Před 7 měsíci

    Great explanation!👏🏼👏🏼👏🏼
    Thanks Sahn 🎉

  • @rupeshsingh2203
    @rupeshsingh2203 Před 4 měsíci

    I learned so many concepts from you

  • @rupeshsingh2203
    @rupeshsingh2203 Před 4 měsíci

    Thanks Sir
    You are great explained very clear

  • @dasnohvit
    @dasnohvit Před 5 měsíci

    This is an excellent video to show AI-Advocates the real complexity of the software industry, especially as an answer to the new mainstream phrase "IA will replace developers".

  • @mohitamgaonkarmv
    @mohitamgaonkarmv Před 6 měsíci +1

    You are doing great work sahn lam.
    Most of the seniors in the IT field are not aware of this.

  • @quanghuy9854
    @quanghuy9854 Před 5 měsíci

    That's great, we are applying that as well.

  • @rafaelvschneider
    @rafaelvschneider Před 7 měsíci

    Nice video, well explained!

  • @STONEcreator999
    @STONEcreator999 Před 7 měsíci

    Nice work!!!

  • @AmeerHamza-cy6km
    @AmeerHamza-cy6km Před 6 měsíci

    thanks now i can change the color of button for our production site. thanks

  • @ziaurrezajoy
    @ziaurrezajoy Před 7 měsíci +1

    Thank you

  • @rizkiinsankamil1742
    @rizkiinsankamil1742 Před 7 měsíci

    well explained!

  • @ChadRStewart
    @ChadRStewart Před 7 měsíci +2

    Awesome video!
    Wanted to ask if you could make a video or newsletter issue about how a RFC / Design Document gets created and is used? Would really love to see how Big Tech works through this specific part of the process!

  • @raj_kundalia
    @raj_kundalia Před 7 měsíci

    thank you!

  • @tarikkranda
    @tarikkranda Před 7 měsíci +1

    Wondering if it is a typo in Release Step the environment labeled as "Development Environment" which is supposed to be "Production Environment"?

  • @TheRavageFang
    @TheRavageFang Před 7 měsíci +1

    In our case, merge to the main branch is only done after all the testing is done and all the tasks run on the PR branch first, only then it gets merged to the main branch, otherwise everything seems very familiar ✌😊

    • @sourandbitter3062
      @sourandbitter3062 Před 7 měsíci

      You have a staging environment for each branch? Or do you mean you have a ci pipeline?

    • @grustyn
      @grustyn Před 7 měsíci

      Same here, only merged to master when fully tested in QA env.

    • @grustyn
      @grustyn Před 7 měsíci

      ​@@sourandbitter3062In my case we use a CI pipeline with multiple instances. QA1, QA2, QA3 and so on.
      The QA Analyst pushes the branch to one of the nodes and test it isolated.

    • @jora5483
      @jora5483 Před 7 měsíci

      Is the main branch pushed to ci/cd pipeline? Do env variables reside in main?

  • @gdthegreat
    @gdthegreat Před 7 měsíci

    Title is changed 👍

  • @monarch.war2024
    @monarch.war2024 Před 7 měsíci

    How do we draw such maps ? What software do we use ?

  • @rossalexenderwilson
    @rossalexenderwilson Před 6 měsíci

    Great video, though at the bottom shouldn’t that say “Production environment” rather than “Dev environment”?

  • @joelmathew5655
    @joelmathew5655 Před 7 měsíci +1

    Should we merge to main branch before QA testing is done ? Also, do big tech companies follow a release cycle ? Also there should be multiple deployable environments in dev if they are following a release cycle

    • @Steelrat1994
      @Steelrat1994 Před 7 měsíci +3

      There is no single way or solution. Every company and sometimes even teams within a company do it their own way. Some follow release cycles, some ship code continuously. Some have development/testing/integration/preprod environments, while others might only have a testing environment for QA to check end to end functionality. There are different approaches to maintaining your git repos as well, he described a trunk based development, where everything gets merged into master(trunk). Some people might still follow git flow with its merging hells.

  • @Jevinrandhawa
    @Jevinrandhawa Před 7 měsíci

    Cool video

  • @InterfaceTrading
    @InterfaceTrading Před 6 měsíci

    That's nice, but can you make the logo bigger?

  • @FaintArt
    @FaintArt Před 7 měsíci

    I miss those long in depth videos..

  • @nigh7swimming
    @nigh7swimming Před 7 měsíci +2

    Don't use feature branches, use small self-contained incremental stories which can be tested and delivered using CI approach. This is more agile and gives early feedback and reduces chances of merge conflicts.

    • @user-dq7vo6dy7g
      @user-dq7vo6dy7g Před 7 měsíci

      I don't see how those techniques are exclusive?

    • @sonic1957
      @sonic1957 Před 7 měsíci

      Don't use feature branches if your solution is trivial.

    • @nigh7swimming
      @nigh7swimming Před 7 měsíci +1

      We tried both approaches on a large scale project and found feature branches cause more problems then small increments. When trunk is evolving fast it's hard to keep branches in sync and merge.

    • @user-dq7vo6dy7g
      @user-dq7vo6dy7g Před 7 měsíci

      @@nigh7swimming Above, you say "don't do this". Then you say you tried and "it didn't work for you".
      I don't see how you get from it didn't work for us to nobody should do it. Maybe there is even a skill issue involved.

    • @nigh7swimming
      @nigh7swimming Před 7 měsíci

      @@user-dq7vo6dy7g it didn't work for us, a big American corporation full of pros. But sure you know better, suit yourself. We tried and it didn't work is what I'm saying.

  • @mirzasohailhussain
    @mirzasohailhussain Před 7 měsíci

    What tools you use for presentation and animations? Anyone have idea?

  • @custard131
    @custard131 Před 7 měsíci +5

    whats this "testing" you talk of? :p

    • @TheForge47
      @TheForge47 Před 7 měsíci

      Overrated bs i guess 🤪

  • @sagancobra6402
    @sagancobra6402 Před 5 měsíci

    Funnily enough i knew one company that didn't do any sort of 'staging'. Code was directly deployed into prod.no CICD even configured. Literally uploading code to prod hosts. Insanity

  • @Tony-dp1rl
    @Tony-dp1rl Před 7 měsíci

    Jenkins .... urggghh