Hub Enterprise explained - Deployment to OpenShift

This article describes the Hub Enterprise components and a reference deployment to OpenShift

Description

OpenLegacy Hub (OL Hub) provides a simple, fast, and cost-effective
way to expose data from legacy systems as microservice-based APIs
and implement your business logic. 

This article describes the architecture, components, and processes for
using OpenLegacy Hub Enterprise and microservices deployment on
OpenShift environment.
(As an example, off course they can be deployed on Kubernetes or other environments)

OpenLegacy Hub Enterprise Setup

Components Diagram

Components Diagram


Components

Server

  1. OL Hub Enterprise
    Purpose:
    • Develop Projects to expose transactions and screens from legacy systems as microservices-based APIs.
      Requested resources: CPU 1000m, Mem: 1024M, Storage 4GB.
      Image: OL Hub Enterprise image is supplied with OL Hub Enterprise installer bundle.
  2. PostgreSQL
    Purpose:
    • Storage for OpenLegacy Hub user metadata (connections, modules, assets, projects, and methods)
    • Storage for Keycloak server data.
      Requested resources: CPU 1000m, Mem: 1024M, Storage 1GB.
      Supported versions: 13+
      Image: PostgreSQL v13 image is supplied with OL Hub Enterprise installer bundle.
      /
      Notes:
      • The database can run inside or outside OS cluster.
      • It is possible to use an already existing installation of PostgreSQL.
  3. Keycloak
    Purpose:
    • Used by OpenLegacy Hub for Identity and Access Management.
    • Can be used as a local DB or integrated with external identity providers such as Active Directory.


      Requested resources: CPU 1000m, Mem: 1024M, Storage not required.
      Image: Keycloak v22 image is supplied with OL Hub Enterprise installer bundle.
      Supported versions: 16+


      Notes:
      • Keycloak can run inside or outside the cluster. In the supplied helm-chart it runs inside the cluster.
      • It is possible to use an already existing installation of Keycloak.

Developer

  1. OL Hub Web UI
    Purpose: OpenLegacy Web UI application to develop Open Legacy Projects.
  2. OL CLI
    Purpose: OpenLegacy command-line interface to develop and deploy OL projects

DevOps

  1. OL CLI
    Purpose: OpenLegacy command-line interface to develop and deploy OL projects.
  2. OpenShift CLI
    Purpose: OpenShift command-line interface to create applications and manage OpenShift Container
    projects.

Initial Setup

  1. Run OL helm-chart installer script (supplied with OL Hub Enterprise installer bundle).
  2. From The OL- Hub UI
    a. Define Group and Users (RBAC).
    b. Define connection profiles to connect to the backend (e.g. Mainframe (dev/test/prod)).
  3. Push OL docker images to the OpenShift container registry.

Processes

Development

  1. Modules - A module contains the resources and the configuration data needed to extract one or
    multiple assets from a single backend data source.
  2. Assets - Representation of one legacy business operation (e.g. CICS Transaction).
  3. Projects – A project contains one or more modules and a contract with methods to expose as
    APIs.
  4. Methods – definition of API (input/output), execution of assets, and fields mappings.

Deployment of project (microservice) to test/prod

  1. Create Tag (OL Hub / OL CLI) - Create a Tag (version) for the project.
  2. Export project (OL CLI) - Export project metadata (OPZ file) for the new version.
    Note: this step is not required if you choose to load the project metadata directly by the
    deployed container on loading.
  3. Deploy (OpenShift CLI) – Deploy the relevant OL image (e.g. CICS, 3270) referring to
    the project (OPZ file or project name with tag) and the relevant connection profile.
    Requested resources: may defer between connectors, project definitions, and required TPS.
    Here is an example from the lab:
    COBOL-CICS container with 75 TPS of 1k message size requires:
    CPU 800m, Mem: 500Mb.
OpenLegacy Services Deployment in Test/Production

OpenLegacy Services Deployment in Test/Production


  • Each container runs independently and represents an OpenLegacy project exposed as a microservice.
  • A microservice contains one or more APIs that execute CICS transactions using an OL Adapter over the
    Mainframe TCP/IP Service.
  • Logs sent to Splunk by OpenShift cluster.