Skip to main content
BSS/OSS Academy
☁️
Section 18.4

Resilience, Platform Engineering and AI Infrastructure

Last updated 12 Oct 2026

01

At a glance

How BSS/OSS platforms survive failure, handle peaks and are run as a shared platform: resilience topologies with RTO and RPO stated for the order process, the scaling levers, infrastructure as code and platform engineering, and what AI infrastructure actually requires.

02

The picture

ACTIVE / PASSIVEload balancerSite A · activeserves all trafficSite B · standbyidle; data replicatedasync replicationRTO: minutes to hours · RPO: seconds to minutes · cheaper; half the estate is idleACTIVE / ACTIVEload balancerSite A · activeserves trafficSite B · activeserves trafficsync replication · conflict handlingRTO: near zero · RPO: near zero · costlier; the data model must tolerate two writersfailureRPO — data you lose (back to last good copy)RTO — time you lose (until service restored)
Active/passive and active/active, with RTO and RPO drawn as what they are: two distances from the moment of failure, how much time you lose and how much data.
03

How it works

Resilience: two topologies and two distances

TermMeaningOrder-management example
High availabilityNo single component failure stops serviceTwo COM instances behind a load balancer, one database with a replica
BackupA copy you can restore fromNightly database snapshot: an RPO of up to a day
Disaster recoveryRestoring service after a site is lostFail over to site B; replay events since the last sync
FailoverThe switch itself, automatic or by runbookDNS switch plus database promotion
RTORecovery time objective: how long until service is backOrders cannot be placed for two hours
RPORecovery point objective: how much data may be lostOrders placed in the last five minutes are gone

The order in flight. An order is a workflow, not a row. Active/active COM with a synchronously replicated database still loses the in-flight step if the workflow engine was mid-task. RTO and RPO have to be stated for the process, and the workflow must be idempotent so a replayed task does not activate a port twice.

Performance and scale

LeverWhere it works in BSS/OSSWhere it does not
Horizontal scaling (more instances)Stateless APIs, BFFs, event consumersThe workflow engine’s database
Vertical scaling (a bigger instance)Databases, legacy monolithsPast the largest machine available
CachingPublished catalog, eligibility, pricing tablesAnything that must be current to the second
QueuesOrder submission spikes at a launchRequests a person is waiting on
Capacity planningBill run, mass migration, a product launchIt is not replaced by autoscaling: the database still needs a plan

Infrastructure as code and the platform

Infrastructure as code describes the environment (networks, clusters, databases, permissions) in version-controlled files such as Terraform, Pulumi or cloud-native templates, applied by pipeline. GitOps extends it: the repository is the desired state and a controller keeps the estate matching it. An environment set up by hand cannot be rebuilt; one described as code can.

An internal developer platform is run once by a platform team (Kubernetes, the gateway, observability, CI/CD, guardrails) and consumed by product teams as a paved road. Service discovery, ingress and scaling policies are the platform’s job, not each team’s. Without it, every BSS domain team builds its own: five clusters, five monitoring stacks, five ways to fail.

AI infrastructure

TermWhat it isWhy it matters
GPUA processor built for massively parallel arithmetic; NVIDIA dominates the accelerator marketThe unit of AI capacity, priced and scheduled as such
GPU cluster / schedulingMany GPU nodes under one scheduler (Kubernetes with a GPU operator, or Slurm)Jobs queue for GPUs; utilisation is the cost driver
NVLinkHigh-bandwidth links between GPUs in one scale-up domain: a server, or a whole rack in NVL72-class systemsLets many GPUs act as one for a large model
InfiniBand / RoCE, RDMAFabrics that let GPUs in different nodes exchange memory directly, bypassing the CPUTraining scales across nodes only if the fabric keeps up
Spine-leafA non-blocking topology: every leaf reaches every other through the spines at full rateEast-west traffic between GPUs is the dominant flow
High-speed storageParallel file systems and NVMe feeding data at GPU speedA starved GPU is an expensive idle GPU
Training vs inferenceBuilding a model vs using oneTelcos mostly need inference: few GPUs, near the data, always on
04

Who owns what

EntitySystem of RecordSystem of EngagementSystem of ReferenceNotes
Infrastructure definitions (networks, clusters, databases, permissions)Infrastructure-as-code repository (Git)CI/CD pipelineCloud provider control planeUnder GitOps the repository is the desired state; manual changes are drift to be reverted
Running infrastructure state (actual)Cloud provider control plane / Kubernetes API—CMDB / ITSM, observability platformWhat actually exists, compared continuously against the repository
Shared platform configuration (namespaces, policies, quotas, ingress)Platform team’s repositoryInternal developer platform portalProduct teams—
Order workflow state (in flight)Workflow engine in COM / SOM—Event streaming platformThe part of the order most often lost in a failover
RTO and RPO targets, DR runbooksService management (ITSM) or business continuity register—Platform and application teamsStated per business process, not per database
Backups and snapshotsBackup service or cloud provider snapshot store—DR runbooksA backup is only proven by a tested restore
Cost and capacity data (including GPU utilisation)Cloud provider billing data, reported through a FinOps tool where one exists—Finance, platform teamUtilisation is the cost driver for GPUs
05

In practice

Resilience is usually specified for infrastructure and tested for infrastructure: the database fails over, the load balancer moves traffic, the dashboard goes green. The order that was mid-activation at the moment of failure is then found days later, stuck or activated twice. Testing DR with orders in flight, not just with an idle system, is what surfaces this.

Many estates contain test environments that were set up by hand years ago and cannot be rebuilt, which blocks parallel testing during a transformation. Bringing them under infrastructure as code is unglamorous work that pays back on every later release.

A shared Kubernetes platform without a funded platform team becomes everyone’s problem and nobody’s job. Some vendors also certify only their own cluster configuration, which can force a per-vendor cluster whatever the platform strategy says.

On AI, the recurring mistake is dedicated GPUs bought for a proof of concept that then sit largely idle, or cloud inference adopted with customer data and no data protection impact assessment. Most telco use-cases are inference, not training.

06

The trade-off

What it solves

A shared platform run by a platform team, with the estate described as code, gives every BSS/OSS domain the same resilience, scaling and observability once, rather than each team building and failing its own.

What it does not solve

  • It does not make the order process resilient: in-flight workflow state and idempotent replay are the application’s responsibility.
  • It does not remove the database as the part that cannot autoscale and needs a capacity plan.

What it adds

  • A platform team to fund and staff, and a shared upgrade that can affect every domain at once.
  • Isolation between domains by namespace, policy and quota has to be designed and enforced.

Architecture decision

Run one shared Kubernetes platform for all BSS/OSS domains, or one cluster per domain or vendor?

  • One shared platform

    Choose when A platform team exists and is funded, and domains can be isolated by namespace, policy and quota.

  • Per domain or vendor

    Choose when Vendors certify only their own cluster configuration, or teams are organisationally separate with no platform function.

Breaks if Shared is chosen without a platform team: the cluster becomes everyone’s problem and nobody’s job, and the first upgrade takes down three domains.

07

Takeaways

Key Takeaways

  • State RTO and RPO for the order process, not the database; make workflows idempotent so replay is safe.
  • Scale the stateless parts horizontally and plan capacity for the parts that cannot scale.
  • An environment described as code can be rebuilt; one set up by hand cannot.
  • A platform team is what makes shared infrastructure cheaper than five copies of it.
  • AI infrastructure is a fabric and storage problem; most BSS/OSS use-cases need inference, not a training cluster.

Check yourself

  • COM runs active/active with a synchronously replicated database. Why can an order still be lost or duplicated in a failover?Show answer

    The workflow engine may be mid-task when the site fails. Unless the workflow is idempotent and its in-flight state survives, the step is lost or replayed, for example activating a port twice.

  • An operator wants a GPU cluster to run a customer-service assistant on a model it did not train. What should it consider first?Show answer

    That this is inference with variable demand, which usually suits a cloud AI service, provided the customer data may leave the footprint and a DPIA is in place. Dedicated GPUs pay back only at high, sustained utilisation with staff to run them.