How to choose between WebSphere eXtreme Scale and IBM DataPower XC10 appliance
JonMarshall 1000009QM4 Visits (6111)
What should I choose and when?
Elastic caching with an in-memory data grid can solve a large range of problems from the small (e.g. simple cache of state within an stateless application cluster) to the large (e.g. offloading large databases and running complex map/reduce processing). IBM provides 2 roughly equivalent products to provide this capability; one is a software solution, WebSphere eXtreme Scale and the other is an appliance solution, DataPower XC10.
When I'm comparing WebSphere eXtreme Scale against DataPower XC10 (the appliance equivalent), I break down the considerations into the following 3 areas roughly in order of priority:
Functionality is a natural place to start. What do you need to do?
WebSphere eXtreme Scale can be considered to be a super set of DataPower XC10 because the software solution allows greater flexibility in configuration and specifically can run code on the data held in the grid, which is not possible with the appliance.
Let's break the use cases into 4 rough elas
These broad categories help define what options are available. So if you want to do 3 or 4, this can only be done by WXS.
There are other more subtle considerations, which may require code to run on the data in the grid. These would include custom eviction code - to remove data from the grid according to custom application requirements (many out of the box options are provided)
So on functionality, WXS provides more capability and flexibility. If you want to explore this further, take a look at the Redbook.
The primary factor here is that the DataPower XC10 is so straight forward to a) setup, b) configure and c) support. It takes very little effort to keep it running. The appliance philosophy is to remove the need to think about hardware firmware, operating system, middleware and middleware configuration. Instead there is a single piece of firmware for the whole stack and very simple point and click (or CLI) config. The appliance exists to provide a very simple deployment option. If you want to see this in action, you can download and set up a virt
By comparison, to build out a (highly available) WXS software deployment you need to build
And of course, they need (virtual) hardware, operating systems, and monitoring. That is a lot more moving parts, albeit with more flexibility.
So on the operational considerations, XC10 is far simpler to deploy and run.
The DataPower XC10 comes with 12 cores and 240Gb of elastic cache capacity. If you want to scale out, then you can simply add an additional appliance. For example:
So the XC10 is a cost-effective way to deploy large grids.
However if you want to deploy a small grid. Let's say 12 cores of processing capacity but need high availability too, then the XC10 can be an expensive approach to do this because you need 2 appliances (24 cores) to do 12 cores worth of work.
With WXS, you could deploy 12 cores worth of WXS across a few smaller virtual machines. For example, 3 x 4 core VMs. This could provide availability, on a lower number of cores and would therefore be more cost effective.
In summary, should you go for WXS or XC10? It depends. My personal preference would be to use the DataPower XC10 if possible because of the simplicity. Hopefully I've shown some useful considerations as to what it depends on: