Capability patterns
A pattern defines which capability or capabilities to run against specific hosts and groups in your clusters. Patterns are used to manage where particular applications, configurations, and IT processes are applied. Cloud Pak for Business Automation uses patterns to automate and orchestrate its capabilities in the cloud.
The patterns that are provided by Cloud Pak for Business Automation are written in Ansible YAML files and implement the software provisioning, application security, compliance, and orchestration of the capabilities they manage. Patterns depend on the inventory of your clusters and decide which hosts to manage.
Each capability pattern has a designated Ansible role to take care of it. Each role is defined with a playbook that serves as an entry point to provision and automate a capability. Roles are independent components that allow the reuse of common configuration steps and contain a set of tasks that can be used to configure a host with certain configurations. A role defines in which order tasks must be run or played, hence the name playbook.
The real job of the role is done in tasks. Tasks are run in order, one at a time, and never run until the previous task is complete on all hosts. Roles are agentless, they reuse connections, and they use minimal network traffic. A playbook can raise privileges in certain circumstances to "become" a super user, and can include special tasks that listen for events that are called "handlers". A handler is run only when the event that it listens for occurs.
Playbooks connect to hosts by using SSH keys and run tasks on each host to bring the modeled resources to the target state. The following diagram shows how capability patterns are applied to clusters with the Cloud Pak operator.
The Ansible push-based architecture is designed to help you manage the Cloud Pak capabilities and give you control over all your operations. The use of patterns orchestrate the complex configurations that are needed to operate the Cloud Pak for Business Automation capabilities in stand-alone deployments and in multiple capability deployments.