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

keycloak
Open Source Identity and Access Management For Modern Applications and Services

redis
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.

kong
🦍 The Cloud-Native API Gateway and AI Gateway.

zalando-spilo
Highly available elephant herd: HA PostgreSQL cluster using Docker

postgres
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

bcgov-api-services-portal
API Services Portal provides a multi-tenant frontend integrating API Gateway and Authorization services from Kong CE and Keycloak.
Continuous delivery

kubernetes
Production-Grade Container Scheduling and Management

terraform
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.

helm
The Kubernetes Package Manager

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

argocd
Declarative Continuous Deployment for Kubernetes

tekton
A cloud-native Pipeline resource.
Observability

grafana
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.

prometheus
The Prometheus monitoring system and time series database.

fluentd
Fluentd: Unified Logging Layer (project under CNCF)

flink
Apache Flink

kafka
Mirror of Apache Kafka

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

fluentbit
Fast and Lightweight Logs, Metrics and Traces processor for Linux, BSD, OSX and Windows
Coding languages/runtimes used

golang
The Go programming language

python
The Python programming language

node
Node.js JavaScript runtime ✨🐢🚀✨
Frameworks

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