Composable and Repeatable Platforms as Code on Kubernetes

Sign-up for Platform-as-Code eBook

Sign-up for getting your free copy of Platform-as-Code eBook

Sign up

Kubernetes Operators

Kubernetes Operator, Kubernetes CRD

One of the key reasons for Kubernetes’s popularity is its extendibility. Kubernetes API extensions (commonly referred as Operators) extend Kubernetes API to manage third-party software as native Kubernetes objects. There are 400+ GitHub repositories with Operator implementations for middleware like databases, queues, loggers, etc. Kubernetes Operators form foundation for Platform-as-Code experience. 

API wrapper Vs Operators

API wrappers: Traditional method of creating platform abstractions

Kubernetes Operators

  • Disparate interfaces to learn / manage.
  • Hard to leverage tools and features developed for native interface with new abstractions.

Operators (API extensions): New method of creating platform abstractions

Kubernetes Operators

  • One common interface to use for native and newly added abstractions.
  • Can easily leverage tools (e.g. Helm) or features (e.g. auditing) for native interface with new abstractions.

What is Platform-as-Code ?

Platform as Code is the process of aggregating multiple Kubernetes Operators for the purpose of creating and managing platforms declaratively using native Kubernetes interfaces (kubectl & Kubernetes YAML), rather than ad-hoc scripts or new CLIs. 


How? 

  • Assembly of multiple Kubernetes API extensions (aka Operators)
  • Discovery of custom resources introduced by Operators 


Key tenets

  • No new file formats: Leverage Kubernetes native input mechanisms, e.g. Use of annotations, configmaps
  • No new CLIs: Leverage existing CLIs (kubectl, helm)


Introducing Platform-as-Code: New Cloud Computing Model

As-Code

Platform as Code

As-Code’ systems are those that provide declarative model for defining and managing elements in your application stack. Pioneered by Infrastructure-as-Code systems like Terraform, the ‘Infrastructure-as-Code’ approach provides repeatability, shareability, versioning in provisioning infrastructure elements. On the similar lines, the 'Platform-as-Code' approach provides declarative model for defining, provisioning and managing platform elements through its lifecycle. 

Operational Efficiency with Platform-as-Code

image7

Composable, Repeatable and Shareable Application Platforms as Code

  • Compose your application platforms using enterprise-ready Kubernetes API extensions (Operators). 
  • Repeatably create application platforms as Code with Kubernetes YAML definition. 
  • Share platform definition YAMLs among team members. 

Operator Guidelines for Platform-as-Code

We are building comprehensive Operator guidelines and Operator validation program to enable Platform-as-Code experience. 

Learn more

How Kubernetes API Extensions enable Platform-as-Code Experience

Learn more

Evolution of PaaSes to Platform-as-Code in Kubernetes world

Learn more

Platform-as-Code: how it relates to Infrastructure-as-Code and what it enables

Learn more

Platform-as-Code — Elevating Kubernetes to next generation PaaS

Learn more

Subscribe to our Platform-as-Code newsletter.

Platform-as-Code with KubePlus