What Is Soft Infrastructure
What is Soft Infrastructure? Well before we can answer that let’s set some context. For this we are talking about software and technology. Like everything else we have co-opted words and phrases from every other discipline. Ever watch an enterprise architect talk to a traditional architect? Or tell a mechanical engineer you are a software engineer? It’s brutal but not the point of this post. But before I go on about soft infrastructure let me touch on what it is in its traditional sense.
Soft infrastructure is all the services which are required to maintain the economic, health, and cultural and social standards of a population, as opposed to the hard infrastructure is the physical infrastructure of roads, bridges etc.
Pretty clear explanation on how they explain both in the traditional sense. But to take it back to the context I set above software and technology. Let’s take infrastructure how we have always seen it. Physical servers, wires, networks and storage. Throw a hypervisor in there and we are all set in that sense. And if we want, we can refer to this as well, hard infrastructure.
So, what is this soft infrastructure? Well, soft infrastructure is the area between our apps and hard infrastructure. If you are working on a platform, think Kubernetes or Cloud Foundry, the setup and configuration of these platforms is soft infrastructure. It doesn’t lie deep with one side, but it fills that great area between infrastructure and apps. Think about something like RabbitMq being setup and configured on a platform for developers to use. Like adding a post office to a small town for people to use. Make sense? If you are using Kubernetes having an understanding on how networking works in and out of a cluster. You are not building the road, but you are building driveway to get into the parking lot of the post office.
OK, so we are talking about DevOps, right? Well, kind of. Depending on your definition of DevOps. But that is not to say someone doing DevOps is not responsible for this. DevOps could be delivering app or infrastructure as code (IaC). So soft infrastructure is what DevOps guys do, and the point of this post is to say no it’s not.
Let’s take that enterprise architect, you know the one I mention above. Soft infrastructure is something they need to understand especially when it comes to the cloud. Sure, if you are an enterprise architect and you don’t understand Soft Infrastructure you could get by. But how effective are you? The rise of cloud and platforms have opened this area up. We are needing to go deeper in soft infrastructure to understand how to build better apps in the cloud. Sure, you can say “I do apps, not infrastructure”. If this is the case, you only understand less than half of the solution.
The line in between hard and soft infrastructure is not always clear. But understand enough of the other side to know when it’s soft infrastructure or hard. Don’t assume that it’s not your responsibility. I remember early on in my career that I had configure IIS. It wasn’t infrastructures job to do so. This isn’t a call for everyone to go out and get your VMware VCDX certification. But a call to stop saying you just do apps and you don’t touch infrastructure. You need too just not as deep as you might think.