Disclaimer: opinions expressed in this blog are my own!
I vividly remember the days of a very not far past when I was dealing with EVPN, Type-5 Routes, VXLAN encapsulation and all the things that were really en-vogue back then (I believe they still are), cherishing the numerous conversations I had about those with Ivan Pepelnjak at a Tech Field Day Extra event we attended together a few years ago.
At the time I was working for a big global Telco, where I was leading some internal efforts aimed at looking into network disaggregation. That wasn’t always easy, for a number of (very convoluted) reasons. Before then I was dealing with MPLS PEs, VRFs, Route Distinguishers and Route Targets, and all the magic of L3 and L2VPNs. To date I still believe MPLS overlays are a fantastic piece of technology that paved the way to decades of success for many network operators and enterprises globally.
In this post I will try to describe the journey that took me from that world to the world that I’m living in now.
And let me start by saying that those two worlds, in fact, are the same world. There’s no old world and new world in networking. There’s just one. Some pretend that their ‘old world’ made of CLIs and templates stored in an Excel VB macro hasn’t changed and never will, it’s pretty much like denying that global warming is a scientific and observable natural phenomenon.
Cloud Networking is just networking: IP packets, Ethernet Frames, DNS, DHCP and NAT haven’t gone anywhere and – in fact – I think they’re more relevant than ever. The cloud-related networking services that – for instance – we provide at AWS are meant to abstract the complex bits that happen behind the scenes to allow customers to scale their network designs in a flexibile, secure and efficient way.
I believe that my journey started by feeling an extreme sense of discomfort. I was not comfortable with being surrounded (not everyone was like that) by people who were OK with keeping their configuration template in an Excel spreadsheet or doing a lot of CTRL+F/CTRL+R (Find/Replace) for a living. Change – if done this way – is stressful, risky, and no wonder why nobody wants to do it.
Discomfort results (hopefully) into curiosity and drive to find better ways of doing things. And this is the tiring part, especially if you’re on your own. The path is full of perils and steep climbs, ranging from the desire to jump on everything that looks ‘cool’ that you come across, the need to learn something very difficult that you’ve never deal with before, to the requirement to often pivot and admit defeat.
For me it all started with automation. My hours after a normal day at work were filled with Python, YAML, Graph DBs and a lot of ‘reload’ commands because I had to start all over again after I screwed up a thing or two.
I must admit that I made the mistake at the beginning of really underestimating the power of Cloud. I thought it was yet another buzzword that I needed to learn to be able to form an informed opinion about, but my time was spread very thin at the time.
As you may well know, it sometimes take a couple of weeks or so to get a firewall port opened by your security team, so I started having some time to dive a bit deeper into things.
And then it came. At first I started playing around with VPCs and Route Tables. I was fascinated about how easy it all was, especially if I compared it with other virtual networking technologies I was working with back then. You make a bunch of API calls (or throw a couple of CLI commands or few clicks in the console) and you have virtual networks, subnets, ACLs, NAT all working and perfectly functional. And that took less than 20 seconds.
From the perspective of a ‘traditional’ network engineer, I think that the most difficult part of the learning process is letting go. There are some abstractions that you just need to rely on without worrying too much about things like: how can a packet get from an AWS VPC to another AWS VPC that has a 1:1 RFC1918 address-space overlap (see: AWS PrivateLink) ?
And then, after some time I managed to get a job where everything pretty much begun (more on that soon).
To conclude, I just wanted to say to all my friends that are stuck in the ‘old world’ (remember: it’s an illusion!). Don’t be afraid to explore. IP is still very much alive, as is ARP, Ethernet, Routing, NAT, TCP and UDP, etc. You can do a packet capture and use Wireshark, to this day!
Networking is networking, after all, and – if you have really solid foundations, you can totally be successful as a ‘cloud networking engineer’ – whatever that means.