In the first two posts of this series we looked at what could possibly go wrong when we tried to connect a service designed to face the Internet, to not one, not many, but lots of customers’ wide area networks (WANs). We learned that NAT was a great tool, but that it was only part of the solution. We also learned that to connect two networks which use the same addresses, we need an intermediate set of addresses to hide the two networks from each other. In this post, we'll find some suitable addresses for that intermediate stage, and look at the scaling of this model for multiple customers connecting to multiple services.
In Part 1 of this series we looked at the problem Cloud Providers and their customers face when accessing provider services over their Wide Area Networks (WANs). In this second post in the series we'll explore a number of possible solutions. In some instances, services were designed from the beginning to face multiple tenant networks, each with possible overlapping address space. Where this is the case, we don't really need to “design” a solution, just ensure that our service, and the connectivity model which connects our tenant WAN environments to it, follows the way the service's designer envisioned it.
In some cases of course, this isn't the case, and we need to hide the complexity of those overlapping customer networks from our service, so that we don't confuse or scare it. We'll look at both scenarios in this post.
A number of Cloud Services require the transfer of large volumes of data. In the Cloud Provider world, that could be uploading VMs in the form of OVA files, ISO disk images, or sending backup data to a DRaaS service. Customers can connect their on-prem SDDCs to the Cloud Provider with only an Internet connection, and make use of these great services. How easy is that! In locations where the Internet is readily available, fast and reliable, this is great. But what about locations where that's not the case? Well, that's where the trusty WAN steps in. Using a Communication Provider's services, customers can get direct network links to their Cloud Provider's datacenters which, while more costly, may offer the speed and reliability which local Internet services lack.
Excellent, problem solved! We'll just connect our services to our customers’ WANs and go back to watching Netflix, right? Hang on, surely it can't be that simple? Of course not, for one thing, if the Internet is poor, how will we watch Netflix????
Using Global Load Balancing to access Multisite vCloud Director (vCD) has been possible since vCD 9.0 but only worked if the tenants using it had services in each site. If a Provider had, say five sites, but a tenant only had a presence in two of them, connecting to a site at in which the tenant did not have service would result in a failed login. All this has changed in vCloud Director 10.0.
A couple of years ago, in the Architecting Multisite vCloud Director white paper I wrote about the way we allowed vCloud Director sites to be federated (we call it “associated”) with each other. Back in vCD 9.0 this didn't do much, but we had big plans for it. How things have moved on across two years and four major releases.
vCloud Director v9.5 introduced support for OrgVDC networks which could span multiple OrgVDCs in one, or more, Provider VDCs. While this is a powerful capability, it brought with it some new configuration workflows both within vCD and in the surrounding networking layers. My VMware colleagues Daniel Paluszek, Abhinav Mishra and Wissam Mahmassani wrote a series of great blog posts over on the VMware Cloud Provider Blog which explain these workflows and the different options they bring. I can't take any credit for the posts, awesome though they are, but I do find myself regularly using them as a reference in workshops with VMware partners. I usually end up searching for the posts, and then sending links to them to the workshop attendees so they can read the content at their leisure.
To make that process easier, I decided to list them here so they're easier to find, and, in order.