Migrating to a different Event Gateway Service

You can switch to use a different Event Gateway Service from an existing one, and set your AsyncAPIs to work with the new gateway. For example, if you installed an Event Gateway Service as part of your Event Endpoint Management instance, but want to use a standalone gateway outside of your Cloud Pak for Integration cluster, you can deploy the standalone gateway service and migrate your AsyncAPIs to use the new gateway.

  1. Install a standalone gateway.

    Note: You can also use this process if you want to switch from a standalone gateway to a gateway deployed as part of an Event Endpoint Management instance in Cloud Pak for Integration.

  2. Register the new gateway.

  3. Specify the new Event Gateway Service through which the AsyncAPIs in the Product are to be made available.

    You have the following options to do this:

    • Option 1: This option is suitable for test environments where you might perform local testing with internal consumers of the AsyncAPI, and then switch to a standalone Event Gateway Service to have the gateway closer to your Kafka cluster and verify the performance benefits. This process simply updates the gateway service for the selected Product and disconnects existing consumers. It does not provision for notifying the consumers about the change in gateway service. Users would need to be notified manually that their consuming applications have to connect to the new Product. For information about updating the gateway services for a Product, see the API Connect documentation.

    • Option 2: This option is suitable for production environments where you want to notify consumers of the AsyncAPI of the change and request they switch over to using a different Event Gateway Service. This process involves creating a new version of the Product and publishing it to the new gateway service, and then setting the previous Product to be superseded. Consumers of the previous Product are notified that a new Product is available to migrate to. After all consumers are migrated, you can retire the previous Product and remove the previous gateway. For information about superseding a Product with another Product, see the API Connect documentation.

  4. Remove the previous gateway service from the Catalog as follows:

    1. In the API Manager UI, click Manage.

    2. Click the Catalog to open settings.

    3. Click the Catalog settings tab, and click Gateway services.

    4. Click Edit, clear the selection for the previous gateway, and click Save.

  5. Remove the previous gateway from Cloud Manager. This unregisters and removes the gateway and makes it unavailable to Products and Catalogs.

    1. In the Cloud Manager UI, click Topology.

    2. Go to the Availability Zone that contains the previous gateway service.

    3. Locate the previous gateway service in the list.

    4. Click the Menu icon Menu icon at the end of the row and click Delete.

  6. If you are migrating to a standalone Event Gateway from a gateway deployed as part of your Event Endpoint Management instance, delete the gateway in Event Endpoint Management as follows to avoid being charged for it:

    Note: If you deployed your Event Endpoint Management instance by using the sample Event Endpoints - Three Node - Production (no Event Gateway Service), the following steps are not required because the Event Gateway Service will already be disabled.

    1. Log in to the IBM Cloud Pak for Integration Platform UI as a Cluster Administrator. Use the authentication method and credentials set by your administrator.

    2. Click the Navigation Menu Navigation Menu in the top left.

    3. Expand Administration and click Integration instances.

    4. Click the Menu icon Menu icon next to the Event Endpoint Management instance name, and then click Edit.

    5. Select the YAML view, edit the EventEndpointManager custom resource and add the following to spec.disabledServices:

           - event-gateway
    6. Click Update

    7. Delete the existing EventGatewayCluster custom resource by using the OpenShift CLI (oc) command as follows:

      1. Run oc get EventGatewayCluster to retrieve the cluster name.

      2. Use the EventGatewayCluster name retrieved in the previous step to delete the instance:

        oc delete EventGatewayCluster <instance-name>-egw