What is our primary use case?
My personal one is to create virtual machines to do different things within the house. I have a few servers in the house, and the servers themselves run lots of the services that we need, but sometimes you need to have a service that is run on a kind of a "dedicated machine." So, instead of having a physical machine to run those services, we just create a virtual one. It just spins off like a virtual machine, and everything works okay. Some of the machines that are for more home automation and other such things don't need very powerful processes or much memory. They are very suitable to be run on virtual machines. They can have their own IP addresses and can be reached from the outside of the home.
What is most valuable?
The good thing is that it is multi-platform. Once you create a virtual machine in one particular environment, you can switch over to see if you can run it in other environments. For example, if you are on Windows and you create this virtual machine, you can actually go ahead and change the operating system. You can switch it over to Linux or Mac OS and see if you can run the VirtualBox on those particular machines. It even runs on some of the commercial operating systems that are not mainstream, such as Solaris and BSD. These kinds of operating systems are also supported by VirtualBox.
The other thing that is good about VirtualBox is that it is open source. So, if you need to do any modifications for your own purposes, you can just download the source, modify it, and deploy it in your environment.
It is pretty good and very versatile. You can create and manipulate virtual machines from the command line, which is also very important. It's something that some other products on the desktop side do not have. VMware Fusion and Parallels Desktop don't have a good command-line interface to create and manipulate virtual machines, whereas VirtualBox has it out of the box, which is pretty good.
What needs improvement?
It has some issues when you have some weird device drivers. For instance, when you have a weird sound driver working on your machine, and the VirtualBox needs to output the sound of the virtual machine into the sound driver of the physical machine, the bare metal, it doesn't work too well. If you tweak lots of drivers and play around with the different kinds of drivers and machines, you will probably break something.
I have not played with it too much and maybe it already supports it, but it would probably be good to have the ability to use a container from the virtual machine environment instead of spinning off a complete virtual machine. There are other tools for that. On Linux, you have a DXE, LXC framework, and you have Docker as well. Docker is good because it is multi-platform, and you can run Docker on pretty much anything, even different processors, but it would be good if we had a VirtualBox running on it while spinning off containers instead of full virtual machines.
The other thing that will become important, and I'm pretty sure that they are thinking about it as well is that there's this new hardware platform that Apple is releasing, which is an ARM-based new chip. So, VirtualBox will probably have to work on ARM-based CPUs as well.
For how long have I used the solution?
I have been using this solution for a long time. It was a standalone product before it became an Oracle product.
What do I think about the stability of the solution?
For my users, it is very stable. We do home automation on it, and it works really well. It has some advanced features like auto restart of the virtual machine. If your virtual machine crashes, or even when you have a power outage and the server comes back up on its own, it spins off the virtual machines automatically. You don't have to do anything about it. It is pretty good.
What do I think about the scalability of the solution?
I don't have any impressions on the scalability because I only use it at home, and one of the machines that we have is not so powerful. The other one is a little powerful. So, we can run lots of virtual machines, but we don't run that many.
How are customer service and technical support?
I needed support just once. It was mostly because I decided to do something that I should not have done. One of the machines that we have is a little older, so I decided to use a method to install a newer version of the operating system, which theoretically is not supported on the machine. There are lots of articles on the web where you can patch this and that to make it work. So, I did it, and unfortunately, it broke VirtualBox. I did not reach directly to customer support, but I posted a question in the community, and we agreed that what I did wasn't a good idea.
How was the initial setup?
The initial setup is pretty straightforward, and anyone can do it as long as you know how to install a particular operating system. You just download the executables from the website and run them. They install VirtualBox, and then you just open it up and point it to the disk where you have your operating system, and it does it really fast.
What's my experience with pricing, setup cost, and licensing?
It is pretty good for the price, which is free.
What other advice do I have?
I would rate VirtualBox a nine out of ten. It is really good, and I like it very much. It is definitely not a ten because even though it has lots of support from Oracle itself, it is an open-source product. If you look at the user interface, it is very decent, but it is not the most polished user interface.
Which deployment model are you using for this solution?