Implementation Overview
WSO2 API Manager (AM) 1.9.0 and 1.9.1 are provided as a service on WSO2 Private PaaS 4.1.0. This is implemented by creating the following:
Template module
The template module configures the product in runtime, with a set of key value pairs known as the configuration parameters.
Cartridge agent plugin
The cartridge agent plugin, sets the runtime configuration parameters such as hostnames, IP addresses of dependent clusters, dynamic proxy ports and many more.
Docker image
The Docker image is built by packaging the following components:
Cartridge agent
Product distribution
Template module
Configurator
Java runtime
Puppet module
The puppet module includes the same set of component as in the Docker image. In the puppet image the template module is used to configure automation.
Deployment Architecture
The deployment architecture is designed to support different deployment patterns of API manager, within the the API manager application. It consists of two cartridge groups as shown below:
- A cartridge group to deploy the key manager and gateway clusters.
A cartridge group to deploy the publisher and store.
The publisher and store can be deployed in the same cluster using the publisher-store profile or in separate clusters.
The diagram illustrates the deployment architecture of API manager on Private PaaS:
In the above deployment, five different Private PaaS clusters are created for the gateway manager, gateway worker, key manager, store and publisher. These clusters can be scaled independently. However there will be Carbon clusters created across different Private PaaS clusters. The gateway manager and gateway worker will connect to one Carbon cluster, the store and publisher will connect to another Carbon cluster and the key manager will have a separate Carbon cluster.
Template Module
The WSO2 AM 1.9.0 and 1.9.1 template module provides a set of templates that is used to configure the API Manager with the Configurator.
Cartridge Agent Plugin
The Server configurations are automated through the cartridge agent plugin, which was implemented for WSO2 AM 1.9.0.
The plugin configures the following and many more:
- server hostname
- cluster discovery parameters
- proxy ports