I’ve been pondering SAP’s HANA hardware certification strategy this morning and I have to say, it makes little sense. This may well be because I don’t understand the hardware behind it, so if there are greater minds than me out there, then please correct me.
Let’s break down the SAP HANA hardware stack and discuss what’s required – and then try to understand why so few hardware configurations are supported. The hardware vendors tell me that SAP are very prescriptive as to what hardware can be used – presumably so that SAP HANA appliances are as fast as can be, and perform consistently. But if that’s the case, why do the supported platforms vary so widely?
There are two server platforms supported right now – the Nehalem EX, from Dell, Fujitsu, HP and IBM, and also the newer (and 40% faster) Westmere EX platform from Cisco and IBM. This makes sense but why not support any Nehalem EX or Westmere EX platform? They’re all made by the same people in the end, so should perform very similarly.
And to add to this, SAP only certified the Nehalem EX Intel X7560 CPU (which was the fastest) but now the Westmere EX is out – why not support all of that range, and not just the very expensive Intel E7-X870 range? All of them are faster than the X7560.
There’s an issue of memory volume – some servers like the IBM x3690 (which is supported) only support up to 256GB RAM – and I thought this was the reason Blades weren’t supported: only HP has a 2TB blade, and it has just 40 cores.
Certainly it seems for now that you need 1 CPU (8-10 cores) per 128GB RAM – why not just have this as a standard. This would mean that certain systems would only support a certain amount of capacity, and customers would have to procure systems accordingly. This choice should be a good thing.
Here’s where things get really weird. There is almost no rhyme or reason to the standards for log volumes for SAP HANA. Basically Log Volumes are somewhere to store transient information so that in the event of a database crash, recent transactions can be replayed.
Due to the large data volumes in SAP HANA, a lot of logs can be produced really quickly, and you need at least the log volume that you have RAM size. But Log Volumes create sequential writes, which with the right disk subsystem can be supported quite easily.
It appears that SAP HANA requires something like 600MB/sec sequential write performance. If I were architecting this then I would use a RAID10 SAS array with 8x 146GB disks (for example for a 512GB appliance). It would be cheap and work well – RAID10 is excellent for write performance.
However all the appliances use solid-state storage for writes. Some use 1 (or 2) Fusion-IO cards which cost about $15,000 per 320GB disk. Yes – that’s roughly $60,000 for the log storage alone for a 1TB appliance.
This provides the relevant performance but they are insanely expensive and are bad for several reasons. First, they really shine for random I/O – and Log Volumes don’t require Random I/O by their nature.
But most of all, the Fusion-io ioDrives that appear to be used in SAP HANA appliances are based on MLC SSD technology, which has a write limit of 4PB. Based on the data written to a SAP HANA appliance, these will last no time at all and the appliances will start to fail.
And to add to that, all the SAP HANA 1TB appliances have 2 640GB Fusion-io drives configured in RAID-0 – so there is no data redundancy and if one fails, you lose the log storage, appliance and have to restore from backup. Seriously.
Data storage makes the most sense – although again, they are pretty random based on memory size. Basically you need 4x RAM and performance doesn’t really matter: the faster the storage subsystem, the faster the appliance starts from cold.
Current storage subsystems are all Direct Attached Storage with SAS arrays but they vary from IBM with a 256GB model with 8x300GB 10k SAS – to HP who require 24x146GB 15k SAS for the same 256GB appliance. Such discrepancies make no sense – presumably HP wanted their appliance to start faster: the disk subsystem performs 4-5x faster than IBM’s!
The good news is that architecturally, using SAS base storage makes sense – at least for a single appliance. It’s cheap and cheerful and works well. But why don’t SAP just issue some guidelines for storage performance requirements and let the vendors meet it?
SAP HANA hardware certification is quite new and I’m sure this will bed down, but on the one hand SAP appear to have been prescriptive about what is required for SAP HANA – but at the same time, there is a huge variation in the configurations provided by different vendors, and therefore presumably the relative performance of different SAP HANA appliances.
And if this is the case, then why don’t SAP just create a performance benchmarking tool that runs on Linux. It measures the size of your main memory, and then sees if the appliance you built is fast enough to run SAP HANA reasonably. If your system passes, then you are supported.
By the way this is exactly what SAP did for the BWA appliance: when you install it, it measures the system and lets you know that CPU, memory and disk meet the minimum requirements. If they don’t then it won’t allow the installer to continue.
Isn’t this certification enough?