To gather insights on the state of the DevOps movement in 2017, we talked to 16 executives from 14 companies who are implementing DevOps in their own organization and/or providing DevOps solutions to other organizations.
The most important elements of DevOps are 1) people; 2) process; and, 3) technology. People are the most important since they need to change the culture and the mindset. Process involves tearing down walls between all departments, defining the process, and creating controls that cannot be violated – by anyone. Optimize the use of third-party technology to automate everything you possibly can. This is necessary to be able to scale and to make the feedback loop smaller, to release faster, to increase quality, and to reuse assets across development, testing, and monitoring. While these changes are not easy, they will ultimately improve the quality of life for everyone in development, operations, security, testing, and sales, as well as the end-user experience (UX).
The biggest change to DevOps has been its acceptance. DevOps has gone from being new and different to the “new normal.” DevOps outperforms any other method by a significant margin, is causing significant disruption in the industry - even in enterprise companies with legacy systems that are willing to make the change. It has moved from just being a bottom-up implementation to top-down since senior management can see the results it achieves.
The next biggest changes identified are the increase in automation and collaboration. More automation and fewer operations solves problems faster. Automation is built in up front to optimize build time versus set-up and onboarding. More focus on containers and replicable builds assist with scaling, sharing, and collaboration.
We’re not only breaking down walls between developers and operations but also with support, sales, and marketing to meet the needs of all departments. It’s still about people collaborating and finding a better way to get something developed.
The greatest value delivered by DevOps is improved speed to market with a quality product that meets or exceeds customer expectations. Fast iteration gets new features out faster at higher quality, delivering value more quickly. You’re faster because you’re focusing on the business value and building what the customer wants rather than some shiny new technology. Continuous deployment enables features and fixes to be rolled out more quickly and enhances customer engagement. This reduces wasteful development. We’ve seen a 30% improvement in customer satisfaction, a 10x increase in innovation velocity, and a 2x increase in efficiency.
DevOps is a repeatable process where every member of the team knows where everything is in the process, and each team member knows their role. This results in a more reliable path, faster and more stable releases. Better teamwork equals better products.
Most respondents are using their own solutions to implement DevOps. In addition, the most frequently used tools are Confluence, Jenkins, JIRA, Team City, and Travis, with 14 others being mentioned.
Real-world problems being solved by DevOps revolve around improving quality, speed to market, and reducing cycle times with automation. An online trading company went from deployments that took weeks to deployments in under a minute. The ability for any company to test on all operating systems, browsers, and devices, thereby removing testing from the chain of development, lets developers focus on building business value. DevOps provides the ability to receive a bug report and turn around a fix the same day with confidence the fix has not introduced any subtle regressions. Big companies with geographically distributed developers have the ability to check in source code to expedite the development process. Replacing manual testing with automated can save hundreds of thousands of dollars or reduce headcount by 35%. A gaming company with a complex application portfolio can make several thousand updates every day, while a telecommunications company with more than 100 apps can combine their business and operations systems on the same platform.
The obstacles to success revolve around people. People in power can be slow to change. Kingdoms may go away, and this results in power battles. People in management are too comfortable in their current jobs and don’t want to change. There’s a fear of having greater responsibility for the code running in production. However, this gives the engineering team a lot of freedom to try new things and deploy as they wish with almost instant gratification by seeing the impact code has on end users. Everything is mental – the “not built here mentality,” especially with start-ups. Remove this mentality and focus on where your company adds value. Don’t worry about your kingdom, worry about the needs of your customers.
DevOps is a process of incremental improvement that takes time. It’s an evolutionary method, not a quick fix. Netflix and Google took seven years. It may be painful getting started, but once you get past the initial start-up issues and address them, the tools and the automation reduce the number of incidents, and, consequently, the amount of pain felt by the organization. Resist the urge to go backward in the process for sake of urgency. Do the hard work, put the processes, tools, and automation in place, and you will reap the benefits.
The greatest concern regarding DevOps goes back to people not being willing to change or not being fully committed to the change. You must change to produce value and velocity. If you don’t change, you’ll lose people and be replaced by your competitors who have embraced change to develop quality code more quickly.
Early in the adoption and implementation, people will blame tools for finding the errors in the code. However, root cause analysis will help uncover the source of the problem.
Help people collaborate, communicate, and integrate to deliver better software. Build security and testing into automated processes from the beginning and see the benefits of the journey rather than looking for a perfect end state (hint: it doesn’t exist).
The greatest opportunities for the future of DevOps are: 1) the continued growth of the cloud; 2) tools facilitating automation; 3) containers; and 4) company-wide collaboration. There’s a healthy symbiosis between DevOps and the cloud. As AWS, Red Hat, and Azure grow, DevOps will grow exponentially. AWS is providing more tools to facilitate automation, and there is the consolidation of tools so you don’t have to custom build deployments. We will see greater adoption of the public cloud by regulated industry. Containers will become more important automating the flow through the cloud. DevOps will affect all aspects of the organization fostering communication and collaboration among developers, operations, QA, security, testing, deployment, business planning, and BPO to provide a better user experience.
There’s only a two percent adoption of DevOps practices around the world. We will move from early adoption to general adoption by sharing stories about what we’ve done and how tools can remove fear and pain with ongoing monitoring.
One consistent theme about what developers need to keep in mind with regards to DevOps and Continuous Delivery is the need to be flexible and collaborative. Be open to collaboration, sharing, and gaining empathy for those you are working with — operations, as well as the end user. In addition, don’t boil the ocean. Find a problem and x a problem. Fail fast, cheap, and small. Don’t be tempted to move backward in the DevOps process. Everything has a tax associated with it. Keep this in mind and commit to the DevOps process. The more you know about testing, writing code for testing, and writing automation, the more valuable you will be as DevOps becomes more ingrained.
A couple of themes surfaced when we asked respondents what else we needed to consider with regards to DevOps for this research guide. We learned it’s important to understand that DevOps is not a product, it’s an implementation of a manufacturing process that relates to technology. DevOps principles are applicable throughout the industry, reducing uncertainty and improving the efficiency of process management. Furthermore, there is the need for operations and developers to be using the same set of tools to solve common problems whereby the tools are facilitating communication, collaboration, and problem-solving.
By the way, here's who we spoke to!
Michael Schmidt, Senior Director, Automic.
Amit Ashbel, Director of Product Marketing and Cyber Security Evangelist, Checkmarx.
Sacha Labourey, CEO and Founder, CloudBees.
Samer Fallouh, V.P. Engineering, Dialexa.
Andrew Turner, Senior Solution Engineer, Dialexa.
Andreas Grabner, Technology Strategist, Dynatrace.
Anders Wallgren, CTO, Electric Cloud.
Job van der Voort, V.P. of Product, GitLab.
Charles Kendrick, CTO, Isomorphic Software.
Craig Lurey, CTO and Co-Founder, Keeper Security.
Josh Atwell, Developer Advocate, NetApp SolidFire.
Joan Wrabetz, CTO, Quali.
Joe Alfaro, V.P. of Engineering, Sauce Labs.
Nikhil Kaul, Product Marketing Manager Testing, SmartBear Software.
Harsh Upreti, Product Marketing Manager API, SmartBear Software.
Andi Mann, Chief Technology Advocate, splunk.
More DevOps Goodness
For more insights on implementing unambiguous code requirements, Continuous Delivery anti-patterns, best practices for microservices and containers, and more, get your free copy of the new DZone Guide to DevOps!
If you'd like to see other articles in this guide, be sure to check out: