A couple years ago, I took on a geeky project, creating a WebCenter VM. The goal was to get WebCenter running so I could kick the tires and build something.
It didn’t end well, thanks to a variety of factors, but one good thing that came of the effort was a conversation with Justin (@oracletechnet) about how valuable a WebCenter VM would be to the Oracle community. He agreed, apparently, because last year, a WebCenter 11g Patchset 3 VM appeared on OTN.
Update: Turns out Christina Kolotouros and Pieter Humphrey actually built the WebCenter VM for the virtual developer day series for OTN. Kudos to them.
My new role as an evangelist/advocate for WebCenter has brought my back to the same place I was in 2009, in need of a good VM. This time, however, I want a VM that’s also convenient for developers. We want people to try out WebCenter, and the easier I can make that process, the better.
Talking to friend of the ‘Lab Bex Huff (@bex) recently, the idea of achieving productivity in 30 minutes with any new product came up as a bar to use for success. I like this because it’s measurable and catchy. So, my goal for the WebCenter VM will be to see how close we can get to 30 minutes to productivity.
I describe the entire adventure below, but if you’re interested in the executive summary, I was able to fit the entire, decompressed OTN WebCenter 11g Patchset 3 VM onto a 32 GB thumb drive. And, more importantly, it’s actually possible to run the VM from the thumb drive, a la Ubuntu Live CD.
You read that right. I was able to run the WebCenter VM off a 32 GB thumb drive.
This is kind of a big deal, given that a live CD/USB gives you the ability to test drive software without leaving any trace on your machine. No install, no configuration, no mess when you’re done.
Finally, it’s entirely possible to get a WebCenter VM up and running and more importantly achieve productivity within 30 minutes. There are some caveats, but this is also a big deal. Read on for the skinny.
Providing a way to test out new products is critical to success within a development community, and OTN has done a fantastic job of this for the Oracle community for a really long time. So, I began my second adventure with the OTN VM, rather than trying to roll my own, again. After all, they’ve done all the heavy lifting.
So, the WebCenter VM, it’s 22 files, totaling 14.5 GB. So yeah, it’s big. I set about downloading the files, which ultimately took me about three (3) hours over a 10 mbps connection.
Once I’d downloaded all the files, I moved on to decompressing them; OTN provides detailed instructions on the best way to do this, i.e. using 7-zip (Windows), p7zip (Linux) or 7zx (Mac). These tools reconstitute the compressed files into two .vmdk files, which can be imported into VirtualBox.
One protip here for Ubuntu users, like me. You can install p7zip directly from the Ubuntu repos like so:
sudo apt-get install p7zip-full
Anyway, regards of your host OS, when you’re done, you’ll have three files:
Decompression took about 10-15 minutes. So, I’m at 195 minutes, if you’re scoring at home.
Once you have these three files, simply open the .ofv file in VirtualBox to import the VM. Import took me about 15 minutes, and the decompressed, imported VM came in at 28 GB.
By this point, I’ve invested 210 minutes, or 3.5 hours, but I’m hopeful I can cut this time dramatically using a flash drive.
My idea is to put the decompressed VM on a flash drive and see if it will run from the flash drive, live USB style, just like Canonical offers with Ubuntu Live CD.
This is the best way to get developers to test your software because it leaves no lasting traces on their machines. No fuss, no mess. If they like it great, they can copy over the VM from VirtualBox and run it locally; if not, they have a nice flash drive keepsake from the WebCenter evangelism team.
Even if live USB won’t work, I’ll still be able to save some time, considering it took 210 minutes to download and decompress the files, then import the VM into VirtualBox.
So, I bought a 32 GB flash drive (this one) and set off to test my theories.
My first order of business was to reformat the drive. First, this removes the software that comes bundled with it, saving space, and second, I know I’ll need a cross-platform partition format in order to make the drive readable from Linux, Mac and Windows.
I decide to use exFAT because it fits the cross-platform bill, and unlike its cousin FAT32, it supports file sizes larger than 4 GB, which is a must for the WebCenter VM whose .vmdk files are 3.4 and 11.1 GB respectively.
ExFAT is relatively new, but it’s supported by many different OSes, including OS X 10.6.5 (Snow Leopard) and 10.7 (Lion), Windows 7, and Windows XP (with an update, KB955704). With Linux, your mileage may vary, depending on the distro.
Once I had the drive partitioned, which took maybe 5 minutes, I was able to copy the files without any hitches. That process took about 3 hours.
After the files copied, I had a ready-to-test thumb drive. Drum roll please.
Initially, I was worried about running the VM at all, given the hefty hardware requirements listed on OTN:
- At least 3GB of RAM (recommended 6GB)
- At least 30GB of free disk space (Note: virtualization works best with contiguous space so if using Windows as the host operating system, it is a good idea to run a defragmenting program, and make sure you are using NTFS for your file system to handle large files)
- 2GHz processor
My hardware doesn’t come close to the recommendations, despite being pretty sweet. My Macbook Pro sports a 2GHz quad-core Intel i7 CPU and 4 GB of RAM, and my Dell running Ubuntu rocks a 2.4 GHz quad-core Intel i5 CPU and 4 GB of RAM.
The VM imported itself with a default setting of 2 GB of RAM, and I didn’t really expect it to run well, given previous experience with allocating 50% of the host’s RAM to a VM.
I was wrong.
The WebCenter VM boots up quickly and runs smoothly on the host. Plus, the VM includes handy scripts to start all the services required by WebCenter, as well as a hands-on lab, which helps get you on your way to productivity.
Services take about seven (7) minutes to start, but keep in mind, I’m starting a database instance, WebCenter Content (formerly UCM), and WebLogic Server, with only 2 GB of RAM. Once everything is running, you can open the Avitek sample portal and get started right away.
So, by my count, that’s less than 10 minutes from VM start to Avitek. Not too shabby.
OK, sure, you have to copy the files from the flash drive to your machine, which could take several hours, but this is an operation you can leave overnight, unlike downloading 22 files.
But what about running the VM directly from the flash drive as a live USB?
Turns out this is possible, but it takes patience.
I ran the live USB from my Mac, and the VM booted up quickly. I didn’t time it, but it felt like a couple minutes tops. Starting the services is where the patience begins. It took about 23 minutes to get the database instance, WebCenter Content, and WebLogic Server started.
After the services were started, opening Avitek took another five (5) minues, but once it was running, the response times were pretty snappy.
So, even running the live USB VM, you could get to productivity in about 30 minutes. Your mileage will definitely vary here, given your hardware specs. I suspect there are I/O constraints over USB 2.0 that would prevent times from ever reaching the direct I/O speeds you see off a hard drive.
Still, it’s possible.
Admit it, you’re surprised, and I am too. This is great news.
So, what have I proved?
Well, primarily that it’s possible to get started with WebCenter in 30 minutes or less.
That’s a big deal. OTN has done a huge favor to the community by providing the WebCenter VM, and now, I want to go even further and save you that 210 minutes or so required to download, decompress and import the VM.
Why? Because we want you to try out WebCenter, silly. We know you’re busy, so let us do some legwork for you. I hope to get some flash drives produced with the OTN VM on them to hand out to interested people I meet at events. So, watch this space if you want to meet us, talk WebCenter and score on of those drives.
Or hey, if you’re really stoked to give it whirl, leave a comment, and we’ll talk.
I should mention that the OTN VM throws an error when it boots if you don’t have a specific Windows temp directory to map.
This is a Shared Folders setting, and all you need to do is delete that share to avoid the error, which is harmless anyway.
If it matters, I did my testing using the current version of VirtualBox, 4.1.8, and you’ll need to ensure you install the corresponding Oracle VM VirtualBox Extension Pack for whichever version of VirtualBox you’re running.
Also, the VM includes an older version of the VirtualBox Guest Additions, which might matter to you. If so, check out Chet’s (@oraclenerd) post on how to install them on OEL.
So, that’s it. I finally got my WebCenter VM, and I hope this has been edifying for you. Next project: WebCenter Content on a stick.
Find the comments.