Top 5 Most-Used Deployment Strategies

  Рет қаралды 231,123

ByteByteGo

ByteByteGo

11 ай бұрын

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.

Пікірлер: 119
@JohnS-er7jh
@JohnS-er7jh 9 ай бұрын
This guys infographics are thest BEST I have seen. It just makes it easier to follow/understand. Great videos.
@KuopassaTv
@KuopassaTv 11 ай бұрын
I just upload files, works fine half the time
@DemPilafian
@DemPilafian 11 ай бұрын
_I don't always test my code, but when I do, I do it in production._
@kmchow4971
@kmchow4971 11 ай бұрын
best testing environment, production.
@meelooxavier6502
@meelooxavier6502 11 ай бұрын
50% of the time it works every time
@SiebenarmigerKrake
@SiebenarmigerKrake 11 ай бұрын
I wish these times back...
@notanomba4598
@notanomba4598 10 ай бұрын
@@DemPilafian Let the users test the code lol
@BornaLoncaric3
@BornaLoncaric3 8 ай бұрын
By far the best video explaining the deployment strategies clearly, presenting them well visually and straight to the point explanations. Thank you!
@godwineffiong5164
@godwineffiong5164 10 ай бұрын
I wish I can like this video more than once. The use of diagrams makes the understanding so much easy. Thanks a lot
@jimmyexx
@jimmyexx 11 ай бұрын
Thank you for this video ! very helpful explanation! We use rolling upgrade + canary deployment strategy.
@ah64Dcoming4U
@ah64Dcoming4U 9 ай бұрын
Excellent. Hope to see a dark deploy video soon as well 🙏 if one doesn't already exist. Compliments to the chef, another high quality presentation that is clear and articulate 💯
@cesarp6761
@cesarp6761 10 ай бұрын
Your videos are supreme!! Well done, to the point.. just perfect.. one way to make it better.. as you always talk about different topics.. for example here.. 5 deployment strategies.. put. In the lower left portion of the presentation the current strategy you are talking about.. and so for each topic you cover.. so that everybody know what item you are currently talking about. Cheers!
@jacques42
@jacques42 3 ай бұрын
00:31 🔄 *Big Bang Deployment involves pushing all changes at once, causing short downtime; careful preparation and testing are crucial, with rollback as an option.* 01:34 🏃‍♂️ *Rolling Deployment updates different server parts incrementally, preventing downtime and allowing early issue detection; however, it's slower and lacks targeted rollouts.* 03:32 🔄🔵 *Blue-Green Deployment uses two identical environments; one serves live version while the other tests new version; seamless transitions and rollbacks, but resource-intensive.* 05:59 🐦 *Canary Deployment tests new version on a small subset (canaries) before full-scale rollout, offering safety net, control, and targeted rollouts; requires careful monitoring.* 07:57 🎚️ *Feature Toggle manages specific new features within an application; allows turning features on or off for certain users, offering control, A/B testing, but needs careful management.*
@devilhorrible6715
@devilhorrible6715 Ай бұрын
How you are splitting the time???
@anibeto7
@anibeto7 2 күн бұрын
​@@devilhorrible6715 You can simply give the timestamp of the video and it will automatically link it with the respective timestamp on the video.
@anibeto7
@anibeto7 2 күн бұрын
What is A/B testing?
@willzou641
@willzou641 11 ай бұрын
nice video. I worked in different companies and met all of these deployment strategies. Good for me to have a theory summary.
@cassianocominetti7784
@cassianocominetti7784 Ай бұрын
Best video on deployment strategies! Thank you!!!
@syedahmad5655
@syedahmad5655 3 ай бұрын
Thanks - awesome video and excellent explanation.... the visuals together with the detailed explanation is just awesome! Thanks so very much.
@austintoddj
@austintoddj 10 ай бұрын
Really insightful content, keep up the good work!
@bigbyte74
@bigbyte74 11 ай бұрын
A nice demostration, very cleand and understandable, it would be heplful if the slides had the name of strategy being shown. Thank you very much for your work.
@ravbhuva
@ravbhuva Ай бұрын
I watched several videos and it was a great help to my interviews for Cyber Security. I hope that in the future you come up with something with Cyber Security. I will definitely purchase your books when I secure a Job in Cyber Security.
@bluzter
@bluzter 11 ай бұрын
We send an email to users to refresh their webpages everytime we deploy 💀
@amjedbouhouch7993
@amjedbouhouch7993 11 ай бұрын
Haha
@nurdauletturar
@nurdauletturar 11 ай бұрын
Why not check if an update is available via background checks in FE and advise an update via some alert?
@bluzter
@bluzter 11 ай бұрын
@@nurdauletturar bruh
@tedchirvasiu
@tedchirvasiu 11 ай бұрын
@@nurdauletturar Increased traffic.
@NK-iw6rq
@NK-iw6rq 11 ай бұрын
Another excellent video from ByteByte !
@abesito9680
@abesito9680 11 ай бұрын
Very useful. Thanks so much for your work.
@alibahrami6810
@alibahrami6810 10 ай бұрын
nice, simple and steady!
@thomas-sinkala
@thomas-sinkala 10 ай бұрын
I love the amazing animations, what software do you use to make the video?
@kseniiaefremova4696
@kseniiaefremova4696 Ай бұрын
Thank you! Very useful!❤
@MAtukulis
@MAtukulis 11 ай бұрын
A combination of rolling deployment, canary deployment and feature toggles with good database design practices allow to maintain high service availability. Great video!
@32zim32
@32zim32 11 ай бұрын
Yeah and usually requires separate team of qualified devops guys who knows what they are doing
@mikolajgrzaslewicz
@mikolajgrzaslewicz 10 ай бұрын
​@@32zim32even better when every single developer is aware of the deployment process. And definition of done is not a passing unit test and git commit, but process running healthy on production
@32zim32
@32zim32 10 ай бұрын
@@mikolajgrzaslewicz so why we need devops in this scenario? Just to setup tools?
@32zim32
@32zim32 10 ай бұрын
I mean if developer is Responsible for process running healthy in production, it Must have all access rights to production. Database, files, whatever. It should be very easy for developer to verify the definition of done criteria
@mikolajgrzaslewicz
@mikolajgrzaslewicz 10 ай бұрын
@@32zim32 In the project I'm mentioning, there were no devops. Every developer was also doing devops job. And it worked like a charm for many years, thousands of releases and for newcomers too. The mindset shift - done = my code is running on production and service is healthy, had great value. That forced developers to think more carefully about what they're doing
@prashantkaddam
@prashantkaddam 9 ай бұрын
On small input on the video when ever you are explaining one strategy the name of the same strategy should be visible above diagram so that if at all some one jump the video still feels connected with what ever is visible on screen
@Martinit0
@Martinit0 10 ай бұрын
Probably worth noting that each feature on/off toggle doubles the test requirement (if you need to test all combinations of features). So that explodes really quickly if toggles are not removed relatively quickly.
@ferdinand.keller
@ferdinand.keller 6 ай бұрын
Yes. I am not a big fan of feature toggle for that reason. My take on it is too much complexity for not enough benefits. Code hygiene is really important, and after a few months your codebase becomes messy, which slows down development.
@abhijit-sarkar
@abhijit-sarkar 5 ай бұрын
Don't be surprised to see a comment /* Remove this when feature X moves out of Beta */ 3 years after feature X has been deprecated.
@ferdinand.keller
@ferdinand.keller 5 ай бұрын
@@abhijit-sarkar exactly !! We often have clients saying « can you do this for us ». When we do, we just propagate it to every other environment. Trying to keep an up-to-date sheet about which environment has which feature enabled is a nightmare, and I’m not even talking about remembering it.
@abhijit-sarkar
@abhijit-sarkar 5 ай бұрын
​@@ferdinand.keller I wasn't talking about environment-specific features, which no one should be doing. I was talking about features that are introduced as preview/beta to test the water, and if those prove successful, become mainstream features. Another practical reason for feature toggle is backward compatibility, where you give the clients some time to upgrade. Of course, most companies will bend over backwards for big clients with fat wallets, and will keep feature toggles 10 years old.
@velious2121
@velious2121 4 күн бұрын
Great video. It sounds like no matter what strategy, it’s going to be complex and expensive, however.
@poojahakke5462
@poojahakke5462 8 ай бұрын
Great video!
@ultimateagg
@ultimateagg 5 ай бұрын
Super helpful video. How you creating such unique diagrams and animations?
@DJenriqez
@DJenriqez 2 ай бұрын
This channel is knowledge treasure for people moving from average developer to pro. You should write book about all things you have here.
@wyc2462
@wyc2462 10 ай бұрын
Hello Guys. Thanks for this important video! Super Thanks. May I ask? What kind of software makes such smooth and beautiful slides?? Does any one know about this?? Thanks! Guy!!
@CH-en9rv
@CH-en9rv 2 күн бұрын
We use big bang and it has worked reasonably well. The best for us would be blue-green, and then adding feature toggle. Blue green would also help isolate our engineering testing because right now our UAT environment is shared by many groups and there can be resource contention at times. The main reason we don't do blue green is cost. It would be extremely expensive to add a duplicate production environment.
@vvk1547
@vvk1547 11 ай бұрын
I wish the video talked a little more about the complexities associated with having multiple versions of your application up at the same time; how new features and database migrations have to be implemented in a certain way to accommodate the deployment strategy...
@DemPilafian
@DemPilafian 11 ай бұрын
10 minutes / 5 strategies = 120 seconds per strategy
@arithex
@arithex 11 ай бұрын
Agree, these would be great topics for followup / deep-dive videos. - emergency rollback to last-known-good - how to "stripe" a rolling-update across cloud AZs (availability zones) - setting up special alarms to trigger automated-rollback (rolling, canary, blue/green) - rolling out DB schema changes, and backfills .. managing changes to stored-procs - how deal with the possibility of cache-fighting (ie. old code vs new code putting different-shaped data into a shared cache instance) .. or other problems that can arise from having new- and old-code running side by side for a period of time
@abhijit-sarkar
@abhijit-sarkar 5 ай бұрын
@@DemPilafian 2 minutes/strategy doesn't mean it's useful, only means you don't get more for free.
@DemPilafian
@DemPilafian 5 ай бұрын
@@abhijit-sarkar These videos are definitely useful. However, you're not going to get PhD level knowledge in 120 seconds.
@Geekgaucho
@Geekgaucho 11 ай бұрын
We use a modified “blue / green” works well for our purposes !
@Man-lg7vm
@Man-lg7vm 10 ай бұрын
i use vercel. Thank you
@VaibhavPatil-rx7pc
@VaibhavPatil-rx7pc 9 ай бұрын
Excellent
@thecoderfromabove4176
@thecoderfromabove4176 9 ай бұрын
Uou can use in memory data bases as main database as well
@anthonyagah5154
@anthonyagah5154 11 ай бұрын
I have used feature toogle. Works best!!!
@olivierhiers4224
@olivierhiers4224 10 ай бұрын
anyone knows what platform they use for the graphic support ? (animation and so, very clean)
@vasanthbloginfo
@vasanthbloginfo 11 ай бұрын
We are using a blue green deployment model for our bigdata project in prod
@VincentJenks
@VincentJenks 8 ай бұрын
In a smooth CI/CD setup, I find feature toggling via feature flags, the safest and easiest way to go. The smaller the feature, the better. He’s right though - if you’re not diligent about deleting old flags, code, tests, etc, your tech debt will pile up. Something teams generally need to work hard to prevent, regardless.
@eskuAdradit0
@eskuAdradit0 6 ай бұрын
That's a very good idea, actually.
@AlokSharma007
@AlokSharma007 11 ай бұрын
What tools do you use to make such nice motion diagrams????
@SouKube
@SouKube 9 ай бұрын
Have been enjoying your slides whenever I take a look at them. Great slides and much greater topics!! Would be interested to know what you use to make them or how you do it. Do you have a video already. Another thing, what do you think if you added a sub-heading of which item you are discussing. It keeps the audience on track and not loose which item you are discussing. Keep it up!!!
@adderek
@adderek 11 ай бұрын
You have missed a deployment where a parallel (usually smaller with a canary) env is running and we compare result from A and B. If both are giving same result on prod - we can proceed. It is more about testing of the canary. It also requires a system that allows pure code (any direct writes to any DB must be mitigated using some abstraction/mock).
@algernon69
@algernon69 11 ай бұрын
Isn't it the blue/green deployment?
@adderek
@adderek 11 ай бұрын
@@algernon69 Not if both are processing exactly same requests. Your edge proxies same request to 2 hosts (one old version, one new version). Both produce some result (old is considered correct, new might give different output). You run this for some subset of requests comparing data internally. This is an extra hardware (like with blue/green) but result of second is discarded (we only search for different results).
@DunkleDichtungCreepypasta
@DunkleDichtungCreepypasta 7 ай бұрын
Great!
@malaka123456
@malaka123456 10 ай бұрын
Thanks!
@frozencanuck3521
@frozencanuck3521 11 ай бұрын
“Toggle debt” - haha great term! Something I’ve certainly experienced.
@nothingnothing4388
@nothingnothing4388 5 ай бұрын
you are life saver
@budi0580
@budi0580 11 ай бұрын
What if we use kubernetes ? By default the deployment of replicas are rolling, right?
@pulkitgupta3477
@pulkitgupta3477 8 ай бұрын
feature toggle strategy is very hectic. It is being used in my project, testing is other thing but with increase in number of toggles it becomes very very complex to keep track of feature changes
@VincentJenks
@VincentJenks 8 ай бұрын
Yeah, gotta get the smallest bits possible, into production s as quickly as possible, and clean up on your next pass.
@nithish9782
@nithish9782 11 ай бұрын
What does AWS use? Serveless, EBS? Which model they use?
@CreachterZ
@CreachterZ 4 ай бұрын
So how do you do incremental if there are backend changes such as those in the database?
@goldenpiece7087
@goldenpiece7087 11 ай бұрын
I don't deploy myself but my team used to use Big Bang strategy I guess. They start deploying at 1 A.M. hoping to finish until morning.
@meelooxavier6502
@meelooxavier6502 11 ай бұрын
Sometimes this is the best strategy. Years ago I used to do BigBang at 1 or 2AM on the day of the week that statistically had the lowest number of online users. The problem comes when you need to rollback for urgent issues that were not found / missed during the post-deployment steps, cause you have to do it ASAP and that translates to downtime at a time that most likely is NOT a low traffic one. And if the users are unhappy because of the downtime, you can be really screwed
@Duedme
@Duedme 7 ай бұрын
How is it called if I only uploaded the main code to a Lambda serverless function?
@jenroot7875
@jenroot7875 2 ай бұрын
How are databases changes handled with Rolling Deployment?
@rahulvashishth7635
@rahulvashishth7635 10 ай бұрын
Do your books contain a similar style or the same content?
@saintnight9792
@saintnight9792 11 ай бұрын
with all these strategies, most of us will still deploy during Fridays lol Great video btw :)
@DemPilafian
@DemPilafian 11 ай бұрын
Some managers use Friday deployments as a way to prevent people from sneaking out and starting the weekend early.
@Winnetou17
@Winnetou17 11 ай бұрын
@@DemPilafian Yikes!
@DemPilafian
@DemPilafian 11 ай бұрын
@@Winnetou17 I've seen it happen. Of course that company imploded and went bankrupt. Bad things happen when there's a corporate culture of manipulation.
@meelooxavier6502
@meelooxavier6502 11 ай бұрын
Everyone loves a good Friday deployment that sometimes can keep you busy all weekend :))
@ismann9148
@ismann9148 9 ай бұрын
We do Big Bang deployments where I work. It works fine as long as your changes are kept relatively small.
@DianaDelibaltov
@DianaDelibaltov 2 ай бұрын
How about shadow deployment? While serving the current version to the user, you also do an async call to the "new" system. The new system does its computation but does not send it back to the user. The new system logs what "would have happened", which is used in analysis. Depending on the analysis results you can move on to canary, or rolling deployment, etc.
@walaahamdyassy2550
@walaahamdyassy2550 9 ай бұрын
wonderfull
@John-3692
@John-3692 2 ай бұрын
This is top-notch in every aspect. I recently enjoyed a similar book, and it was top-notch. "Mastering AWS: A Software Engineers Guide" by Nathan Vale
@amineherizi4687
@amineherizi4687 11 ай бұрын
Copy files directly to servers, works fine every time !
@charleshopper4638
@charleshopper4638 11 ай бұрын
I guess that I don't understand something. If I'm using the blue/green option and I move my user base to the new, green option, which they use for a week or two. They eventually start to find issues and want to role back. How do I move all of the updated / new information that is now on the green servers back to the blue servers. This can't be lost information and running scripts to find all of the updated information and transfer it back into the blue system doesn't seem possible. How would you cleanly Rollback?
@ursypc
@ursypc 10 ай бұрын
Is your question in DB context?
@ladakshay
@ladakshay Ай бұрын
Such deployment videos never assume we have a Database at the backend :) Looks all possible without the Database, all seems difficult when DB comes into play.
@zehuawang5765
@zehuawang5765 7 ай бұрын
We are deploying new release on different geographical area gradually.
@phalla6646
@phalla6646 11 ай бұрын
If new version make change on databases, how to rollback in this case?
@fxfighter
@fxfighter 11 ай бұрын
You design all database upgrades to be 1 version backwards compatible with the app so both the current app version and +1 app version you're about to deploy work with the upgraded schema. For more complex schema changes, this requires multiple database upgrades being applied. Forward only is the safest way to go to avoid data corruption. The app also needs to accommodate for this.
@fernandoli6743
@fernandoli6743 9 ай бұрын
does anyone curious about how to make a video like this? i mean the animations of system design images
@mayury928
@mayury928 10 ай бұрын
Make video on video editing
@zixuanzhao6043
@zixuanzhao6043 11 күн бұрын
so what's diff between rolling and canary?
@user-pb7wm7wc9k
@user-pb7wm7wc9k 11 ай бұрын
🎉🎉
@tradingisthinking
@tradingisthinking 2 ай бұрын
problem is data integrity while deploying and migrating to the new version.
@michaelrider
@michaelrider 11 ай бұрын
YOLO!!!
@mayury928
@mayury928 11 ай бұрын
Make video on Video editing like pro
@iamdeejayross
@iamdeejayross 10 ай бұрын
Rolling Deployment.
@prafullaingole6122
@prafullaingole6122 9 ай бұрын
It would help if you could do a 1 minute summery at the end.
@TotallyNotAuroras2ndChannel
@TotallyNotAuroras2ndChannel 3 ай бұрын
I'm not into devops so I don't think I will ever see this. Thanks though
@danieltakev11
@danieltakev11 11 ай бұрын
Please, have in mind that Q&A != QA
@abhijit-sarkar
@abhijit-sarkar 11 ай бұрын
It’s pretty hard to read the slides on a mobile phone
@RottenMuLoT
@RottenMuLoT 10 ай бұрын
Canari deployment? More like guinea pig deployment 😅
@jerrygeorge180
@jerrygeorge180 7 ай бұрын
😂
@edmilinski1295
@edmilinski1295 2 ай бұрын
it's a bit different, some sentences sound nice, but not reality.
System Design Interview: A Step-By-Step Guide
9:54
ByteByteGo
Рет қаралды 560 М.
Caching Pitfalls Every Developer Should Know
6:41
ByteByteGo
Рет қаралды 101 М.
CAN FOXY TRICK HIM?! 🤣 #shorts *FOXY AND NUGGET!*
00:17
LankyBox
Рет қаралды 19 МЛН
请善待你的娃娃第二集 #naruto  #cosplay  #shorts
00:52
佐助与鸣人
Рет қаралды 24 МЛН
ВИРУСНЫЕ ВИДЕО / Мусорка 😂
00:34
Светлый Voice
Рет қаралды 10 МЛН
how to install Windows Vista on a virtualbox
13:27
ubuntu1400vista
Рет қаралды 236
Most Common Kubernetes Deployment Strategies (Examples & Code)
20:06
Kubernetes Ingress networking
5:57
Project Calico
Рет қаралды 44 М.
Top 12 Tips For API Security
9:47
ByteByteGo
Рет қаралды 54 М.
10 Coding Principles Explained in 5 Minutes
5:44
ByteByteGo
Рет қаралды 45 М.
Why Entry-Level Job Requirements Feel Absurd
14:13
CNBC
Рет қаралды 217 М.
Top 7 Most-Used Distributed System Patterns
6:14
ByteByteGo
Рет қаралды 223 М.
What is RabbitMQ?
10:10
IBM Technology
Рет қаралды 300 М.
CAN FOXY TRICK HIM?! 🤣 #shorts *FOXY AND NUGGET!*
00:17
LankyBox
Рет қаралды 19 МЛН