My Personal Infrastructure
I have possibly too much physical hardware for one person to use. I like to setup laboratories and prove things out. I can spin up a VM on any given system I have in a matter of minutes. I care about my tools. Lets look at some concepts to creating a commercial and personal lab.
A commercial laboratory starts with product development and ends with product support in the lifecycle. The business will look at it as overhead when it falls under multiple budgets. Identify the laboratory as a shared resource.
- Open Access Wiki
- Physical Hardware to match Production (trouble shoot hardware issue)
- Software stack to match production (regression testing only)
- API endpoints for testing
- End user devices (tablet, phone, laptop) Apply roles and rights to the resource so that you capture the value. Example if a C-Level manager wants to do a private demo for a customer use the laboratory. Assign roles for network security, application security, network support, application support, customer support, product development, hardware support, production support and any number of roles. Do not call it a playground. Create environments within the laboratory for development, quality, production to enable the development and refinement of the product lifecycle and or the promotion life cycle.
Limited resources are not a limitation in technology. A personal laboratory is not a business critical resource so you can build and destroy freely. You want to develop some simple processes for the build of VMs of various environments and make sure that it is easy. If it is easy for you to test something then you will test things with ease. Using a wiki you can also build up a complex environment without the resources others have by documentation.
- Open Access Wiki
- Laptop/Desktop you can afford to keep around
- Network/NAS/Router that you can afford off of ebay
With decades of Open Source Software work I know to trust volunteer developed software more than commercial software. This is not tree hugging bias but actual experience. It is important to test things and build that experience for yourself. Proving out the impact of a change on a system in a laboratory vs production will obviously get you a raise some day so give it a go. Learn how to replicate a system package for package, config for config, and document the results of upgrades, changes etc.
With a personal laboratory feel free to test any software you read about, hear about, and or asked about. If you can setup random solutions in minutes and do it often then you will become confident in the process.