Computing Applications

DevOps Momentum in the Enterprise

Stages in the DevOps tool chain.
DevOps is an approach used to bring operations engineers and developers together to work faster and more efficiently, with fewer errors, and it is catching on in enterprises.

The way Robert Edwards sees it, utilizing DevOps for software development is a no-brainer. Edwards, director of software engineering at Glidewell Laboratories, a provider of dental products and services, feels as many do about DevOps: it is an approach used to bring operations engineers and developers together to work faster and more efficiently, with fewer errors.

And, it is catching on in enterprises like wildfire.

When DevOps was first introduced in 2009, "it was all about speed, and developers were moving faster," says Jay Lyman, principal analyst at New York-based 451 Research. That meant faster iterations and less time "mucking around with system management and the infrastructure'' for both app testing and production deployment."

While speed remains a big driver, Lyman says, "efficiency has become more of a priority."

Some 63% of infrastructure and operations professionals indicated they have implemented or are already using and expanding DevOps, and another 27 % are planning to implement it, according to Forrester's Q1 2017 Global DevOps Benchmark Online Survey.

DevOps is not only having a big impact on IT, but on entire organizations, observes Justin Rodenbostel, executive director at Chicago-based digital tech consultancy SPR.  "DevOps isn't just about breaking down walls within IT; as an extension of agile methodologies, DevOps breaks down walls across the organization, influencing the way companies are organized," he says. This includes what makes teams/projects/organizations successful, the importance of collaboration and communication and how teams continue to learn, improve and judge themselves, Rodenbostel says.

When Edwards started at Glidewell three years ago, he focused on getting his team to use microservices, agile software development, and constant software deployment, because the old "waterfall approach," which is more structured and sequential, was limiting, he explains. "If you were starting a new app, maybe it would get deployed in three to four months, if not longer, and we wanted to be more rapid, because leadership on the business side wanted to quickly test theories out."

Today, firmly entrenched in DevOps, Edwards finds "The speed at which it feels possible to move from ideation to production is seductive." Now, IT can churn out five to 10 deployments of new components daily, a significant contrast from the days when code often sat and waited for review and signoff, he says.

Like many businesses, Glidewell implemented the agile methodology, and Edwards' group immediately realized the constraints associated with the traditional handoffs they were accustomed to performing. "We moved to a model where developers create, build, test, and deploy their code rather than pass artifacts to different groups,'' he says. 

The most appealing aspect of DevOps, Edwards finds, is the ability for a single team to own the entire software lifecycle. "I've participated in waterfall, where we often experienced this inexorable misunderstanding of requirements, documentation, and purpose of a thing as it moved from one gate to the next,'' he says. "It feels correct for the team that creates and fundamentally comprehends an artifact also to own the build, testing, deployment, and monitoring of it, as well." 

That's why Bill Mayo is interested in utilizing DevOps more. Mayo, CIO of Broad Institute, a biomedical research institute based in Cambridge, MA, leads a team responsible for running a very large, high-performance computing cluster and related storage. The team has invested heavily in software like Puppet, a configuration management tool used to automate and simply software delivery and management, he says.

Mayo says he has witnessed the benefits of DevOps among large software engineering groups at Broad Institute that are focused on building tools for the genomics research community, which have fully embraced DevOps and agile. 

He says DevOps can be useful for managing very large-scale deployments of compute infrastructure and both physical and virtual machines. It is the reason a large team is able to manage its environment, he says. "It is just the way the team works."

The use of DevOps at Broad Institute has also been an attractive IT recruitment tool, Mayo says. "I have also seen it make selection more difficult, as we have turned away a number of candidates who clearly had no fluency in this model."  

Edwards hasn't found any major drawbacks to utilizing DevOps, but says it requires some forethought and planning. "Without some thoughtfulness, any well-intentioned implementation can become unnecessarily complicated, brittle, and frustrating,'' he says.

The issues can run the gamut from people to processes to structure. "For instance, it's easier than ever for developers to provision servers, deploy processes, and validate that these processes successfully perform their intended unit of work,'' says Edwards. "That doesn't make developers think like operations people when they need to do so, and inevitably [it is] discovered at the most inopportune moment." 

He cautions that unless IT leaders have a clear vision for using DevOps, they might scare employees because the concept is neither inclusive nor inviting and it implies a staff reduction as roles become folded together.

"I've learned that I can't expect every developer to have this mindset,'' Edwards adds. "We currently have a team dedicated to DevOps, rather than every developer wearing this hat." 

Esther Shein is a freelance technology and business writer based in the Boston area.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More