The rise of the developer
Enterprise networks are undergoing a rapid transformation, with the move to software-defined networking unlocking never-before-seen levels of agility across networks. Even so, developer access to network advances lags behind other types of services we’re familiar with, like storage and compute. How do we enable developers to build and deploy applications without the network disrupting their momentum?
Cloud enablement is developer enablement
The move to cloud computing has given developers a lot more power and a bigger voice in how platforms are set up, managed and maintained. They can make more strategic, architectural decisions about how the users are going to interact with the application through the platform. Developers don’t need to be experts in racking and stacking, or in the operating system — they just need to understand how the cloud functions. Full-stack developers exist in today’s world because they can understand how their application will interact in the cloud.
To make this work, developers need network APIs with feature richness equal to that of compute and storage. Network APIs have traditionally lagged behind compute and storage, but that is changing. In my experience as a software engineer, I have firsthand experience feeling hindered by network agility. One major way to empower developers right now is by providing great network APIs that abstract complex network details from the developer.
The rise of the developer
Pre-cloud, if you wanted to deploy an application, you had to work with an infrastructure team. People skilled in racking and stacking machines, people skilled in managing the operating system, people skilled in building out the application middleware layer and waiting for the network team to enable communications.
Now the developer can do all of it — take their code, deploy and run it with a single command and everything is abstracted away from them. I’ve seen developers empowered to push code all the way from test to pre-production and to production through automation, giving them more control over the lifecycle of their applications. Fully automated infrastructure lays the foundation for developers to practice continuous deployment and enables them to deploy application changes without having to coordinate with infrastructure teams.
Consumption-based network functions
This is the age of virtual network functions (VNF). In the past, when you wanted a specific network function like a firewall or WAN acceleration, you’d have to purchase a physical appliance and get it racked and stacked in your on-premises location or in a data center somewhere. With VNFs, once you have the core deployed, the VNF just needs to be installed, configured and service chained. Service chaining is setting up the interconnections between various VNFs. We’re moving toward a model where you can consume network functions like you can cloud functions – on demand. If you only need specific network functions for two or three months, they can be deployed for that period of time.
Imagine you’re a major retailer with multiple locations around the United States. During most of the year, you use a certain consistent amount of bandwidth, but then you have to deal with the shopping season from Black Friday through the New Year. You need more bandwidth to support this boom in traffic. With Network Function Virtualization (NFV), you can opt to deploy WAN acceleration or data deduplication network functions just for those months and then remove them when you don’t need them anymore.
Transformation is an ongoing conversation. Connect with me on Twitter and tell me what you think the future holds for programmable networking as a service.How do you want to consume network services through APIs and infrastructure-as-code providers like Terraform?