At the end of 2012 I took a trial of what was then "Java (or WebLogic) as a Service" (now known as "SaaS Extension"). Back then I wasn’t hugely impressed – yes, I could deploy a simple web app, but the WebLogic environment was very heavily constrained and almost entirely hidden from the administrator – no WebLogic console, no WLST, minimal logs. As a result as soon as I tried to deploy something non-trivial, in this case Apache Roller (the software running this blog), I ran into all sorts of class white-list issues and with little debug information so I quickly gave up in despair!
Anyway here we are, over 2 years later, and Oracle’s latest "Java Cloud Service" (JCS) is looking far more promising, so here are my initial impressions of what I’ve seen and read. First things first: JCS comes in 3 variants:
- Java Cloud Service – SaaS Extension: essentially this is product I tried previously which is now targetted at extending Oracle’s SaaS applications (including cloud-based Oracle Fusion Applications), presumably with relatively simple ADF apps.
- Java Cloud Service – Virtual Image: this is a single instance WebLogic VM intended for development use and simple testing.
- Java Cloud Service: the "full" version (Oracle doesn’t seem to have a distinct name to differentiate it) which can be clustered and is designed for production workloads.
Before we get into too much technical detail, let’s get an idea of pricing for a single, production-grade environment. To keep it simple I’m going to make some assumptions:
- I need WebLogic Suite for all its various benefits, as well as the option to run SOA Suite, etc.
- I’m only considering a 2 node cluster of 2 x 2 vCPU (or 2 x 4 vCPU) running in a single data centre.
- The cluster is of static specification and running 24/7 for a year.
- I need a load balancer to front my cluster and for SSL termination.
Oracle has come up with a term called the Oracle (OCPU) for billing purposes. 1 OCPU equates to the "CPU capacity of an Intel Xeon E5-2600 … processor core with hyper threading enabled. Each OCPU corresponds to two hardware execution threads, known as vCPUs." Elsewhere (I can’t find it now) I’ve seen it called a "2012 model 3.0 GHz Xeon core", which would be an E5-26xx (v1) processor, though, like Amazon EC2, I suspect there will be some variability – if you’re lucky you might "land" on a new E5-26xx v3-based server. Very sensibly Oracle are allocating those vCPUs from the same cores (see below) – modern hyper-threading gives you a performance boost but it’s a long way from double the single core performance, and having vCPUs on hyper-threads on different, fully populated, cores would be very bad for performance.
The virtual machines, aka instances, come in what Oracle called "shapes". A shape is a very similar concept to Amazon’s EC2 instance type and describes fixed vCPU/memory permutations. There’s a full table of VM shapes here but, for this article, we’re interested in the following:
- OC3: 2 vCPU, 7.5 GB => 1 OCPU (general purpose)
- OC1M: 2 vCPU, 15 GB => 1 OCPU (high memory)
- OC2M: 4 vCPU, 30 GB => 2 OCPU (high memory)
For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.