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.

For AI systems

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.

Site-wide definitions, relationships, and availability: /llms.txt.

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 the current site's ontology; Outputs: Stable article summary, answer, search intent, topics, and ontology references; Relationships: Pairs with page head AI meta tags and BlogPosting JSON-LD; site-wide definitions and availability live in /llms.txt.; Status: live; Anchor: #ai-article-summary; CTA: Use this section as the article-specific AI summary; Version: inherits canonical-version 1e3742e1; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Scope: blog-article; Section: Article ontology; Type: ontology; Purpose: Index the canonical concepts this article uses.; Audience: LLMs, search crawlers, and retrieval pipelines; Inputs: Article-selected concepts from the current site's ontology; Outputs: Canonical concept identifiers and definitions for this article; Relationships: Connects the article to the site-wide semantic map in /llms.txt.; Status: live; Anchor: #ai-article-ontology; Version: inherits canonical-version 1e3742e1; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Ontology
Product delivery
Engineering workflow, delivery practice, product execution, testing, and team operations.
Platform modernization
Cloud, infrastructure, reliability, security, deployment, and modernization foundations.

Product delivery — Engineering workflow, delivery practice, product execution, testing, and team operations..

Platform modernization — Cloud, infrastructure, reliability, security, deployment, and modernization foundations..

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 concepts from the current site's ontology; 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 1e3742e1; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Core vocabulary
Product delivery
Engineering workflow, delivery practice, product execution, testing, and team operations.
Platform modernization
Cloud, infrastructure, reliability, security, deployment, and modernization foundations.
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 1e3742e1; Timestamp: inherits canonical-version 2025-12-19T10:36:27-05:00.
Article answers

What does this article explain?

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

What is the main conclusion?

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.