Infrastructure reliability

The Cost of Change
How System Complexity Becomes a Reliability Risk

Modern platforms do not usually fail because one component is inherently fragile. They fail when dependencies, ownership, renewal, monitoring, and recovery stop scaling together.

published  ·read  8 min·source  AIF
Back to writing
01 · section

Complexity changes the shape of failure

Modern information systems increasingly resemble cities rather than standalone applications. A single user action may pass through multiple services, databases, platform components, and security boundaries before it completes. Different teams own different parts of that path, and each part evolves on its own schedule.

This architecture lets organizations build and change digital products quickly. It also creates a different kind of reliability risk. Failures are less likely to be explained by one obviously weak component. They emerge from interactions between components that may each appear healthy in isolation.

The Uptime Institute’s Annual Outage Analysis 2025 describes the same broader trend: infrastructure design and equipment continue to improve, while architectural complexity and external dependencies create risks that operators must manage deliberately.

In a distributed environment, diagnosis becomes a systems problem of its own. Engineers have to establish where the fault began, which dependencies it crossed, what the actual blast radius is, and which team owns the recovery. The technical fix may be small; finding the correct place to apply it may take much longer.

The cost of change is not only the code we add. It is the coordination, ownership, and recovery burden created by every new dependency.

fig 02 · dependency and blast radiusThe visible failure often occurs far from the component that introduced it.
02 · section

Small security artifacts can have system-wide impact

I encountered this problem in a concrete form while working on TLS certificate lifecycle automation inside a large corporate infrastructure.

A TLS certificate is a relatively small digital artifact. It authenticates a service and helps clients establish an encrypted connection. Yet operating it safely requires much more than tracking an expiration date. The certificate must be tied to a service owner, a trusted chain, issuance policies, secure key handling, controlled operations, monitoring, and renewal before expiry.

When one of those relationships is missing, a certificate can become a reliability risk. An expired or incorrectly deployed certificate may cause clients to reject a connection. From the user’s perspective, the root cause is invisible: a page does not load, an API call fails, or part of a product becomes unavailable. For the organization, the incident can mean lost availability, engineering time, and financial or reputational impact.

This risk grows nonlinearly. A small environment can survive spreadsheets, reminders, and request queues for a while. An infrastructure with thousands of certificates cannot safely depend on people remembering every renewal and every platform-specific detail. At that scale, manual management makes an incident a matter of time rather than probability.

03 · section

A certificate authority is not the whole solution

The project was therefore not approached as “deploy a certificate authority and declare the problem solved.” The real objective was to build a complete platform process around the certificate lifecycle.

The intended flow was straightforward from the service team’s perspective:

  1. A service requests a certificate through a familiar internal interface.
  2. The platform verifies that the service is authorized to request that identity and that the request satisfies policy.
  3. The certificate authority issues the certificate through a controlled workflow.
  4. The certificate is delivered to the correct runtime or platform integration.
  5. Renewal, monitoring, and failure reporting happen automatically before expiration becomes an incident.

The difficult work sits behind that simple interface. The system must connect issuance policy, authorization, key handling, platform integration, auditability, observability, and recovery. It also has to behave predictably when a dependency is unavailable or a renewal cannot be completed.

I was a key engineer on this project. My responsibilities included architectural design, integration of the certificate authority with internal platforms, development of the automation tooling used by service teams, and coordination of technical decisions with other engineering groups.

For a deeper technical discussion of the operating model and certificate lifecycle, see From Manual Processes to Resilient Infrastructure.

fig 03 · managed certificate lifecycleIssuance is one step. Reliability comes from managing the entire lifecycle.
04 · section

Ownership must scale with the infrastructure

The earlier operating model was centralized: one team handled a large number of certificate requests and renewals. That model provides control at small scale, but its queue grows with the company. The central team becomes a bottleneck, while product teams wait for routine operations that are directly connected to their own services.

The replacement was a service-oriented model. Teams manage certificates for their services through one shared platform and one set of rules. They do not need direct access to the certificate authority or permission to invent their own security process. They receive a supported path that makes the safe operation the easiest operation.

This distinction matters. Delegating every decision would fragment standards and create new risks. Keeping every action centralized would preserve the bottleneck. The scalable approach is to decentralize execution without decentralizing policy.

Decentralize execution, not standards.

The central platform remains responsible for the trust model, policy enforcement, common integrations, audit data, observability, and safe defaults. Service teams remain responsible for the services and identities they own. This makes responsibility explicit without forcing a central infrastructure group to perform every repetitive action manually.

fig 04 · ownership at scaleThe platform model removes repetitive handoffs while preserving common policy and visibility.
05 · section

Integration is harder than the happy path

One of the hardest engineering requirements was making the same operating model work across very different parts of the infrastructure. The company used Kubernetes, internal services, cloud platforms for development and deployment, database platforms, and other environments with different constraints.

The automation had to fit those environments without requiring every team to become a PKI specialist or perform a long sequence of manual steps. That meant designing stable interfaces while handling platform-specific behavior behind them.

The second challenge was predictability. When responsibility moves closer to service teams, the tool must be simple enough to adopt and reliable enough to trust. If the supported path is confusing or fragile, engineers will create local workarounds. Those workarounds restore the same hidden dependencies and unmanaged risks the platform was built to remove.

A successful infrastructure product therefore needs more than a working happy path. It needs clear failure states, useful diagnostics, monitoring, safe retries, documented ownership, and a recovery model. Adoption is part of reliability: a technically correct platform that teams avoid does not reduce risk.

06 · section

Automation changes the business risk

The project was designed around a scope of approximately 2,000 TLS certificates and integrations used by a broad part of the engineering organization.

The primary outcome is the reduction of incidents caused by certificate expiration and inconsistent manual operations. Certificates follow one controlled process, renewals happen before the deadline, and teams receive a clear interface for managing the identities attached to their services.

The central team also loses a significant amount of repetitive operational work. Its role shifts from processing individual requests toward maintaining policy, platform reliability, integrations, and exceptional cases. Infrastructure can continue to grow without requiring the manual queue to grow at the same rate.

This is the most valuable form of automation: not making one manual action slightly faster, but removing an entire failure mode from normal operations.

07 · section

Reliability lives in the process around the code

Reliability is often discussed as a property of software implementation: correct algorithms, resilient services, and redundant infrastructure. Those elements matter, but distributed systems also depend on the processes surrounding the code.

A reliable organization must be able to answer several questions before an incident:

  • Who owns this service and its critical identities?
  • How are time-sensitive components renewed or rotated?
  • Which signals indicate that the lifecycle is failing?
  • Where are errors recorded and correlated?
  • What happens when an automated operation completes only partially?
  • Who can make a high-risk change, and how can that change be reversed?

Automation is a baseline requirement because every repeated manual action introduces another opportunity for error. But automation without observability, boundaries, and recovery can simply propagate mistakes faster. The goal is not maximum automation in isolation. The goal is a controlled system in which normal operations are automatic and exceptional operations are visible, bounded, and recoverable.

08 · section

Where AI can help—and where it cannot

Artificial intelligence is useful in complex infrastructure because engineers must interpret more data than any one person can hold in working memory. AI-assisted tools can compare configurations, surface anomalies, correlate events, summarize logs, suggest plausible causes, and accelerate the first stages of incident diagnosis.

Their value increases when they are connected to the actual engineering context: monitoring data, event logs, configuration history, ownership records, deployment information, and internal runbooks. A generic assistant outside that context may generate plausible explanations. A tool inside the operational loop can help engineers rank evidence and choose the next diagnostic action.

I do not see AI as an autonomous authority over critical infrastructure. Policy, access boundaries, change approval, validation, and accountability still need explicit owners. The strongest model is an engineering loop in which AI compresses context and proposes hypotheses, while controlled systems and responsible engineers decide what can change and how the result is verified.

fig 05 · human-controlled operations loopAI can shorten diagnosis; ownership and validation still determine whether a change is safe.
09 · section

The direction forward

My focus is moving further toward information-system architecture and the engineering processes that make large platforms sustainable. I am interested in systems that continue to work as organizations grow: systems that reduce operational risk, make responsibility clear, and let teams move quickly without accumulating hidden failure modes.

That requires deep technical work, but it also requires decisions at the organizational level. Architecture, ownership, platform interfaces, incident processes, and automation strategy cannot be treated as separate concerns. Together, they determine whether complexity remains manageable or becomes the source of the next outage.

The most important reliability work increasingly happens at that boundary—where software architecture meets the way an engineering organization operates.