We’ve been writing about platform engineering for networking. In another blog posted this year, I talked about how the operational mindset needs to be changed to drive more engineering into networking with platform engineering. Now, we’ll discuss some ideas on how to get started.
First, let’s recap the definitions of platform engineering and platform engineering for networking. Platform engineering is the practice of designing and building a standardized infrastructure and system of workflows to enable self-service capabilities for an organization. Platform engineering for networking extends these self-service capabilities to networking infrastructure and services.
Why use platform engineering? An organization might want to provide standardized self-service apps and tools to their business unit workers and DevOps teams. The advantage of this approach is to build a centralized toolset and workflow so that organizations can maintain better compliance and security, as well as potentially lower of costs of operations.
What About Platform Engineering for Networking?
Platform engineering has specific use cases in the networking domain. For example, instead of individual teams doing their own research, testing, and validation of networking products and services, the organization can build a centralized, self-service networking infrastructure with a set of standardized services, all enabled by automation or infrastructure as code (IaC). Some of the benefits of platforms using this approach include:
- Better collaboration and cooperation across business units.
- Centralized management and compliance.
- Better security and fewer maintenance risks, by standardizing on critical tools (reduction of “shadow IT”).
- Accelerated service and app deployment using self-service standardized tools.
The platform approach was used in large webscale environments to build cloud infrastructure and/or applications. That’s now being taken to the enterprise.
Using Platform Engineering to Move to IaC
The best way to think of platform engineering for networking is as a set of abstracted networking tools and apps. In many cases, these apps can be built using application programming interfaces (APIs) and software automations to be orchestrated on demand. Think of it as networking services offered like a DoorDash meal.
This is a big shift in workflow. Today, many networking services and operations are set up using ticket systems and “swivel chair” operations. “Please get me an SD-WAN in Dallas, TX.” Using platform engineering, these requests can be enabled in an automated, self-serve fashion.
There are several keys to delivering on this model:
- Building an “API-centric” platform. APIs are the building blocks of automation. They enable systems to be connected and orchestrated using code. To build a set of standardized infrastructure — the platform — APIs play a key role by exposing service configurations.
- Implementing Infrastructure as Code (Iac) with low-code and no-code automations. IaC automation using software to orchestrate networking services and applications directly from an application. The market has advanced with tools such as Python, Pulumi, YAML, Terraform, or Itential — all of which enable infrastructure configuration and orchestration needs to be built directly into an application using low-code or no-code integrations.
Getting Started With the Platform
Implementing platform engineering for networking may at first seem overwhelming, but it can in fact be implemented in steps that will also drive more automation and modernized infrastructure into the organization.
By taking the process step-by-step you might figure out a way to leverage existing task automations, or how to add new ones gradually. Some basic steps to start might including the following:
- Identifying the most common tasks than can be automated and implementing task automation with low-code and no-code commercial tools, such as Itential.
- Identifying areas where workflows can be tied together with software automations.
- Building product or service catalog for self-service platforms; adopting a product roadmap; and working with infrastructure colleagues to align on the platform or portal strategy.
- The final step is to evolve automation to incorporate orchestration and self-service capabilities.
This process is described below.
Here we’ve published a full guide. Start with user consumption priorities.
Remember, as we stated in our blog about changing the operational mindset, platform engineering is as much about changing the culture of operations as it is about providing new infrastructure services. It’s important to incorporate product management roles and skills into your team.
In this manner, you can build a “commodified” architecture to delivering self-service networking teams at any location, on demand, with better operations.