Oracle Exalogic – the emperor has no clothes! (part 2)
In my earlier post titled “Oracle Exalogic – the emperor has no clothes!”, I compared Oracle Exalogic to “classic” servers sold by IBM, HP, and others. The conclusion of that article was that Exalogic does have several interesting capabilities, but overall provides less flexibility and more vendor lock-in than classic server solutions. You might want to reread that article again for a refresher on Exalogic before proceeding with the information below.
This year IBM has really changed the game by introducing a new kind of integrated system. Here is an excellent six-minute video overview of the new IBM PureApplication System by Jason McGee. In this post, I compare IBM PureApplication System to Oracle Exalogic. Here is the summary of my analysis. The rest of this post explores each of these topics in more details.
Q: Is middleware preinstalled on my system?
IBM PureApplication System comes from the factory with virtualization, cloud software, and middleware, and also operating system hypervisor images installed and configured. By design, its “smarts” include the capabilities found in the IBM Workload Deployer (IWD), with built in redundancy to avoid a single point of failure. I have explained capabilities of IWD in one of my earlier posts titled “Comparison of two private cloud tools from IBM and Oracle”. After you power on the PureApplication System, you can start using all the default patterns provided onboard with the IWD or create your own patterns in minutes and quickly deploy them into compute nodes within the PureApplication System. There is no need to install an operating system or WebSphere Application Server, DB2, WebSphere Extreme Scale or other IBM middleware. All of those components are already configured as patterns and are ready for deployment. When you deploy patterns, the system will place them on the most appropriate compute nodes, considering current workload, CPU, network and memory utilization, as well as other factors for optimal placement of components.
No longer need your deployment? You can easily delete it with a single click. The system will remove all related resources, including virtual guests for database, caching servers, application server, HTTP server and other related resources even if they all run on separate compute nodes. You can also schedule automatic removal of the deployed configuration after a certain period of time – just to make sure that those test environments do not sit there forever doing nothing. What is even better is that PureApplication System provides self-service user portal with an access control list so that those who are authorized can deploy their applications and patterns from the simple browser-based user interface (or make an API call) and not even have to bother the IT department for deployment or installation help.
In contrast, Oracle Exalogic does not come with any middleware installed. The user must log in to the Oracle Software Delivery website, download the correct version of Oracle Fusion Middleware, and install and configure all of it from scratch on the selected Exalogic compute nodes. User must be aware of the workload on the system and manually pick appropriate compute nodes for installation and deployment. One must also install all of the appropriate prerequisite software, JDK, database, fixes, and updates for the WebLogic and other Fusion Middleware components – all manually. There is an option to use command-line installers if you need to install WebLogic on many compute nodes, but you have to create the scripts and you have to run them manually for each compute node that needs to be provisioned.
No longer need that installation? Manually stop servers and run uninstall. Repeat for each compute node involved. As of this writing, there is no documentation about the use of the Oracle Application Assembly Builder on the Exalogic system. There is no self-service user portal to allow users to deploy their applications and configurations. Those users still need to call IT support folks and have them provision all resources from scratch.
Q: Can I run the Java EE 6 runtime on my system?
Oracle: Yes (updated as of July 2012)
With PureApplication System you get the latest IBM software, including WebSphere Application Software v8.0 (for Java EE 5) and v8.5 (for Java EE 6) as well as other IBM middleware. Oracle WebLogic Server v.12c shipped in December 2011, but it was not available on the Oracle Exalogic until recently and you could run only WebLogic 11g (Java EE 5 certification level). However as of July 2012 Oracle supports WLS 12c on Exalogic.
Q: What about hardware specifications?
Here is a quick summary comparison of IBM and Oracle systems that are approximately similar in compute power, however if you look at specifics, you will notice that in every case IBM configuration has more speed, storage, capacity:
* – please note that the cost of both systems above is calculated using list prices and includes comparable software configuration.
* – HDD space is a usable capacity after formatting, not raw capacity as it ships (IBM’s raw capacity is 80 TB, Oracle provides 60 TB raw capacity).
As you may have noticed, the PureApplication System has newer generation processor, more cores in large configuration, significantly more RAM per compute node, more HDD space, more SDD space, yet it uses less power and cost almost half of what Exalogic system when you factor in the cost of the software. I was quite conservative with the cost calculation and gave Oracle some slack to reduce their already astronomic cost.
For the cost comparison I have used US list prices (no vendor discounts assumed). The cost for both systems includes hardware cost plus the license cost of the software for the application server and the database assuming that about two-thirds of the system runs the application server and about one-third runs a database. I will discuss cost comparison in much more detail in a future post. In the meantime, please send me email if you would like to understand the pricing comparison in details.
Not shown in the table above is the High Performance configuration of the IBM PureApplication System, that has to have more than one Exalogic boxes to match its power, but is delivered in a single rack by IBM:
In case you are interested in the hardware architecture of the PureApplication System, here is a short blog article by Ahmed Abbass.
Q: How long does it take to get the system going?
IBM: Under four hours
Oracle: Likely over one week
Because almost all of the configuration and setup tasks were already done by IBM in the lab and at the factory, the PureApplication System can be unboxed and deployed in under 4 hours. The user does not need to do much, other than configure some basic network and security options to connect the system to the user’s data center environment. The process has been automated by IBM and does not require week-long training class to get started. You can watch this short video of the system setup – 4 hours compressed into 90 seconds of video.
In contrast, Oracle Exalogic setup and installation manual is about 500 pages long, and involves hundreds of manual configuration steps to initialize, download, install, and configure the system. Oracle has posted their video of how Exalogic can be deployed in 10 hours, but that video skips many manual and labor-intensive steps in configuration. Look at the Oracle Exalogic installation guide and Exalogic Deployment Guide and consider all of the complexity involved with Exalogic deployment (just the high level table of contents of these documents is over 21 pages long). Oracle video shows provisioning of only a single compute node! There are 30 compute nodes in Exalogic – what about the other 29 nodes? With IBM PureApplication System, users do not need to worry about all of the compute nodes because their applications and patterns get automatically provisioned “cloud style” into the best compute node depending on the placement criteria (memory and CPU requirements, workload, and so on) – no manual steps involved.
One minor point bothers me – you must have a laptop to be able to run Exalogic Configuration Utility and execute some other configuration steps. Why don’t they build one into the system, like IBM did with PureApplication System? And where are you supposed to keep that laptop? Put it on top of Exalogic? Or maybe hang it on the side? Or slide it under the system? In front of it? Is there a “best practice”?
Q: Is software cost included with my system?
With PureApplication System you get licenses of WebSphere Application Server Hypervisor Edition (which is WAS ND packaged with Red Hat Linux), WebSphere Extreme Scale (as an embedded services for the Virtual Application Pattern and Shared Caching Service), DB2, IBM HTTP Server, Edge Components, Intelligent Management Pack (On-demand Router, and so on) for use on the system at no additional charge. You can deploy any number of instances of these components on as many compute nodes within PureApplication System as you want. All of these are packaged as hypervisor images and include licenses of the Red Hat Enterprise Linux — all at no additional charge to the user.
Oracle Exalogic does include licenses of Oracle Solaris and Oracle Linux, but all other software needs to be purchased separately, including WebLogic Server, Oracle Database, Coherence, and others. Detailed cost comparison of both systems will be a subject of my future post.
Q: Is there a way to track software licenses deployed on the system?
With PureApplication System you have the ability to turn on optional software license tracking. I already described above that you can deploy any number of instances of WebSphere Application Server and other software that is included the system, but if you purchase additional software, such as WebSphere MQ or WebSphere Message Broker, or WebSphere Portal, you can automatically track the number of cores and licenses used for all of the users, and generate user specific reports that can be used for charge-back purposes. You can even optionally enforce strict compliance so that you never deploy more software licenses than you have entitlements to. For example, if you have purchased 800 PVUs (IBM’s Processor Value Unit metric)) of IBM Business Process Manager software, you can enter this into the system configuration and PureApplication System will make sure that all of the concurrent running instances of all patterns and deployments that include IBM BPM will not exceed 800 PVUs in total. The added benefit is that IBM supports sub-capacity pricing that I described in details in this blog post.
I was not able to find any way to track or enforce software license tracking and compliance on Oracle Exalogic.
Q: Is the system cloud enabled?
Deployment of virtual applications patterns in PureApplication System can be configured with scaling policies – that is the system will automatically grow or shrink the size of the dynamic cluster based on the workload and relative importance of particular application relative to other applications running on the system and competing for compute resources. PureApplication System is fully virtualized and is controlled by the IBM Workload Deployer. Here is a good six-minute demo of the IBM Workload Deployer. There are many more demos of IWD on YouTube. The users can easily deploy new patterns on the system without having to provision physical hardware and deal with labor-intensive software installation, configuration and patching. Charge-back reports can be generated for billing. Although being a physical server, PureApplication System certainly has limits to its capacity if compared to cloud and cannot pretend to be a “true” cloud (after all, true cloud is supposed to be limitless in capacity from the user standpoint), there are many “cloud” capabilities in the PureApplication System, including application elasticity, user self-service portal, one-click deployment into a virtual pool of compute nodes, high level of abstraction from the underlying physical platform, self management and advanced monitoring capabilities, high performance, high reliability, and so on.
Oracle Exalogic does not exhibit qualities listed previously. I have provided extensive comparison of the IBM Workload Deployer features to what Oracle has to offer in my post titled “Comparison of two private cloud tools from IBM and Oracle”. To make matters worse, even Oracle Virtual Assembly Builder does not run on Exalogic today – at least it is not documented in the Exalogic manual.
Additionally, PureApplication System includes all of the capabilities of what used to be called WebSphere Virtual Enterprise and here is a comparison to what Oracle has to offer in my earlier post called “How does WebSphere intelligent management and virtualization compare to WebLogic?”.
With Exalogic, if one of your applications requires more compute capacity, you would have to manually provision additional instances of WebLogic Server or Oracle Database or Coherence – assuming you catch the demanding application at the right time and are able to flawlessly install and configure additional instances of the application. Again, this is all done manually with Oracle Exalogic. In IBM PureApplication System you get “autopilot” behavior – as soon as one of your applications needs more capacity, it is dynamically provisioned and in some cases less important applications will be slowed down or un-deployed from some nodes to free up compute space for the more important application.
Q: Are there third-party applications that I can run on the system?
IBM: Yes, over 80
Oracle: None known
IBM has a catalog of third- party certified applications for PureApplication System called PureSystems Centre. At the time of this writing, there are 86 solutions.
I was not able to find any third- party certification information for Oracle Exalogic. If you know such data, please let me know. So far it appears that some limited set of Oracle software is the only thing that runs on Exalogic.
Q: Can I virtualize all this computing power?
Oracle: Not fully supported
The Intel version of the PureApplication System includes VMware hypervisor preinstalled and preconfigured. The Power7-based system includes PowerVM hypervisor. In both cases these are completely integrated into the overall architecture and are well supported by the IBM Workload Deployer. Users do not really need to know much about the hypervisor at all. It is almost completely transparent to the user. All you need to do is select the pattern and deploy it into the system. All steps for virtual guest provisioning are done under the covers with no effort from your side.
Until April 2012, Oracle did not provide any virtualization on Exalogic. All you could do is run native images of Solaris or Oracle Linux. Starting May 2012, based on the customer feedback that I got, the Oracle VM can be installed on Exalogic as a technology preview, but is not fully supported configuration at this time. This must be very disappointing for Exalogic users because having all this compute capacity and not being able to virtualize it must be a source of major dissatisfaction. Not to mention the software costs – if you can’t run Oracle VM, you must license an entire compute node for your Oracle software. Ouch…
Q: Can I manage the system from a single management user interface?
One of the key advantages of the PureApplication System over the traditional server environment is that you get a single user interface to manage and monitor every aspect of the system, including compute nodes, rack and blade cages, cooling, power, networking, storage, security, virtualization, middleware, database, and even your applications. This truly is a unique capability. I do not believe any other system on the market offers similar function today. In this video that I already referenced at the top of my post you can see the Central Management Console in action.
In contrast, Oracle Exalogic includes multiple separate administrative consoles that you would use depending on the task at hand. You would use separate consoles for managing Exalogic:
- compute nodes,
- Oracle VM hypervisors and virtual machines (when they become fully supported),
- WebLogic Server domains,
- Coherence grids,
- Oracle Database.
In fact, each compute node is managed as an individual entity. Each domain of WebLogic is managed individually. You would need to manually install and configure Oracle Enterprise Manager and WebLogic Management Pack (all at extra cost) to be able to manage multiple WebLogic domains from one console.
Q: Are compute nodes easily replaceable?
In PureApplication System all compute nodes are driverless, and storage is provided by the shared RAID resource, which is running on two IBM Storwize V7000 controllers each with its own expansion unit. The benefit of this design is that compute nodes can be easily replaced in case of failure. After the compute node fails, all of its configuration and data resides on the RAID, and after you replace failed node with a new one, it automatically gets recognized and picks up its configuration from the same RAID where the failed node kept its data. This makes for a very simple and reliable failure repair process.
In Exalogic compute nodes have local storage and keep their configuration local. To prepare for failures one would need to do regular backups of each node after each configuration change (!), and in case of failure, restore node configuration from the backup manually (assuming backup was easy to find and the restore process worked as designed). This design makes for much more labor-intensive failure repair process, longer repair times, and most important, not a reliable system – do you make a full backup each time you make even a little configuration change on a compute node?
Q: Does my system have built-in expertise?
Built-in expertise was perhaps the main driving force for the design of the PureApplication System. The whole point was to take decades of IBM experience in designing and operating mainframes — AS/400 servers (now IBM i), Power Systems, and more recently Blade Systems — and combining that with the expertise of designing transaction monitors (CICS, TXSeries) and also DB2 database, WebSphere Application Server and caching (WebSphere eXtreme Scale) combined with storage and networking experience and fusing that all together into a unit that has all these key parts integrated, and optimized for transactional workloads running OLTP Java and Database operations. The user does not need to be expert in each area separately and gets to enjoy all the best practices and optimized architectural decisions made by IBM implemented and codified in the PureApplication System. Architects of the system, however smart they are, were successful in building it not so much because they are geniuses (they well might be), but because they were standing on the shoulders of giants (pardon me paraphrasing). There are a number of patterns included onboard with the system that are ready to be deployed, and there is capability to customize and extend those patterns. Look at some of the demos published on youtube. The patterns include Web Application Pattern, Business Intelligence Pattern, Transactional Database and Datamart Pattern, Generic Java Application Pattern, as well as ability to reuse these patterns to build your own.
Oracle Exalogic does include an infrastructure pattern by combining storage, networking and compute nodes into one rack, but that is where it stops. It does not provide any software-related patterns and leaves it up to us to figure out where and how to deploy caching, web applications, database, and more. This is no different from the traditional server environment. All the design, planning, installation, configuration, and tuning must be done empirically and iteratively to figure out the best way to run on Exalogic. Oracle does help by providing a thick installation manual, but not more than that. I should mention that Oracle Exalogic Elastic Cloud Software is also designed to make WebLogic run faster by tuning networking and other options, but this is at a micro level. What Oracle needs to do is to follow the IBM lead and start providing some higher-level patterns for their Exalogic.
Q: Do I need to take an outage when making upgrades or repairing failures?
Oracle: Likely yes
In PureApplication System, even major system upgrades, and repairs of storage and compute nodes are all done from the front of the system. Regardless of the system size that you have (small, medium, large or high performance), you can always upgrade or downgrade the system by sliding blades and storage drives in and out from the front door. The reason IBM is able to do it is that the PureApplication System is built with all the newly designed blade cages, storage, and networking modules pre-wired for the maximum capacity; the user does not need to change anything from the rear of the rack to do all those repairs and upgrades. The backplane for blades is passive – just wiring, but all moving parts and almost all circuitry that has potential for failure can be serviced from the front.
Exalogic is a rack design, and maintenance of the system will likely require frequent trips to the back of the rack. Unfortunately things are very messy from the back of the rack – it is all too easy to accidentally pull the wrong wire and mess things up otherwise. Every time you make a trip to the rear of the rack, you are under major stress and significant potential to make things worse than they were. Therefore this is not even as much about the ease of use of the system as it is about the downtime avoidance and high availability, and speed of recovery from failures. Do not approach a horse from the rear. Always approach it from the front or from the side.
Q: Which system is likely to provide higher overall performance and price/performance?
Performance is a tricky subject because cross-platform comparisons are inevitably flawed. That is unless you add cost to the equation. Then you can really compare cost per transaction. But even then, to really figure out the cost per transaction one needs to consider the effort to manage the system, mean time to failure, and many other factors. Let’s look at raw performance, keeping in mind that it is of somewhat limited value without the bigger picture. It is just one piece of the puzzle.
IBM has done extensive work to optimize and tune WebSphere for running on the PureApplication System. But so did Oracle to optimize WebLogic for Exalogic. What system can deliver better overall performance, scalability, and most important price/performance ratio? Well, there has been no public benchmark published by either IBM or Oracle for respective systems (at least not yet), so we cannot directly compare two systems.
However we can do indirect comparisons. For one thing we can look at the SPECjEnterprise2010 results from both vendors and look for tests that were done on identical (or close to identical) hardware. It just happens that there are such tests! Here is an Oracle benchmark done on the Intel Xeon X5690 processor and here is an IBM result done on the same processor. If you look at the transaction rate per processor core you could see that WebSphere Application Server provided 524 EJOPS per core – that is 16% higher transaction rate per processor core compared to WebLogic Server rate of 452 EJOPS per core. Granted, that performance is not only a factor of processor model, but depends on a number of other factors, such as I/O, caching, and so on.
The second thing we can use to indirectly compare performance is the fact that IBM PureApplication System uses more modern Intel Sandy Bridge processors, while Oracle Exalogic is built on older generation Intel Westmere. Plus IBM system has more memory, faster disks, and more. See detailed hardware spec comparison above. One would expect that on faster hardware, WebSphere would run even faster than on slower hardware. In the end, you should try your own application on both systems, calculate the cost of the configuration and compare the cost per transaction.
Did I mention I will do a detailed cost analysis in a future post?
Q: Can I extend the built-in cloud capabilities of the system?
Considering that IBM provides impressive cloud management capabilities built into the PureApplication System, you might be wondering if those capabilities will cover all of your use cases. Likely not. For those cases when IBM software can’t fit your needs, there is a Plugin Development Toolkit so that users can extend the system to their liking. Here is a good example of how to create such a plug-in.
Because Oracle does not provide cloud management capabilities with their Exalogic, this question does not apply.
Q: Can I evaluate the system remotely without the hassle of “rolling the box” into my data center?
Oracle: Not known
IBM provides a 90-day cloud-based trial of the PureApplication System where you can create up to five virtual machines with 30 GB of storage – at no charge.
Oracle does not seem to provide a cloud-based trial capability at this time. One would likely need to sign all the paperwork and invest significant time, labor, and data-center space to host Exalogic system for evaluation. The cost of such “free” trial could be very significant.
I hope this quick comparison will help you make an informed decision for selecting the right platform for your company needs. In my opinion, IBM provides a significantly better value with its “built-in expertise” approach compared to the “business as usual” architecture of the Oracle Exalogic. What I have described in this article is proof that Oracle Exalogic is not a strong competitor to the IBM PureApplication System. If you want to do an apples-to-apples comparison, you need to compare Oracle Exalogic to one of the following IBM offerings: IBM System x, or perhaps IBM Power Systems, or new IBM PureFlex System.
Trying to compare IBM PureApplication System to Oracle Exalogic is like comparing latest generation digital SLR camera to the film camera. They both serve similar purpose, and in the end – you “might” be able to get similar results, but with huge differences in cost per picture, convenience, level of skills, and amount of time involved. I have switched to digital in 2003. How about you?