SDN and Cloud Computing
Software Defined Networking (SDN) and cloud computing are two sides of the same coin. It’s all about automation. SDN is the automation of networking. Cloud computing provides services that are on-demand through automation. To give an example of cloud computing automation, consider a site that hosts Minecraft servers. With a few clicks, someone with very little experience can provision a server, specify the desired amount of RAM and CPU, and within minutes are ready to play. The creation of the server, the installation of the software, and the allocation of resources is all automated with no human interaction, completely on-demand. Under the hood, this is possible due to server virtualization. The hosting service builds virtual machines running Minecraft. The VMs, in essence, are just a set of files. Just like the operating system running on your laptop is, in essence, a set of files. And files can be packaged, making them portable and easy to duplicate. The hosting service then automates the whole process based on what the customer selects.
With SDN, instead of virtualizing servers, the idea is to virtualize networks. For example, a router can be virtualized much like a server. If you’ve ever popped open a router to see what’s inside, it’s surprisingly familiar. There’s a motherboard, CPU, RAM, interfaces, and so forth. In terms of software, it has an operating system. It shares a lot of the same components of a server; it just has a different job. It routes packets. So just like there are virtual machines, we can have virtual routers, virtual switches, virtual load balancers, and virtual firewalls.
NSX is VMware’s answer to Software-Defined Networking. It uses network overlays, which run on top of a physical network. It allows us to create those networking components whose jobs could previously only be performed on physical devices. Once a component is virtualized, it gives us the flexibility to copy, backup, or move that component, because it’s really just a bunch of files. And all of those tasks are automated. You need another switch? No problem. Click, click, done. It’s possible to provision entire networks with NSX and have the ability to copy that entire virtual network to another data center for Disaster Recovery (DR). A site goes down due to a catastrophe such as a hurricane or tornado and the remote site becomes active with the same virtual networking components and the same virtual machines. This failover, too, is automated.
Automation = Simplicity = Fewer Mistakes = Easy to Troubleshoot
Automation means simplicity. In the days before plug-and-play, trying to install a modem, a graphics card, or even a mouse could be a nightmare trying to figure the right COM port combination. But plug-and-play gave us the automation to do all of that for us. Simplicity means fewer mistakes. When configuring things manually, it’s easy to make a mistake. When the same task is automated, those mistakes are factored out, saving time and providing standardization across devices, making everything much easier to manage and troubleshoot.