Philip Reynolds bio photo

Philip Reynolds

Director, Engineering @ Workday. All thoughts, opinions expressed are my own

Twitter LinkedIn

Productize your Infrastructure

The sudden uptick & interest in “devops” over the past few years is driven by Cloud. With a capital C. Historically, operations built out the infrastructure and then slapped the application on top of it that the developers had produced. As your application gets bigger and so does your infrastructure, things get harder. Welcome to the Cloud Forcing Function.

In a world where people talk about Infrastructure-as-a-Service, the real key to growing at scale is Productizing your Infrastructure.

What do we mean by Productizing?

Let’s start with the definition of a product. Put simply, a product is something that is manufactured for sale or distribution. However, when we talk about building software, there are a lot more implications.

  • It’s designed
  • It can be repeatably built and delivered
  • It has tangible features
  • Each component is tested and has some level of quality

Put another way, the way we build software systems should also be the way we build the Infrastructure. Think Systems Development Life Cycle

Building your infrastructure should be approached no differently to the way we build software.

Quite simply, get out of the business of doing stuff and into the business of building stuff.

Symptoms of not having products

  • Repeated requests for the same item over and over
  • Making direct changes to live running servers & network devices
  • Frequently having to revisit issues that you thought you had resolved

Paul Graham, an extremely prominent writer & startup accelerator founder, talks specifically about the idea of startups being high growth focussed on scale and says…

To be a startup, a company has to be a product business, not a service business. By which I mean not that it has to make something physical, but that it has to have one thing it sells to many people, rather than doing custom work for individual clients. Custom work doesn’t scale.

Productize your consulting work

Simply building automation around common tasks is not the same as building a product. Automation is internal to you. You need to have something that you hand to your customers and step back from.