Public cloud services present both an opportunity and a challenge to IT organizations that have not yet embraced DevOps. The ability to efficiently and cost-effectively access IT resources can help development teams keep Agile projects moving forward. However, development taking on the responsibilities of operations creates a disconnect that DevOps can help close and the cloud can help support.
“Especially today, with Agile being in the mainstream, pretty much any organization doing custom development on premise will be doing something Agile. It may be the whole IT development group, or maybe just some teams, but [Agile] is now understood and present, and that means they are delivering a lot faster to their end users, and they may find that operations is just not reactive enough,” says Michael Azoff, principal analyst, Ovum.
“The challenge is one or both parties are still living in a Waterfall world, and its siloed specialization of every function has disrupted services,” says Paul Peissner, director of Business Development, CollabNet.
According to Azoff, operations becomes a bottleneck when it can’t, for example, set up test servers in a timely manner. As a result, development teams turn to public cloud services to manage that part of the process themselves. “That’s quite a common occurrence,” says Azoff. “On the plus side, it satisfies the needs of development. The downside is, it’s not a managed process, and it may not have the right degrees of compliance. There’s a whole bunch of issues: what data is put on those clouds, is it regulated internally, and so on.”
“People are thinking in the mindset of Waterfall moving faster,” says Peissner. “It’s like an elephant herd running. You never see it. It’s so far out of their perception of what’s going on. It’s more like cowboys herding cats on a hillside,” he says.
Peissner explains that traditional IT organizations that have adopted ITIL for IT service management are not prepared to handle the output of Agile development. “The infrastructure of people set up to handle big apps is overwhelmed when 300 features are coming out every quarter. Making sure that people know what just got released, how to find it, how to go get it… all of those features never anticipated the constant communication you need to have with the business,” says Peissner.
IT organizations that embrace DevOps can address these issues and put themselves in a position to better reap the benefits offered by public cloud services. “The essential thing about DevOps is it’s about collaboration and dialogue. Whatever is agreed upon -- even if that process is not managed by Ops -- at least they are aware, they are in control, they can lock down the process on the public cloud,” says Azoff. “The IT governance side of operations is an important part of their activity.”
“The fact they are talking means that they can find other solutions, and it may well be the operations people that manage the cloud… from a development point of view, they’re just seeing servers being provided as a service, but it becomes part of a controlled process; it lowers the risk and is able to satisfy the needs of the development people,” says Azoff.
While DevOps puts operations back in control, it also puts more responsibility on development to get projects right. The documentation and sustainability of public and private clouds is more static than of local data centers, says Peissner. “The data center is an art more than a science. When you’re managing it there’s a million things that can go wrong everyday. When something goes wrong with the app, there’s a change made outside of the app. This can create a problem for the developers working from the inside out. They don’t have visibility into the band-aid fix,” says Peissner.
More resources on public cloud services:
The cloud, on the other hand, is more static. “The cloud is a framework in which you put things in, and you don’t change it. It’s an agreed upon structure that is well-documented,” says Peissner. If something goes wrong with an application, it’s likely not the cloud provider’s fault. As a result, there is more pressure on development to read the documentation and get the application right the first time.
Tools to help bridge development and operations
Tools like release management automation tools, which allow you to map and detect development projects, can support DevOps and its use of the cloud. “[Release management automation tools] allow you to lock down a whole process coming through from development to deployment, being sure that you’ve got all the right versions and that the libraries are up to date,” says Azoff.
Azoff also advises organizations to look for application lifecycle management (ALM) tools that handle the entire deployment process or that work with release automation management tools to bring that process together.
Bottom line: “Tools should not come out of the silos,” says Peissner. “The development community is building release tools based on how they think apps should be released. In a startup, that’s fine. In a mature organization, that’s just insane. Operations understands the disruptive nature of IT. Operations understands how to keep the business running with the limitations of the current environment. Development is missing a whole generation of knowledge that can be a painful learning curve and destroy its reputation.”