Case Study · Telecom · Containerization

Windows-to-Linux Containerization for a National Telecom

Led the effort that took a major national telecom provider’s Windows-only OSS API services to Linux containers — rewriting data access onto EF Core, cracking the DB2/Informix-on-Linux blocker with IBM, and publishing the playbook other teams now follow.

Role: Senior Engineer · Containerization Lead Platform: OSS/BSS API services Target: Linux containers

01 The Challenge

A major national telecom provider’s operational-support-system (OSS) API services — the services that provision and manage subscriber lines — were Windows-only .NET applications. That single fact blocked any move to containers and modern orchestration: no Linux images, no shared container platform, no path forward for some of the most critical services in the estate.

The blockers were buried deep. Windows-only DLLs hid inside dependency trees, data-access layers leaned on Windows-specific drivers, and the hardest problem of all — IBM DB2 and Informix native client libraries on Linux — had no ready-made answer. Leopard Data led the containerization effort, while carrying a normal sprint load of production bug fixes across the OSS API estate the entire time.

02 The Approach

We started by auditing each service’s dependency tree to isolate the Windows-only DLLs, then rewrote the data-access layers onto cross-platform EF Core. The DB2/Informix problem was solved the unglamorous way: working directly with IBM support, through fix packs, until the native client libraries reliably delivered data access on Linux.

With the blockers cleared, services — subscriber management and switch-integration APIs — were ported to build and run on RHEL, packaged as Docker and Podman images, and deployed and validated through Portainer onto the shared container platform. We also researched the Consul/service-mesh direction for what would come next.

Just as important as the ports themselves: we wrote the wiki documentation and runbooks — NuGet configuration for Linux, LD_LIBRARY_PATH setup, build tasks — so other teams could repeat the pattern without re-solving the same problems.

03 The Delivery

The first formerly-Windows-only OSS services went live as Linux containers on the shared platform, validated end-to-end through Portainer. What had been a hard wall — native IBM database clients on Linux — became a documented, repeatable step in the build.

None of this displaced the day job. Production defect fixes across the OSS API estate shipped sprint after sprint alongside the containerization work, so the migration never came at the expense of the services keeping subscriber lines running.

04 The Outcome

  • First Windows-only OSS services running as Linux containers on the shared platform.
  • The DB2/Informix-on-Linux blocker solved with IBM support and documented.
  • Repeatable containerization playbook published on the internal wiki for other teams.
  • Production defect fixes delivered throughout, with no pause in sprint delivery.

05 Tech Stack

.NET / C# Docker Podman Portainer RHEL / Linux EF Core IBM DB2 / Informix SQL Server Swagger / REST Azure DevOps Consul (evaluated)

Have a hard delivery problem like this one?

Senior architecture, hands-on engineering, on-site when it counts. Let’s talk.