Even though it’s still a pretty complex concept to grasp and achieve for the late majority of companies, DevOps has goodies for everyone in the software chain: developers, operations, QA and also touches the business side of things: managers who monetize the software and executives who worry about the bottom line.
Here are some of the benefits cited by each group:
Automated provisioning is a big win for programmers, as it enables them to create a development environment themselves with no lengthy approval cycles, or waiting for IT to provision a server. Thus, no lost time.
When developers can provision a working environment in a few minutes, with all the right resources—compute power, storage, network, applications — it changes the way they work. They can be far more creative and innovative and it makes it much easier for them to try different scenarios, and test their code more thoroughly.
When developers first begin to work in a DevOps environment, one real eye-opener for many is understanding just what goes on inside that black box labeled “Operations.” That knowledge helps developers work effectively with operations in a joint problem-solving mode. Problems are resolved faster and cause fewer distractions. Best of all, the frantic late-night fire alarm phone call becomes a thing of the past—and that leads directly to greater job satisfaction and better quality of life for developers.
There’s a widespread belief that system administrators constantly obsess about system stability—and in fact, it’s true and quite normal for it to be so. Their nightmare scenario is a software release that causes downtime within seconds of production deployment, while developers aren’t taking responsibility for putting the system down and users entering various degrees of outrage—all with no clear path to a quick, effective resolution.
Early adopters of DevOps methods have found that the increased involvement by developers actually improves system stability. Automation also helps by eliminating human errors common in manual operations, and has the added benefit of reducing the amount of time spent on routine tasks.
There’s a quality of life issue for system administrators as well, in the form of skill building, career opportunities, and a great deal more uninterrupted sleep and personal time. In a DevOps environment, operations rely heavily on tools that automate portions of the deployment process.
DevOps requires new ways to test software, which challenges test engineers to innovate on their side of the job. With automated provisioning, test engineers can provision a test environment that is virtually identical to the production environment, resulting in more accurate testing and better ability to predict the performance of new releases. As with other groups, test engineer productivity increases thanks to automation and collaboration.
In theory, DevOps serves just the IT side of the company. However, those who have made the transition will tell you that DevOps changes much more than just that:
An effective DevOps strategy allows an organization to analyze, for the first time and in real-time, Web analytics data, machine data, and existing structured data to achieve a 360-degree view of how customer-facing systems are and are not delivering business value.
DevOps allows organizations to understand the behavior of individual customers, what actions they take and how their behavior compares to that of other customers. It allows an organization to perform what-if analyses of changes to their user interface or product offers. Based on the results of these analyses, the Agile “development” side of DevOps then allows organizations to respond to market needs more quickly than ever before.
DevOps also gives product managers immediate feedback about the impact of new features, which allows them to test variations and measure their effectiveness. Line of business managers love DevOps because software gets to market faster—giving them the competitive edge they crave. Because DevOps improves system stability, customers experience fewer outages and are therefore more loyal—the perfect cure for high churn rates.
When the DevOps movement started, its creators surely weren’t concerned with how it would be received in the corporate boardroom. Just five years later, DevOps is a hot topic in those same boardrooms. So what do executives like about DevOps?
Well, for one thing, it helps the organization deliver high-quality products and get them to market much faster than competitors with traditional methods of software development—actions that impact the bottom line and build brand value. Another reason is the ability to attract and retain top talent: high-quality developers, system administrators, and test engineers want to work on the latest and greatest.
Finally, when developers, operations, and QA work together, top executives rarely get pulled into interdepartmental disputes, leaving them more time to craft the focused business goals that everyone is now working towards together.
My mindset was to slow down the release process. I wanted to have as few releases as possible so that I could be sure that the system would be stable. After working for several years in a DevOps environment, I’ve done a complete 180 degree turn. Now my philosophy is, the more frequently we deploy, the better.
Aaron Bento, Site Reliability Engineer, New Relic
Five years into the great DevOps experiment, the data is clear: DevOps is here to stay—and for some very good reasons. Many thought it was impossible, but DevOps has succeeded in integrating business users, developers, test engineers, and system administrators into a single workflow focused on meeting customer requirements. And there’s something in it for everyone. Developers and system administrators stop arguing and start supporting each other, lowering inflamed relationships all around. Business managers are happy because they get the quality software products they need to sell their products and services. Executives watch their beloved dashboard metrics—revenue, customer satisfaction, system reliability, and everyone is able to deliver the best results and overall experience possible to the customer.
Gains like these, however, don’t come easily. In order to successfully deploy code more frequently while keeping your systems humming, you need the necessary tools to enable you to do so.
Bunnyshell provides end to end Devops automation, from creating dev, test and production environments, to easily provisioning servers with just a few clicks, and all the way to deploying any app, anywhere, without downtime. Having integrated a multi-user concept, Bunnyshell enables each person involved in the devops process in your company to have access only to the things related to his specific job activities. This way, no one steps on other people’s toes and everyone becomes more productive, all in the service of building better software for your company’s end users.