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.
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.
The existing application struggled to scale - resources were either over- or under-provisioned for the actual load.
Running the always-on application drove up operational costs.
Many functions were triggered by external events and didn’t need dedicated, continuously-running hosting.
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.
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.
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.
Functions spin up a container on an incoming event, process it, and terminate — so compute runs only when there is work to do.
Used Azure Blob Storage, Azure Queue Storage, and Cosmos DB (SQL & Mongo) for storage, with Redis caching and RabbitMQ messaging for performance.
Built the backend in Python (Django) and the web application in Angular 10, integrated cleanly with other Azure services.
Focaloid moved from evaluation to an event-driven serverless build, tackling the FaaS learning curve along the way.
Assessed the application and workload and recommended a serverless (FaaS) approach on Azure Functions.
Redesigned the event-triggered functions to run serverlessly, removing the need for dedicated always-on hosting.
Wired up Azure Blob and Queue Storage, Cosmos DB, Redis, and RabbitMQ around the functions.
Managed the FaaS learning curve, lock-in considerations, and provider-managed monitoring constraints, and validated the solution through QA.
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.
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.