CASE STUDY
30% Increase In Application Performance For IOT Device Company
The Customer
A device manufacturer that builds IoT devices that track fleet vehicle telemetry data and GPS positioning.
The Challenge
Originally, the NodeJS-based IoT platform for the devices was on-premise. With an outlook to the future, the customer conducted a migration to AWS. Due to the monolithic nature of the system, it was deployed as a lift & shift migration from the on-premise infrastructure to AWS EC2 and a single RDS database. Unfortunately, this did not resolve any of the underlying scaling or architectural issues. Due to the nature of the application and device restrictions, implementing a fully serverless alternative was not an option, and due to performance issues, the application could not remain on pure, unscaling EC2. The customer retained BTS to help them stabilize and scale the core platform.
The Solution
Better Than Services worked closely with the customer's engineers to conduct several streams of work. The priority was to pick a scalable platform with low management overhead due to the size and capacity of the technical team. Dockerization and ECS/Fargate were chosen as the simplest path forward. The architecture provided for a fully scalable multi-region deployment for increased resiliency and uptime. The application was successfully dockerized and deployed on ECS behind a set of network load balancers that would then route the UDP traffic coming from the devices to the application and then perform binary decoding and storage & analysis of the data. The single RDS database was migrated to a multi-region Aurora deployment to handle additional scaling needs. It was also determined that redundant network pathways would need to be in place for increased reliability of in-field device network communication.
The Result
From the immediate deployment of the application, there was approximately a 30% increase in the baseline performance of their core business application. With the new architecture, the customer was able to triple their deployments of IoT devices with no performance impact on their systems. To ensure network redundancy, Better Than Services coordinated operations with Verizon Wireless to ensure multiple redundant IPSec tunnels to multiple regions on the AWS and from multiple physical endpoints on the Verizon for the IoT devices to be able to send traffic to the core application. The application is now fully redundant across multiple AWS regions from a network, database, and application perspective.
Services Used
Amazon Relational Database Service (RDS) | Amazon Aurora | AWS Site-to-Site VPN | AWS Network Load Balancer (NLB) | Amazon Elastic Container Service