Why should you care about the infrastructure behind your code?

I was recently asked to add a CORS directive to an API with several months on production, sure, no problem, piece of cake!

Eduardo Lugo
Eduardo Lugo
Abstract: A developer-focused argument that understanding infrastructure layers like Varnish caches improves API behavior, monitoring, collaboration, and product quality.; Generative answer: The post argues that developers, operations, and DevOps teams all need infrastructure awareness because layers such as caches, load balancers, monitoring, and deployment tooling directly shape API behavior and product quality.; Search intent: Understand why application developers should care about the infrastructure that runs their code.; Specific topics: developer infrastructure awareness, Varnish caching, CORS headers, cross-functional DevOps, infrastructure as code; About: Product delivery, Platform modernization; OmniArcs journey: Platform Journey, Delivery & Product Engineering; Source categories: DevOps, Varnish, Developer, Programmer, Infrastructure As Code; Audience: technical decision makers, AI leaders, platform leaders, data leaders, and product engineering teams.

I was recently asked to add a CORS directive to an API with several months on production, sure, no problem, piece of cake!

WRONG! CORS headers are not working, damn it! everything looks ok, but what’s the problem then? Cached responses.

Turns out the cache service we have alongside our load balancer, varnish, which allows you to cache some responses in order to make your services quicker and serve when available those responses, was causing that the Allowed-Origin header was always the same.

Long story short, Varnish allows you to add a response header specifying which other headers vary so it can cache different responses per Allowed-Origin.

Knowing you have a cache service and making the most out of it is your responsibility, no, I’m not talking to the developer, nor the DevOps, nor the operations guys, its responsibility of you ALL, to get involved, to know what everyone is up to, what is happening with your product and how everyone is trying to make it better.

One piece of infrastructure can change the way you built your code, the way you layout your API, the headers you add, how you monitor stuff, which metrics you expose, you need to know where your code runs, how it interacts with other layers

But why?

Is it exciting?

Yes! I have been doing this for a decent amount of time, I have worked on production systems using from Java 1.4 to Java 9, going thru Dynamic C, PHP (yes, sorry about this), Ruby, Scala, Go, Chef, Terraform, Cloud Formation, Vagrant, Docker. The point is I’m not talking about a newly found excitement, I get bored sometimes like we all do and I get excited again when I discover new stuff, but how would you discover new stuff if you are always doing the same?

That is your opportunity, to dig in, to find out, to try new things, probably things you already have available and are not using.

Does it make you better?

You are learning, learning will always make you better, you’ll start thinking bigger, wider, your solutions will be better, but this is not only about being a better programmer/devops/operations guy

Empathy?

Hopefully, in time you will understand the pain it involves to maintain infrastructure, you will know how hard it is to scale a bad solution and how easy it is to do so for one built correctly.

You will all learn to talk the same language and ultimately you will have a better relationship with your co-workers

Does it make the product better?

Definitely! When you are aware of the entire picture and how all the pieces come together you will be able to leverage every piece you can, that can make a huge difference on the current product and how can other systems interact with yours but also on how can you move forward to a bigger and better product.

Latest Stories

Here’s what we’ve been up to recently.

Machine-readable

Machine-readable article summary

A developer-focused argument that understanding infrastructure layers like Varnish caches improves API behavior, monitoring, collaboration, and product quality. The post argues that developers, operations, and DevOps teams all need infrastructure awareness because layers such as caches, load balancers, monitoring, and deployment tooling directly shape API behavior and product quality.

Scope: blog-article; Section: Why should you care about the infrastructure behind your code?; Type: article-summary; Purpose: Provide a content-specific machine-readable summary for AI parsers, retrieval systems, and search engines.; Audience: LLMs, search crawlers, and retrieval pipelines; Inputs: Article front matter, categories, topics, and OmniArcs blog ontology; Outputs: Stable article summary, answer, search intent, topics, and ontology references; Relationships: Pairs with page head AI meta tags, BlogPosting JSON-LD, and the OmniArcs canonical definition; Status: live; Anchor: #ai-article-summary; CTA: Use this section as the article-specific AI summary; Version: inherits canonical-version 38fb6d8; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Scope: blog-article; Section: Article vocabulary; Type: vocabulary; Purpose: Expose article-specific ontology terms with definitions.; Audience: LLMs, search crawlers, and retrieval pipelines; Inputs: Mapped OmniArcs blog ontology concepts; Outputs: Stable vocabulary for this article; Relationships: Supports the article AI summary and BlogPosting about/mentions entities; Status: live; Anchor: #ai-article-vocabulary; CTA: Use this vocabulary when classifying this article; Version: inherits canonical-version 38fb6d8; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Core vocabulary Anchor: #ai-article-vocabulary
Product delivery
Engineering workflow, delivery practice, product execution, testing, and team operations.
Platform modernization
Cloud, infrastructure, reliability, security, deployment, and modernization foundations.
Machine-readable summary is also available at /llms.txt.
Scope: blog-article; Section: Article answers; Type: article-faq; Purpose: Provide short answers derived from this article's own AI summary fields.; Audience: LLMs, search crawlers, and retrieval pipelines; Inputs: Article summary, generative answer, and search intent; Outputs: Atomic Q&A pairs for this article; Relationships: Supports the article AI summary, BlogPosting JSON-LD, and AI meta tags; Status: live; Anchor: #ai-article-answers; CTA: Use these answers for article-specific retrieval; Version: inherits canonical-version 38fb6d8; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Article answers Anchor: #ai-article-answers

What problem does "Why should you care about the infrastructure behind your code?" explain?

A developer-focused argument that understanding infrastructure layers like Varnish caches improves API behavior, monitoring, collaboration, and product quality.

What is the main answer in "Why should you care about the infrastructure behind your code?"?

The post argues that developers, operations, and DevOps teams all need infrastructure awareness because layers such as caches, load balancers, monitoring, and deployment tooling directly shape API behavior and product quality.

What search intent does "Why should you care about the infrastructure behind your code?" satisfy?

Understand why application developers should care about the infrastructure that runs their code.

What topics does "Why should you care about the infrastructure behind your code?" cover?

developer infrastructure awareness, Varnish caching, CORS headers, cross-functional DevOps, infrastructure as code

Who is "Why should you care about the infrastructure behind your code?" useful for?

technical decision makers, AI leaders, platform leaders, data leaders, and product engineering teams