Virtualization and cloud computing have pushed IT organizations to create a more agile and responsive infrastructure, and DevOps tools are essential in the transformation.
IT teams use DevOps strategies to integrate information about applications, underlying infrastructure and business operations to improve overall performance. The idea is that developers will build and manage applications that are tied directly to business need. In turn, infrastructure will be provisioned and managed so that it responds to the needs of these fluid workloads.
Until now, the network has been not been agile enough to play a key role in this transformation in management. While migrating virtual machines (VMs) has become increasingly automated and agile, the network has remained inflexible. But software-defined networking (SDN) promises to change all of that. Among many other features, SDN will enable automated provisioning of virtual networks that can be responsive to applications. This provisioning can be integrated into a larger orchestration context. That's when the network will take on a key role in the DevOps revolution.
SDN and the agile network
There's lots of media buzz around SDN, but it's likely that the technology will only experience real uptake once IT organizations recognize the limitations in network agility, especially as it relates to virtualization and the cloud.
"How virtualized is your data center environment, how virtualized are your servers and applications? Are you grappling with limitations of network architecture and management paradigms? Are you looking to spin up network services as quickly as you spin up a VM? That's when you begin to look at some of the things that SDN can do," said Brad Casemore, research director for data center networks at IDC, a Framingham, Mass.-based analyst firm.
Previously, if you had to get a network provisioned to support a new application, it could take weeks -- and lots of work across completely separate IT teams. But SDN no longer allows IT departments and their technology to live in siloes, Casemore said. Instead, as SDN takes hold, engineers will design networks that are subservient to the application and that provide "app-centric visibility, management, automation, provisioning and orchestration," he said.
In this new scenario, software interacts with and automatically modifies the network layer, said Ben Rockwood, director of cloud operations at San Francisco-based cloud service and infrastructure provider Joyent. "VM A wants to connect with network B, and the software enables that to happen transparently and dynamically," he explained.
Where SDN and DevOps intersect
This kind of automated network provisioning can integrate into a larger DevOps context that maps together applications and underlying infrastructure.
The DevOps movement began with the concept of better integrating human resources across applications, systems and infrastructure -- meaning that applications, systems and infrastructure teams would plan, develop and architect together or with shared information. DevOps employs databases or libraries of configuration records and other documentation that are shared across siloes. In addition, IT teams have employed tools, such as Puppet, that automate configuration using this integrated information.
This all means that an application developer can describe a certain set of behaviors inside a configuration on a Puppet Master, Chef server or on OpenStack, and the plug-in will push those policies or configurations to the controller, which will enforce that policy, explained Derick Winkworth, product manager for Orchestration and Community at Plexxi Inc., a Cambridge, Mass.-based provider of SDN hardware and software.
"What it comes down to is you're empowering the DevOps people to implement high-level, network-wide policies, which is significant because you're folding the network into the workflow. It's one less break in the process where you have to pick up the phone," Winkworth said.
"Integrating the control point with DevOps tools empowers DevOps folks to express what they want the network to do intuitively without worrying about the details of what's going to happen on all the nodes for those policies to be real," he said.
Using DevOps means cultural change
This seemingly simple change may have far-reaching effects on IT organizations. "Most network changes have gone through the operations team and funneled into the network team. Moving from a straight line of three points to a triangle is definitely a cultural change. Some people will have an easy time, but some will have a hard time," Joyent's Rockwood said.
Even if companies see the value in network virtualization, automation and orchestration, "they ask, 'How are we going to do this, because it requires us to all work together, and that's not how we're constructed right now,'" IDC's Casemore said.
Closer alignment across IT teams has already begun to occur in the data center, but now that mentality will have to creep outside into the rest of the enterprise.
In the case of SDN, "you have to have a similar alignment between previously distinct disciplines as far as development on one side and operations on the other; and the network guys on one side and compute on the other. There needs to be more of the mentality that you see from the DevOps paradigm, where folks work together and understand their roles," Casemore said.
Ten DevOps tools to consider
Understanding the DevOps debate: Declarative vs. imperative
DevOps meets VMware cloud infrastructure