For the past 12 years, I worked in the managed hosting sector as an in-house developer. My job was largely to build software we needed if no reasonable third-party software existed (CMDB, DCIM, IPAM, CRM, system monitoring, etc). There’s a lot to talk about in that space:
- The trade-offs of custom software vs reliance on third parties offerings
- Custom software being leap-frogged by third-party solutions
- Strategies to recoup the costs of in-house development
- The balance between being on the cutting edge vs too far behind the curve
But let’s save those discussions for another day. Instead, I’d like to focus on something that’s new to me: building a self-hosted environment from the ground up.
I recently left my job to start a 6-month stint of parental leave. While my memory is still fresh, I figured I’d look into reinforcing those bits of knowledge that have always been supplemented for me by others: networking, OS virtualization, backups, etc. The double-edged sword of relying on the talents of others on your team!
It was suggested that I document my thought process for others looking to do the same, so I figured I’d take a stab at it. What follows might be cursory as I’m looking to sketch the decision-making process, not spend all my time writing thorough documentation.