Skip to content

Cloud-native applications for telecom and ISPs

Operators come to cloud-native work for a specific reason: provisioning, billing and support systems that take months to change are the bottleneck on launching anything. Decomposition is the usual prescription. It is the right one, and it has a failure mode worth understanding before starting rather than afterwards.

Availability multiplies, and not in your favour

Availability of a request that must cross N services, each at 99.9%
Availability of a request that must cross N services, each at 99.9%
Services in the chain Combined availability
1 service 8h 46m of downtime a year 99.9%
3 services 26 hours 99.7%
5 services 44 hours 99.5%
10 services 87 hours 99%
20 services 174 hours 98%

Availability multiplies along a chain: 0.999 raised to the power of the number of services a request depends on. Ten components that are each individually excellent produce a request path that is not. This is an argument for fewer synchronous dependencies, not against decomposition — the fix is asynchrony, caching and graceful degradation, all of which break the multiplication.

Each service in isolation looks healthy. The request that has to traverse ten of them does not, because their availabilities multiply. A platform decomposed into fine-grained services joined by synchronous calls can be less available than the monolith it replaced, while every individual dashboard stays green.

The fix is not fewer services — it is fewer synchronous dependencies on the critical path. Three techniques do most of the work:

  • Make it asynchronous.A request that publishes an event and returns does not wait for the consumer to be healthy. Most provisioning steps are naturally asynchronous and are only synchronous because that was easier to write.
  • Cache what rarely changes.A tariff definition read on every call does not need a live lookup on every call.
  • Degrade deliberately.Decide, per dependency, what the system does when it is unavailable. A missing loyalty balance should not stop a top-up.

What telecom estates specifically have to decide

Where state lives

Subscriber state, balances and session data are the hard part. Splitting services is easy; splitting the data underneath them is the project. Decide early which service owns each piece of state and accept that everyone else reads it through that service rather than reaching into its database, or you will have distributed the code and kept the coupling.

What must stay where it is

Network elements, mediation and anything with a hardware or carrier-grade dependency are usually not candidates. The value is in the layers above — ordering, provisioning, catalogue, self-service, support. Naming the boundary early stops the programme arguing about it quarterly.

Peak is not gradual

Telecom load arrives in spikes: a tariff launch, a network incident driving everyone to the app at once, month-end billing. Anything in the request path needs to scale faster than the spike arrives, and the components that cannot must be behind a queue rather than in front of one.

Start where the pain is

The most reliable way to begin is not a platform programme. Take the one workflow that visibly costs the business time — usually provisioning a new plan or changing a tariff — and give it a service of its own with a clear interface, leaving everything else where it is. It delivers something in a quarter, it teaches the team the operational model, and it produces an honest estimate for the next piece.

Where this fits

The service is Cloud-Native Applications, and the sector context is Telecom and ISP. Building the services is Product Engineering; deciding the target shape before writing any of it is Cloud Architecture and Design.

What can we help you achieve?

We empower your vision with innovative and effective strategies.

Aura
AI Agent

Hi there 👋

AI-powered assistant for services, careers & support

👋

Quick intro

So we can assist you better

Please enter your name
Please enter a valid email
Please enter a valid phone number
Your data is secure
Powered by AcmaCorp Solutions