Disclaimer: the content of this blog is solely based on my personal view/experience, and it’s not a company or someone else’s view. The content is intended for educational purpose only, and it’s not an official whitepaper or best practices document. Therefore, you must always refer to the official and latest AWS documentations, before considering anything discussed in this blog series, in any AWS environment.
I always like to compare networking with building constructions logic, in terms of architecting, designing and building.
Simply if an architect put a very nice architecture for a building, then the civil engineering team didn’t put the right foundation, then the intended goal of the building architecture may not be achieved, because for example; the depth of the foundation was not deep enough, which could impact the ability to build the desired number of floors/levels.
Similarly, someone may architect a technology solution e.g. a multi-tier application on AWS across multiple regions to serve 10s of thousands of users, let’s assume the application/development team/architect put the architecture for this application. However, if the networking of this solution was not designed properly (without taking into consideration, scale, throughput, optimal path selection, etc.) the intended goal/value of the application architecture most probably will not be achieved, as there will be impact on the application’s performance, cost, availability, etc.
When it comes to ‘Cloud Networking’, in specific AWS cloud networking, it can be as simple as the design illustrated below
Or it can be as advanced as, a global architecture, across multiple regions, with 100s or 1000s of VPCs, along with multiple links to different on-Premises sites, etc.
Technically, there are many AWS networking design options, capabilities and considerations that need to be taken into account, when designing a solution, and for sure this is relative to the scale and complexity of the solution.
This blog series, is going to discuss, compare & analyze, different AWS networking design options and scenarios starting from basic high-level concepts (from 100000 feet view), all the way to advanced traffic engineering and routing topics of global architectures.
To it keep short and simple, long topics will be divided into two or more blog parts.
Across all of the blogs listed below, there will be no recommendation of one connectivity option or a single design model, because practically the design decision must be based on the solution requirements, taking into considerations any design constrain, in which you as the designer/architect the one who is going to make that design/architectural decision. Therefore, it is important to have a very good understanding of the design options, and considerations to make the optimal design decision, and this is the main goal of this blog series.