So as you may know by now, I am not a fan of “blade” technology, and rather despise it. One reason is that they simply are not as “powerful” as some larger systems. So what is this “true hidden cost”. What hardware vendors won’t tell you is that, while they think that their hardware is powerful and “compact form”, is that software vendors will almost rape you on the license cost. So lets look at a good example.
Say you are building a “cloud” (another word I absolutely hate, as it is just a buzz word some one made up, because “network” sounds so simple) for your company. You decided to go with the “all mighty blades” as that is the “current buzz” amongst the IT industry. So I buy a blade chassis from company X which happens to hold 10 blade’s that each hold 4 processors of 8 cores a piece and 128GB of ram (probably fictitious and not a real world blade). You also plan on implementing a virtualization hypervisor on your blades to build your “cloud”. On top of this hypervisor you will be using multiple different operating systems and various middle-ware. Sounds good so far right, just like any typical “cloud” environment. So now lets look at the pricing:
- For the virtualization layer, we don’t care about CPU’s, just memory in use. So we have to buy enough licenses to support 10x128GB of ram. Again, not too bad, but as you add blades and/or memory your price goes up.
- For the OS layer, this seems pretty simple, 1 OS license per Virtual Machine. Probably so far the simplest of all
- For the middle-ware, now this is where the big bucks come to play. Different vendors license their software in different ways so here are some examples:
- Per VM, seems pretty simple, 1 license per VM. Easiest
- Per User, probably the second simplest algorithm, assuming you have an easy user base, i.e. all users are internal company users, or all are external users, etc.
- Per physical host, the most complex and costly. Why so? Well lets look in to this in more depth.
So in #3 above I mention that licensing middle-ware per physical host is the most complex and costly. Some people may be thinking that I am absolutely crazy by now but hold on to your seats and watch the money start adding up.
Say we have a fictitious product from vendor Y, the licensing of it is $100 per core of physical server, and the vendor of the software does not “recognize” virtualization. So if we weren’t doing virtualization to license this product on one of our fictitious blades, that product would cost $3,200, as we would have to pay for all 32 cores in the blade. Still not too bad. But here comes the kicker, say that we created a cluster in our hypervisor that contained all 10 of the blades in our chassis. In addition to this, we have determined by usage that to be able to run Y in our environment, we only really needed a VM with 1vCPU and 2GB of ram. In a physical world, if you could find a server with one CPU, then we would only have to pay $100 for this piece of software. In addition if the vendor Y supported virtualization you would only have to pay $100 to run it. However vendor Y is all about the money, so to run this one software package on your “cloud”, you would have to pay $32,000.
Wow, $32,000 vs $100 is 320% markup because vendor Y doesn’t “support” virtualization. But you are probably thinking, but hold on a second, I know that VM will only run on one blade at a time, why do I have to pay for all 10? Well because your VM has the possibility of running on any of the 10 blades at any given time. So you have to think of it sort of like auto insurance. Say you have 3 cars, but you can only drive one at a time (because you are only one person). But you still have to pay insurance on all 3, because there is a chance that you could drive any of them.
Does this make sense, hell no… But hold on to your seats because it gets even better. The vendor of product Y also make a hypervisor that does the same thing as another companies hypervisor. But the kicker is that if you use vendor Y’s hypervisor which has less features and abilities that vendor Z’s hypervisor, but does nearly the exact same thing (virtualize an OS instance), they will allow you to only pay for the 1vCPU license to run their product. This is just plain wrong, especially when you have already invested in vendor Z’s platform.
So with “cloud” computing being the current wave of IT, why can’t software vendors recognize that nearly 75% or more of most environments are already virtualized or moving to a virtualized “cloud” environment. If they can’t recognize this, then chances are people are going to go else where for their software needs. Because as your “clouds” get bigger the cost is exponential. To see that just use this as an example, the environment above is for a development. Once we go to production, say we have to have 10 chassis of blades, and there is a possibility of that one application running on any one of the 10 blades on any of the 10 chassis. So now instead of $32,000 you end up paying $320,000 for one little application, that only requires a 1CPU machine to run.
But what the hell does this have to do with blades? Well if you used larger hardware, you could decrease the number of physical servers that were in a particular cluster by consolidating even more. In the simplest term building up vs out. As an example say I could replace all 10 chassis of blades with 6 large servers (large meaning that they could hold 512GB of ram vs my max of 128GB of ram that my “blades” do). Now instead of paying for 100 blades with 4 processors of 8 cores a piece I am only playing for 6 servers of 4 processors of 8 cores a piece, a cost of $19,200, or 6% of the cost of using blades.
I leave it to you to see how much you would save by getting rid of your blades …