Skip to content

Mobile App Backends

Backends built for the demands of mobile: high volume, secure, and reliable.

Mobile apps put specific demands on their backends: bursty traffic, unreliable connections, strict latency budgets, and users who notice when things are slow. We build backends on Azure and .NET that are designed for those demands from the start.

BFF pattern, REST APIs, GraphQL, gRPC, and integration with whatever SaaS tools and legacy systems your business already runs on. We built a serverless mobile backend for Avios, the IAG loyalty platform behind British Airways and partner airlines.

How we structure mobile backends

A layered architecture that keeps each concern separate, makes each layer independently scalable and testable, and gives the mobile app a clean, stable API surface regardless of what's happening downstream.

Client layer

Mobile App

The React Native app running on iOS and Android. Makes requests to the BFF; never calls downstream services directly.

React Native iOS Android

API gateway layer

Backend for Frontend (BFF)

Aggregates calls to downstream services, shapes responses for mobile, handles auth and token validation, rate limiting, and request routing. One call from the app; many calls managed invisibly behind it.

.NET 10 Azure APIM OAuth2 / OIDC

Service layer

Domain Services

The business logic layer. REST APIs for standard operations, GraphQL for flexible data-rich queries, gRPC for high-throughput internal service-to-service communication and device telemetry. Each service owns its domain and its data.

REST GraphQL gRPC Azure App Service

Integration layer

SaaS & Legacy Systems

Adapters and connectors to your existing systems. SaaS platforms, on-premises databases, legacy SOAP/WCF services, and event-driven integrations via Azure Service Bus and Event Grid. The mobile app never has to know these exist.

HubSpot Stripe Azure Service Bus Legacy SOAP/SQL

BFF, REST, GraphQL, and gRPC

The right protocol depends on the use case. We use all four (sometimes on the same project) and design the architecture to use each where it genuinely adds value.

Backend for Frontend (BFF)

A BFF sits between your mobile app and your downstream services, providing a tailored API surface for each client type. It aggregates calls, handles auth, shapes responses to match exactly what the app needs, and reduces over-fetching. Mobile clients get faster responses and simpler code; downstream services stay decoupled.

REST APIs

OpenAPI-specified, versioned, rate-limited, and cache-aware REST APIs. The standard choice for most mobile apps: broad tooling support, straightforward debugging, and a contract your team and your clients can reason about. We design for evolution from day one so adding a v2 doesn't break v1.

GraphQL

For data-rich consumer apps where clients need flexibility over what they fetch (and where over-fetching or under-fetching is a real problem), GraphQL gives the app control over the query shape. We use it for real-time subscriptions, complex data graphs, and apps where the UI is evolving quickly.

gRPC

Binary, efficient, and fast. gRPC is the right choice for high-throughput internal service-to-service communication, device telemetry ingestion, and scenarios where bandwidth or latency is a constraint. We use it for the internal layer; REST or GraphQL typically faces the mobile client.

Connecting mobile to the rest of your business

Mobile apps rarely exist in isolation. They need to talk to your CRM, your ERP, your payment provider, and often to systems that predate the mobile era. We build the integration layer that makes that safe and maintainable.

SaaS integrations

HubSpot, Stripe, payment gateways, identity providers, and more. We build integration layers that handle authentication, rate limiting, retry logic, and data mapping so your mobile app talks to a stable internal API, not directly to a third-party that can change without notice. For deep HubSpot CRM integration including triggered push notifications and in-app messaging, see our <a href="/services/hubspot-mobile-integration/" class="text-teal hover:text-teal-dark transition-colors">HubSpot mobile integration service</a>.

Legacy system bridging

On-premises databases, SOAP/WCF services, file-based ETL, mainframe APIs. Modern mobile apps often need to surface data locked in systems that were never designed for mobile. We build adapter layers that give legacy systems a modern API surface without requiring a full rip-and-replace.

Event-driven and async patterns

Azure Service Bus and Event Grid for decoupled, reliable message passing. Async patterns for operations that shouldn't block the mobile client: order processing, notifications, report generation, data sync. We design for failure and build in dead-letter handling from the start.

Auth and identity

Azure AD B2C for consumer identity, Microsoft Entra ID for enterprise staff apps, MSAL for token management, and OAuth2/OIDC throughout. Mobile auth has specific challenges (token storage, refresh flows, biometric unlock), and we address all of them.

Observability

Azure Application Insights for distributed tracing, structured logging with correlation IDs across services, custom metrics, and alerting. When something goes wrong in production at 2am, the team needs to know immediately and trace the problem back to its source without manual log archaeology.

Why Azure and .NET for mobile backends

Not every project needs Azure and .NET, but for high-volume, security-sensitive mobile backends they are a strong combination.

Performance at scale

.NET 10 is among the fastest server-side runtimes available. Azure App Service and Container Apps scale horizontally without architectural changes. We've built backends handling millions of mobile requests per day on this stack.

Security and compliance

Azure's ISO 27001 certification, SOC 2 compliance, and UK data residency options align with the requirements most regulated clients face. Microsoft Defender for Cloud, Azure Key Vault, and Entra ID give you enterprise security controls without building them from scratch.

Microsoft ecosystem fit

If your organisation already uses Microsoft 365 or Entra ID, .NET on Azure is the natural fit. Entra ID integration and the full Azure service catalogue are first-class citizens, not afterthoughts.

Our backend delivery process

Architecture first, then build. The mobile team has a stable contract to work against from the start, and integration surprises happen in a test environment, not in production.

1 – 3 weeks

API design and architecture review

We start with the data and the domain, not the technology. What does the mobile app actually need? What does it already exist? What are the non-negotiables on performance, security, and reliability?

We produce an architecture decision record, an API contract (OpenAPI or GraphQL schema), and an integration map showing every upstream and downstream dependency. You review and agree the design before any code is written.

BFF and service layer build

We build in agile sprints on .NET 10, running on Azure App Service or Azure Container Apps depending on the scaling model. The BFF is the first thing we build. It gives the mobile team a stable contract to work against, even before the downstream services are finished.

Integration work runs in parallel: SaaS connectors, legacy adapters, and event-driven components are built and tested in isolation before being wired in.

Integration, load testing, and security review

We run integration tests across the full stack, load test against expected peak volumes (and above them), and run a security review against the OWASP API Security Top 10. We test failure modes: what happens when the CRM is unavailable? When a queue backs up? When an auth token expires mid-request?

Any issues found here are cheaper to fix than in production.

Deployment and ongoing support

We deploy to Azure with infrastructure as code (Bicep or Terraform), proper environment separation, and documented runbooks. CI/CD pipelines run on every commit. You receive full access to repositories, pipelines, and Azure resources.

We offer ongoing managed application support covering monitoring, security patching, incident response, and continuous improvement.

Mobile backends in production

Two examples of the same discipline applied at different scales and in different domains.

Third Space

We rebuilt Third Space's full digital platform on Azure, including the member mobile app and the backend APIs that power it. Push notifications, booking and class management, member data, and integration with their CRM and payment systems, all running at 99.99% uptime on a platform that had previously struggled with demand.

Read the Third Space case study

Avios

We designed and built a serverless mobile backend for Avios, the IAG loyalty platform behind British Airways and partner airlines. The backend provided isolation and resilience from legacy system issues, supporting their customer loyalty app and protecting the mobile experience from instability in the underlying systems.

Read the Avios case study

Frequently asked questions

What is a Backend for Frontend (BFF)?

A Backend for Frontend is an API layer purpose-built for a specific client (in this case, a mobile app). Instead of the mobile app calling ten different microservices and assembling the data itself, the BFF does that aggregation on the server and returns exactly what the app needs in a single call.

This matters for mobile for several reasons: it reduces the number of round trips over a potentially slow mobile connection, it keeps the client code simpler, and it means changes to downstream services can be absorbed by the BFF without forcing an app update. It also gives you a single place to handle cross-cutting concerns like auth, rate limiting, and logging.

Should we use REST, GraphQL, or gRPC?

Usually a combination. REST is the default for most mobile-facing APIs: it's simple, well-understood, cacheable, and works well with API gateways and CDN caching. GraphQL is worth considering when the app UI is data-rich and evolving quickly, or when different clients (mobile, web, partner) need different shapes of the same data. gRPC is our choice for high-throughput internal communication between services, not typically for the mobile client directly.

The right answer depends on your data model, your team, and your traffic patterns. We'll give you an honest recommendation in the architecture phase.

How do you handle high traffic volumes and reliability requirements?

Azure App Service and Azure Container Apps both scale horizontally, and we design stateless services so any instance can handle any request. We use Azure Cache for Redis for hot data, Azure CDN for static and semi-static responses, and Azure Front Door for global distribution and WAF when required.

Reliability engineering starts at architecture stage: we identify single points of failure, design for graceful degradation, and build circuit breakers for external integrations. SLAs are agreed upfront and monitored through Azure Application Insights dashboards.

How do you integrate with existing SaaS tools we already use?

We assess the integration pattern the SaaS platform supports (REST API, webhook, event stream, SDK), build an adapter layer in the BFF or a dedicated integration service, and test it against the real platform. We handle auth, rate limiting, retry logic, and data mapping so the mobile app works with a stable internal contract even if the SaaS vendor changes their API.

Common integrations we have done: HubSpot, Stripe, GoCardless, DocuSign, and various identity providers. For HubSpot specifically, our HubSpot mobile integration service covers bidirectional CRM sync, triggered push notifications via custom workflow actions, in-app messaging, and transactional email.

What about legacy on-premises systems?

Legacy integration is something we do regularly. The approach depends on what the system exposes: SQL database (direct query with an adapter layer), SOAP/WCF service (wrapper that presents a modern REST or GraphQL surface), file-based exchange (Azure Functions or Logic Apps watching blob storage), or something more bespoke.

In most cases we recommend building an anti-corruption layer: a service that translates between the legacy system's data model and the domain model your mobile app uses. That keeps the mobile app insulated from the complexity and constraints of the legacy system.

How do you secure mobile APIs?

We follow the OWASP API Security Top 10 throughout. Specifics depend on the threat model, but standard measures include: OAuth2/OIDC with short-lived access tokens and secure refresh flows, Azure API Management for rate limiting, IP filtering, and request validation, TLS enforced throughout, no sensitive data in URLs or logs, and WAF rules for common attack patterns.

For enterprise staff apps on managed devices, we can add certificate-based mutual TLS and restrict API access to Intune-enrolled devices. For consumer apps with high fraud risk, we add additional signals: device attestation, anomaly detection, and step-up auth for sensitive operations.

Ready to build a backend your mobile app can depend on?

Book a free 30-minute consultation. We'll discuss your requirements, ask the right questions about volume, security, and integration, and give you an honest view of the right architecture.

Book a free consultation

or call 01202 375647