← 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
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