I heard a great idea at work a few weeks ago from my boss and it’s been on my TODO list for some time to try out. The idea was to run UCM on an Amazon EC2 instance. For those unfamiliar, EC2(also known as the Elastic Compute Cloud) allows users to run a virtualized instance of a wide variety of operation systems on Amazon’s cloud(also known as their enormous pile of servers scattered across the planet). Seeing as EC2 essentially starts up and lets you run a virtual machine, I theorized that this little test wouldn’t be too tough. A good experiment to get us back to blogging. After all it’s just a couple of installs right?
Fedora the Explorer
When you start out creating a new blank instance, Amazon provides several templates to start with. As you can see from the list though they all appear to be either Fedora or Windows(towards the bottom). I’m not sure of your experiences, but as far as the elements of a UCM instance(Web server, UCM and the database) go, the database can be the trickiest of all of them. And also for me to consider this a complete install, I really wanted to have Oracle Text Search running, which requires an 11G database.
I am pretty sure that a Windows VM would have worked for all of this, but it’s more expensive per hour and if I’m honest it felt a bit like cope out since it’s so much easier to work with. I really wanted this to all run on a Linux box, so rather than take the easy road I decided to give the Fedora install a shot.
Unfortunately Amazon Fedora template my not have been the best choice to begin with. I’m sure I would have gotten it at some point, but the workarounds combined with the oddities of Amazon’s template kept sending me down some rabbit holes. It was a lovely Sunday afternoon, surely there’s a better Linux instance for this little proof of concept than Fedora?
So I cheated
It turns out that besides Windows or even Fedora, there is a much, much better option. And after an hour or so of dealing with my Fedora issues I decided to use a very clever tool to research the best way to do this install.
Oracle, as I soon discovered, is already way ahead of me in setting up their database in the cloud. There’s a whole bunch of documents about the subject, a FAQ page, a wiki and most importantly several machine images anyone with an EC2 account can use.
You’ll find the Oracle images on the community tab when you create a new instance in the AWS console. There are a bunch, but if you search for Oracle, you’ll find what you’re looking for.
When you SSH in for the first time, a script runs that will takes you through the DB setup and configuration. The script seemed a bit light, so I think the VM might really be just intended for demo purposes. Anyone familiar with the near innumerable number of options in a DB install will find this a bit light. For folks like myself though who’d rather get on with other things than ASM backup configurations…it’s just about perfect.
How much does a Gazillion processor licenses for Oracle cost?
For a very long time Oracle didn’t really allow customers to licence by virtual procssor. Organizations who planned on running on virtual machines had to purchase a license for every processor on the host system(the exception being IBM PowerVM as you can isolate processors to an lpar). That policy, at least towards some vendors like Amazon has changed
For the purposes of licensing Oracle programs in the Cloud environment, customers are required to count each virtual core as equivalent to a physical core. This policy applies to all programs available on a processor metric.
When I saw that right off the first thing I thought when I started down the road of running UCM on an Amazon VM was “Great! pay for one processor license and then run it on the cloud across thousands of servers. Silly Oracle how could they not have seen that huge loop hole”. Yeah…not so much.
The thing is that Amazon commoditizes it’s processor power into things called compute units. Virtual processors are then made up of these compute units.
One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor
So even though you’re running on the cloud, you’re supososably isolated off to your own little share of the processing power. Besides IO, what’s really the advantage then? If the processors or the same(or worse really) than anything you’d bring on house, why bother? Well all is not lost..there definitly are still some serious advantages from a licensing perspective
- According to the Oracle doc a virtual core is equivalent to a physical core. Though my little sample VM had only one virtual core with one compute unit, there are a number of hosting packages where virtual cores house as much as 3.25 compute units.
- Have you tried to purchase a server with one processor lately? They just aren’t available, even the single processor servers have 2-4 cores. With Amazon you could run a cluster of four one processor servers and get exactly what you want.
- UCM is notoriously light and efficient; even more so now that verity is out of it. Over and over again it’s continually made me look like a genius during load tests on hardware I wouldn’t run this blog on. I think one of my next posts will be on where I think the real UCM sizing should be. I just don’t see it needing a ton of processor power. IO perhaps, which you should have a lot of, but not processor.
In addition to all of that, there should be a huge savings for you from the hosting perspective. Frankly if you’re budgeting for UCM implementation and planning to run it on Amazon, hosting is effectively free. To run the current instance I have out there right now, it will cost me $227.50 per year. For the most expensive instance possible (64bit, 32gb of ram, 13 virtual cores), it would cost $6370 annually. Bandwidth is even more comically cheap: $.15 per GB for the first 10 Terrabytes, after that it drops to $.11 per GB for the next 40 and so on.
Well can we see it?
I’m going to leave my virtual machine up for a bit. If you email me I’ll give you the link to take a look…I’m not sure if it still counts as a developer license if I post the URL publicly.
So far there’s no content other than Site Studio; I think I’m going to set up a quick site and run some tests for that follow up post on scaling. Check back and I’ll share the results.