Today I have made a very interesting experience. I arrived the office in the morning and our sales man wrote me a mail to change a HP BladeSystem offer for a customer. The customer bought a new ERP software and the requirements for the virtualized environment changed. The new systems needs two quad core processors and 32 GiB RAM to run 30 concurrent users. I was paralyzed. For just 30 users so many resources? Unbelievable! Then I took a look at the storage requirements. They need a large swap file system, about 36 GiB for the root file system and 300 GiB space for user data. No words about RAID, IOPS, number of hard drives, SAN, DAS, etc. I couldn’t believe it and read the requirements again. But the manufacture wrote nothing about the “real” storage requirements. Okay, let’s install two SATA drives with 500 gigs. 😉 I’m curios if this is enough to utilize 8 cores and 32 GB RAM in a typical OLTP environment. 😀 Of course, not!
Since I want to make a serious offer, I grabbed the phone and called the software manufacturer. The sales couldn’t answer my questions and referred to a technician. I called the technician and discussed my problem. My first question was why they need so much CPU and memory resources. But the technician could not answer serious. The software starts lots of threads and if lots of user are working simultaneously they generates high load. What? We are talking about a maximum of 30 users. Oh man, that’s nothing! I have J2EE systems running 50 concurrent users well with much less resources.
Okay, my next question was what database system they are using. May be ORACLE, DB2, MySQL, etc.? Nothing like that! It’s an own developed database system that is highly integrated into the software. Very interesting! Later I read some data sheets and I found out that they implemented an object orientated database system. Not my preferred database system.
I asked then what storage requirements the software has. The answer was they need about 500 GiB of space. I couldn’t believe what I just heard. I suggested to install two 750 GB SATA disks and create a RAID-1 volume. 😉 The technician was not able to understand my joke. I told him that his recommended 8 cores are waiting for data all the time, if I install only two cheap SATA hard drives. I noticed increasingly that he had no ideas about storage. He told me that their customers choose storage systems according there security / failure requirements, because if the storage system fails the software won’t work. Oh my god… let me out there. 😉
My last question was if the software uses this huge amount of memory as database cache? At this time I had no other idea how this peace of crappy ERP software is able to utilize 8 fast cores. He confirmed my question and told me that the embedded database loads as much data as possible into the main memory. I was naughty and had to ask him what happens if the server fails and crash. All data remains in the main memory and not on the disks. 😉 The technician answered, in the worst case a corrupt record. But this disaster occurred only one time in his overall employment at the software company. I couldn’t stop being naughty. 😀 Well, if in worst case the system loose only one record, the software has to bypass the cache when writing data or not? But if the system is writing data directly to the hard drives, then you need a fast storage again. Otherwise the cores are waiting for response. 😉 At this time the technician was helpless. 🙂
I ended the conversation and I was confused. That’s IT business today? Let’s run two quad cores and 32 GiB RAM, because it sounds big and important? What about storage? What about economics? CPUs and large memory consumes lots of power and are expensive! “It doesn’t matter, we are developing a great software product” seems to be the opinion of that company and their IT specialists. How deep we are sunk? No more professionals and the most people are producing only “hot-air”. Once again one more negative experience with the current IT business.