Skip to main content

PortX Integration Manager Architectural Overview

Introduction

Purpose

This document provides an overview of the PortX Platform including brief descriptions of the tools provided to develop, build, and stage applications, and to deploy and host production applications.

Initialisms

InitialismDefinition
APIApplication Programming Interface
AWSAmazon Web Services
CDContinuous Delivery
ECRElastic Container Registry
MFAMulti-Factor Authentication
RDSRelational Database Service
VPSVirtual Private Cloud
VPNVirtual Private Network


Figure 1. Resources Provided to Developers to Develop, Build, Deploy, Observe their Applications in Pre-Production & Production Environments

Figure 1. Resources Provided to Developers to Develop, Build, Deploy, Observe their Applications in Pre-Production & Production Environments


Overview

The PortX Platform provides a set of robust tools to enable companies in the financial services industry to develop, build, and stage applications, and to efficiently deploy and host resilient production applications.

Figure 1 shows the customer-accessible resources of the PortX Platform and how those resources interact enabling developers to develop, build, deploy, observe their applications in pre-production and production environments.

Authentication and Authorization

Authentication

The PortX Identity and Access Management manages authentication when you log onto the platform by performing strong identity establishment, including MFA on signup, and identity verification upon login.

Authorization

The PortX Identity and Access Management is the central authority for permissions and access to everything the platform provides.


Integration Manager

The Integration Manager is a central hub for the API-centered features of the platform.

The Integration Manager includes the following components:

  • Your custom API Catalog
  • DataSonnet Playground
  • Karavan development space
  • API and API Gateway
  • Visibility and controls for the following features:
    • GitOps deployments
    • API metrics, logs, traces, and alerting

Source Control Repositories

The PortX Platform uses GitHub to manage source control for code, configuration, and deployment.

Tenant Repositories

For every new tenant account, the PortX Platform creates a GitHub organization and provisions the following 3 tenant repositories.

GitOps Repository

The PortX Platform uses declarative GitOps for deploying applications to both pre-production and production clusters. In the repository, application Helm charts and values configuration files are committed for Argo CD to perform the specified deployment. Argo CD deploys the specified application in the cluster/environment corresponding to one of the following selected branches:

  • Development (dev)
  • Staging (stg)
  • Production (prod)

Charts Source Repository

In addition to a centralized repository of generic pre-built Helm charts, the PortX Platform provides a custom repository for each tenant to create their own Helm charts for application deployment.

Documentation Repository

For each tenant, GitHub org includes a documentation repository which is configured to automatically generate and publish documentation for the tenant’s custom APIs. Workflows in the repository pull OpenAPI spec files from each application source repository, and build a compiled documentation site using Docusaurus. The site is accessible in the Adopt module of Integration Manager.

Application Source Repositories

Each API has its own application source repository.

When you create a new API from the Integration Manager’s API Catalog, you can select from several API templates. The PortX Platform then provisions an application source repository for storing the API source code. The repository includes starter template files and automated workflows for building and deploying the API.


Container Repositories

The PortX Platform manages repositories in Amazon Elastic Container Registry (ECR) to store either Helm charts or application images for reference in GitOps deployment.

Tenant Charts Package Repository

If you create a custom Helm chart in the charts source repository on GitHub, the packaged chart is stored in the tenant charts package repository on ECR.

Application Image Repository

In addition to an application source repository, each API has its own application image repository. Application images built from the source repository are pushed to the application image repository to be referenced for GitOps deployment.


TailScale Accessible Resources

Tailscale provides site-to-site networking and performs as a type of VPN to provide AWS VPC access to resources and applications stored inside your private AWS account.

Cluster Administration and Monitoring

Direct cluster access is restricted. Instead, PortX Integration Manager provides embedded interfaces for API cluster administration and monitoring using the industry-leading tools of Argo CD and Grafana.

Argo CD

Argo CD enables the following activities:

Developers can see the status of their application deployment in both pre-production and production environments.

The live-tailing of logs in the pod in which an application is running. The tail command provides the ability to stream the most recent logs in real-time.

Developers can access a pod’s shell or terminal to troubleshoot in the application’s runtime environment.

Grafana

Grafana provides access to the centralized logging facilities of the PortX Platform.

In the centralized logging facility, you can perform the following activities:

  • Configure alerts
  • Search application logs
  • Perform distributed tracing to profile and troubleshoot API calls

Karavan

Karavan is a low-code visual tool for building and connecting APIs. Karavan includes a built-in development environment for testing API calls as you work. Because this environment runs in the app cluster, Karavan access requires Tailscale.

AWS Services

The PortX platform provides direct, Tailscale-protected access to select AWS services for supporting your APIs in both pre-production and production clusters.

Databases (Relational Database Services)

When connected with Tailscale, developers can utilize a database’s private endpoint to use thick clients to aid in query development or troubleshooting.

Parameter Store

Secrets are stored in AWS Parameter Store and pulled into a cluster through the External Secrets Operator. You can create, update, and delete secrets using the Secrets Manager interface in Integration Manager, which tracks key names in GitOps and stores the values in Parameter Store. In rare instances, when direct Parameter Store access is needed, connect with Tailscale for the direct access.