As we mentioned when we laid out our hardware resources, this was the one choice that was already made for us. It is worth writing a post to detail what our compute hardware looks like, and understand what it can and can’t do for us.
Our Generic Compute Node
The systems we have are a bit of a special beast. They were designed by HP for use by some of our massive online properties like Bing and Xbox Live. They’re roughly equivalent to a DL360G6, which is a 1U “pizza box” style rack mount server. The unique bits are some features which were added/deleted because they made the most sense for the design of the services they were running on at the time they were designed. This architecture is 2009-10 era stuff, so in technology terms it’s almost ancient, but it still has some good life left for our purposes.
Two Intel Xeon E5440 quad-core processors, HT-enabled (16 LPs total)
Four 1GbE NIC ports (2 onboard, 2 via add-in)
Doing the math, this gives us a total resource pool for our cloud of 2,304 physical CPU cores, just over 20TB(!) of RAM, and a boatload of potential network throughput. (Though still not nearly as much as we’d like.) We’re anticipating the main resource constraint will be RAM before storage or CPU cycles, and our average user to consume an average of 32GB of RAM each. Given host reserves, this gives us the ability to host almost 600 average users continuously. That’s not bad, for such a RAM-intensive group.
Next up, we’ll cover what we actually ended up purchasing to fill these roles in our architecture.