The easiest way to play with technology is to create a test platform that works for you and allows you to create a playground or scratch environment. Historically you had to purchase a computer, install and operating system on the computer, and install the software on the operating system. This was very cumbersome. Getting a dedicated computer to play with was initially expensive. Getting the OS installed and configured to work in your network was overly complex and typically required an OS license. Once you had the OS stable you were free to play with software installation and configuration. The key problem was that if something went wrong or something locked up the computer it was back to square one and re-installing and re-configuring the operating system.
Fortunately a few years ago virtualization became something that not only gave you a safe sandbox but became mainstream computing. There are currently three primary platforms for virtualization: VMWare, HyperV, and ZEN. All three have server solution. All three have desktop solutions.
With VMWare there are a variety of products that you can play with. For desktop solutions, VMWare Fusion is a good solution. You can play with it for free but a licensed version is $70. It does require a modern Intel chip set (or AMD) with 64-bit capability and at least 2G or RAM and 1T of storage. Server solutions are out of the question for individuals but excellent if your corporation has standardized on it as a platform and provides you a sandbox to play in. The VMWare VCloud is a good hosting platform to play with if you have the money and resources but do not have a VMWare server in house to play with. Starting cost of VCloud is $670 per month and can grow as you require more resources. One of the key benefits is that what you develop in Fusion can migration to ESX/VMWare Enterprise to VCloud easily.
With Microsoft, HyperV is bundled into Windows 2012 and newer. You can run a virtual instance inside of Windows but it does require that you have a valid Windows OS license as the base operating system. Unfortunately, migrating HyperV instances from a private hosted environment to a public cloud environment like Azure does not work well and has different file formats. We will not be looking at this option because 1) it cost too much for me to play with (I have a Windows 7 desktop and can not get a server 2012 edition installed on my system to play with) and 2) if our goal is to migrate our examples to the cloud the lack of functionality to migrate these instances to the cloud are show stoppers.
With Oracle, there are two solutions Oracle VM (a Zen based hypervisor) and Virtual Box. Oracle VM is a server solution that is bundled into products like the Database Appliance or the Virtual Compute Appliance. It is also part of the Solaris operating system and works on Sparc and X86 platforms. We will be focusing on VirtualBox since it is a desktop solution that works on MacOSX, Windows 7, and Linux. We can configure a desktop system to be our sandbox at no cost. One of the benefits that I appreciate is the fact that you can add the extensions for your operating system and share drives with the guest OS. This allows you to stage installation binaries in a directory and not have them consume disk space in your virtual machine. This is a common practice in corporations and cloud hosting like Amazon Web Services. You create an S3 storage pool that contains all of you install binaries and mount this on your virtual machine. You can keep your virtual machine smaller and cross mount the installation files across multiple machines without consuming the disk space on all of them. We will be looking at VirtualBox because I did not want to use my laptop as my primary computer and install OracleVM on my deskside computer. I ordered a deskside Linovo computer with 24G of RAM and 3 terabytes of disk to act as a playground. The system came installed with Windows 7 and very little else installed on it since it is the Oracle Desktop standard image.
I mention the AWS service. We could use this as a playground. It is a valid alternative. We will not be looking at this initially because it involves a cost for storage and a cost for compute resources. Pricing for instances are reasonable ranging from 1.3 cents per hour ($113.88 per year) to $2 per hour ($17,520 per year). They do have a year free on the cheapest services but in my opinion these services are too limiting to play. You get one virtual CPU and 1G of memory. The key benefit to this configuration is that you get a copy of Windows for free so if your testing platform is Windows then it might be a good alternative. The Oracle database requires at least 4G of memory to run without being painfully slow. Layering WebLogic on top of it and Enterprise Manager boosts the requirement to 6G or you are watching the processor spin while it thrashes memory.
There are a variety of other services that you could lease similar to AWS. Oracle has compute infrastructure as a service at $2,190 and up per year. Rackspace, Level 3, Google, and other hosting vendors are alternatives. My recommendation is to look at what works for you and stick with it. We will be using VirtualBox as our preferred platform because instance created in this sandbox can be exported to AWS, VMWare, and OracleVM. This platform is also free for a variety of platforms and has enough features to fulfill our needs and requirements.
Our sandbox system came down to cost. We selected a deskside Linovo M83 system at a cost of $1,364 because it can handle the extra memory that is needed. A laptop is typically limited to 4-8G of RAM. We don’t need the graphics capability of a gaming system or the added processing power. We went with a 4 core Intel i7-4770 chip at 3.4Ghz. This system was selected primarily for the memory expansion. The system can handle 36G so we have some headroom if needed. We could have selected AWS or Oracle IaaS as the testing platform but given that my department had budget for me to get a new computer I opted to keep my personal MacBook Pro as my laptop and have Oracle purchase the deskside as my daily “working” computer.
next: VirtualBox installation and configuration