In a previous post I mentioned that I would show a high-level design for an infrastructure operating model. This is a model I have followed to build a Linux based infrastructure, long before I even drew it as this diagram.
The design gives a manageable, accountable and importantly, repeatable infrastructure. Everything is versioned and described in configuration management software, i.e. is software defined. There are three phases - provision, operate, and update.
There are, however, a couple of fundamental elements missing to the bigger picture. Network, and Storage. They're not included for a couple of reasons - one, I'm not a network or a storage guy, and two - it works perfectly well for a cloud provider, where the 'tin and string' is abstracted from the operating systems.
In a follow up post I'll suggest some software choices to fill in the boxes; what I would choose - and why - to build an infrastructure for a startup today, that will grow with the business.