Skip to Content
ProjectsAPI Platform Modernization

API Platform Modernization

Challenge

A provincial government needed to modernize their legacy API Gateway infrastructure to address security vulnerabilities while enhancing scalability, reliability, and operational capabilities.

Solution

We redesigned their API infrastructure using Kong on OpenShift, implementing geo-redundant disaster recovery, credential lifecycle management, and comprehensive monitoring. The solution included:

  • Containerized deployment with OpenShift
  • CI/CD automation using Tekton, Helm, and Terraform
  • Custom microservices for multi-tenancy support
  • Advanced observability with Prometheus, Grafana, and FluentD
  • Automated audit capabilities and security event monitoring
  • Load testing infrastructure handling 15,000 requests/second

Results

The new platform enabled 24/7 operations with enhanced security, disaster recovery capabilities, and improved developer experience. It successfully supported critical public services including wildfire mapping information and province-wide surveys.

Technology

API Management

Open Source Identity and Access Management For Modern Applications and Services

https://github.com/keycloak/keycloak.git

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.

https://github.com/redis/redis.git

🦍 The Cloud-Native API Gateway and AI Gateway.

https://github.com/Kong/kong.git

Highly available elephant herd: HA PostgreSQL cluster using Docker

https://github.com/zalando/spilo.git
https://github.com/zalando/patroni.git

Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Submitting_a_Patch

https://github.com/postgres/postgres.git

API Services Portal provides a multi-tenant frontend integrating API Gateway and Authorization services from Kong CE and Keycloak.

https://github.com/bcgov/api-services-portal.git

Continuous delivery

Production-Grade Container Scheduling and Management

https://github.com/kubernetes/kubernetes.git

Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

https://github.com/hashicorp/terraform.git

The Kubernetes Package Manager

https://github.com/helm/helm.git

Fast, easy and reliable testing for anything that runs in a browser.

https://github.com/cypress-io/cypress.git

Declarative Continuous Deployment for Kubernetes

https://github.com/argoproj/argo-cd.git

A cloud-native Pipeline resource.

https://github.com/tektoncd/pipeline.git

Observability

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

https://github.com/grafana/grafana.git

The Prometheus monitoring system and time series database.

https://github.com/prometheus/prometheus.git
https://github.com/prometheus/alertmanager.git

Fluentd: Unified Logging Layer (project under CNCF)

https://github.com/fluent/fluentd.git

Apache Flink

https://github.com/apache/flink.git

Mirror of Apache Kafka

https://github.com/apache/kafka.git

Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.

https://github.com/thanos-io/thanos.git

Fast and Lightweight Logs, Metrics and Traces processor for Linux, BSD, OSX and Windows

https://github.com/fluent/fluent-bit.git

Coding languages/runtimes used

The Go programming language

https://github.com/golang/go.git

The Python programming language

https://github.com/python/cpython.git

Node.js JavaScript runtime ✨🐢🚀✨

https://github.com/nodejs/node.git

Frameworks

The superpowered headless CMS for Node.js — built with GraphQL and React

https://github.com/keystonejs/keystone.git