Can you tell me, what version is your infrastructure?

Despite years of collective pain trying to obtain knowability--also known as what the hell is going on--around what application code is running in production, our industry is only in the infancy of gaining the same knowability of the infrastructure on which our application code runs. Think about it: if you know the version of your software artifact, but don’t have certainty about the underlying platform in which it is running, do you really have any certainty about your application? It is like versioning your application to "3.something" or "4.meh" because you are missing a key knowledge about what exactly is running.

Knowing the version of your infrastructure is at least as important the version of your application code. If you still don't agree with me about why you may want to know exact nature of your application’s infrastructure is, think about the following questions:

  • What do you consider infrastructure? What is meaningful to you about the platform in which your application is running?
  • What is the first question you're asked after you report a bug?
  • How do you know what shared libraries an application is using at runtime?
  • What is the version of the application framework or server running your application?
  • What version of the OS is running your application? When was it last patched?
  • What deviations to your OS’s configuration were made since it was installed? Better yet, what install options were used when it was set up?
  • What is the version of the database that your application is connecting to?
  • What are the firewall rules needed to secure your application?
  • What scheduled jobs need to be run to make your application function? Are they invoked from another system?

If your answer to any of those involved sshing into the box or checking a wiki, you should keep reading.


Elijah Zupancic's post first appeared on Medium. Elijah is a solutions engineer at Joyent. He prefers his tea and sake piping hot.



Post written by Elijah Zupancic