Let's take a look at some of the key concepts and terminology in WSO2 Private PaaS:
A partition depicts the division in an IaaS and defines an area of an IaaS cloud used by a service subscription. A network partition is an area of an IaaS that is bound by one network of an IaaS. Therefore, it is possible to include one or more partitions inside a network partition. Network partitions use private IPs for internal communication. For more information, see Cloud Partitioning and for information on all the properties you can define in a network partition definition JSON, see the Network Partition Resource Definition.
A deployment policy defines how (such as, which partition algorithm to use) and where to spawn cartridge instances, and it also defines the maximum instances that are allowed in a service cluster. DevOps define deployment policies based on deployment patterns. You need to add the network partitions, which you plan on referring to in a deployment policy, prior to adding a deployment policy. For more information on all the properties that you can define in a deployment policy definition JSON, see the Deployment Policy Resource Definition.
An auto-scaling policy defines the threshold values pertaining to scaling up and scaling down decisions. Auto-scaler will refer to the auto-scaling policy that is defined by DevOps. For more information on all the properties that you can define in an auto-scaling policy definition JSON, see the Auto-scaling Policy Resource Definition.
A Kubernetes Cluster is a collection of Docker hosts, and a set of management features for running Docker containers in a clustered environment. A Kubernetes Cluster contains node agents (minions) and master components. Kubernetes creates a cluster of Docker hosts to provide high availability for the Docker containers. An API is provided to manage the containers. For more information on all the properties that you can define in a Kubernetes cluster definition JSON, see the Kubernetes Cluster Resource Definition.
A cartridge is a virtual machine (VM) on IaaSs, such as EC2, OpenStack and GCE, and a container on Kubernetes, which has software components to interact with Private PaaS. You can add a cartridge in a platform as a service (PaaS) for scalability. In WSO2 Private PaaS, cartridge runtimes create service runtimes. For example, if you want to have a Enterprise Service Bus (ESB) runtime, you can use a WSO2 ESB cartridge to get the runtime to deploy a mediation flow. A cartridge can be fully configured with all the software and configurations, or zero configured where the cartridge user can install and configure what they want. For more information, see Cartridge and for information on all the properties that you can define in a cartridge definition JSON, see the Cartridge Resource Definition.
A cartridge group defines the relationship among a set of cartridge groups and a set of cartridges. The relationship among the children of a group can be the startup order, termination behavior and any scalable dependencies. Writing a cartridge group definition provides the ability to re-use the same frequently used cartridges as needed in different composite applications. The cartridges that correspond to a cartridge group have to be added to Private PaaS before the cartridge group is added. For more information on all the properties that you can define in a cartridge group definition JSON, see the Cartridge Group Resource Definition.
An application policy defines the application availability in network partitions. Thereby, it would define whether to start the application in all the network partitions or whether to carryout cloud bursting. For more information on all the properties that you can define in an application policy definition JSON, see the Application Policy Resource Definitions.
In WSO2 PPaaS, an application is referred to as a composite application for the purpose of grouping a set of cartridges together. The application provides the actual data required to create the clusters, start the instances and specifies how to connect them in the run-time. For more information on all the properties that you can define in an application definition JSON, see the Application Resource Definition.