Introduction
This guide explains how to upgrade API Gateway from versions 10.1 and above to a latest version. Upgrading API Gateway involves migrating the configurations and data from one version to another.
API Gateway manages different types of data that are migrated during an upgrade. This includes the data that are stored in Elasticsearch and in the file system.
The following table lists the different types of data and the migration procedure that API Gateway supports:
Data Type | How is it stored? | Where is it stored? | Migration information |
---|---|---|---|
API Gateway assets | Documents | API Data Store or Elasticsearch | For more information on the procedure to migrate these data, see Migrating the API Gateway assets and the analytics data. |
API Gateway analytics | Documents | API Data Store or Elasticsearch | For more information on the procedure to migrate these data, see Migrating the API Gateway assets and the analytics data. |
Platform configurations | Files | On server nodes | For more information on the procedure to migrate these data, see Migrating the platform configurations. |
Terminologies used
Terminology | Description |
---|---|
Source | The source API Gateway installation directory. |
Target | The target API Gateway installation directory. |
Quiesce | Quiescing API Gateway temporarily disables access to the server so you can perform the required tasks while the server is not connected to any external resources. In API Gateway, quiesce mode is used during the zero downtime upgrade wherein the access to the server is temporarily disabled, so you can perform the upgrade tasks. For more details, see Quiesce Mode. |
Blue-Green | API Gateway
follows Blue-Green deployment approach to upgrade to newer version in zero
downtime.
Blue-green deployment is a technique that reduces the downtime and risk by running two identical production environments called blue and green. In such a deployment scenario, the old instance of API Gateway is allowed to run and serve the transactions while the new instance of API Gateway is being prepared for data migration. |
Migrating the API Gateway assets and the analytics data
When you upgrade
API Gateway
to a latest version, you have to migrate the
API Gateway
assets and the analytics data, that is, the Elasticsearch or API Data Store
data. If the source Elasticsearch or API Data Store instance is accessible by
the target, then you can use the
migrate.bat datastore
command to migrate the
API Gateway
assets and the analytics data.
When you use the
migrate.bat datastore
command, it migrates both the
core and analytics data. When the analytics data is of high volume,
alternatively, you can use the
migrate.bat datastore
command to migrate only the core
data, and use the backup and restore command to migrate the analytics data.
When you migrate using migrate.bat datastore command, it also migrates ports, keystores, aliases, and so on, which is also stored in the API Data Store, and these values override the existing port configurations and keystores in target server. Hence, ensure that the unnecessary data such as migrated ports, keystores, and aliases are cleaned up post migration if they are not used by the target system.
For more information on the procedure to upgrade API Gateway and the migration utility command, see Upgrading standalone API Gateway and Upgrading API Gateway cluster.
Migrating the platform configurations
The platform configurations are mostly one time configurations, that is, these configurations do not change often and these configurations are stored in the version control system or similar repositories. These configurations must be migrated from the source to the target API Gateway instance. You can use these stored configurations to set up the target API Gateway instance and restore the configurations.
There are three ways to migrate the platform configurations from the source to the target API Gateway instance:
- Migrating the platform configurations manually, that is, copy the configuration files manually from the source repository to the target repository, to restore the target API Gateway instance, if you have stored these configurations in the repositories.
- Configuring using the
externalized configurations. If you have externalized the configurations of the
source
API Gateway
instance, you can use the same externalized configuration file to restore the
target platform configurations. For more information, see
webMethods API Gateway
Administration.
Note: Externalized configurations does not support externalizing all the API Gateway configurations. In future releases, API Gateway will support externalizing all the configurations.
- Using the
migrate.bat apigateway
command.
The following table shows the API Gateway configurations that are stored in the file system:
Configuration | File name | File location | Is this supported by externalization? | Is this data migrated by the migrate.bat utility command? |
---|---|---|---|---|
Elasticsearch configuration | elasticsearch.yml | SAGInstallDir/InternalDataStore/config/ | No | No |
Elasticsearch client configuration | config.properties | SAGInstallDir/IntegrationServer/instances/instance_name/packages/WmAPIGateway/config/resources/elasticsearch/ | Yes | No |
Kibana configuration | kibana.yml | SAGInstallDir/profiles/instance_name/apigateway/dashboard/config/ | Yes | No |
Master password | mpw.dat | SAGInstallDir/profiles/instance_name/configuration/security/passman/ | Yes | Yes |
UI configurations | uiconfiguration.properties | SAGInstallDir/profiles/instance_name/apigateway/config/ | No | Yes |
WebApp settings |
com.softwareag.catalina.connector.http.pid-apigateway.properties com.softwareag.catalina.connector.https.pid-apigateway.properties You have to manually migrate the certificates used for the WebApp ports. |
SAGInstallDir/profiles/instance_name/configuration/com.softwareag.platform.config.propsloader/ | Yes | Yes |
Custom wrapper settings | custom_wrapper.conf | SAGInstallDir/profiles/instance_name/configuration/ | No | Yes |
Server Ports Configuration | If the
portClusteringEnabled extended setting is set
to false, you must create the server ports in each instance.
|
No | No | |
Custom ESB packages | File name specified by users.
Make sure that all the custom packages are installed and ready in the new instances. |
Location used by users to save the file.
Generally, the customized packages are saved in the following location: SAGInstallDir\IntegrationServer\tenant\packages\ |
No | Yes |
For more information on the procedure to upgrade API Gateway and the migration utility command, see Upgrading standalone API Gateway and Upgrading API Gateway cluster.