Digital Infrastructure Architect: the job is knowing what owns what
ENGINEERING
SEPTEMBER 28, 2026

Digital Infrastructure Architect: the job is knowing what owns what

4 min read
BACK TO BLOG

Post nine of ten, and a job I hold. Ninety-six Lambdas across three sets of infrastructure code. The skill is not building them. It is knowing which thing is allowed to change which.

I run the infrastructure for several businesses out of one AWS account: ninety-six Lambda functions, a few dozen repositories, Terraform in one place, CDK in another, and a handful of things created by hand years ago that nothing manages at all.

The architecture part of that job is not the diagram. It is ownership.

A small example that is the whole job

Last week I moved six functions from one Node runtime to a newer one. Trivial change. A single field.

Four of the six belonged to a CloudFormation stack. Two belonged to nothing — created by hand, managed by no code anywhere.

If I had changed all six the obvious way, with a command against each function, every one would have reported success. The runtime would have updated. Everything would have looked correct.

And the four managed ones would have been silently reverted the next time anybody deployed that stack, because a stack's definition wins over whatever you did to the resource by hand. Not immediately. Weeks later, on an unrelated change, in a way that would present as "the runtime bump didn't hold" with no obvious cause.

So the four went through their stack, where a diff showed exactly four modifications and nothing else, and the two went through the command line. The difference between those two paths is not technical difficulty. It is knowing which is which, and the only way to know is to look — the tags tell you, if you check them.

The second half: what does this fail into

The other thing this job is made of is asking what a component does when the thing beneath it is not there.

Same week, same account: a contact form. It accepted twelve submissions over eight months and delivered zero emails. Every submission returned success. The function logged nothing wrong, because nothing was wrong from its point of view — it handed the message to the email service, which accepted it, and the message was then dropped silently downstream for a reason no component in my system could see.

It returned success because it writes to two destinations and either one landing counts. That is a deliberate and good design — an enquiry should survive one destination failing. It also meant a total failure of the channel the business actually watched looked exactly like a healthy system for eight months.

Architecture is largely the practice of noticing that kind of thing before it has run for eight months. Not by being clever. By asking, of every piece: if this were completely broken, what would I see?

Why this is a career and not a task

Because the individual pieces are easy now and there are far more of them. Provisioning a function, a queue, a table — all trivial, all fast, all well-documented.

What does not get easier is the relationships: what owns what, what happens when one of them is absent, and which failures produce no signal at all. That grows combinatorially with the number of pieces, and the pieces are multiplying because they are cheap.

The person who can hold that map is not doing the same job as the person who can create the resources. It only looks similar from outside.

Where I come into this

The smallest version of that exercise, free: the website check tells you what your own front door is actually serving right now. It is the one piece of your infrastructure every customer touches, and usually the least watched.

If you have infrastructure nobody fully maps any more — some in code, some created by hand, some nobody remembers — that is the normal state and it is worth an afternoon of somebody drawing the ownership. Tell me what you are running, and if it turns out to be tidier than you feared, I will say so.

Post 9 of 10. The last one is the job I did not expect to see on this list.

SHARE
4 min read
Read More

MORE ARTICLES

MSUFCU turned its own website off. That was the right call.
Engineering
Engineering

MSUFCU turned its own website off. That was the right call.

A PHP flaw became unauthenticated remote code execution with no workaround, so banks and governments went dark on purpose. What happened in Lansing, and why.

I gave an AI agent a wallet and a spending limit
Engineering
Engineering

I gave an AI agent a wallet and a spending limit

An autonomous client paid for its own API call in stablecoins. The payment was the easy half — the interesting half is the record of what it was refused.

The demo worked because you built it on your own data
Engineering
Engineering

The demo worked because you built it on your own data

The most expensive failure in applied AI is the one that looks like a success. Here is the test that catches it, and why it has to be able to fail.

How to read the arithmetic on a views guarantee
Engineering
Engineering

How to read the arithmetic on a views guarantee

A real offer promises 10 million views in 90 days or you do not pay. Here is the division that tells you what you are actually buying.