This article discusses why traditional Continuous Integration/Continuous Delivery (CI/CD) practices often fail for foundational, stateful platforms compared to typical application development. It highlights the unique challenges faced by platform teams, such as managing state, direct interaction with infrastructure, and higher impact of outages, which necessitate different deployment strategies for ensuring reliability and mitigating blast radius.
Read original on InfoQ CloudFoundational platforms are distinguished by their critical role: if they fail, the entire business goes down. Examples include core compute platforms, storage systems, or observability infrastructure. Unlike stateless applications, these platforms are often stateful to enable applications to be stateless, requiring careful handling of data consistency and transitions during deployments. They also directly interact with underlying hardware and cloud abstractions, making changes more complex and harder to reverse.
Conventional CI/CD metrics and practices, such as deploying multiple times per day and tolerating a certain percentage of deployment failures, are often misaligned with the realities of foundational platforms. For platforms, a small failure rate can lead to catastrophic business-wide outages, making frequent, high-risk deployments unacceptable. The inherent complexity abstracted into these platforms also makes comprehensive testing outside of production extremely difficult, if not impossible.
Key Takeaway
The core message is that while continuous delivery principles are valuable, their application must be tailored for foundational platforms. A 'one-size-fits-all' approach based on application development models will likely lead to instability and operational burdens for critical infrastructure teams.
Effective continuous delivery for foundational platforms requires specific techniques to manage risk: safe progressive deployments (e.g., canary deployments, dark launches), synthetic testing in production to validate real-world behavior, and robust strategies for mitigating blast radius to contain the impact of failures. These practices acknowledge the high stakes and unique architectural characteristics of core infrastructure, prioritizing stability and controlled rollout over sheer deployment frequency.