WSO2 API Manager as a Service
Implementation Overview
WSO2 API Manager (AM) 1.9.1 are provided as a service on WSO2 Private PaaS. 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.
The template module provides a set of templates that is used to configure the specific product with the Configurator.
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.
Deploying WSO2 API Manager as a Service
Deploy WSO2 API Manager as a service using one of the following methods.
- Deploy the application on Private PaaS when running on a Virtual Machine.
- Deploy the application on Private PaaS when running on Kubernetes.
Make sure that you note the points given below:
The server shut down timeout can be changed by defining a new value under
property
in the cartridge definition.
Example:name : CONFIG_PARAM_SERVER_SHUTDOWN_TIMEOUT value : 120
The value should be specified in seconds. In the above example the value is defined as 120 seconds.
Sign up for the API Manager application in Private Paas by giving the specific Git repository URL, for both the gateway manager and gateway worker cartridges. This is required for artifact distribution.
Make sure that you note the points given below when running WSO2 Identity Server as a Key Manager:
Use the pre packaged Identity Server pack that is specifically designed to run as the Key Manager. Do not use the default IS pack.
Download the pre packaged WSO2 Identity Server.
For more informations, see how to configuring the pre-packaged Identity Server.
Rename the
patch0012
kernal patch topatch9999
if you are applying the WSO2 Identity Server Service Pack for 5.0.0. This is done to support Private PaaS membership schema which comes from thenkernal patch 12
.
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.