API Management Installation Guide
As of Scheer PAS 21.1, this installation documentation is deprecated. You should not perform an installation with the old Docker images. API Management now is part of the Scheer PAS installation and cannot be installed stand-alone.
This guide explains how to install and configure a single installation of Scheer PAS API Management:
Overview on the Docker Setup of API Management
Have a look at the figure below to get a technical overview on the Docker setup of Scheer PAS API Management.
Overview on the Installation Containers
Container Name | Description | Default port |
---|---|---|
api-mgmt/gateway | This container contains the engine of API Management. It handles all incoming client requests, applies the policies and forwards the requests to the API endpoint. The gateway is powered by Eclipse Vert.x which can handle a lot of concurrency using a small number of kernel threads. Vert.x lets your app scale with minimal hardware. | 8444 |
api-mgmt/ui | This container provides the UI to manage all your APIs and gateways. It also allows you to view corresponding metrics. The UI is powered by Apache Tomcat. | 8443 |
api-mgmt/keycloak | This container contains the authentication provider Keycloak. Keycloak is used to authenticate users of the API Management UI and users of the Keycloak OAuth policy. Keycloak runs on JBoss WildFly. | 8445 |
api-mgmt/devportal | This container contains the Developer Portal. Using the Developer Portal, you can give clients a consolidated access to the APIs they need in a separate view. | 8447 |
elasticseach | This container contains an official version of Elasticsearch. API Management stores all metrics information and configuration in Elasticsearch. | |
mysql | This container contains an official version of MySQL. Keycloak uses MySQL to store users and configurations. | |
kibana | This container contains an official version of Kibana. Kibana can be used to create advanced and detailed analyses on API Management Metrics | |
keycloak-gatekeeper | This container contains an official version of Keycloak Gatekeeper. API Management uses this container to provide a proxy server in front of Kibana. This way, Kibana access can be granted or restricted for API Management users. | 8446 |
System Requirements
For Scheer PAS API Management, you have to consider that there are several components running on the same host (see Overview on the Installation Containers above). For a lean setup, you should have at least 8 GB of memory available on your API Management host.
Consider around...
2 GB for Tomcat
1 GB for the Gateway
2 GB for Keycloak and MySQL
2 GB for Elasticsearch
2 GB for Elasticsearch is the default value. Please refer to the official Elasticsearch documentation for more information on memory usage and how to determine the needs for your setup (see Install Elasticsearch with Docker > Notes for production use and defaults and Setting the heap size).
You do not need to edit the docker-compose.yml to adjust this as we provide a variable in the .env file to configure this (see Installing API Management > Configure the Installation Settings).
Prerequisites
Please consider the following prerequisites regarding Scheer PAS API Management:
The software uses Docker to run.
The Docker Community Editon (CE) (version 18.06 or newer) is sufficient to run the software. The provided Docker containers are Linux containers.
Refer to the Docker documentation pages for more information on supported platforms and how to install Docker.As Docker host, we support Linux, namely the following Linux distributions:
RedHat/CentOS
Ubuntu
The Docker tool docker-compose (version 1.23 or newer) must be installed.
Overview on the Installation Process
To install the Scheer PAS API Management, you need to got through the following steps (refer to Installing API Management for details):
Download and Extract the Software
Configure the Installation Settings
Configure the installation settings in the Docker configuration file.Prepare the Certificate
Configure the Authentication Service (Keycloak)
Before you can start API Management, you need to change some of the Keycloak settings in the Docker configuration file.Start All Services
To start API Management, start all Docker containers.Login to API Management
Finally you can log in to API Management and test the connections.
Related Documentation:
Elasticsearch: