Why is Cloud-Grade Networking Built with a Platform First Mentality?
Aug 10, 2017
In today’s evolving business climate, companies of all types—service providers, cloud providers, and enterprises—are building more than just a network. In fact, the network itself is merely a means to an end—an enabler for network services and a conduit through which applications pass. In other words, the network is a platform that drives the business.
Clouds Begin with Platforms
Let’s extrapolate this concept out further. I look at every element within the network as if it is a platform, too: hardware is a platform for software; software is a platform for network functions; the network is a platform for the cloud; and the cloud is a platform for applications that are the backbone of the cloud economic model.
Good Architectural Design
The idea that major network components act as platforms is not new. If you read just about any dissertation on building the “Next Big Thing,” you will find platform verbiage sprinkled throughout the document. Every problem approached from a business perspective includes a platform around which an ecosystem develops and evolves overtime. I can think of no better example of a “platform first” approach than Apple’s iOS. Apple spent more than 100 minutes at this year’s worldwide developer’s conference (WWDC) describing all the wonderful innovations they’ve introduced for their iOS platform in the past year, all in servitude to the developers and the end user.
Beyond the strategic textbook play, however, building a platform just makes good architectural sense, especially in the IT arena. Imagine the proverbial technology stack: it’s clear that every element is a platform for the one immediately above it. More than simply implying that these things must be integrated to build a solution, it means that each layer must be built such in a way that it’s a good citizen in the overall platform “neighborhood.”
Platforms Create Abstraction
If done well, a platform becomes a mélange of the things above and below it. It creates a layer of abstraction between components, acting as insulation between various elements of the larger solution.
Take SD-WAN as an example. There are more than 35 self-proclaimed SD-WAN vendors in the market today. If SD-WAN is merely a service running on a broader branch connectivity solution, then it must co-exist with other things like firewalls, WAN optimization tools, PBX call managers, and a host of other services that reside at or on the WAN gateway. If these services influence the choice of the underlying platform, and the platform choice impacts the other services, you have effectively created a daisy-chained gateway in which everything is highly dependent on every other thing. How do you plan for an uncertain future operating like that?
Instead of locking you into an inflexible path, a platform should act as a nexus of sorts. If the platform is solid, then all the integrations and dependencies are handled through the platform itself. The platform retains its highly critical role, but it breaks the IT daisy chaining that otherwise brings innovation to its knees.
Platforms are About Optionality
There is a saying: “Let 1,000 flowers bloom.” In IT, this means that innovation can come from anywhere and everywhere. Anything that limits where new ideas can materialize places unnecessary constraints on a system that must be designed for longevity. How much future is there if a platform exists only for the makers of that platform?
Platforms need to not only support innovation, but promote it—from all corners of human imagination. This means more than just having APIs. It means actively promoting development. It means making architectural decisions that open up future possibilities. It means understanding that the main purpose of a platform is not to serve itself but rather those who would see it as the foundation for their own work. Did I mention Apple as the poster child of this philosophy earlier?
Platforms are More Granular than You Might Imagine
Is a switch a platform? If so, is the silicon inside the switch also a platform? What about the general processor? Is the OS a platform? What about the routing table, or the event handling system?
The answer is, every component is a platform—provided it is designed properly. And that means that these components can be reused for different purposes, often in ways never imagined. State management within a device can quickly become part of a broader telemetry interface, useful for dialing applications up or down based on resource utilization on physical devices.
If a system is composed of myriad platforms, then those platforms can lead to things never envisioned. Google Maps became a platform for ride-hailing companies. AWS has become a platform for services like Netflix. Even commercial airlines have become platforms for worldwide shipping.
While not everything will support “1,000 blooming flowers,” evaluating a solution based not just on its functionality but also on how well it supports additional innovation is a good way to determine whether you are building an infrastructure on solid and fertile ground. It only takes one flower to make something incredible, and incredible new ideas will come from any and every direction.
“The comfort zone is a beautiful place, but nothing ever grows there” - Anonymous