Blog

March 20, 2024

Build Apps Not Infrastructure

IaC is not making your developer teams any faster.

The boundary between software and infrastructure is not always clearly defined. The tools and conventions available suggest that clear boundaries exist, but details about infrastructure need to make their way into the software and details about the software need to make their way into infrastructure.

Deploy to Cloud
Noop Cloud is currently in private preview and invite only. To learn more, schedule a demo or email us at hello@noop.dev.

Infrastructure as code (IaC) is often introduced as a way to create a neat boundary between the two responsibilities. What IaC really does is bring greater reliability to infrastructure by borrowing a concept from software development: declarative logic (and, most of the time, version control).

The scope of IaC is mostly limited to improvements in infrastructure. But the main source of complexity associated with delivering software (getting the developed software deployed) exists at the intersection between software and infrastructure. Details from each need to find their way into the other. What ensues is a negotiation process, often between individuals and teams.

I think separating software from infrastructure causes more problems than it solves. The running software is as much a product of the development process as it is infrastructure development. And it’s possible to bring the two disciplines closer together and give developers the ability to run their software without overbearing operational procedures.

This is what we do at Noop. Noop redefines the boundaries between software and infrastructure. It involves choices, we try to find the things about infrastructre that developers care most about and make those things easy to use. We want our developers to think about Applications, not Infrastructure.

If we look back, over a decade ago, platforms started prioritizing developer experience. These platforms changed the perception of what a developer could do on their own. They gave developers a level of control that was all at once more accessible and (in most cases) less expensive than alternatives.

In some sense Noop picks up where they left off. While developer experience within individual tools is at an all-time high, agency and productivity are, once again, bogged down. Best practices and conventional wisdom are more and more leading to solutions associated with high costs in both service fees and developer effort.

The irony is that individual SaaS tools (and open source alternatives) are actually very good at what they do, be it a log aggregation platform, performance monitoring tool, CDN, whatever. The number of high quality SaaS and open source products and tools available today is staggering.

Except, the more we choose these specialized tools the more our work becomes integration. The cumulative integration work associated with connecting different tools complicates more than simplifies the operational responsibilities of software developers.

Noop is building the best set of application development primitives available on a single fully-integrated platform