What comes to mind when you hear the word “scalability?” If you’re an old timer, like me, you might think about several hundred neighbors on a hub and spoke frame relay network… Like I said, if you’re an old timer. For newbies, thoughts might turn to a data center with 100,000 servers. Either way, scale turns our thoughts to “big,” as in a lot of devices, a lot of users, a lot of links, a lot of interfaces… For the CCDE, that’s just what we want to avoid, because scale isn’t just about thinking big, it’s also about thinking small.
Scaling isn’t about how to make the network big, it’s about how to right size the network to solve the problem at hand. It’s about choosing the right amount of equipment, the right technologies, and the right configuration to build the most compact network that will solve the business problem. In the language of modern data centers supporting cloud, “build it just good enough, and no better.”
Scaling, of course, goes hand in hand with flexibility. Flexibility can simply be defined as the ability to rapidly scale a network to fit the business requirements.
Maybe an example would help. Suppose you’re designing a data center (does anyone actually build anything other than data centers any longer?) to support 100,000 servers. The first thing you should probably ask is: does the business requirement indicate 100,000 physical servers, or 100,000 servers? Are they thinking processing horsepower, or simply having that many devices available for processes to run on? The difference could be huge, of course, but a lot of the business folks don’t understand the difference between the two concepts.
In the process of asking questions, you discover the business problem can be solved using 100,000 virtual machines, and the horsepower requirements really only indicate about 10,000 physical servers. You’ve gone behind the “on the surface” requirements to figure out what the real business requirements are, giving you a better idea of how to scale.
But the next question you should ask is: how quickly will these business requirements change? Is it possible for processing load to double on short notice? Is it possible for it to halve? How will the answers to these questions impact your design? Consider this interesting correlation: is layer 2 to the edge more flexible than layer 3 to the edge? Or the other way around? What about how you plan the core of the data center? Is it designed just for connecting to users, or have you thought about where you might attach DC interconnections to handle future growth? Should there be a “backend” connection to allow cloud services to be integrated, so users don’t have to interact with those services directly?
All of this thinking is either explicit or implicit in each CCDE design scenario. Don’t just read the surface requirements and jump to a conclusion; every business requirement must be taken into consideration, every avenue explored.
Scaling isn’t just big, it’s right, and it’s flexible.