pressmaster - Fotolia
Modern IT shops say they're on the road to DevOps, rather than saying they've achieved it -- and there are still plenty of DevOps practices to hone as they travel that road.
Many DevOps practices are what one side of the DevOps equation -- developers or operations -- wants to see from the other, but some are shared wishes for better tooling, feedback and adherence to best practices.
"Development says, 'I just want infrastructure and I want to consume it, and I don't want to be bothered by what I have to do to get the firewall up and running and the networking components running,'" said Stephan Massalt, vice president of cloud at IT service provider Swisscom, based in Switzerland. "On the other side, the infrastructure, people are concerned about applying security policy, applying networking and all the stuff that comes with it."
In other words, developers demand IT offers the infrastructure as a highly abstracted, consumable service, while IT seeks tools to make that easier to accomplish. At Swisscom, those tools are OpenStack for infrastructure as a service, as well as PLUMgrid's software-defined networking, which allows developers to spin up VMs in the infrastructure without having to worry about network connections or settings.
Faster feedback loops
IT ops pros also want developers to be cognizant of, and receptive to, feedback on how their apps perform once they are deployed to production, according to Marc Priolo, configuration manager for Urban Science, a Detroit-based data analysis company specializing in the automotive industry.
"After it goes to production, it's not done," Priolo said. "Getting the information to be returned back down to development so they know how to evolve the application is something that I'm pushing as a long-term goal."
Developers have started to think less about getting things to production and are focused on getting feedback metrics to move forward, which lobs the ball back into IT operations' court, as both sides seek new tools to closely monitor the infrastructure and quickly diagnose problems.
"Any operation that happens in your cloud can involve many services, and if something goes wrong, you need to be able to pinpoint it really quickly," said Stephen Voorhees, director of engineering for cloud platforms at Autodesk Inc., a maker of 3D design software based in San Rafael, Calif.
Instrumentation and getting visibility into running systems has become the focus of both operations and developers, Voorhees said. Developers especially need to be thinking about monitoring from the beginning when they're writing their code.
Reusable code and failure pragmatism
App deployment and troubleshooting both could be made easier with an approach to writing application and infrastructure automation code with reusable components, according to Chris Lawther, data architect for a Fortune 50 company based in the Northeast.
"If one piece of the application needs to interact with storage, the guy [who is] writing the Chef recipes would want to provision a server for you so all of your services can write to interact with that, as opposed to, 'Oh, we have a [network-attached storage] device over here, and we store this on the database,'" Lawther said.
"Common reusable services would be on the wish list."
App developers and infrastructure automators alike should also be realistic about the propensity for failure, as systems and infrastructure grow more and more complex, according to Sam Lambert, director of systems for code repository provider GitHub Inc., based in San Francisco.
"Everything fails at a certain scale," Lambert said. "Building software that knows that failure will happen and reacts properly to failure happening is a dream to work with, because it means that you get so much flexibility and you're not continually reactively jumping from thing to thing."
Data portability the next frontier
Finally, a thorny problem still being hashed out by development and operations is the difficulty of making data storage repositories as easy to change and as portable as application code living in containers.
"You've got all this ephemeral stuff in the application layer and then this massive mound of concrete with data," said Mark Betz, a software engineer with 20 years' experience in the industry who most recently worked for a startup called icitizen in Nashville, Tenn. "Something's got to happen ultimately to make it easier to deal with that."
At Lawther's firm, software from Datical, an Austin, Texas, company specializing in database automation, is being used to take the first steps on that journey. Datical's software allows for SQL databases to be configured and updated on the fly more quickly than with traditional tools.
"We've been starting to think about our database as something that is configurable, as opposed to something that we're doing in one-off independent fashion," Lawther said.
Containers' flexibility increases security risks
Land your next IT ops job with these interview pointers
Learn where IT ops' money is going with business value dashboards