Last week I was re-reading this blog post - dev2ops.org/blog/2010/2/22/what-is-devop... - about an emerging trend called “DevOps.” The article was written about a year ago and the concept has really matured and gained interest since then. At the risk of over-simplification, DevOps aims to smooth the disconnect that frequently occurs in companies between application developers (Dev) – the people tasked with technology innovation and change; and operations (Ops) – the people responsible for putting that innovation into production in the enterprise data center and the business.
The post got me thinking about the state of application development versus networking. Application development has moved into a new era of agility, led by process evolution (Waterfall to Agile), a rapid transformation of foundational tools and libraries, and new ways to leverage open source code and communities. As application developers have become more capable and agile, they have put pressure on the deployment infrastructure (servers in data centers) to be equally agile and responsive. And now, in turn, the deployment infrastructure is pushing on the network to deliver the new capabilities quickly and efficiently to the business.
In the broader context of information technology, it is clear that many businesses are becoming more and more reliant on the speed of their IT (or R&D) capabilities. This newfound ability to quickly develop new applications either to directly support the business’ revenue (e.g. Google, Facebook, etc.) or to improve the internal business operations, is no longer a luxury. Agile software development methodologies have allowed these businesses to rapidly develop new IT or product capabilities and refine them quickly to get the final product. As the article highlights, this speed create a tension – or a “Wall of Confusion” – between agility (development) and stability (operations), and the DevOps movement has really been focused on giving the operation folks the tools and processes to smooth those tensions. Technologies like server virtualization, orchestration tools and even “Infrastructure as Code” concepts are facilitating this transition, making the computing infrastructure much more responsive to the needs of the applications.
Editors note – we added the third frame of the graphic for purposes of this blog.
This “Wall of Confusion” could now be drawn between Operations and Networking. Today, the network is squarely Waterfall. It takes a long time to design and engineer a network to support a specific set of assumptions based on the gross application needs. In a world where the applications needs are changing rapidly, we no longer have that luxury. As Ops teams have become more fluid with server virtualization and tools for orchestration, they are now looking at the network to get “agilified.”
Technologies like OpenFlow and the general trend toward Software-Defined Networking (SDN) are emerging as enablers to help “virtualize” the network resources and bring programmatic aspects to the network. These are necessary steps in the evolution of the enterprise network – where it ultimately becomes just another cog in the rapid application delivery machinery that enables us to transition smoothly from business concept to deployment to delivery in synchronous, agile steps.