Service · Cloud architecture & DevOps

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

Scaffolding against a clear sky
The record

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.

Reliability patterns, named

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.

Cost engineering is a feature

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.

Bring your cloud bill and your incident log

Those two documents tell us more in ten minutes than an architecture diagram does in an hour: where the money goes, and where the system actually breaks. We will tell you which of the two is worth fixing first.
Our second practice

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.