Application Model - csap-platform/csap-core GitHub Wiki
Contents: Clustering OS Process Mapping Samples
To achieve high availability - typical applications will deploy multiple instances of service endpoints for both scaling and high availability. The characteristics (number of instances, ports used, etc) are referred to as clusters in CSAP application definitions.
A typical project includes at least 1 - and sometimes many - clusters ( groups) of services. Since each cluster maps to a resource footprint - it enables each group to scale independently. A service with few requests may only be deployed on 2 hosts - and then only for redundancy. Other services may need to handle 100's, or 1000's of requests per second and need to be deployed on 10's, 100's of hosts.
CS-AP extends standard service clustering concepts by including:
- 1 to n service templates, assigned to
- 1 to n clusters, with each cluster assigned
- 1 to n hosts
Service Templates include the ability to map a CSAP Service to 0-n linux processes:
- if a service is simply files on the filesystem (eg. the Java runtime), then the service will not map to any pids, and no os resources will be collected
- a typical kubernetes service will include one or more yaml files, along with container mapping(s) to capture resource consumption
- CSAP will automatically collect and aggregrate all kubernetes namespaces.
Every host in a environment is assigned to the base-os cluster. Applications can customize this cluster as needed.
The CSAP kubernetes package creates a cluster (1-n masters, 1-m workers) with a single click: