Legacy System Transition

Challenge

Emerging from its startup phase and beginning to scale, a power consumption monitoring firm still relied on just one in-house engineer to design, develop, and implement its product. While trying to on-board new customers, service existing ones, and deliver new functionality, their engineer jumped ship leaving them to pick up the pieces.

“Our legacy system gave us a solid foundation to launch our business, but we couldn't keep relying on a single technical wizard.”

CEO
Power Services Firm

Custom Solution

Our client hosted its production stack in AWS using dedicated EC2 servers running Kubernetes. The existing application consisted of hardware with embedded custom firmware, a data processor/stream monitoring backend (Rust), a data listener service (Rust & MQTT), a NoSQL database, a dashboard and reporting server (Grafana), and a mobile app (iOS and Android).
To make progress, the team needed to first reverse engineer what amounted to a handful of integrated black boxes, all while on-boarding new customers and not disrupting existing ones.
Approach

The team gained access to the client’s repository and existing documentation and then conducted a source code review. In addition, a review of the AWS production footprint was conducted for comparison to setup and deployment scripts. Various components were built and compiled in accordance with the production environment. A minikube was used to create a fully functional ecosystem matching the Kubernetes installation in AWS.

Process
  • Cloud Architecture Design
  • Mobile App Development
  • DevOps
  • Production Support
Overcoming Roadblocks

The initial code review and production setup uncovered the fact that the client’s existing documentation was outdated and incomplete. This forced the team to create the necessary documentation for development and build tools through trial and error. Although it made the process more tedious and time-consuming, the team was able to identify and understand all the moving parts in spite of the missing documentation.

Results

Over the course of the transition, the team on-boarded four new clients, delivered app store updates, and proactively found and fixed a server certificate issue which would have brought down the whole service. In addition, they released a new user-driven dashboard component.

90

Transition

0

Downtime

100

Client Goals Met

“Our technology went through a huge transformation and upgrade in a short amount of time. And our customers didn’t experience a single hiccup. That says it all.”

CEO
Power Services Firm

Replacing a Legacy System

Previous Project

Supply Chain Portal

Visit