Design consideration: Scalability
In the first blog of the series Pillars of the Earth, I covered the most prevalent constraint on network design: cost. In this blog I’m covering scalability and modularity/flexibility.
The concepts of scalability, modularity and flexibility are all interrelated: you won’t achieve one without achieving the others. But what are these concepts after all, and how do you achieve them?
Flexibility refers to the ability of a network design to adapt to business changes, which can come in a planned or unplanned way. There are a few constants in life: death, taxes and change – not much we can do about the first two, but certainly we can influence how to adapt to change. The more monolithic the network is, the more complex it’ll be to adapt to changes. How do you make a design more flexible? Make it modular!
Modularity means to divide the network by functions or policy boundaries, making it replicable (for example on branches) and thus easier to scale and operate, and enabling business continuity. How do you make a design modular?
1. Choose the physical topology: Some topologies such as hierarchical or leaf&spine are more conducive to allow for modules than others (fully meshed, for example).
2. Split functions or geographies: Separate campus, branches, data center and applications, Internet, network management systems, and security policy boundaries to make each function easier to expand, upgrade, enhance or change. Make them small enough to ease replication.
3. Break it into smaller pieces: Create smaller fault domains so that a failure on a part of the network doesn’t propagate to other parts, by subdividing the functions as appropriate.
4. Add “connectors”: Design so that all functions meet at the core, and also to accommodate summarization points.
Think about the scope of your (re)design project: it may not consist of the entire network, but rather just a module or two, if the network has already been prepared for this. If not, it may be time to add modularity to your (re)design project.
Scalability is the ability of networks to adapt to growth, being it planned, unplanned (also called organic), as a result of mergers, acquisitions or divestitures (also called spin-offs) without breaking or slowing down and still being manageable. How do you make a design more scalable?
1. Make it replicable: Duplicate modules to accommodate growth without adding complexities, like on a copy&paste, or move components to other places in the network. Use scripting.
2. Make it more stable: Design Layer 2 and Layer 3 protocols for stability, so that utilization peak periods or convergence after failures in the network don’t over-consume network processing, bandwidth and/or resources.
Do you consider what the network will be like in the short and long term on your designs? Is there a topic you want to hear about on my upcoming blogs? Add it to the comments field!
Elaine Lopes is the CCDE and CCAr Certifications Program Manager and Team Lead for the CCIE program team, and she’s passionate about how lives can change for the better through education and certification.
Here are a few additional ways for us to engage and keep the conversation going:
- Cisco Learning Network CCDE Study Group
- Connect on Twitter too
- CCDE study materials for the Written and Practical exams
- Related Unleashing CCDE blogs: CCDE: The Pillars of the Earth - Part 1, CCDE: The Pillars of the Earth - Part 3, CCDE: The Pillars of the Earth - Part 4, CCDE: Book of Questions, CCDE: Design Use Cases - Part 1, CCDE: Come Together, Customer Engagement in Network Design with Emanuel Lipschütz