Virtualization. This is where IT resource management rocks.
- Build a rock-solid minimalist Ubuntu base system with multiple cpu cores, a good deal of hard-drive space and as much RAM as you can muster.
- Use LXD and/or KVM/QEMU to virtualize all system functions, even personal computer instances to minimize resources needed to perform OS maintenance issues and rebuild times.
- LXD is the workhorse of the setup. Most services are hosted in containers. Small, limited purpose containers allow for easy customization of services while limiting configuration issues that are sometimes had when hosting multiple services on a single metal box.
- KVM/QEMU is used to virtualize only those services that LXD cannot handle. There are some instances of Windows OS 7/10 that must be virtualized to run different Microsoft-Only proprietary services (ie, game servers, old BBSs, etc.)
Key Differences between LXD and KVM/QEMU
- LXD has an ultra-small footprint, shares host resources very efficiently and is very quick. However, OS choice is limited to Linux distributions.
- KVM/QEMU has a larger footprint, but can virtualize a wide range of guest OSs (including Microsoft OSs).
With this infrastructure strategy, entire systems can be easily build, backed up, destroyed, stored temporarily, etc. The difference in time expenditure between building a virtualized system and a metal system is extreme. A base Linux system can be spun up in LXD in about 15 seconds, with all packages updated. KVM/QEMU virtualization of MIcrosoft products are not as efficient to build, but the effort remains less. Building a Microsoft VM doesn't require movement of any hardware, just clicks of a mouse and taps on a keyboard.
With this strategy, and enterprise can be built and maintained with ease.... Let's see..... Let's call it JayCTheriot.Com Enterprises.
I'm even Virtualizing my personal desktop, the technology has gotten that good. My gaming system still runs on metal. If I do any office applications, they are largely on a virtualized desktop.
I maintain an external server for DHCP to aid management of IP addresses.
Jay C. "Jazzy_J" Theriot