← All work

Cloud infrastructure

Click processing at three million a day

An AWS pipeline that takes every click, decides in milliseconds and keeps a complete, queryable record.

Client
Performance-marketing network under NDA
Field
Cloud infrastructure
Our part
Full cycle: architecture, build, migration, on-call hand-over
Stack
AWSCloudFrontKinesisECSGoClickHouseS3Terraform
3M+clicks a day, in burstsClickCloudFront · ALBedgeDecision serviceanswers before redirectRedirectFraud · bot ruleseditable by opsKinesis streambursts queue hereECS workersstatelessClickHouseanalyticsS3 archivesource of truthreconciled daily

The problem

Traffic arrived in bursts several times the daily average, every click needed a routing decision before the redirect, and the finance team needed every click accounted for weeks later. The previous setup lost events under load and could not explain its numbers.

3M+clicks processed a day

What we built

  • Edge ingestion behind CloudFront and an application load balancer, with a decision service that answers before the redirect
  • Streaming through Kinesis into stateless workers on ECS, so a burst queues instead of dropping
  • Fraud and bot filtering in the hot path, with rules that ops can change without a deploy
  • A columnar store for analytics and an S3 archive as the source of truth, reconciled daily
  • Autoscaling, alerting and cost dashboards, with a runbook for every alert

What it changed

  • Bursts are absorbed by the stream instead of the database; no click is lost
  • Every number in a report can be traced back to the raw events
  • The client’s own team runs it on the runbooks we left