Hacker News new | ask | show | jobs
by chrisan 1796 days ago
VPC: Amazon Virtual Colocated Rack

What in the world? Why would I want a rack in the world of a cloud.

I want a virtualized private cloud, which not so oddly is named Virtual Private Cloud.

I feel like the person who wrote this got into web dev back when I started in the 90s, then never left the time frame. This dude, much like this webpage, clearly have not kept up with the times

3 comments

Maybe you're not the intended audience. It can get exhausting to keep up with the (new) times and learn a new stack again.

I'm on my fourth or fifth time and it's starting to get wearying. I'm glad I'm not building simple PHP apps on MySQL anymore, but a new AWS whatchamacallit gets little more than a groan from me.

What is a virtualized private cloud?
A colocated rack is a much more limited concept than a VPC. VPCs let your architect an entire network. You can have multiple private and public subnets, set security groups to filter traffic between them, do service discovery, use policy based access control, health check load balance, and host PaaS entities into the network (like Aurora serverless). On top of that, you can flex your compute. VPC is more like a rack with a firewall, an f5, a smart switch with vlans, something like kubernetes to automatically scale compute… but there are things that aren’t even possible in a rack because you can transparently both manage your own compute with ec2 and add PaaS managed offerings like RDS, elasticsearch, kafka, etc. all to the same network.
The last bit doesn’t make a whole lot of sense because AWS is all hosted in racks. It’s just that people don’t typically set up virtualized networking that way.

We did and it was fantastic. All of our “environments” were overlay networks spanning our hypervisors and we provided “ops” services outside those networks just like AWS where they just got an interface in the environments.

I'm convinced that there is no other way to manage networks after this. The ops team has their own completely separate view of the infrastructure that can be managed, moved, and shifted around so long as you keep the fiction the same.

A VLAN (Virtualized [private] LAN) is a LAN all to yourself, on top of a real shared multitenant LAN, through the magic of virtualization.

So a VPC (Virtualized Private Cloud) is "a cloud" (e.g. the whole of AWS), all to yourself, on top of a real shared multitenant Cloud, through the magic of virtualization.

In both cases, the traffic going over the LAN or Cloud is isolated from other tenants by the virtualization mechanism, so you don't need to encrypt said traffic the way you would in an untrusted "just leasing several random VMs in separate racks in a colo and having them communicate over the colo's shared LAN" environment (which is what AWS's pre-VPC "Classic" EC2 environment was.)

Right. What really makes this work is that Amazon builds their own specialized routers.[1] They have a control plane hidden from their customers, one which lets them set customer-visible MAC and IP addresses more or less arbitrarily.

'All problems in computer science can be solved by another layer of indirection. But that usually will create another problem'. - David Wheeler.

[1] https://www.geekwire.com/2017/amazon-web-services-secret-wea...

Logical isolation of resources instead of physical and virtualized compute, networking, and storage.

“Virtualized racks” doesn’t make a whole lot of sense since the metaphor is lost. You don’t think of power, top of rack space how many U’s some resource will take.

If you hate the word “cloud” then IaaS might make for a better name.

Virtual wires, switches, routers, vpns.
And you seem to have no clue whats beneath your shiny, expensive cloud gui.
If you think a VPC is simply a co-located rack... well, sorry but it isn't.

Also, since every single AWS service requires a rack, I assume you also want to put Rack in every single name?

Well lets see what did we have in a rack? Router, Switch, Servers... And there you have your VPC.
If only a VPC was all contained in a single rack you might have a point.

But alas, we use the term "cloud" for a reason in the modern world of development