Coupling is one of the important pattern for building software and it is recommended to build loosely coupled systems.
Lets talk about loose coupling pattern in software deployment context.
Industry has seen evolution in Devops space in form of continuous integration,continuous delivery, automated testing etc but world is moving fast and we need CI/CD++. Next step after CI/CD is Progressive delivery.
Deploying != Release
Progressive delivery could sound like cool tech jargon but it simply comes down to drawing line between Deploying in productions vs Activating in production.
This new way of deploying software gives control on how do you want to roll out new features to customers. It gives control on whether to upset all users vs small set of users to get some feedback before whole world knows about it.
A version of progressive delivery is also called Blue-Green deployment, A/B testing , canary testing, feature toggle etc.
Benefit of progressive delivery
– Low ceremony way of enabling features to user.
– Safe way of testing things in production.
– Less git conflicts to manage because code does not sit in git after it is developed.
– Better operational management because deployment is done in Parts. Your support team will love it.
– Avoid frustration of working on noisy Pre production.
– Product team are empowered to decided when they want to open it for external users.
Last with not least that Progressive delivery methodology allow team to control blast radius when rolling out new software.