Sit in on a DevOps-in-the-cloud meeting and you might wonder why everyone can't get along.
DevOps -- the shorthand term for teams where developers and operations folks work side by side with equal and shared ownership of a product or project -- has conflict potential built in. Why should developers care what happens after a product launches? And why should operations lose sleep over how fast new code has to be produced? Why should either of them care about security? And how can all of this possibly work seamlessly in a public cloud environment like Amazon Web Services (AWS)?
Few would consider managing DevOps in the cloud a good time. But it can be done. And there are a some steps companies should take to get the most out of AWS, DevOps and everyone's time.
Set up rules
Perhaps the trickiest part of managing a DevOps team, or overseeing a transition to a DevOps mentality, is translating the promoter's enthusiasm to IT teams and, eventually, the entire company. In most cases, an interest in DevOps starts at the grassroots level, said Ernest Mueller, a DevOps consultant and a founder of the Agile Admin blog.
"In my experience, it's usually a handful of people sold on the idea, but unfortunately, their peers aren't as excited about it," he said. "And that's where it gets challenging."
A good place to start with change-resistant peers is to remind them how stressful their jobs are now, suggested James Smith, a consultant with the DevOps Guys. "They don't want to change, but they're spending 80% of their time fighting fires and only 20% doing something innovative."
Ernest MuellerDevOps consultant
Be sure teams understand everyone else's job, added Rich Morrow, a DevOps and Agile analyst for GigaOm Resarch. And there's no secret to getting buy-in -- you have to make it the rule.
"One big step organizations can take is to outlaw the term 'hand off,'" he explained. "We have to be in this together. Outlaw the term and remove the finger pointing."
And it helps, of course, if management is on board.
"Leadership backing is key to all of this," said Jay Lyman, research manager for cloud platforms at 451 Research. "This is starting to become more mainstream and leadership is starting to take an interest in how this all plays out."
But developers and lines of business must go through the learning curve to get behind the DevOps process.
The final piece for the change-resistant is human resources. Having management and DevOps evangelists speak with HR about changing financial incentives to focus more on creative, productive work and less on firefighting can go a long way toward convincing the dubious. In the lease, HR can help ensure other departments are supportive and recognize the changes as good.
Measure and keep measuring
If peer pressure and management support still aren't creating a cohesive team, metrics will. This is particularly true when using AWS.
"You want to compare the old way to the new way, but on AWS, you want to make sure you're looking at load performance, scaling level and cost," Mueller said. "It's important to correlate all three of those together."
Looking at those metrics on AWS is what will show how much more efficient the process is, he added. "Establish those metrics and the results will really speak for themselves."
Measuring shouldn't stop when things are going smoothly, Mueller warned. "Within six to 12 months, a true DevOps team is going to actually see improved customer perceptions, but you have to measure as you go," he said. "Track turnaround times, defects [and] how quickly operational issues are resolved."
Specific to AWS though, overlay correlating events with metrics and with a log management system. "You have to get rid of the old ways of planning. They're just not suitable in a cloud environment," Mueller said. After all the data gathering, team members will have a story they can take to the rest of the company that involves facts, not opinions.
Accept that automation is your friend
Often, a major step a DevOps team will take is to decide which jobs can be automated, particularly if a cloud platform is involved. This isn't necessarily a popular decision, even though it can improve the quality of an engineer's life.
"In a lot of people's minds, automation means you're out of a job," Smith explained. "We try to make the case to employees and senior management that skilled individuals do not need to be doing the things machines can do. There are repeatable, maintainable tasks that can be done over and over again better by a machine."
And the cloud can improve that further. "You want to use AWS for all the no-brainer things," Morrow said. "If there's a QA bottleneck, you can spin up five or six or 100 of the exact QA environments, run all the tests in parallel, and replicate them 100%. This is how automation in the public cloud can take the bottlenecks away."
With the time that automation creates, employees can move into different roles, tackle more creative challenges and forget the firefighting. "When you're not getting 200 emergency pages a week to fix problems, the normal cadence of work life is restored and suddenly bottlenecks disappear," Mueller said. "It's important to show everyone how the pain can go away."
Take on 'DevOps for life'
Perhaps the biggest pill for everyone to swallow is that this change is not temporary. "We call it 'DevOps for life,'" Smith said. "This is a long-term organizational transformation that you're going to work on day in and day out."
But DevOps in the cloud isn't a bad thing, Morrow explained. IT teams won't have to wait around for equipment and they'll get to be hands-on. And all of this can reduce cycle times.
Get more on how AWS works with DevOps
Read up on the future of Agile, DevOps