Architecture & Infrastructure

StatusProduction
Target SLA99.99%
TopologyEvent-Driven / Pub-Sub
Last Updated2024.Q3

Flowtaris operates on a decoupled, event-driven topology. The objective is to eliminate synchronous, point-to-point connections between core enterprise systems (e.g., SAP, NetSuite, Salesforce) to prevent cascading failures during localized outages.

Architecture Topology
Fig 1. High-level asynchronous message flow.

1. Core Message Broker

We utilize distributed message brokers (Kafka or Azure Service Bus) as the central nervous system. Instead of System A directly calling System B via REST, System A publishes a domain event (e.g., InvoiceCreated). This guarantees delivery. If the receiving ERP is undergoing maintenance, the broker retains the payload in a persistent queue. Upon restoration, the consumer resumes processing from its last committed offset.

2. Observability & Tracing Sidecars

Observability is not injected into the business logic. We deploy OpenTelemetry sidecars that run alongside the integration workloads. These sidecars intercept ingress/egress traffic to compute schema diffs and measure execution latency. The telemetry is shipped out-of-band to our central data lake via UDP or gRPC, ensuring the primary execution thread is never blocked by logging overhead.

3. Idempotency & Replayability

Network partitions happen. To handle retries safely, every consumer in our architecture is strictly idempotent. Payloads are tagged with a unique, cryptographically generated `Idempotency-Key` and stored in a state table (Redis/DynamoDB) for 24 hours. If a webhook is fired twice due to a network timeout, the database rejects the duplicate transaction. This is critical for preventing double-billing in financial integrations.

4. Security Posture

All data in transit is encrypted using TLS 1.3. For data at rest within the broker, we rely on AES-256 encryption. We do not store static credentials in application configurations. Services authenticate using short-lived, rotation-based tokens via AWS IAM or HashiCorp Vault. Client payloads can be encrypted using Customer-Managed Keys (CMK), ensuring that even our infrastructure cannot decrypt sensitive payload fields without explicit permission.