Engineering

HOW SRIVAN
BUILDS SYSTEMS

Architecture, security, testing, delivery and reliability are treated as one engineering system.

Architecture

Start with boundaries

Define the problem, interfaces, ownership, failure modes and data flow before code shape hardens too early.

Security

Design the trust path

Identity, sessions, route controls, headers, secret handling and audit trails are designed into the system rather than pasted on later.

Testing

Test contracts and behavior

Small tests for logic, broader tests for routes and generated output, and production checks for the parts that can only fail when deployed.

CI/CD

Make delivery repeatable

Build, verify, deploy and rollback paths are part of the product, not a separate ritual performed by hand.

Scalability

Keep growth visible

Capacity, database shape, caching, queueing and observability are handled before the system becomes difficult to move.

Reliability

Operate what you build

Operational docs, service health, alert quality, incident flow and measurable reliability goals close the loop.

The layer, drawn

TWO PATHS, ONE POD

What you deploy and what your users hit converge on the same object. Everything between the boxes is where the interesting failures live — which is why the labels are ports and admission controllers rather than arrows saying “sends request”.

Delivery pathRequest pathCommitgit pushwebhook :443Pipelinebuild · test · scanpush :5000Imagedigest-pinnedSCC / PSAAdmissionaccept or denykubeletClientbrowser · api:443 TLSRouteedge termination:8080 HTTPServiceClusterIPiptables DNATPodthe running thingObservability:9100 · stdout · :4317 OTLP

HAVE A PROBLEM IN THIS LAYER?

Specifics get a better answer than introductions — say what is actually happening and I will tell you what I would look at first.