Impressions from the conference and analysis of Oracle announcements.
Last week I attended Oracle OpenWorld conference in San Francisco, CA (even took handful of photos). One thing that struck me was the number of claims about imaginary records broken by Oracle – starting with the Larry’s keynote on Sunday and continuing every day on technical tracks. Not only Oracle announced “performance records” for Java and databases, but even the number of times these “records” were repeated over and over again was a record in itself. This reminded me of the London Olympic Games, except that there was big difference between fair competition at Olympics and un-verifiable nature of Oracle claims.
So let’s take a closer look at what exactly was announced by Oracle in the past week:
- New version of the Exadata machine X3-2 (shipment date is unknown)
- New version of the Exalogic machine X3-2 (shipment date is unknown)
- Oracle Database and Java public and private cloud services (available now)
- Oracle Database 12c pre-announcement (to be shipped “sometime in 2013”)
Oracle Exalogic X3 and Exadata X3
As you probably know by now, IBM has recently announced PureData System as a new addition to the PureSystem product line. My interest is around Exalogic and I won’t go into Exadata discussion in this post.
Oracle did not announce the ship date for Exalogic X3-2. When asked, Oracle speakers at different sessions mentioned that X3-2 will ship within the “next 12 months” and someone even said it will be “available soon”, however nobody provided a specific date. The new version will have more DRAM, SSD and HDD space and processor cores. Here is the difference between Exalogic X2-2 and X3-2 (picture is courtesy of my old iPhone 4s, which I replaced with shiny new Motorola Android this week, and yes, I am totally lovin’ it :-):
Oracle claimed that new Exalogic will be significantly faster than the old one (would you even consider buying X2-2 version now knowing how much faster the new version will be?):
What I find interesting is that despite all these claims of “unprecedented” performance, there is not a single SPECjEnterprise 2010 benchmark published by Oracle on Exadata or Exalogic. Perhaps these machines are not as fast as they are on paper? Or perhaps these are simply cost prohibitive per transaction? Who knows… I don’t pretend to know the answer. All I know is that there is not a single public performance benchmark published on Exalogic. All Oracle claims are just that – claims, not verifiable, using their own application and methodology.
May I mention the IBM performance leadership in SPECjEnterprise 2010? Since April 2012 IBM held the world record for transactions per core on x86 platform and improved that result significantly last month with the new result, using the new IBM chip Power7+ and WAS v8.5 on Power780+ server with DB2 10.1:
The other important characteristic is scalability. In terms of vertical scalability IBM software and hardware are by far more efficient when compared to Oracle. Just look at the diagram below. WebSphere App server delivers near perfect 95% linear scaling going from 16-cores to 64-cores on Power7 IBM Server. Oracle WebLogic Server only delivers 64% scaling going from 16 cores to 80 cores on Sun Fire server (both are single server configurations). I could not find results on SPEC where IBM and Oracle would have exactly the same number of cores, so I picked two closest ones.
Having said all this, performance and scalability are entertaining, but not particularly useful when making buying decisions. If supply of resources and money was unlimited, then everyone would make their decision based on those “theoretical” performance numbers. In our real word (since we don’t know any other world), resources are in limited supply, hence optimal choice needs to consider cost of the system as part of the equation. Fortunately it is very easy to compare Application Servers by pricing total cost of the software and hardware and dividing that by the total number of transactions per second (EjOPS in SPEC terms). Granted this is only small part of the TCO, yet one that can be calculated easily. Other parts of the TCO may be even more important (development costs, administrative costs, downtime costs, risks, upgrades, systems integration, etc.), but unfortunately those are much harder to measure objectively. Here is one example where IBM and Oracle published SPECjEnterprise2010 results within one month of each other and used very similar hardware for the test. In these tests you can see Oracle WebLogic was 2% faster per core compared to WebSphere (processors were not exactly the same model), but much more important is the fact that Oracle’s cost per transaction was 2.95 times (!!) higher than IBM’s.
Now the million dollar question – how does this future version of the Oracle Exalogic X3-2 compare to the currently shipping version of the IBM PureApplication System? And why have I not provided cost comparison for Oracle Exalogic to IBM PureApplication System? Or perhaps cost per transaction? The answer is that neither IBM nor Oracle have published SPECjEnterprise 2010 numbers on these systems so far, but the point of the IBM PureApplication System is not just raw performance (although there is plenty of it), but the ease of use of the system and lower operational costs compared to traditional systems, hence marketing slogan “built-in expertise, integration by design, simplified experience”. And that was the main design point of this new line of IBM Pure systems. Performance is almost like a nice add-on bonus and in my opinion is not as important as reduction of operational costs.
Back in June I have posted detailed comparative analysis of IBM PureApplication System and Oracle Exalogic in my earlier posts titled “Oracle Exalogic – the emperor has no clothes” (see part 1 and part 2). New in this future Exalogic X3-2 machine will be full support for virtualization, plus more storage and processing power. There also seem to be some improvements to the Oracle Cloud Control software to make it easier to manage the system.
When Oracle makes Exalogic X3-2 available it will still lag behind IBM PureApplication System in terms of computing power and the ability to consolidate workloads to reduce floor space in datacenters. As you can see from the comparison table below, IBM provides more processor cores, more storage compared to Oracle. IBM system also was significantly more power efficient than Exalogic X2 version. Considering that new version of Exalogic will add a lot more memory, CPUs and SSDs, I expect that its power usage will spike up significantly and may well be double of that of the IBM system. However I will wait for the final specs on Exalogic to be released to confirm this assumption.
Hardware specs are interesting and cool to look at, however the true value of the system lies in its ability to simplify day to day operations by providing pre-configured software, centralized administrative tool, quick deployment of new workloads and prioritization of existing workloads. This was exactly the design point of the IBM PureApplication System. Looking at the work done by IBM it is apparent that the total integration of the system was the primary goal. At the same time Oracle touts new hardware improvements and forgets to mention that it is up to a user to install and configure the software to make use of their box. What a stark difference in approach between IBM and Oracle!
One other peculiar observation is that IBM system comes with pre-installed WebSphere Application Server and DB2 software and licenses while Oracle makes their users purchase, install and configure the software. End even more than that, it seems to be impossible to purchase and get support for Oracle Database on Exalogic as Oracle is trying very hard to force their customers to buy Exadata boxes. In IBM PureApplication System you can run small and medium databases alongside with the JEE workloads – all on the same rack. With Oracle you can’t – gotta have two racks.
I would also like to give credit to Oracle where it is due. There are some wise architectural decisions and good engineering work that is currently being done to optimize Oracle Coherence for Exalogic. Coherence is taking advantage of SDP (Socket Direct Protocol) and DRMA (Direct Remote Memory Access) over Infiniband between nodes in a rack and across Exalogic racks. According to Oracle, this is yielding big performance improvements, which is very believable. Unfortunately (or perhaps fortunately for some of us ) no other product in Oracle Fusion middleware is taking advantage of SDP or DRMA, except for those Oracle products using Coherence for caching.
For complete comparison of the IBM PureApplication System vs. Oracle Exalogic, please refer to my earlier posts titled “Oracle Exalogic – the emperor has no clothes”.
Having watched Oracle OpenWorld keynotes in 2011 I would have thought Oracle Public Cloud was made available last year, but it took one year from the announcement to the general availability. As of last week Oracle offered Oracle Database and WebLogic Server as public cloud services. If you want to jump with both feet into this cloud, be warned that not every application will run on the cloud version of WebLogic. There are number of limitations, for example:
- Only HTTP based protocols are allowed in and out of the Oracle cloud and between application JVMs, hence only use of local EJBs, no remote EJBs. You cannot use JMS or t3 or RMI/IIOP protocols.
- Oracle Cloud Messaging service is only available as preview.
- Application cannot use JNI code and native libraries, only pure Java.
- Administrators will not get a full console of the WebLogic. Instead they will get a special simplified cloud console. This means a lot of configuration options remain out of reach and Oracle will make a lot of configuration assumptions for you.
- One cannot purchase only Java service, only Java + Database services together (and guess which database are you getting?)
- Database access options are limited – one must use WebLogic JDBC or JPA, but can’t use Hibernate or other 3rd party ORM frameworks.
- Oracle SOA Suite does not run on the Oracle Cloud today. Only WebLogic Server does.
- Scalability of the cloud is limited as you are only able to run members of the WebLogic cluster within the boundary of a single Exalogic rack. Cluster members can’t live on different racks. For some users this will not become a problem, however cloud usually means “elasticity” and “unlimited scaling” and Oracle Cloud does not deliver this capability in the current version.
- VPN access to the cloud is not provided. All communications with the software running on the cloud must be done over the public internet traffic via http(s) or ftp(s). No, you don’t get to ssh into the Exalogic box either.
Nevertheless, this is a big step forward for Oracle as they finally recognized that the “cloud” is important to their customers. Back in 2011 I compared IBM and Oracle Cloud services. Today IBM has significantly more mature and flexible cloud offering in terms of technical capabilities (for example, IBM Smart Cloud does not limit our customers to IBM only products). Detailed analysis of the latest Oracle Cloud vs. IBM Smart Cloud will be a subject of a future post.
One thing that struck me with this new Oracle Public Cloud is the pricing model – you must pay in monthly increments. This is very much UNlike IBM Smart Cloud or Amazon EC2 or many other clouds where you pay based on hourly usage. I think hourly pricing is likely to be far more economical for most, but a few customers. Monthly cloud usage? Hmm… This is like buying monthly restaurant voucher. You better make sure you eat there every day, three times a day, or you won’t get your money worth compared to per-meal billing.
Oracle Database 12c
There are number of new features planned for the Oracle DB 12c version, but the release is planned for “sometime 2013” and it is not clear how many of those features on the roadmap will actually make it to the release. If Oracle Java roadmap is of any indication, I suspect a lot of the interesting stuff may get pushed into the next version for another year or two.
After looking at detailed comparison of the Oracle 12c announcement to the latest version of DB2, it appears that a lot of the planned Oracle DB 12c features are already in DB2 and some have been for quite a few years (I will leave detailed discussion about this to database experts – watch this blog for updates). Plagiarizing Samsung Galaxy S3 commercials about iPhone 5, I can say the same thing about Oracle DB 12c and DB2 – “The Next Big Thing is Already Here”.
So, what is the difference between Oracle OpenWorld 2012 and Olympics?
At Olympics you have a fair and open competition – all athletes compete at the level playing field and results are transparent and auditable. At OpenWorld, Oracle showed charts where their software has N times performance advantage over “something” and quite often it was not even clear what that “something” was. At other times Oracle used old benchmarks published by IBM or other competitors one or two years ago and claimed superiority. You don’t win Olympics by running faster than the other guy did two years ago. You need to run side by side here and now, otherwise it is called “Oracle misleading marketing”.