Logo

Security / High Availability

How the Alarm Center Learned to Expect the Unexpected

Our customer modernized the monitoring of alarm systems with a fail-safe, agile high-availability solution based on .NET microservices and Kubernetes clusters. The seamless transition to the new platform ensures 24/7 operation and opens the door for innovations, automation, and efficient management within a geo-redundant system.

Key data at a glance

Tasks

ExtensionModernizationOutsourcingConsultingSupport

Roles

Product OwnerArchitectRequirements EngineerProject LeadDeveloperScrum MasterTest EngineersDevOps Expert

Products

Desktop AppWeb AppGUIService (program without GUI)Client-Server DevelopmentDatabase

Challenge

Alarm monitoring in Switzerland is no small feat – our customer monitors a large share of the country’s alarm systems, distributing data and personnel across three different sites. Operations must remain smooth and fail-safe at all times – even if one site goes offline.

A constant stream of data enters the system through various input channels. This information must be processed securely, while different alarm destinations and technologies are available on the output side.

The task:
Ensure 24/7 operations with a modern solution that can seamlessly absorb a site failure. And as if that wasn’t enough, data from a legacy system had to continue flowing into the new platform – uninterrupted and without any data loss.

Visualization of an emergency vehicle in high key photo style.

Success

Our client took the opportunity to combine operational reliability with innovation. Thanks to the unification of the locations, operations can now continue without loss of quality—even in the event of a site failure.

The new technology made it possible to integrate long-stalled innovations such as voice calls and more detailed customer views. The smooth transition to the new platform—via parallel operation instead of a “big bang” switch— boosted employee confidence. With our support, the foundation was laid for a future-proof, expandable infrastructure.

Approach

At the start of the project, the required features and overall scope were only roughly outlined, with limited existing documentation. Through a series of workshops, the core content and key milestones were defined to establish clarity for implementation.

A proof of concept in a preliminary project confirmed that the chosen technical approach could meet the demands for fail-safety, speed, and reliability. Since many specifics only became clear during the course of the project—and required fast iteration—an agile approach was chosen. Within broader milestones, individual development requirements were adjusted flexibly.

To achieve high availability, .NET microservices were implemented in Kubernetes clusters across multiple locations, while a geo-redundant high-availability SQL cluster ensured secure data storage. A flexible Windows client, tailored to specific workstations, offered users customized data views and processing options. About 1.5 years in, the gradual transition to the new application began in parallel with the existing one, followed by the full migration of all customer systems within a year.

The new architecture has already enabled the client to introduce further innovations, including automated voice calls and enhanced visibility into customer systems. Developing new features and ongoing optimizations is now an integral part of system maintenance.

The project was implemented in successive iterations, including:

  • .NET microservices for input, processing, and customer/intervention alerting via Docker
  • Design and consulting for the setup of a Kubernetes and Rancher environment, plus a high-availability SQL cluster across multiple locations
  • DevOps build and deployment processes
  • WPF desktop application for power users, optimized for fast processing, concurrent inputs, and flexible layouts across different roles
  • Migration from the existing live system and continued operation within the new environment
  • Extensions for new signal inputs
  • Modernization of adjacent functionalities and other legacy services

Tech Stack

Methods & Paradigms

Server Technology

Database Technologies

Languages & Frameworks

Communication Technologies

Web Development Technologies

Communication / Protocols