KubePlus is a turn-key solution to transform any containerized application into a SaaS on Kubernetes.
It is designed to help software vendors accelerate their journey to SaaS or enterprise platform teams rapidly deliver managed services for any custom applications.
KubePlus takes an application Helm chart and delivers it as-a-service by automating multi-tenancy management and day2 operations. KubePlus consists of a CRD that enables creating new Kubernetes APIs (CRDs) to realize such services.
Tenant level policies, isolation, consumption tracking
Monitoring, troubleshooting, upgrades
Design your platform services from Helm charts
Visualize resource relationships
KubePlus offers a CRD named ResourceComposition to
Application instances are realized by establishing relationships between available Kubernetes Resources / APIs (built-in or Custom). These relationships are primarily of four types - (1) Owner references, (2) Labels, (3) Annotations, (4) Spec Properties. KubePlus is able to runtime construct Kubernetes Resource relationship graphs for a running application stack. This enables KubePlus to build resource topologies and offer fine grained visibility and control at the instance or tenant level.
Here we demonstrate how a multi-tenant WordPress service can be created from WordPress Helm chart. The Helm chart assumes MySQL Operator installed on the cluster and creates wordpress pod that depends on a MySQL custom resource.
KubePlus takes Helm chart and other policy and monitoring inputs through ResourceComposition CRD as shown below to deliver a new CRD for Wordpress as-a-Service.
A new CRD named WordpressService has been created here using ResourceComposition CRD as shown above.
Here is a YAML definition that allows us to create first tenant using newly created WordpressService CRD.
Here is a visual representation of the complete resource relationship graph of the WordpressService instance. This can be discovered using KubePlus kubectl plugin - 'kubectl connections WordpressService wp-service-tenant1'.
Kubectl command output that shows CPU, Memory, Storage and Network consumption metrics for tenant1.
KubePlus offers tenant level metrics that can be directly discovered in any Prometheus based monitoring infrastructure.
We call our innovative method of delivering application SaaS Platform-as-Code because it enables teams to rapidly build their application platforms in a declarative manner.