Portfolio Details - Telco Shared Microservices Platform

One microservices platform behind the subscriber apps of three mobile brands, serving about 10 million subscribers each.

Architecture: three brand apps behind one API gateway, shared microservices on Kubernetes, per-brand billing and shared enterprise systems
Comparison of a separate stack per app with one shared microservices platform used by every brand
Request flow for a balance top-up: gateway, shared middleware, payment, brand-aware billing routing and events on a message queue
How the platform is built: containerised Spring Boot, Node.js and Go services on Kubernetes, with REST and a message queue

Project information

  • Category: Microservices & API
  • Client: National telecom operator with three mobile brands
  • Role: Technical Lead
  • Project date: 2018 – present
  • Status: Live · in production and growing
  • Scale: About 10 million subscribers per brand
  • Stacks: Spring Boot, Node.js, Go, Kubernetes, containers, API gateway, REST, message queue

Telco Microservices Platform — Build Once, Serve Three Brands

A national telecom operator runs three mobile brands, each with its own subscriber app and around 10 million subscribers. Under the different brand names, the apps need many of the same things: logging in, managing a profile, receiving notifications, joining campaigns, collecting loyalty points, answering satisfaction surveys, buying value-added services, and activating a SIM card with biometric validation. Building those features separately for each app would mean three copies to build, test and change every time a mechanism changes.

Instead, we built them once, as a shared microservices platform. Every app reaches it through a single API gateway, and each capability lives in its own service that all three brands reuse. Where the brands genuinely differ, the platform absorbs it: top-up, balance and quota run on one shared middleware that routes each request to the right brand’s own billing system. Behind the services sit the operator’s enterprise systems, including BSS, billing, CRM, the product catalogue, payment gateways, voucher management, the campaign platform, the loyalty system and external partners.

Services talk over REST when they need an answer straight away, and through a message queue for events that other services react to, so one slow consumer doesn’t hold up a subscriber’s transaction. Each service uses the stack that fits its job (Spring Boot, Node.js or Go), runs in containers on Kubernetes and is released on its own.

The platform has grown to hundreds of microservices in production and is still growing. A change to a shared mechanism, such as login or a campaign rule, is made once and reaches every brand in the same release, and new features start from services that already exist. I lead the platform as Technical Lead.

Key Features

  • Shared services reused by all three subscriber apps: login, profile, notification, campaign, loyalty, tNPS survey, VAS, SIM activation and biometric validation
  • Shared top-up, balance and quota middleware with brand-aware routing to each brand’s billing system
  • API gateway as the single entry point for every app
  • REST for requests that need an immediate answer, a message queue for events
  • Polyglot services: Spring Boot, Node.js and Go
  • Containerised services on Kubernetes, each deployed independently
  • Integrations with BSS, billing, CRM, product catalogue, payment gateways, voucher management, campaign platform, loyalty system and external partners
  • Hundreds of microservices in production, serving about 10 million subscribers per brand