Scalable Processing

Engineering

← Back to Blog
Scalable Processing
Fractals are infinitely complex patterns that are self-similar across different scales - fractalfoundation.org

Why Transaction Processing Speed Matters

Insurance compensation systems live on the edge of operational complexity. Agents, brokers, and administrators depend on rapid processing to handle claims, commissions, bonuses, and settlement adjustments. When a processing pipeline slows, the entire business feels the strain: delayed payouts frustrate partners, reporting lags create decision-making vacuums, and peak periods strain infrastructure to the breaking point.

The difference between processing 22,000 transactions in two hours versus 7.4 million in the same window isn't just a number—it's the difference between reactive scrambling and proactive operational confidence. For insurance carriers operating on razor-thin margins, processing velocity directly impacts customer satisfaction, regulatory compliance, and financial predictability.

Understanding Scalability: Performance Meets Cost

Scalability is often misunderstood as raw speed. In reality, it's the balance between three competing forces: raw throughput, resource efficiency, and total cost of ownership. A system can throw infinite hardware at a problem and achieve speed, but true scalability means achieving required performance while maintaining reasonable costs.

Consider a peak business day: field adjusters file hundreds of thousands of compensation adjustments simultaneously. A scalable system handles the surge elastically—spinning up resources when needed, then releasing them when demand subsides. A non-scalable system either accepts chronic overprovisioning (paying for unused capacity) or faces bottlenecks that create artificial backlogs.

FASAT/EIM Limitations: The Monolith Problem

Monolithic Application
Monolith

FASAT/EIM's architecture reflects the world of Windows Server clustering in the 1990s and 2000s. At its core sits a 22,000-line Visual Basic monolith called FinProcAcc, responsible for all financial calculation, database coordination, and compensation logic. This single component cannot be subdivided, parallelized, or independently scaled.

Scaling FASAT meant deploying additional identical instances across 4 to 8 servers, each running the full application. This approach creates problems:

  • Resource Waste: Peak transaction surges require horizontal scaling, but most components (UI, auth, reporting) don't need the additional capacity. The entire monolith must scale together.
  • Poor Workload Distribution: Some operations are CPU-intensive, others I/O-intensive. A monolith cannot dedicate resources to individual bottlenecks.
  • Dependency Chains: Cascading calculations mean one slow module blocks the entire pipeline.
  • Database Contention: Multiple identical instances fight for database connections and locks, creating artificial ceiling on throughput.

The eComp Architecture: Microservices and Event-Driven Processing

eComp abandons the monolith in favor of 20+ specialized microservices, each optimized for a specific domain: compensation calculation, tax withholding, audit logging, reporting, settlement, and more. Services communicate asynchronously via Azure Service Bus, enabling decoupled processing pipelines.

The architecture embraces event-driven patterns: when a compensation adjustment arrives, an intake service publishes a "CompensationReceived" event. Downstream services subscribe to relevant events, process them independently, and publish their own events. This creates dynamic, self-healing pipelines where services can be updated, scaled, or redeployed without blocking others.

File chunking breaks massive daily files into manageable pieces, distributing processing across parallel workers. KEDA (Kubernetes Event Driven Auto-scaling) monitors queue depths and automatically scales processing pods up during surges and down during lulls. The system never starves on capacity, and never pays for idle resources.

Workload splitting
During processing the incoming files were split into 260 smaller units allowing for more granular processing by the services.

Performance in Numbers

7.4 Million transactions processed per hour

2000+ Transactions per second sustained throughput

4.38 Million transactions processed in under 1 hour during peak testing

These benchmarks were achieved on commodity infrastructure: two Standard_F32s_v2 compute nodes (32 cores, 64 GB RAM each) running Kubernetes workloads, paired with a Standard S9 Azure SQL database. The system operated at approximately 30% compute utilization and 80% database utilization—healthy headroom without waste.

Cost: The Operational Reality

Azure SQL CPU utilization
Azure SQL Standard S9 database averaging 80% utilization

Infrastructure to achieve this performance costs approximately $8.31 CAD per hour in Azure hosting and database services. This includes the Kubernetes cluster, database tier, storage, and service bus capacity. For comparison, FASAT/EIM deployments required similar or greater costs while delivering a fraction of the throughput.

The cost equation shifts dramatically at scale. eComp's cost-per-transaction decreases as volume increases. A carrier processing 30 million compensation records monthly distributes that infrastructure cost across a vastly larger transaction base, creating natural economic incentives for consolidation and growth.

The Microservices Difference

Each microservice in eComp is independently deployable, testable, and scalable. A surge in tax calculation demands doesn't trigger scaling of the entire system—only the tax service scales. A database-heavy reporting burst doesn't starve compensation processing. Services can be rewritten, upgraded, or reimplemented without touching others.

This modularity enables rapid iteration. New compensation rules? Add a new policy engine service. New regulatory requirements? Deploy a compliance validation service. Legacy integrations? Wrap them in adapter services. The system grows through composition, not monolithic rewrite.

Resilience Through Distribution

Monoliths fail catastrophically. If FinProcAcc crashes, the entire processing pipeline halts. eComp's distributed architecture offers graceful degradation: if one compensation service struggles, others continue. Circuit breakers and retry logic handle transient failures. Dead-letter queues capture problematic messages for investigation without blocking the pipeline.

Kubernetes itself manages recovery: failed pods are automatically replaced, network partitions are detected and healed, and persistent storage ensures no data is lost. Decades of operational maturity in container orchestration provide resilience that would require millions in custom infrastructure to replicate.

Looking Forward

True scalability isn't about peak performance—it's about sustainable performance at reasonable cost, with elasticity to handle growth and surges. eComp's architecture, built on cloud-native principles and proven technologies, provides that foundation. As insurance operations evolve and transaction volumes grow, the system scales naturally without architectural rethinking.

The monolithic era was defined by capacity planning: predicting peak load and provisioning for it. The microservices era is defined by elasticity: reacting to demand and scaling resources in real time. For insurance compensation systems, that shift isn't just technical—it's transformational.

Learn More About eComp

Explore how modern architecture can transform your insurance compensation operations.

View eComp Features