Introduction

In the fast-paced industrial landscape of wearable fitness technology, real-time data processing and transfer are crucial for achieving key performance indicators (KPIs) that drive company success. At ShitOps, we encountered a challenging problem: How to efficiently and scalably handle concurrency for ephemeral fitness tracker data transmissions, integrating Near Field Communication (NFC) and Secure File Transfer Protocol (SFTP) pipelines, all managed via Istio service mesh to guarantee reliability and observability.

This blog post details our engineering approach to building an industrial-grade, concurrent data pipeline that securely and efficiently manages ephemeral data generated by fitness trackers using NFC for data ingestion, SFTP for long-term storage transmissions, and Istio as the service mesh orchestrator for microservices in our data processing stack.

Problem Statement

Our fitness trackers generate massive ephemeral data streams that need immediate and secure ingestion, processing, and archival. The challenge includes:

  1. Handling high concurrency with minimal delay.

  2. Integrating NFC-based ephemeral data capture from devices.

  3. Securing file uploads to archival systems via industrial-grade SFTP.

  4. Using a microservices architecture for scalability.

  5. Managing traffic routing, security policies, and observability with Istio.

Conventional solutions proved inefficient to meet these scalability and security KPIs.

Our Overengineered Solution Architecture

To tackle this, we designed an intricate 12-microservice architecture deployed on Kubernetes, governed by Istio for all inter-service communications. The solution looks as follows:

All communication strictly follows Istio mTLS policies with sidecar proxies ensuring zero-trust within the service mesh.

Data Flow Diagram

sequenceDiagram participant FT as Fitness Tracker participant NFC as NFC Adapter participant RB as Redis Buffer participant VS as Validation Service participant ES as Encryption Service participant STM as SFTP Transfer Manager participant KPIA as KPI Analytics participant NS as Notification Service participant AS as Audit Service participant IC as Istio Collector FT->>NFC: Transmit Ephemeral Data via NFC NFC->>RB: Store Temporary Data RB->>VS: Stream Data for Validation (gRPC) VS->>ES: Encrypt Validated Data ES->>STM: Initiate SFTP Transfer STM-->>AS: Log Transfer Action STM-->>KPIA: Update KPI Metrics KPIA-->>NS: Trigger Alerts if KPIs Breach All->>IC: Emit Metrics and Logs

Concurrent Control and Istio

Concurrency is managed by leveraging Istio's request routing and circuit breaking features, preventing microservice overload. The Validation Service employs fine-grained locks and token buckets to guarantee that concurrency is optimized without deadlocks or bottlenecks. Istio’s control plane dynamically adjusts quotas and retries based on real-time metrics.

Automating NoOps

A dedicated NoOps Coordination Service watches the Istio telemetry and automatically scales or replaces failing microservices, triggers ephemeral cache flushes, and rotates encryption keys without human intervention. This service also manages rollbacks and blue/green deployments.

Results and KPIs

This highly modular, secure, and scalable architecture has allowed us to:

Conclusion

By leveraging cutting-edge technologies like Istio and integrating ephemeral caching, NFC hardware connectivity, and industrial SFTP pipelines, ShitOps has revolutionized how fitness tracker data is handled in the industry. Our concurrency model controlled via microservices with noops automation ensures the highest performance and security, setting a new standard for ephemeral data handling.

Stay tuned for deeper dives into each microservice and how we implement these noops solutions effectively!