DEV Community

Cover image for Deployment strategies every engineer should understand...
Daniel Possible Kwabi
Daniel Possible Kwabi

Posted on

Deployment strategies every engineer should understand...

1.Big Bang Deployment

Here's how it works:

You build a feature for two weeks. You test it on your machine. Everything is beautiful. Then you push it straight to prod. (it sounds bad already)

Sure this is the easiest way out but if and when something breaks so help you God.

This one is no bueno.

2.Blue-Green Deployment

Better. You run two identical environments. So basically in parallel and you'd route traffic to it using a load balancer.

Rollback is fast. That's great. But if that new code has a nasty bug, it still hits everyone at once when you flip the switch. Better than big bang but still not there yet.

3.Canary Deployment

The smart play. You roll out new code to like 1% of users first. You watch it. You breathe. If nothing breaks then you roll out to 5%, then 25%, then everyone.

If something breaks, only a tiny sliver of users ever see it. This is the way.

Tho there are cases where you just have to big bang it... example being a side project you know isn't very significant.

I'll like to hear your thoughts in the comments.

Top comments (1)

Collapse
 
francistrdev profile image
FrancisTRᴅᴇᴠ (っ◔◡◔)っ

Hey Thanks for sharing! Great work! :D

Came to stop by to let you know that I recently found your video reviewing my article on "Can you Truly know if you are on the Right Path?". It was a random Saturday and your video came up on my feed lol.

I appreciate the review. Hope you are still doing well since I have not seen you in a while. Hope you are doing alright and your DEV journey is still going great!