Introduction

In today's hyper-connected world, monitoring SMS delivery statuses across a multitude of carriers and platforms is a quintessential challenge. At ShitOps, we have architected a revolutionary, end-to-end monitoring infrastructure, consolidating SMS data streams into a singular, holistic interface — a true Single Pane of Glass — leveraging cutting-edge technologies such as Kubernetes, serverless functions, AI-powered anomaly detection, blockchain-based audit logs, and scalable data lakes.

The Problem

Our operations team confronted an overwhelming complexity in aggregating SMS delivery statuses from diverse carriers. Each carrier utilized different delivery reporting protocols, mostly reliant on SFTP file transfers and SQL database snapshots. This data disparity demanded a unified monitoring dashboard offering real-time insights, alerting, and historical analytics, accessible seamlessly across all organizational levels.

The Architectural Overview

Our solution employed a microservices architecture orchestrated via Kubernetes, containing multiple specialized components:

Detailed Workflow

sequenceDiagram participant CarrierSFTP participant SFTPIngestor participant Kafka participant AIEngine participant Blockchain participant UnifiedDashboard CarrierSFTP->>SFTPIngestor: Upload Delivery Logs SFTPIngestor->>Kafka: Publish Events Kafka->>AIEngine: Stream Data AIEngine->>Kafka: Send Anomaly Alerts Kafka->>Blockchain: Write Audit Logs UnifiedDashboard->>Kafka: Query data and alerts Kafka->>UnifiedDashboard: Provide Real-time Data

Implementation Nuances

SFTP Ingestor Pods

We containerized custom-built Python microservices deployed on an auto-scaling Kubernetes cluster. Each pod continuously polls assigned carrier SFTP endpoints. Using Paramiko, it downloads delivery XML and CSV files, validates them using JSON Schemas, and converts to Avro format before publishing to Kafka topics.

SQL Extractor Lambda Functions

AWS Lambda functions implemented in Go connect over VPN tunnels to carrier Oracle and MySQL databases, performing CDC (Change Data Capture) using timestamp high-water marks. These functions generate protobuf messages pushed to Kafka.

Data Lake

Data Engineers transform real-time Avro and protobuf streams into compressed Parquet files stored in an S3 bucket configured as a Data Lake using AWS Lake Formation. This setup enables scalable ad-hoc querying through Amazon Athena.

AI Anomaly Detection

Utilizing TensorFlow Extended (TFX), we orchestrated data ingestion, model training, and serving pipelines to detect delivery pattern anomalies, dynamically adjusting thresholds. Results are emitted back into Kafka and stored in Elasticsearch for prompt visualization.

Blockchain Module

A Quorum Ethereum network validates ingestion events through smart contracts ensuring transparent and tamper-proof audit logs, critical for compliance and forensic analysis.

Unified Dashboard

The front-end employs React with Apollo Client to communicate with a GraphQL API gateway aggregating data from Elasticsearch, Athena, and Kafka streams providing stakeholders a seamless single pane of glass experience.

Benefits

Final Thoughts

Our innovative integration of diverse cutting-edge technologies has resulted in an unprecedented Single Pane of Glass solution for SMS delivery monitoring. This marvel of engineering stands as a testament to ShitOps' commitment to tackling complex problems with state-of-the-art tools and architectural elegance.

For those intrigued by deep-dives into our codebase and configuration management via GitOps pipelines, stay tuned for the upcoming series!