Platform Tips #19: Kubernetes as an Workflow Engine for your Platform
Today I share my thoughts about the role that Kubernetes could have in the context of Platform Engineering and Internal Developer Platforms.
Hey Folks 👋,
I'm Romaric, CEO of Qovery, and this is my 19th Platform Tips post.
This week, I was thinking about what could be the future of Kubernetes in the Platform Engineering world and more specifically when we talk about Internal Developer Platform? An Internal Developer Platform is defined by 2 main components:
The Internal Developer Portal (or Dev Portal), to provide the main interface that developers will consume.
The Platform Orchestrator, that will orchestrate some tasks defined by Platform Engineers and unify one single interface to federate all infrastructure components.
The vision for Kubernetes in this context goes beyond managing containerized applications — it extends to acting as a robust workflow engine, a core component within the Platform Orchestrator.
Kubernetes as a Workflow Engine
At the heart of this vision for Kubernetes is its potential to function as a comprehensive workflow engine. Which is just about executing jobs, irrespective of whether they're contained. The beauty of this approach is in its abstraction — developers and platform engineers need not concern themselves with the specifics of job execution. Instead, they can focus on the outcomes, assured by the resilient system Kubernetes provides that guarantees job execution.
Ensuring Job Execution with Guarantees
One of the key attributes that make Kubernetes an ideal orchestration engine for IDPs is its inherent resilience. Kubernetes is designed to handle failures gracefully, ensuring that jobs are executed as intended with minimal disruption. This resilience is crucial for IDPs, where the consistent and reliable execution of tasks can significantly impact development workflows and productivity. By leveraging Kubernetes, IDPs can offer strong guarantees regarding job execution, providing developers and engineers with peace of mind and reliability.
Unified View and Retriggering Capabilities
One of the main role of the Platform Orchestrator is to offer a unified view of all executed tasks and the ability to retrigger those tasks as needed. Kubernetes facilitates this by maintaining comprehensive logs and status reports of all activities within the system. This transparency is invaluable, allowing platform engineers to monitor, audit, and intervene when necessary. The capability to retrigger jobs seamlessly within the Kubernetes environment further enhances the flexibility and control that platform engineers have over the workflow, ensuring that adjustments and reruns can be managed efficiently.
Kubernetes: Beyond Container Orchestration
The traditional perception of Kubernetes as solely a container orchestrator does not encapsulate its full potential within the realm of platform engineering. As we envision Kubernetes acting as a workflow engine within an IDP, its role becomes significantly more strategic. It transforms into a tool that not only manages deployment and scaling of containerized applications but also orchestrates a wide array of development and operational tasks. This expanded role makes Kubernetes an indispensable asset in building a comprehensive, resilient, and flexible Internal Developer Platform.
Kubernetes as a Workflow Engine or not?
As we've explored the promising role of Kubernetes beyond its original scope— envisioning it as a potent orchestrator and workflow engine within Internal Developer Platforms — Do you see Kubernetes as a viable workflow engine for your Internal Developer Platforms? How do you envision integrating Kubernetes into your platform engineering strategies to enhance efficiency, reliability, and developer experience?
Happy to have your thoughts 👀
—
Let's revolutionize Platform Engineering by putting developers first. Subscribe now to join me on this exciting journey!