{"id":19545,"date":"2024-12-03T17:36:11","date_gmt":"2024-12-03T12:06:11","guid":{"rendered":"https:\/\/opstree.com\/blog\/?p=19545"},"modified":"2024-12-09T23:05:41","modified_gmt":"2024-12-09T17:35:41","slug":"ctrlshiftepic-deployment-strategies-unleashed","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2024\/12\/03\/ctrlshiftepic-deployment-strategies-unleashed\/","title":{"rendered":"Ctrl+Shift+Epic : Deployment Strategies Unleashed"},"content":{"rendered":"<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<p id=\"416d\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\">\u201cHello, Tech Trailblazers! \ud83d\ude80 Buckle up, because today we\u2019re diving into the world of tech with a twist \u2014 imagine it\u2019s narrated by\u00a0<em class=\"mm\">Homer Simpson<\/em>\u00a0from The Simpsons. \ud83c\udf69 So grab your donuts, channel your inner \u2018D\u2019oh!\u2019 moments, and let\u2019s get cracking! Or should I say, let\u2019s \u2018deploy\u2019 into this adventure? \ud83d\ude0f\u201d<\/p>\r\n<h1 id=\"3123\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\">What is Deployment strategy ?<\/h1>\r\n<p id=\"f955\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">\ud83d\udca4Boring Version<\/strong>: Deployment strategies ensure software updates are delivered with minimal disruption. Their importance lies in maintaining service reliability while introducing new features.<\/p>\r\n<p id=\"296e\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\">\ud83d\ude02\u00a0<strong class=\"lq gg\">Funny Version<\/strong>: Deployment strategies are like the dynamics in\u00a0<em class=\"mm\">Game of Thrones<\/em>: you need to seat a new king (release) on the throne without triggering a civil war (outages). It\u2019s all about power shifts without chaos.<\/p>\r\n<h1 id=\"d6e5\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\">Deployment Strategy Evolution: A Comedic Take \ud83c\udfad<\/h1>\r\n<h2 id=\"51c4\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">1. Dino Tech Age \ud83e\udd95 (1970s\u20131990s)<\/h2>\r\n<ul class=\"\">\r\n<li id=\"e4b0\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Deployment was as manual as assembling IKEA furniture but without instructions.<\/li>\r\n<li id=\"1ab9\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Engineers rebuilt the entire system every time, leading to countless \u201coops\u201d moments.<\/li>\r\n<li id=\"c970\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">System downtime? Oh, it was practically a vacation \u2014 sometimes lasting weeks!<\/li>\r\n<li id=\"aaba\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Technology enablers? If you can call ancient mainframes and faxes \u201ctechnology,\u201d sure.<\/li>\r\n<\/ul>\r\n<h2 id=\"3d37\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">2. Script Kiddie Era \ud83e\udd13 (1990s\u20132000s)<\/h2>\r\n<ul class=\"\">\r\n<li id=\"1a23\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Deployment scripts were introduced, but they worked about as consistently as your New Year\u2019s resolution.<\/li>\r\n<li id=\"2621\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Rollbacks? Hah, good luck with that! \u201cIf it breaks, we start over.\u201d<\/li>\r\n<li id=\"4243\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">At least virtual servers showed up, making the chaos a bit more manageable.<\/li>\r\n<\/ul>\r\n<h2 id=\"4952\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">3. Netflix-and-Deploy Era \ud83d\udcfa (2010s\u2013Present)<\/h2>\r\n<ul class=\"\">\r\n<li id=\"7a81\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Enter the cool kids: Kubernetes, Docker, and \u201cCanary\u201d deployments (no actual birds involved).<\/li>\r\n<li id=\"82ef\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Downtime became a thing of the past, and traffic management got smarter than your GPS.<\/li>\r\n<li id=\"2162\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">However, now deployments require advanced YAML skills, and your wallet might shed a tear over the costs.<\/li>\r\n<\/ul>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<p><!--more--><\/p>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h1 id=\"3cfa\" class=\"mn mo gf bf mp mq ox ms mt mu oy mw mx my oz na nb nc pa ne nf ng pb ni nj nk bk\" data-selectable-paragraph=\"\">Transformation: Life Before and After Deployment Strategies \ud83d\ude02<\/h1>\r\n<h2 id=\"bada\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Before Deployment Strategies<\/h2>\r\n<ul class=\"\">\r\n<li id=\"d9e1\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Downtime was unavoidable. Users went for coffee; engineers went for stress-relief therapy.<\/li>\r\n<li id=\"f4e9\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Every deployment felt like an \u201call-or-nothing\u201d gamble \u2014 spoiler: it was usually \u201cnothing.\u201d<\/li>\r\n<li id=\"f260\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Testing was basically guessing: \u201cLet\u2019s hope this works\u2026 fingers crossed.\u201d<\/li>\r\n<\/ul>\r\n<h2 id=\"cd95\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">After Deployment Strategies<\/h2>\r\n<ul class=\"\">\r\n<li id=\"9e37\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Downtime? Never heard of it. Systems keep running like they\u2019ve had an espresso shot.<\/li>\r\n<li id=\"8d0e\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Deployments are gradual, controlled, and way less anxiety-inducing.<\/li>\r\n<li id=\"bd33\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Rollbacks are as easy as Ctrl+Z \u2014 instant and headache-free.<\/li>\r\n<\/ul>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h1 id=\"6038\" class=\"mn mo gf bf mp mq ox ms mt mu oy mw mx my oz na nb nc pa ne nf ng pb ni nj nk bk\" data-selectable-paragraph=\"\">Goals of Modern Deployment Strategies<\/h1>\r\n<h2 id=\"ec6b\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">1. Minimize Risk<\/h2>\r\n<h2 id=\"9f39\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<ul class=\"\">\r\n<li id=\"1e53\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Objective: Reduce potential system failures during deployment.<\/li>\r\n<li id=\"34cc\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Implementation Techniques:<\/li>\r\n<li id=\"6bd2\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Canary deployments for gradual user exposure.<\/li>\r\n<li id=\"30ff\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Blue-Green strategies to maintain a backup environment.<\/li>\r\n<li id=\"c17e\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Gradual traffic shifting to identify issues early.<\/li>\r\n<\/ul>\r\n<h2 id=\"9028\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<ul class=\"\">\r\n<li id=\"9498\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">\u201cWe broke production last time, let\u2019s not do that again.\u201d<\/li>\r\n<li id=\"2de8\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Canary deployments let you test with just a few unsuspecting users. Blue-Green feels like a magic trick \u2014 poof, the new version is live!<\/li>\r\n<\/ul>\r\n<h2 id=\"c9f0\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">2. Maximize Availability<\/h2>\r\n<h2 id=\"ff40\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<ul class=\"\">\r\n<li id=\"36ca\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Objective: Ensure continuous service availability with no downtime.<\/li>\r\n<li id=\"c0e3\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Implementation Techniques:<\/li>\r\n<li id=\"2849\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Rolling updates to maintain uptime while transitioning.<\/li>\r\n<li id=\"daf4\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Multi-environment strategies for smooth handovers.<\/li>\r\n<li id=\"ac71\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Redundant systems to provide failover options.<\/li>\r\n<\/ul>\r\n<h2 id=\"3cbf\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<ul class=\"\">\r\n<li id=\"7d97\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Zero downtime is the mantra. Rolling updates keep things running smoothly, like a never-ending jazz solo.<\/li>\r\n<li id=\"0436\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Redundant systems mean there\u2019s always a backup, so no more \u201ceverything is on fire\u201d moments.<\/li>\r\n<\/ul>\r\n<h2 id=\"720d\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">3. Ensure Performance<\/h2>\r\n<h2 id=\"6f07\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<ul class=\"\">\r\n<li id=\"2716\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Objective: Validate system capabilities under real-world conditions.<\/li>\r\n<li id=\"8356\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Implementation Techniques:<\/li>\r\n<li id=\"3109\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">A\/B testing to compare performance metrics across versions.<\/li>\r\n<li id=\"3b71\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Shadow deployments for stress-testing without user impact.<\/li>\r\n<li id=\"7942\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Comprehensive monitoring to identify bottlenecks.<\/li>\r\n<\/ul>\r\n<h2 id=\"d3a2\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<ul class=\"\">\r\n<li id=\"bbcf\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Shadow deployments test the system so quietly even ninjas are impressed.<\/li>\r\n<li id=\"ed2a\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">A\/B testing pits two versions against each other while users unknowingly play judge.<\/li>\r\n<\/ul>\r\n<h2 id=\"ad96\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">4. Continuous Delivery<\/h2>\r\n<h2 id=\"9b44\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<ul class=\"\">\r\n<li id=\"9171\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Objective: Enable rapid and reliable updates without disrupting operations.<\/li>\r\n<li id=\"f159\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Implementation Techniques:<\/li>\r\n<li id=\"fa9c\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Automated CI\/CD pipelines to streamline the release process.<\/li>\r\n<li id=\"2b3e\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Infrastructure as Code (IaC) for consistent and reproducible environments.<\/li>\r\n<li id=\"b222\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Automated testing to catch issues before deployment.<\/li>\r\n<\/ul>\r\n<h2 id=\"8b68\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<ul class=\"\">\r\n<li id=\"0321\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Automated pipelines now handle deployments faster than you can say \u201cgit push.\u201d<\/li>\r\n<li id=\"9cec\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Infrastructure as Code turns servers into well-behaved, self-sustaining entities.<\/li>\r\n<\/ul>\r\n<h2 id=\"0c0f\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">5. Reduce Complexity<\/h2>\r\n<h2 id=\"b2ab\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<ul class=\"\">\r\n<li id=\"5099\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Objective: Simplify deployment processes for efficiency and scalability.<\/li>\r\n<li id=\"e695\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Implementation Techniques:<\/li>\r\n<li id=\"9a79\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Containerization with tools like Docker for lightweight deployments.<\/li>\r\n<li id=\"6e2b\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Orchestration platforms like Kubernetes for streamlined operations.<\/li>\r\n<li id=\"b089\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Standardized deployment tools to reduce human intervention.<\/li>\r\n<\/ul>\r\n<h2 id=\"b436\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<ul class=\"\">\r\n<li id=\"62dd\" class=\"lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Kubernetes organizes deployments better than your closet.<\/li>\r\n<li id=\"5d6a\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Docker lets you pack apps like snacks in neatly labeled containers.<\/li>\r\n<\/ul>\r\n<h1 id=\"8f50\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\">Types of Deployment Strategies<\/h1>\r\n<h1 id=\"8994\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\">1. Blue-Green Deployment<\/h1>\r\n<h2 id=\"1e95\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<p id=\"1199\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Blue-Green deployment involves running two environments, Blue (live) and Green (new). Once the new environment is tested, traffic is switched from Blue to Green. This ensures minimal downtime and easy rollback.<\/p>\r\n<p id=\"248b\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Pros:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"9c73\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Minimal downtime<\/li>\r\n<li id=\"0b7f\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Easy rollback<\/li>\r\n<li id=\"2f23\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Allows for thorough testing before switching<\/li>\r\n<\/ul>\r\n<p id=\"4f67\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Cons:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"4266\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Requires duplicate infrastructure<\/li>\r\n<li id=\"f0ce\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Expensive to maintain two environments<\/li>\r\n<li id=\"bde6\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Can be complex to manage stateful apps<\/li>\r\n<\/ul>\r\n<h1 id=\"2a97\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\"><strong class=\"al\">Example:<\/strong><\/h1>\r\n<p id=\"f4ee\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\"><em class=\"mm\">Current Production (Blue): &#8211; Version 1.0 running &#8211; Serving all live traffic<\/em><\/strong><\/p>\r\n<p id=\"01ad\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\"><em class=\"mm\">New Environment (Green): &#8211; Version 1.1 deployed &#8211; Tested and ready for deployment &#8211; Switch traffic when verified<\/em><\/strong><\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h2 id=\"349c\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<p id=\"9806\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Blue-Green is like your favorite sitcom where one storyline (Blue) is running, and another (Green) is brewing in the background. Picture Ross dating Emily while Rachel is in the background working on her new life. Once Rachel is ready (Green), Emily (Blue) gets the boot. All the drama with none of the downtime!<\/p>\r\n<p id=\"0cfa\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Example:<\/strong> Ross: \u201cWe\u2019re on a BREAK!\u201d Blue (Ross) is in production until Green (Rachel) is ready to make her big comeback. Cue the laugh track! \ud83d\ude02<\/p>\r\n<figure class=\"pd pe pf pg ph fw fo fp paragraph-image\">\r\n<div class=\"fo fp pc\"><img loading=\"lazy\" decoding=\"async\" class=\"bh gb gc c\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:600\/1*6yNflh0ugFnXInnuEQe_Zg.png\" alt=\"\" width=\"600\" height=\"135\" \/><\/div>\r\n<figcaption class=\"pi pj pk fo fp pl pm bf b bg z dx\" data-selectable-paragraph=\"\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Picture took from CICD Pipeline By Sandeep Rawat<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h1 id=\"ca82\" class=\"mn mo gf bf mp mq ox ms mt mu oy mw mx my oz na nb nc pa ne nf ng pb ni nj nk bk\" data-selectable-paragraph=\"\">2. Canary Deployment<\/h1>\r\n<h2 id=\"73b8\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<p id=\"a7c8\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Canary deployment releases new updates to a small user group first. If no issues arise, the rollout expands gradually until all users are on the new version.<\/p>\r\n<p id=\"69be\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Pros:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"d4af\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Reduces risk by testing with a small group<\/li>\r\n<li id=\"000c\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Easier to monitor and fix issues<\/li>\r\n<li id=\"53b8\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Provides real-world testing<\/li>\r\n<\/ul>\r\n<p id=\"3738\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Cons:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"aa33\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Slower rollout<\/li>\r\n<li id=\"28ff\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Requires robust monitoring<\/li>\r\n<li id=\"0534\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">May create inconsistent user experiences<\/li>\r\n<\/ul>\r\n<h1 id=\"b30f\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\"><strong class=\"al\">Example:<\/strong><\/h1>\r\n<p id=\"19b9\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\"><em class=\"mm\">Deployment Stages:<\/em><\/strong><em class=\"mm\"> 1. 5% of users get new version 2. If no issues, increase to 20% 3. Then 50% 4. Finally, 100% rollout<\/em><\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h2 id=\"5137\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<p id=\"e3fb\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Canary is like testing a new pumpkin spice latte on the most basic crowd first. If Karen and her yoga crew approve, it\u2019s safe for everyone. If Karen sends it back with a \u201ctoo much nutmeg\u201d complaint, you know it\u2019s time to abort the mission faster than seasonal cheer disappears. \ud83c\udf83\u2615<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<figure class=\"pd pe pf pg ph fw fo fp paragraph-image\">\r\n<div class=\"fo fp pc\"><img loading=\"lazy\" decoding=\"async\" class=\"bh gb gc c\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:600\/1*exICDPqNhKRiqsJYQIpnzA.png\" alt=\"\" width=\"600\" height=\"289\" \/><\/div>\r\n<figcaption class=\"pi pj pk fo fp pl pm bf b bg z dx\" data-selectable-paragraph=\"\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Picture took from CICD Pipeline By Sandeep Rawat<\/figcaption>\r\n<\/figure>\r\n<h1 id=\"8009\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\">3. Rolling Deployment<\/h1>\r\n<h2 id=\"3664\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<p id=\"7dab\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Rolling deployment updates the application incrementally across instances, ensuring continuous availability. \ud83d\udca4<\/p>\r\n<p id=\"3e93\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Pros:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"baaa\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">No downtime<\/li>\r\n<li id=\"58aa\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Updates are gradual<\/li>\r\n<li id=\"e868\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Cost-effective<\/li>\r\n<\/ul>\r\n<p id=\"c78c\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Cons:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"ddce\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Slower deployment process<\/li>\r\n<li id=\"dfea\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Can cause version inconsistencies<\/li>\r\n<li id=\"18ca\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Requires careful monitoring<\/li>\r\n<\/ul>\r\n<h1 id=\"024e\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\"><strong class=\"al\">Example:<\/strong><\/h1>\r\n<p id=\"55bc\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\"><em class=\"mm\">Server Cluster:<\/em><\/strong><em class=\"mm\"> &#8211; 10 servers total &#8211; Update 2 servers at a time &#8211; Continuous service availability<\/em><\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h2 id=\"707e\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<p id=\"29cb\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Rolling deployment is like a marathon relay race where each runner updates their sneakers mid-run. The race never stops, but you just hope no one trips over their shoelaces \u2014 or worse, forgets the baton (rollback)! \ud83c\udfc3\u200d\u2642\ufe0f\ud83d\udc5f<\/p>\r\n<figure class=\"pd pe pf pg ph fw fo fp paragraph-image\">\r\n<div class=\"fo fp pc\"><img loading=\"lazy\" decoding=\"async\" class=\"bh gb gc c\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:600\/1*AplCs1qfkpQB8E9MU_iOHg.png\" alt=\"\" width=\"600\" height=\"262\" \/><\/div>\r\n<figcaption class=\"pi pj pk fo fp pl pm bf b bg z dx\" data-selectable-paragraph=\"\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Picture took from CICD Pipeline By Sandeep Rawat<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h1 id=\"755c\" class=\"mn mo gf bf mp mq ox ms mt mu oy mw mx my oz na nb nc pa ne nf ng pb ni nj nk bk\" data-selectable-paragraph=\"\">4. Recreate Deployment<\/h1>\r\n<h2 id=\"f41d\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<p id=\"f3cf\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Recreate shuts down the current version entirely before deploying a new one. Simple but involves significant downtime. \ud83d\udca4<\/p>\r\n<p id=\"7bb9\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Pros:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"4a33\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Easy to implement<\/li>\r\n<li id=\"8336\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Straightforward transition<\/li>\r\n<li id=\"8822\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">No version conflicts<\/li>\r\n<\/ul>\r\n<p id=\"42aa\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Cons:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"f24d\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Downtime impacts user experience<\/li>\r\n<li id=\"74c9\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Risky if the new version has issues<\/li>\r\n<li id=\"02d1\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Not suitable for high-availability systems<\/li>\r\n<\/ul>\r\n<h1 id=\"1bfc\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\"><strong class=\"al\">Example:<\/strong><\/h1>\r\n<p id=\"9680\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\"><em class=\"mm\">Deployment Process: 1. Stop all current servers 2. Deploy new version 3. Restart all servers<\/em><\/strong><\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h2 id=\"d93f\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<p id=\"0581\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Recreate is the IT version of unplugging your Wi-Fi router and waiting for the internet gods to bless you with connection again. The roommates scream, \u201cWHY NOW?!\u201d while you chant a prayer to the firmware update spirits. \ud83e\udd26\u200d\u2642\ufe0f\ud83d\udcf6<\/p>\r\n<figure class=\"pd pe pf pg ph fw fo fp paragraph-image\">\r\n<div class=\"fo fp pc\"><img loading=\"lazy\" decoding=\"async\" class=\"bh gb gc c\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:600\/1*PNmA4dbCArrs7bDHxw03xw.png\" alt=\"\" width=\"600\" height=\"142\" \/><\/div>\r\n<figcaption class=\"pi pj pk fo fp pl pm bf b bg z dx\" data-selectable-paragraph=\"\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Picture took from CICD Pipeline By Sandeep Rawat<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h1 id=\"c0ce\" class=\"mn mo gf bf mp mq ox ms mt mu oy mw mx my oz na nb nc pa ne nf ng pb ni nj nk bk\" data-selectable-paragraph=\"\">5. Shadow Deployment<\/h1>\r\n<h2 id=\"330d\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<p id=\"1468\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Shadow deployment tests a new version by routing duplicate live traffic to it, without affecting users. This helps validate performance.<\/p>\r\n<p id=\"29f2\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Pros:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"d54a\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">No impact on real users<\/li>\r\n<li id=\"63af\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Real-world testing conditions<\/li>\r\n<li id=\"e2c8\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Detects issues early<\/li>\r\n<\/ul>\r\n<p id=\"01c2\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Cons:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"f9a9\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Requires complex infrastructure<\/li>\r\n<li id=\"9366\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Computationally expensive<\/li>\r\n<li id=\"5906\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Difficult to manage<\/li>\r\n<\/ul>\r\n<h1 id=\"077d\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\"><strong class=\"al\">Example:<\/strong><\/h1>\r\n<p id=\"8398\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\"><em class=\"mm\">Traffic Flow: &#8211; 100% live traffic goes to current version &#8211; Duplicate traffic sent to new version &#8211; No actual user impact<\/em><\/strong><\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h2 id=\"0f84\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<p id=\"3d9d\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">Shadow deployment is like Harry Potter using Hermione\u2019s Time-Turner to practice Quidditch. The new Harry (v2) trains with real matches (traffic), but if he messes up, we pretend it never happened. \ud83e\uddd9\u200d\u2642\ufe0f\u2728<\/p>\r\n<figure class=\"pd pe pf pg ph fw fo fp paragraph-image\">\r\n<div class=\"fo fp pn\"><img loading=\"lazy\" decoding=\"async\" class=\"bh gb gc c\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:607\/1*5VOo7hLAF7UtnJ-UwQfd9g.png\" alt=\"\" width=\"607\" height=\"266\" \/><\/div>\r\n<\/figure>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h1 id=\"987e\" class=\"mn mo gf bf mp mq ox ms mt mu oy mw mx my oz na nb nc pa ne nf ng pb ni nj nk bk\" data-selectable-paragraph=\"\">6. A\/B Deployment<\/h1>\r\n<h2 id=\"dc41\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Boring Version \ud83d\udca4<\/h2>\r\n<p id=\"6cff\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">A\/B deployment runs two versions simultaneously for different user groups to compare performance and gather feedback.<\/p>\r\n<p id=\"0b4e\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Pros:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"6b10\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Collects valuable user insights<\/li>\r\n<li id=\"465c\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Helps optimize user experience<\/li>\r\n<li id=\"d342\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Reduces risk of full-scale failure<\/li>\r\n<\/ul>\r\n<p id=\"6d77\" class=\"pw-post-body-paragraph lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">Cons:<\/strong><\/p>\r\n<ul class=\"\">\r\n<li id=\"b7ce\" class=\"lo lp gf lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Implementation complexity<\/li>\r\n<li id=\"3c39\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Potentially confusing for users<\/li>\r\n<li id=\"e7c1\" class=\"lo lp gf lq b lr ok lt lu lv ol lx ly lz om mb mc md on mf mg mh oo mj mk ml oh oi oj bk\" data-selectable-paragraph=\"\">Requires robust analytics tools<\/li>\r\n<\/ul>\r\n<h1 id=\"adee\" class=\"mn mo gf bf mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk bk\" data-selectable-paragraph=\"\"><strong class=\"al\">Example:<\/strong><\/h1>\r\n<p id=\"667a\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\"><em class=\"mm\">User Segmentation: &#8211; Group A: Original version &#8211; Group B: New version &#8211; Compare user engagement metrics<\/em><\/strong><\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h2 id=\"5f41\" class=\"nq mo gf bf mp nr ns nt mt nu nv nw mx lz nx ny nz md oa ob oc mh od oe of og bk\" data-selectable-paragraph=\"\">Funny Version \ud83d\ude02<\/h2>\r\n<p id=\"209c\" class=\"pw-post-body-paragraph lo lp gf lq b lr nl lt lu lv nm lx ly lz nn mb mc md no mf mg mh np mj mk ml fj bk\" data-selectable-paragraph=\"\">A\/B is like dating two people at once: One (A) is into yoga and matcha, while the other (B) prefers Netflix and chill with pizza. You see who makes you happier, but let\u2019s be real \u2014 being the B version in someone else\u2019s dating life sucks. \ud83c\udf55\ud83d\ude02<\/p>\r\n<figure class=\"pd pe pf pg ph fw fo fp paragraph-image\">\r\n<div class=\"fo fp po\"><img loading=\"lazy\" decoding=\"async\" class=\"bh gb gc c\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:399\/1*G0Sl7Gx3Nidpjerp3SBfzQ.png\" alt=\"\" width=\"399\" height=\"262\" \/><\/div>\r\n<\/figure>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ab cb op oq or os\" role=\"separator\">\u00a0<\/div>\r\n<div class=\"fj fk fl fm fn\">\r\n<div class=\"ab cb\">\r\n<div class=\"ci bh ev ew ex ey\">\r\n<h1 id=\"62b4\" class=\"mn mo gf bf mp mq ox ms mt mu oy mw mx my oz na nb nc pa ne nf ng pb ni nj nk bk\" data-selectable-paragraph=\"\">Final Quote \ud83d\ude07<\/h1>\r\n<p id=\"6135\" class=\"lo lp mm lq b lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml fj bk\" data-selectable-paragraph=\"\"><strong class=\"lq gg\">\u201cCode, break, fix, repeat. Every bug squashed is a step closer to greatness. Keep pushing keys, tech wizard \u2014 you\u2019re building the future, one line at a time!\u201d \ud83d\udcbb\u2728\ud83d\ude80<\/strong><\/p>\r\n<strong>Blog Pundit<\/strong>: <a href=\"https:\/\/opstree.com\/blog\/author\/sandeep7c51ad81ba\/\" target=\"_blank\" rel=\"noopener\">Sandeep Rawat<\/a> Opstree is an End to End DevOps solution provider\r\n<p data-selectable-paragraph=\"\"><!-- \/wp:paragraph -->\r\n\r\n<!-- wp:buttons --><\/p>\r\n<div class=\"wp-block-buttons\"><!-- wp:button {\"className\":\"is-style-fill\"} -->\r\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link\" href=\"https:\/\/www.opstree.com\/contact-us\" target=\"_blank\" rel=\"noreferrer noopener\">CONTACT US<\/a><\/div>\r\n<div class=\"wp-block-button is-style-fill\"><strong>Connect Us<\/strong><\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u201cHello, Tech Trailblazers! \ud83d\ude80 Buckle up, because today we\u2019re diving into the world of tech with a twist \u2014 imagine it\u2019s narrated by\u00a0Homer Simpson\u00a0from The Simpsons. \ud83c\udf69 So grab your donuts, channel your inner \u2018D\u2019oh!\u2019 moments, and let\u2019s get cracking! Or should I say, let\u2019s \u2018deploy\u2019 into this adventure? \ud83d\ude0f\u201d What is Deployment strategy ? &hellip; <a href=\"https:\/\/opstree.com\/blog\/2024\/12\/03\/ctrlshiftepic-deployment-strategies-unleashed\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Ctrl+Shift+Epic : Deployment Strategies Unleashed&#8221;<\/span><\/a><\/p>\n","protected":false},"author":244582682,"featured_media":19549,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[28070474],"tags":[172591282,163615,768739398],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/12\/CtrlShiftEpic-Deployment-Strategies-Unleashed.png","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-55f","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/19545"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/244582682"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=19545"}],"version-history":[{"count":6,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/19545\/revisions"}],"predecessor-version":[{"id":19591,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/19545\/revisions\/19591"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/19549"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=19545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=19545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=19545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}