Deploying Cloud Pak for Integration demos

The demos operator allows you to deploy demos that showcase the capabilities available in Cloud Pak for Integration:

  • Driveway Dent Deletion - Demonstrates the 'Scatter Gather' pattern being used to create an API. This pattern exposes three independent integration services that are called in parallel from one request, and the result is combined into a single response that is sent to the user. This pattern is often used in buying comparison sites for hotels, airline bookings, insurance, financial products, and so on.

    The demo uses a full CI/CD pipeline built on OpenShift pipelines. The pipelines build containers for each of the instances, then deploys them together with all the correct credentials and bindings. It demonstrates:

    • Live deployment updates of integrations with zero downtime, and live fixpack application with zero downtime, showing that Cloud Pak for Integration can run multiple versions of products at the same time and patch and upgrade them independently.

    • A tracing/operational dashboard to show the flow of the request through the system, allowing admins to apply performance bottlenecks.

  • Event-Enabled Insurance - Shows a powerful combination of event-driven integration using Event Streams, coupled with APIs that use assured delivery through IBM MQ. This enables backend systems to send data to where it's most useful and allow a large scale of queries to be performed on the data without touching the system of record (SOR). Even when the SOR is online, customers can query their data at any time.

    Using MQ between the API and the backend allows Cloud Pak for Integration to buffer requests that are too large for the backend, allowing them to flow at a constant rate and avoid overload. In addition, when the SOR is offline, write requests are buffered in the queue to allow customers to make new claims at any time. Event Streams also enables real-time notification of claim status changes direct to their application, thus enhancing their experience with the company.

  • Car Crash Repair Demo - Demonstrates how to rapidly build APIs that connect with SaaS applications and Watson services, and securely expose them to partners.

  • Mapping Assist - Shows how mapping assist can significantly accelerate building an API by reducing the time it takes to map complex fields.

Once these demos are deployed, you can:

  • Configure them as needed.

  • Show how to exploit the capabilities that are available as part of the Cloud Pak for Integration.

Prerequisites

  • Create a secret called ibm-entitlement-key in the namespace where the Demos instance will be created. The secret must contain cp as the username, cp.icr.io as the docker server, and an entitlement key as the password. Get an entitlement key from the IBM Container Library.

  • If you wish to configure API Connect with a specific mail server create a secret called cp4i-demo-apic-smtp-secret in the namespace where the Demos instance will be created. The secret needs to contain the emailAddress, mailServerHost, mailServerPassword, mailServerPort and mailServerUsername.

  • Install the individual product operators you need for the specific version of Cloud Pak for Integration that you are installing. For 2022.4 channel versions, see Operator channel versions for this release. For more information about installing the operators, see Installing the operators by using the Red Hat OpenShift console or Installing the operators by using the CLI.

  • Install Openshift Pipelines operator (if installing the demos operator at namespace scope).

  • Create a catalog source for the demos operator by applying the following yaml:

    apiVersion: operators.coreos.com/v1alpha1
    kind: CatalogSource
    metadata:
      name: ibm-integration-demos-operator-catalog
      namespace: openshift-marketplace
    spec:
      displayName: IBM Cloud Pak for Integration Demos
      publisher: IBM
      sourceType: grpc
      image: icr.io/cpopen/ibm-integration-demos-catalog:latest
  • Install the Demos Operator at the same scope as the Cloud Pak for Integration operator.

  • Install the Platform UI, using the procedure in Deploying the Platform UI. Do not proceed until the deployment is completed.

System requirements

Storage: Cloud Pak for Integration demos use both Read Write Many (RWX) and Read Write Only (RWO) modes of storage, depending on the capabilities required.

Minimum resources required to run the demos are:

Software Storage Minimum CPU Minimum Memory
Demos 331.84 GB 33.9 Cores 87.5Gi

Car Crash Repair

Integration capability CPU Memory Disk Space
Application Integration Dashboard 1 core 4 GiB 2.3 GB
Application Integration Designer 1 core 5.75 GiB 30 GB
API Connect 12 cores 48 GiB 280 GB
Asset Repository 0.7 cores 1 GiB 0.4 GB

Driveway Dent Deletion

Integration capability CPU Memory Disk Space
Queue Manager 1 core 1 GiB 2 GB
Application Integration Dashboard 1 core 4 GiB 2.3 GB
API Connect 12 cores 48 GiB 280 GB

Event-Enabled Insurance

Integration capability CPU Memory Disk Space
Queue Manager 1 core 1 GiB 2 GB
Application Integration Dashboard 1 core 4 GiB 2.3 GB
API Connect 12 cores 48 GiB 280 GB
Event Streams 8.2 cores 8.2 GiB 1.5 GB

Mapping Assist

Integration capability CPU Memory Disk Space
Application Integration Designer 1 core 5.75 GiB 30 GB

Installing

Scope of the demo operator

Scope of installation Supported
Namespace scope Yes
Cluster scope Yes

Deployment with the Red Hat OpenShift web console

  1. Navigate to the OpenShift web console.

  2. In the navigation panel, click OperatorHub, search for Demo, then click IBM Cloud Pak for Integration Demos.

  3. Click Install.

  4. Click Demo.

  5. Create the Demo custom resource (CR) in the UI or with the YAML editor.

    • Select the project in which to create the CR:

      • Deploy in the same project (namespace) as the Demos operator, if the Demos operator was installed in the A specific namespace on the cluster installation mode.

      • Deploy in any project (namespace) if the Demos operator was installed in the All namespaces on the cluster installation mode.

    • For guidance on which licenses to select, see Licenses.
      Note: Non-production licenses for App Connect and MQ are required, and all licenses need to be accepted in order to proceed.

The following is an example Demo CR. Replace <user-namespace> and <user-values> with the appropriate values.

Note: You must manually change the value of spec.license.accept to true or the deployment will fail.
apiVersion: integration.ibm.com/v1beta1
kind: Demo
metadata:
  name: demo-setup
  namespace: <user-namespace>
spec:
  addons:
    elasticSearch: true
    ocpPipelines: true
    postgres: true
  demos:
    cognitiveCarRepair: false
    drivewayDentDeletion: false
    eventEnabledInsurance: true
    mappingAssist: false
    weatherChatbot: false
  general:
    storage:
      block:
        class: cp4i-block-performance
      file:
        class: ibmc-file-gold-gid
  license:
    accept: false
    ace: L-APEH-CJUCNR <non-prod-licenses>
    demo: L-RJON-CJR3Q4 <non-prod-licenses>
    apic: L-GVEN-GFUPVE <non-prod-licenses>
    ar: L-RJON-CD3JKX <non-prod-licenses>
    mq: L-RJON-CJR2RX <non-prod-licenses>
  products:
    aceDashboard: true
    aceDesigner: false
    apic: true
    assetRepo: false
    eventStreams: true
    mq: true
  version: 2022.4.1

Additional information:

  • Driveway Dent Deletion Demo: Link

  • Event Enabled Insurance: Link

  • More demos: Link

  • Installation is based on the k8s Operator.

Requirements for deploying multiple instances of the demo operator on a single cluster

To create multiple instances of the demo operator in each namespace, you need to:

Licenses

Select the product licenses that correspond to the version of Cloud Pak for Integration you are using for a demo. Click any of the links for details about specific license terms.

2022.4.1 licenses

Product License
Demos operator L-RJON-CJR3Q4
App Connect L-APEH-CJUCNR
API Connect L-GVEN-GFUPVE
Automation Assets L-RJON-CD3JKX
MQ L-RJON-CJR2RX

Limitations

  • Only runs on AMD64 architectures

  • Only runs on Linux operating systems

  • For a non-production environment, only (licenses shown in the CR are non-production licenses)

  • Users need entitlement (for example, an entitlement key) to cover instances deployed as the part of the demo.

SecurityContextConstraints Requirement

This chart is supported on Red Hat OpenShift. The predefined SecurityContextConstraint name privileged has been verified for this chart.

Custom SecurityContextConstraints definition:

+kubebuilder:rbac:groups=security.openshift.io,resources=securitycontextconstraints,resourceNames=privileged,verbs=use

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  creationTimestamp: null
  name: manager-role
rules:
- apiGroups:
  - security.openshift.io
  resourceNames:
  - privileged
  resources:
  - securitycontextconstraints
  verbs:
  - use