Bio: Lori MacVittie is responsible for education and evangelism of application services available across F5’s entire software suite with an emphasis on F5 Synthesis and LineRate. She currently focuses on cloud computing, infrastructure, devops, data center architecture, and security-related topics. Lori has extensive development and technical architecture experience in both high-tech and enterprise organizations, in addition to network and systems administration expertise. Lori authored this Blog.
One of the most frustrating experiences a developer can have is when a deployment into production goes wrong. It doesn’t matter how much you test yourself or in QA, invariably something goes wrong in production. That’s usually because while traditional DEV and TEST (QA) environments closely mirror the application infrastructure that will be used in production, it does not – and cannot – mirror the network infrastructure. The complex web of application and network services that exist in a production environment have been too expensive and difficult to replicate. So developers and admins have had to cross their fingers and hope nothing goes wrong. And when it does? It’s back to the queue until the next change window opens.
One might surmise that if you could only test deployments in a real environment that such situations would effectively go away. But asking to test against real, live production network infrastructure is akin to Oliver Twist asking for “More, please” in Dickens’ famous novel.
This nightmare is not reserved for developers and operators. Imagine, if you will, a network or application service professional crafting the appropriate policies designed to scale, secure, and optimize your application. This is not a trivial task. Oh, certainly assigning IP addresses and even VLANs seems simple, but there’s so much more to “the network” than just basic networking. There’s the load balancing with its associated (and very much required) monitoring. There’s application and network firewalling, anti-malware and anti-virus scanning for systems that exchange large data sets. There’s optimizations for mobile and things that must be configured, routes between services, isolation policies and more. This isn’t a “give me an IP address and let’s be done with it” kind of process. It’s a complex dance involving multiple parties that requires collaboration and careful orchestration.
In the past there’s been no way to “test” such a complex interaction of services outside of production. It’s do or die, deploy or roll back. It’s no wonder it takes so long to move that app into production.
But things are changing, for the better. Virtualization and programmability of network and application service infrastructure is making it possible to test policies and configurations before production, in increasingly complex configurations. Whether it’s the use of virtual labs or virtual appliances, the need to support testing of network and application service infrastructure is being heard and answered.
This is critical, especially as these systems become more integrated and orchestrated. Consider the role of Cisco’s APIC, for example, in not only provisioning but configuring a variety of application services such as those We (F5) provide through BIG-IP and BIG-IQ. It’s important that those responsible for deploying the policies that scale, secure, and optimize apps are able to test the orchestration that will ultimately deliver the application’s needed services into production.
That’s why it’s exciting to see Cisco’s efforts around DevNet and in particular its sandboxes. The ability to test against real infrastructure before moving into the production environment is of significant value in reducing the time it takes to move through production and improving time to market for all manner of applications. Like our own DevCentral, Cisco’s DevNet efforts are designed to provide a community in which documentation, testing, example code, and support are all available when its needed, whether that’s at 2pm or 2am.
This support and ability to test is paramount as DevOps continues to make its way into the network and bring with it the benefits developers and operators have begun to enjoy: stability of infrastructure, consistency of policy, and speed of deployment. “The network” needs not only the methodologies DevOps brings but similar frameworks for testing and the application of continuous integration for those networking components that rely on integration to provide for deployment and administration of network and application services, such as Cisco and F5.
Sandboxes, documentation, examples, and virtual appliances all lend themselves to enabling DevOps to extend its reach into the deployment pipeline. By including critical network and application services as part of an extended CI/CD pipeline, organizations can enjoy the benefits of a more agile deployment pipeline.
Greater agility in the pipeline through community, testing, and support is as much a goal of our partnership with Cisco as the deployment experience offered by the integration between Cisco APIC and F5 solutions.
Check out the 2nd release of F5’s State of Application Delivery Report. This survey of over 3,000 global customers helps us better understand how organizations from a diverse cross-section of industries, departments and regions deliver applications and keep their data and users secure, in light of such IT trends as cloud computing, SDN and DevOps.