As network engineers adopt virtualized application delivery controllers within their infrastructure, many will discover that replacing or supplementing specialized hardware with virtual appliances can improve collaboration with application development and testing teams and lead to a faster and smoother rollout of critical applications into production.
Virtualized application delivery controllers encourage better collaboration because it is much easier to put a virtual appliance into the hands of a developer than it is to give that developer access to an expensive piece of hardware that is sitting in a production environment. Network engineers can allow developers to spin up a virtual application delivery controller right on their laptops or lab servers.
"The hard part for developers is that they are developing in an artificial environment," said John Engates, CTO of cloud provider Rackspace, which is currently trialing a new virtual version of F5 Networks' flagship application delivery controller, BIG-IP Local Traffic Manager (LTM). "They don't always know the target environment. They don't even know if [their application] is going to be load balanced."
If network engineers can give developers and application testers access to virtual application delivery controllers, those teams can get a better sense of what kind of infrastructure their applications will be running on and what kind of features and functionality the applications will have access to on the application delivery controllers, Engates said.
The end result will be applications that are optimized for the infrastructure that network engineers have in their production environments.
Virtual appliances promise safer and faster development
Joshua Suggs, a database administrator, develops applications on a regular basis at Florence County Government in South Carolina. Typically, when he wants to roll those applications into production, he has to test them on his production application delivery controllers, a pair of high-availability AX 2100s from A10 Networks.
"When I was working on a new application or website or whatever, I would deploy it into a testing application server, and then I would have to test the load balancer configuration on our production boxes," Suggs said. "We never experienced any problems with it, but from a development standpoint, it's always better practice to separate your development and production and staging."
Suggs has been beta testing a new virtual appliance version of A10's application delivery controller, the SoftAX. He sees the virtual appliance's potential for use in his development and testing environments, and having a virtual application delivery controller in his development environment will help him get new applications into production faster.
"It makes it easier for me," Suggs said. "In the event that I misconfigure something, I don't have to worry about disrupting production services. I foresee that it should speed up time to production for new applications. If I have a virtual machine on my work station, I can hit the start button and in a couple of seconds the [application delivery controller] will be running. I can fire up a configuration and see that it's working, and then I can turn it off."
In addition to speeding development, virtual appliances can help application rollout progress more quickly. "In a lot of cases, it can take six to eight weeks to tune an application and an application delivery controller to work together," said Zeus Kerravala, distinguished research fellow at Yankee Group. "This should take almost no time at all. It shortens time to production."
Virtual application delivery controllers becoming mainstream
F5 Networks, Citrix and A10 Networks, all vendors of traditional, hardware-based application delivery controllers, have introduced virtual appliances in recent months. Meanwhile, Zeus Technology, a pure-play software-based application delivery controller vendor, has demonstrated that it can achieve 18 Gbps of throughput on Cisco's Unified Computing Systems' server.
Application delivery controller vendors have introduced virtual appliances to the market for a variety of reasons. As virtual servers become more mobile in virtualized infrastructure, it makes sense to have virtual application delivery controllers that can migrate with those virtual servers, Kerravala said.
Virtual appliances also offer price and deployment flexibility options. Many virtual application delivery controllers cost about one-third as much as their hardware-based counterparts. And it's much easier and quicker to download and spin up a virtual appliance on a virtual host than it is to procure and install a new piece of expensive hardware.
Virtual appliances have limitations, of course. For instance, specialized hardware offers optimized performance advantages, such as SSL encryption offloading. Handling SSL with the CPU of a server that's playing host to a virtual appliance isn't ideal for an application that's serving hundreds or thousands of users across a wide area network (WAN).
The appropriation of virtual application delivery controllers by application development and testing teams is an example of how the flexibility of software can trump the performance advantages of hardware.
Virtual application delivery controllers cut out the politics of developers vs. networkers
In large enterprises with plenty of resources, there might be enough money in the budget for a hardware-based application delivery controller dedicated to the development and testing environment. In smaller enterprises, however, application developers and testers traditionally have to petition the network infrastructure and data center folks for access to production gear.
"If you're a developer, you have to ask for resources, and that can be a time-consuming and political process to get resources to develop your applications to," said Paul Nicholson, director of product marketing for A10 Networks. "And you may only get to use the box for a certain period of time. You might not get to use it at all. You might have to put something on the server and have to wait for the network team to get back to you."
"IT usually has to go back and forth a number of times," said Engates of Rackspace. "You have to get the developer to log into the production environment directly and test his application in that production environment and adapt the application to whether or not the load balancer is keeping track of sessions." Virtual appliances provide a more realistic development environment that mimics the experience of the production network, he said.
Developers will take advantage of advanced application delivery controller features
Nicholson said that if developers are given time to get more familiar with virtual appliances in their development environments, they will learn how to customize their applications to work with more advanced features and more complex architecture.
"They might learn to use the ADC to its full potential, especially when there are things like scripting involved, both for management and for traffic manipulation, which is a feature of pretty much any advanced ADC right now—from us, from F5 or from Citrix," Nicholson said. "So those capabilities—which are much more advanced than a simple server load balancer—[developers are] going to be more exposed to that, and those features will be used more."
Engates said developers will also learn how to experiment with more complex network architecture, with multiple tiers of application delivery controllers with a multi-tiered application.
"I imagine that you might use ADCs in more places with the application than in the past," he said. "Usually, where we see a load balancer used is in the front end, load balancing all the public Web traffic. But go deeper into the application and you have Web servers talking to application servers, application servers talking to utility servers, and utility servers talking to databases. If a developer or tester or somebody architecting an application had an ability to introduce ADCs into more locations, he might well do that."
Developers may get creative with how they use network architecture, Engates said. For instance, if the application involves some video encoding in the back end of the application, the developers might design it so that an application delivery controller could sit in the back end optimizing the video.
"This gives them the power to try things in a lab, and it gives them the flexibility to try it without having to go back and forth with the architecture guys," he said. "It empowers them to ask questions, be more hands-on and experiment."
Let us know what you think about the story; email: Shamus McGillicuddy, News Editor