Three clouds, three infrastructure-as-code stacks
We run real systems on AWS, GCP and Azure, each defined in its own infrastructure as code. That is a checkable fact rather than a capability list, and it is the reason we can tell you which cloud your workload actually belongs on.
3
clouds in production, each with IaC
97%
database-load cut from caching, on one platform
2–40
replicas auto-scaling on queue depth

One live system per cloud
Not three certifications. Three systems, running, each with its environments and its pipelines defined as code.
AWS
A contract-review platform
Containers on Fargate, queues both FIFO and standard, object and document storage, serverless functions, an API gateway, and tracing end to end — all defined in CDK, with separated staging and production and a deploy gated by typed confirmation.
GCP
A family-office platform
Scale-to-zero containers, a document database, managed search, scheduling and messaging, with keyless CI/CD through workload identity federation — six Terraform modules, eight scheduled jobs, seven alert policies.
Azure
A marketplace monitor
Container apps auto-scaling from two to forty replicas on queue depth, a service bus, managed MySQL and application monitoring — Bicep throughout, zero hardcoded secrets, 26 OpenTelemetry metrics and eight alert rules.
Four things we build in every time
Each of these exists because something went wrong once, somewhere, and the fix was worth keeping.
Circuit breakers
A failing dependency degrades the system instead of taking it down, and the breaker's state is visible rather than inferred.
Distributed rate limiting
Atomic scripts on the cache layer, so a limit is a limit across every instance rather than per-process wishful thinking.
TTL state machines
State that expires on purpose, because the alternative is a table that grows until it becomes the outage.
Typed-confirmation deploys
Production deploys that require you to type the thing you are about to do. Cheap to build, and it has stopped real mistakes.
Receipts, not a promise to be careful
Model routing cut LLM calls by 75% on one platform. Caching cut database load by 97% on another. Scale-to-zero keeps a third at a fraction of its idle cost.
And the tradeoff gets stated plainly rather than sold: managed Kubernetes costs a lot and has its benefits; for a business without that room, the same containers scale horizontally on cheap bare metal and the workload does not care. We will tell you which one your volumes justify, and the answer is not always the expensive one.
What runs on these foundations
Agent deployment on AWS
Typed action groups, guardrails per group, private endpoints, three environments as code.
See it →Multi-tenant platforms
Isolation at the data layer, per-tenant credential vaulting and metered spend.
See it →Data engineering
The pipelines these foundations carry, built to resume rather than restart.
See it →Bring your cloud bill and your incident log
This is our AI engineering practice
It is real work and it is where our four products came from. But what Cognilium leads with is narrower: optimization apps that run in tandem with Microsoft Dynamics 365, computing the decisions the ERP records but does not derive — the optimal price, the optimal pick path, the optimal stock level. See the optimization apps · How we build inside the ERP.