What is DevOps?
DevOps is a movement in the IT industry that promotes better collaboration, integration and automation among software development teams and IT operations. Today DevOps (development and operations) is a discipline that primarily involves software developers and system administrators, but network engineers should be prepared to function within a DevOps model.
Some critics say that DevOps is simply a catchword for collaboration, something that IT teams should be doing by default. In reality, silos exist in IT and DevOps teams are interested in tearing down those silos by resolving to collaborate. The need for working within a DevOps framework has increased with the advent of cloud computing, where some system administrators are managing thousands of physical and virtual servers that host an even greater number of applications that have no direct communication with the developers who wrote them.
“The cloud is not about technology, but about a new operations model for software and hardware, which makes DevOps possible,” said Matt Asay, Senior VP of Business Development at Nodeable, a company that provides system management for cloud operations. “We are very much focused on DevOps. A set of DevOps rules in the workplace supports flexibility for developers but adds constraint by putting some of the operations load on their shoulders.”
Generating traffic on a network to a web-based and web-resident script has created a lot of optimizations and that has changed the way an application is accessed, according to DevOps proponent Steve Shah, Senior Director of Product Management at Citrix. Whether it’s an image, application or a program connecting different servers, deployment affects performance. Since programmers don’t want to change applications on a version by version basis, it’s easier to change application programming interfaces (APIs) instead. This has led to system administrators learning how to script in programmable loops to access all the automation that development teams have added into infrastructure. This is the real beginning of DevOps, said Shah.
Knowledge of programming, APIs and protocols is required for load distribution and that drives good cloud economics. With general management tools, system administrators can become DevOps administrators. This is a role that is valued not just for programming skill, but also for understanding infrastructure.
Does the DevOps movement affect the physical network?
DevOps deployments do, in fact, affect network planning, according to Carolyn Rowland, Supervisory Computer Scientist at the Engineering Laboratory System Administration division of the National Institute of Standards and Technology (NIST).
“If 15 computers need to be enabled but you’re working with a switch that has only five ports, would you really rather enable only 15 ports when you know that in six months you’re going to need to add capacity for 600 ports to support access points for an employee mobile phone plan?” For reasons like this, Rowland said network managers would benefit from being tied into a DevOps organization.
Using DevOps, you would know ahead of time that an existing plan for implementing ultra-high speed networks and availability on a building-by-building basis isn’t going to work. DevOps team members are in constant communication with one another, so rollouts are based on the shared knowledge that one building needs the capacity sooner than all the others. Network administrators can procure for certain buildings first. Where higher capacity is required, decisions are made around where to locate routers and switches. Should they be located in laboratories or should they be moved to closets?
Sometimes, developers deploy applications before finding out whether the infrastructure can support them. Networks are also negatively affected when a developer doesn’t know what the infrastructure can realistically support, according to Rowland. A DevOps framework prevents that from happening, she believes.
“Before we start stringing cable and rolling out a supercomputing LAN, maybe we need a plan for when and how to accomplish that; and, while we’re doing that, let’s ensure that we have the capacity because this could impact what you have, where it’s located and when it’s needed,” Rowland said.
DevOps tools and skills
The new software-defined networking technology OpenFlow, though nascent, might help solve DevOps’ lack of visibility into networks, and puts DevOps at the center of how networks are managed. An OpenFlow-based, software defined network would make networks more programmable, enabling networking teams to collaborate more directly with DevOps teams.
“It’s a key part of how we see networking evolve over time, with DevOps automating policy in the network,” said Shah.
How will networking vendors respond to DevOps?
The Open Networking Foundation, the nonprofit organization that promotes OpenFlow, is a who’s-who of networking and infrastructure heavyweights: Facebook, Google, Microsoft, Yahoo, Cisco Systems, Juniper Networks, HP, Citrix Systems, Dell, IBM, NEC and VMware.
Splunk is a company with software that can help with managing unstructured data, particularly machine data which gets mapped with Splunk tools to reveal insight about networks, the business you’re in, and IT generally (physical, virtual and cloud). The company’s website claims to help “break down the silos” of operations and boasts that it can “enhance DevOps collaboration.”
In addition to vendors that offer physical devices or applications that support infrastructure transparency and management, there’s also a new breed of companies, such as Nodeable that have their eye on managing IT for the cloud.
How can network engineers work with a DevOps movement?
As DevOps evolves, networking pros must learn scripting, as well as configuration and deployment tools.
"Developers have come to see that integration and configuration should have been accomplished at the software interface from the start," said Shah.
Already DevOps job listings are starting to appear on career websites. As networking pros consider adding workers to their teams, they should consider DevOps practitioners who will have soft skills and the mentoring ability to help a networking team work with a DevOps model.
Let us know what you think about the story; email: Lisa Sampson, Feature Writer
This was first published in January 2012