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.
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.
Introducing Platform-as-Code: New Cloud Computing Model
‘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.