Networking is Boring
I started my career as a network engineer in the year 2000. Since I didn’t have any computer science education, I learned networking skills by taking professional certification such as the Cisco certifications program. I reached the highest level of the certification, Cisco Certified Internetwork Expert (CCIE), and it made me excited about networking because of the complex scenarios on the exams. The practical lab exams really pushed the takers to combine various networking technologies in order to answer the questions.
However, once I started working in real life with large service providers and enterprise customers in Asia, Europe, the Middle East and Africa, I found out that most customers actually just need simple and standardized networks. Basically what they need is the boring networks that are reliable, secure, and easy to manage.
Why Customers Need Boring Networks
All customers need networking to enable their businesses, for example, to provide connectivity so they can provide services to their end customers. In order for a network to be sustainable and deliver fast results consistently, it needs to be simple and standardized.
The CCIE program was renowned for its rigorous practical exams and demanding scenarios. Each scenario pushed the boundaries of networking technology, forcing the exam takers to think critically and solve intricate problems. Many spent months that turned into years of relentless studying, lab work, and sleepless nights, in order to master the networking technologies required in the exam.
Yet, as we transition from the world of exams to the realm of real-world networking, we encounter a profound realization that most network problems share a common theme: simplicity and standardization. Customers weren't looking for elaborate, intricate network setups. Instead, they yearned for secure, reliable networking that could be managed and operated efficiently. The network that most customers needed was, essentially, "boring." It needs to be reliable, predictable, and easily maintainable.
For some customers, the networking department falls under a “Cost Center” where it does not contribute to the company’s revenue directly. Even thought there are requirements to have a secure and reliable networking, the cost to manage and operate it must be sustainable.
How Google Global Networking Does It
Google Global Networking (GGN) is the group responsible for routing and switching data packets for all of Google's services. Google has the largest networks in the world designed using Simple Scalable Modular Design (SSMD). SSMD is a design philosophy that emphasizes simplicity, scalability, and modularity. It is a key strategy for Google Global Networking to ensure that its network is sustainable and can keep up with the growing demands of customers.
Simple: Networks should be easy to understand and manage. This means avoiding unnecessary complexity and using well-understood technologies.
Scalable: Networks should be able to grow and adapt to changing needs. This means designing them with a clear vision for the future and making sure that they are built on a solid foundation.
Modular: Networks should be made up of independent modules that can be easily replaced or updated. This makes it easier to troubleshoot problems and introduce new features.
One of the ways that Google uses the SSMD principle is by decoupling the routing and switching functions. The routing function is responsible for determining the best path for data packets to take, while the switching function is responsible for actually moving the data packets from one point to another. By decoupling these functions, Google can make each function simpler and easier to manage. This also makes the network more scalable, as new routing and switching technologies can be easily added without disrupting the rest of the network.
Another way that Google uses the SSMD principle is by using open standards. Open standards make it easier for different parts of the network to communicate with each other. This also makes it easier to upgrade or replace parts of the network without having to make major changes to the overall architecture.
The SSMD principle is a key factor in the success of Google Global Networking. It has helped Google build a reliable, scalable, and secure network that can meet the needs of its users.
Solving Beyond the "Boring" Network
Are there any more exciting challenges in networking? While routing and switching may be boring, there are still complex problems to solve. However, the solution lies not in reinventing the wheel but in leveraging software. Automation and orchestration tools take center stage. These software-driven solutions enable network engineers to manage and operate the network efficiently, handling tasks that were once time-consuming and error-prone. By automating routine operations, engineers can focus on strategic initiatives and troubleshooting, ensuring that the network remains resilient.
Below are examples of a few problems my team and I have been able to solve by building various software products:
Security Policy Enforcement - security team defines the policy that needs to be enforced in different point in the network and for different device roles e.g. firewall, router, switch, and even host firewall. And those device come from multiple vendors too. By using software, we are able to create a translation from the security policy into vendor-specific instruction that is pushed to each device automatically.
Zero Touch Network Deployment - there is a high cost for engineers to work onsite to prepare the network hardware and finalize the configuration of the network device. Leveraging the zero touch provisioning protocol and network modeling, we are able to ask someone with low skill in networking to perform the physical works (to install the hardware in the rack and plug the cable - for now we still need human to do this) but after that the device will run automatically until it gets the final configuration.
Security Compliance Monitoring - since networks provide connectivity to different devices from servers to smart phones, video and telephony equipment and even IoT sensors, we need to make sure all those devices comply with the organization’s security policy and pass the minimum level of requirements such as Operating Systems version, security features enabled, and so on. We use software to detect “port up” event and run multiple techniques to interrogate the devices to make sure they meet the requirements to connect to the network. If they don’t, we will isolate the devices and take further actions.
In conclusion, the routing and switching in networking may not be excited anymore, but that's precisely what makes it so vital. The future of networking lies not in making it more exciting but in using software to automate and optimize the network operations, allowing us to have secure networks that are sustainable, scalable, and reliable.