Member-only story
Reason why you need subnets when you design your cloud through AWS, Azure, GCP, or other providers
As I was getting to learn about network, I came across CIDR notation, OSI layers, TCP/IP, etc, but one thing that puzzled me was the need for subnets. So, I understand how a subnet is a logical container within something like VPC that holds VPC resources. It is basically a way to segregate resources so resources don’t compete each other. However, what I first did not understand is that why would you need to have that much IP addresses when you can just utilize multiple ports within a Virtual Machine instance. For example, I can install NodeJS on port 3000, install Java backed on port 8080, and Apache HTTP on port 8000, etc. But the very concept of CIDR and subnets basically ask me to allocate fixed IP ranges at the time even before my resources are there, and this, to me, seemed little inefficient because I don’t believe you need that much IP addresses when you can just ports for different applications.
But the answer for this existed to make the cloud infrastructure scaleable and resilient. Imagine a situation like a diagram below.