Replace Rusty DevOps Pipes with Dynamic Pre-production Environments
When I bought my home a decade ago, I was asked whether I wanted to finish converting my water pipelines from standard galvanized to copper. What was interesting was the fact that many of the hard-to-access lines were still galvanized and the pipes that were visible and easily accessible had been converted to copper.
I see an interesting analogy between the pipeline issues found in my home and current issues with legacy DevOps processes and their corresponding rusty pipelines. Visible areas get attention, while areas that are not visible are left with rusted pipes. Because these hard-to-reach areas are still critical, when left unattended or continuously using rusty pipes they can make the whole pipeline toxic.
Don't Fix Things That Aren't Broken
The software development life-cycle (SDLC), for cloud-native applications, can roughly be divided into three stages: development, pre-production, and production. The goal of any release is to take any feature (and all changes and bug fixes) from development to production as quickly as possible, and without any collateral damage.
And we are seeing some improvements in this area. The two paradigms that get a lot of attention these days to help improve the speed of feature delivery are:
- Testing in production = where any testing other than production is not considered adequate.
- Shift-left = moving testing environments, quality, and performance evaluation early in the software development process
Both paradigms work great when proper processes and adherences to policies are followed, however, using these approaches in issues in a pre-production environment will simply not work since both are applied to fix pre-production due to the aforementioned visibility bias.
DevOps Processes Need Attention
Pre-production environments that are needed for DevOps do not get much attention because it’s “hard to reach” because of its many legacy issues and hard to manage processes such as test environments, QA, staging sites, etc. Today’s DevOps environments are entirely broken and were never designed to handle the demands and dynamic nature of cloud-native applications.
Dynamic applications need a dynamic approach to pre-production.
Ephemeral Environments platforms like Roost.ai replace the static testing environments and staging sites with dynamic, ephemeral environments. It is akin to replacing the rusted and toxic galvanized pipeline with a shorter and more efficient copper pipe.
Roost is able to do it by leveraging GitOps innovations in general and pull-request in particular. Roost simply makes the pre-production environment’s life-cycle coincidental with the life-cycle of a pull request. Roost ephemeral environments live with a pull request and die with a pull request.
Legacy pre-production pipelines are a technical debt development teams can not afford. Just because pre-production environments are not as visible and customer-facing, does not make them less critical to the development lifecycle. It actually is just the opposite!
Roost.ai ephemeral environments platform for DevOps teams creates dynamic pre-production on-the-fly. It speeds up the testing pipeline – it replaces those old rusty legacy pipes with bright, clean, dynamic one!