#16 Is Your DevOps Pipeline Rusted?
When I bought my home a decade ago, I was asked whether I wanted to convert all pipelines from galvanized to copper. The previous owner already did part of the conversion. There were vital parts that were still galvanized, precisely the parts which were harder to access.
DevOps pipelines are not much different than pipelines in the house. Visible areas get attention, while areas that are not visible are left with long/windy/rusted pipes. These hard-to-reach areas are still critical enough to make the whole pipeline toxic.
Fixing what's not broken
Software development life-cycle can roughly be divided into three stages: development, pre-production, and production. The goal of any release is to take a feature from development to production without any collateral damage. By feature, I mean all changes, including features and bug fixes.
There are two paradigms that get a lot of attention these days. The first one is "testing in production," where any testing other than production is not considered adequate. The second paradigm is to use shift-left.
Both paradigms are great when applied correctly. Applying them to fix issues in pre-production is the incorrect way to use them. Both are applied to fix pre-production due to the aforementioned visibility bias.
领英推荐
Why not fix pre-production?
Pre-production does not get much attention because it's hard to reach with many legacy environments like QA and staging. Today's pre-production environments are entirely broken and are not made for the dynamic nature of cloud-native applications. Dynamic applications need a dynamic approach to pre-production.
Environments-as-a-Service platforms like Roost.ai replace the static pre-production environments with dynamic, ephemeral environments. It is akin to replacing the long/windy/toxic galvanized pipeline with a short copper pipe. Environments are created only when needed and exactly as much as needed.
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 environments live with a PR and die with a PR.
Summary
Rusted pre-production pipelines are a technical debt development teams can not afford. The lack of visibility of a pipeline does not make it less critical. Roost EaaS platform replaces these rusted pipelines with a clean, dynamic one.