Case Study

Serverless Architecture Implementation for a European Enterprise

Marine & Shipping
Industry
Marine & Shipping
Services
Architecture Design, Microservices & API Development, Backend Development, Frontend Development, DevOps, Quality Assurance
Company Size & Location
Multinational Enterprise & Europe
Technology Stack
Python (Django) · Angular 10 · Azure Functions · Azure Blob Storage · Azure Queue Storage · Azure Cosmos DB (SQL & Mongo) · Redis · RabbitMQ
Team
Solution Architect · Backend Developers · Frontend Developers · DevOps Engineer · QA Engineer
Timeline
Project-Based Engagement
01

Client Vision

The client is a Europe-based multinational focused on the Marine, Energy, and Transport sectors. They have built an Industrial IoT (IIoT) solution for fleet performance management collecting data through onboard sensors and data collectors and transmitting it to a cloud-based application for analysis. They wanted that cloud application to scale efficiently with their event-driven workload, without the cost and rigidity of always-on infrastructure.

02

Challenge

An IIoT fleet-performance application is inherently event-driven data arrives in bursts from sensors at sea. Running that on fixed, always-on infrastructure meant paying for capacity whether it was used or not.

Over- and Under-Provisioning  

The existing application struggled to scale - resources were either over- or under-provisioned for the actual load.

High Operational Cost  

Running the always-on application drove up operational costs.

Event-Triggered Functions  

Many functions were triggered by external events and didn’t need dedicated, continuously-running hosting.

New FaaS Tooling & Lock-In Risk  

Moving to serverless meant adapting to new FaaS tools, managing vendor lock-in risk, and working within provider-managed runtime monitoring rather than the richer container tooling the team was used to.

03

Solution

After evaluating the application and the problem statement, Focaloid recommended migrating from IaaS to FaaS - a serverless architecture on Azure Functions, ideally suited to the client’s event-driven workload.

IaaS to Serverless (FaaS)  

Migrated from always-on IaaS to a Function-as-a-Service model using Azure Functions, matching the event-driven nature of the IIoT data flow.

Event-Driven Function Lifecycle  

Functions spin up a container on an incoming event, process it, and terminate — so compute runs only when there is work to do.

Azure-Native Data & Messaging  

Used Azure Blob Storage, Azure Queue Storage, and Cosmos DB (SQL & Mongo) for storage, with Redis caching and RabbitMQ messaging for performance.

Python & Angular Application  

Built the backend in Python (Django) and the web application in Angular 10, integrated cleanly with other Azure services.

04

Our Approach

Focaloid moved from evaluation to an event-driven serverless build, tackling the FaaS learning curve along the way.

Evaluate & Recommend  

Assessed the application and workload and recommended a serverless (FaaS) approach on Azure Functions.

Re-Architect Event-Driven  

Redesigned the event-triggered functions to run serverlessly, removing the need for dedicated always-on hosting.

Integrate Azure Services  

Wired up Azure Blob and Queue Storage, Cosmos DB, Redis, and RabbitMQ around the functions.

Address FaaS Challenges & Validate  

Managed the FaaS learning curve, lock-in considerations, and provider-managed monitoring constraints, and validated the solution through QA.

05

Result / Impact

For the Client

  • Granular event-driven scaling that optimizes resource utilization, ending over- and under-provisioning
  • ~40% lower operational compute cost through pay-per-use serverless (estimated)
  • Fully abstracted servers - scaling is event-driven, not resource-driven
  • Inherent fault tolerance and effortless parallelisation of computing

For the Platform

  • Trigger-based executions supporting various event triggers
  • Effortless deployment
  • Composable serverless functions combined into business workflows
  • Easy integration with other Azure services

For the Business

  • Lower infrastructure cost aligned to actual usage - pay only for what you use
  • A scalable foundation for the IIoT fleet-performance workload
  • Reduced operational overhead with a managed, serverless runtime

06

Why It Matters

For an IIoT platform crunching sensor data from a fleet at sea, demand is spiky by nature - quiet one moment, a flood of telemetry the next. Paying for always-on servers to cover the peaks wastes money during the lulls and still risks under-provisioning when it matters. Serverless flips that: compute appears the instant an event arrives and disappears when it’s done, so the client pays only for what they use and scales automatically with the data. By migrating from IaaS to Azure Functions, Focaloid matched the architecture to the workload - cutting cost, removing provisioning headaches, and giving the platform fault-tolerant, event-driven scale.

Let's build

Paying for servers you don’t always use?

We re-architect event-driven workloads to serverless (FaaS) on Azure and beyond - so you scale automatically, pay only for what you use, and drop the provisioning overhead.