Continuing on with my virtualization fixation as of late, I would like to address something else to those who read my blog. As we all know, improving (and learning new) skills is a never-ending event in the IT world. The moment you stop doing this, it’s the moment you can easily be replaced. However, how are people going to be able to improve skills? With the fact that most (but not all) Linux flavors are free, you can easily install them into a virtual machine and learn new skills (or improve what you already know) doing this. The install process and such is no different really than installing it on a PC itself, so what I want to cover here is the benefits of doing this (with the only con really being is that it uses up your time, but in the end, it’s well worth it).
Before going into this, though, I would like to address sandbox means (if you already know, then skip to the next paragraph if you like). In the general sense, a sandbox means a highly-restricted area to perform tasks in. To make this more clear, you can think of an actual sandbox, and think about how the sand doesn’t leave the box, unless someone moves it out somehow. With IT, this is similar to running a program in a virtual machine that has no network connectivity to the network. Ultimately, it adds a sense of safety, knowing that what you’re running won’t affect your actual desktop.
My first, and possibly biggest, backing for using a sandbox to test skills is productivity. This doesn’t just affect you, but your job as well. For example, if your job requires you to deal with RAID devices, but you’ve never dealt with RAID before, it can be daunting to just dive head-first into this (real life example from me). What you can do is install an OS in a virtual machine, and learn how to use RAID that way. While you won’t get any of the performance/usage perks, it’s meant as a learning tool. This way, when you’re placed in a position where you have to use mdadm again, you’ll at least know some of the commands to use. The beauty with doing a sandbox here is that you can make as many mistakes as you want, and you’ll just have to reinstall the guest OS, not your actual OS (which, when you’re first learning, can happen a lot…).
Secondly, as I said earlier, if you’re not improving and learning new skills, you’re being left behind in the dust; especially with the rate technology is increasing. The trouble here is that most businesses are quite weary of migrating solutions from MySQL to MongoDB, for example. But, with a sandbox, you can learn and evaluate which solution is best, and go from there. Another added bonus to this is that while most people will still know MySQL, knowing alternatives can put you in the lead, and show you’re maintaining an understanding what the advances. As a side note here that is irrelevant to this post (but an interesting fact), there has been a slight push lately migrating from a relational (MySQL) database system to a document (MongoDB) system…which, I’ll cover in another article.
Lastly, and this is more of a security adventure than the rest, but when you’re trying new software, it might be a good idea to try it in a limited-resource environment first. While pretty much all software in a distro’s repository is tested before it’s published, if you’re downloading software from an outside source (i.e.: not-official source), it’s wise to make sure there’s no faults in the software. This includes any exploits and (to a lesser extent) viruses, but it’s not limited to that. Granted, this tip is more geared towards Windows, given how that and Linux operate differently, this can defiantly be applied to Linux as well. Especially with how fast software is being released, and how many forks there are in the wild Internet these days, it’s better to be safe than sorry.
There’s only a few (three, to be exact) ways to use a sandbox, but I do plan on expanding on this topic in the future. But, this is a good place to start, and will help you in the long run.