CloudARK

Platform-as-Code

Kubernetes Native

  No new proprietary CLI

Composable

Choose your technology stack

Declarative

Workflows as-Code in Kubernetes YAMLs

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

Learn how Platform-as-Code approach enables teams to compose their platforms with Kubernetes API extensions and build their application workflows declaratively.

Platform-as-Code eBook

Kubernetes API extensions (Operators)

Kubernetes Operator, Kubernetes CRD

One of the key reasons for Kubernetes’s popularity is its extensibility. 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 softwares like databases, queues, loggers, etc. Kubernetes API extensions or Operators form foundation for Platform-as-Code experience. 

Evolution of as-Code systems

Like AWS CloudFormation / Terraform, as-Code system for Kubernetes

image54

Any ‘as-Code’ system is designed to offer a common declarative language to provision a technology stack leveraging underlying APIs / resources. In Kubernetes world, we get a foundation for this declarative language with Kubernetes YAML definitions and Helm charts, however there are unique requirements of Custom Resources / APIs introduced by Kubernetes extensions that are not satisfied through the existing mechanism. KubePlus API add-on is designed to fill these gaps to offer Platform-as-Code experience on Kubernetes. It simplifies defining technology stacks leveraging Kubernetes Custom APIs / Resources.

Learn more

Platform-as-Code Process

Platform-as-Code refers to the process that application developers follow to create declarative platform workflows in Kubernetes YAMLs leveraging Custom APIs / Resources introduced by Operators along with built-in Resources. 

This involves discovery, binding and orchestration of Kubernetes Custom APIs / Resources to create platform workflows declaratively. 

Kubernetes Operators

- DevOps engineer is responsible for assembling the platform layer by selecting required Kubernetes CRDs/Operators. 

- Application developer then creates application platform workflows in Kubernetes YAMLs using various Custom and built-in Resources leveraging the platform layer. 

KubePlus approach to Platform-as-Code

Consistency across CRDs/Operators

We have created detailed guidelines to enable consistency and standardization across various community CRDs/Operators for enabling Platform-as-Code experience. 

Tooling for discovery and binding of APIs

 We have developed KubePlus API add-on to simplify discovery and use of Kubernetes Custom Resources towards building Platform-as-Code workflows. 

image55

KubePlus API add-on

KubePlus API add-on is designed to provide discovery & binding of Custom Resources to orchestrate a technology stack in Kubernetes YAMLs. 

  • Discovery of Custom Resources :   

New endpoints to learn static and dynamic information about Custom Resources.

  • Binding of Custom Resources :

New functional constructs to be used in YAML definition to bind Custom Resources. 

  • Orchestration of technology stack :

New CRD to define interdependencies between Custom Resources in a technology stack. 

GitHub

Platform-as-Code Stakeholders

Extensions Developer

image56

Comprehensive guidelines for Operator readiness for multi-Operator environments. 

DevOps Engineer

image57

Extend Kubernetes without any custom automation using Curated Operators for Platform-as-Code. 

Application Developer

image58

Repeatable and shareable way of creating application platforms as-Code with Kubernetes YAMLs.

Kubernetes and the future of as-Code Systems

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