Platform Engineering: Raise the Level of Abstraction using Kubernetes Operators by Tom De Wolf

Learn how platform engineering can increase platform agility and reduce TCO by building abstractions and operators using Kubernetes. Discover how to simplify developer experience, automate tasks, and enforce policy with admission webhooks, and more.

Key takeaways
  • The core component of a platform is the platform orchestrator, which takes care of infrastructure and tooling.
  • To avoid high TCO, application teams should not build their own infrastructure and tooling.
  • Platform teams focus on building abstractions and operators to increase platform agility.
  • Abstractions should be built using Kubernetes custom resource definitions (CRDs) and APIs.
  • Operators can be used to automate tasks and simplify developer experience.
  • Kubernetes admission webhooks can be used for policy enforcement.
  • Platform architects should focus on raising the level of abstraction for developers.
  • Platform engineering aims to provide a self-service experience for developers.
  • Developers should not have to configure or interact with underlying infrastructure.
  • Platform orchestrators can be decomposed into smaller operators for easier maintenance and scalability.
  • Kubernetes provides standard schema shapes for resources, including metadata, labels, and annotations.
  • Platform architects should focus on simplifying developer experience and raising the level of abstraction.
  • Operators can be used for data management, automation, and orchestration.
  • Robust and resilient patterns should be used when designing platforms.
  • Automation and standardization are essential for platform engineering.
  • DevOps practices should be expanded to automate infrastructure delivery and reduce variability.
  • Platform architects should have a product mindset and focus on providing self-service APIs to developers.