Skip to main content

Automating Platform Engineering with Crossplane

I recently joined “Platform Automation Using Crossplane”, a webinar hosted by InfraCloud, where we talked about platform automation using Crossplane and how it enhances platform engineering. This recap is for any Platform Engineer, DevOps expert, or Cloud Engineer interested in streamlining their processes.

Platform Engineering: A User-Centric Approach

Platform engineering should be treated as a product. This means understanding the needs of users—developers—and designing the platform to meet those needs. By doing this, platform engineering can significantly boost developer experience and productivity. It's not about creating something that platform engineers think is cool; it's about creating something that developers find genuinely useful.

Defining Platform Engineering

Platform engineering can be seen as an enabler that boosts developer experience by codifying best practices into reusable and self-service capabilities. It underscores the role of platform engineering in providing a seamless interface between developers and the underlying infrastructure.

Balancing Flexibility and Rigidity

A critical challenge in platform engineering is balancing flexibility and rigidity. If the platform is too rigid, it stifles innovation; if it's too flexible, it overwhelms users. The right approach is to provide enough configurability to meet diverse needs without burdening users with unnecessary complexity.

The API-First Approach

In platform engineering, adopting an API-first approach is crucial. APIs provide a standardized way for developers to interact with various services and resources. By focusing on APIs first, platforms can ensure that all services are accessible programmatically, allowing for greater automation and integration. This approach also simplifies the addition of new interfaces, such as CLI or web UIs, which can be built on top of the existing APIs.

Challenges in Learning Kubernetes

Kubernetes is the foundation of modern platform engineering, but its complexity can be daunting. The initial learning curve is steep, but once mastered, Kubernetes offers a consistent framework for managing infrastructure and applications. Its extensibility and unified management capabilities make it a vital tool for platform engineers.

Crossplane: Extending Kubernetes Capabilities

During the webinar, I demonstrated how Crossplane extends Kubernetes capabilities, enabling the management of cloud resources using Kubernetes-native APIs. Crossplane allows platform engineers to define and manage infrastructure declaratively through Kubernetes, leveraging its robust ecosystem and declarative nature.

Key Features of Crossplane

  1. Kubernetes-Native: Integrates seamlessly with Kubernetes, using its APIs and patterns.
  2. Resource Management: Manages cloud resources like databases, networks, and clusters declaratively.
  3. Composable Infrastructure: Allows combining multiple resources into higher-level abstractions, simplifying complex infrastructure setups.

Practical Application of Crossplane

In the demo, I showed how Crossplane automates the creation and management of infrastructure. By defining resources and their dependencies in Kubernetes manifests, Crossplane ensures that the desired state is maintained, automatically reconciling any drift. This approach not only streamlines operations but also enhances reliability and consistency across deployments.

Conclusion and Resources

The webinar highlighted the importance of treating platforms as products, balancing flexibility with rigidity, and adopting an API-first approach. Tools like Crossplane, built on top of Kubernetes, provide powerful capabilities to automate and manage infrastructure, making platform engineering more accessible and effective.

For those interested in exploring Crossplane further, I have a book, “Crossplane: The Cloud Native Framework”. It gives an overview and deep dive into the CNCF project to help you start streamlining your structure today.

Thank you to everyone who joined the webinar. It was a pleasure to share insights and showcase the capabilities of Crossplane. Stay tuned for more discussions and demos, and happy platform engineering.

About the Author

Creator of the DevOps Toolkit Youtube Channel, Viktor is a popular developer advocate passionate about helping you learn the tools and the processes that you should be using and applying in your day-to-day job.

Profile Photo of Viktor Farcic