To gather insights for DZone's Continuous Delivery Research Guide, scheduled for release on January 26, 2016, we spoke to 24 executives who are implementing continuous delivery in their own company or helping clients do so.
Specifically we spoke to:
Casey Kindiger, CEO, Avik Partners | Ez Natarajan, Vice President Cloud, Beyondsoft | Tom Cabanski, Director of Software Development, Blinds.com | Kurt Collins, Director of Technology Evangleism and Partnerships, Built.io | Chris Madsen, CEO, Circonus | Steven Anderson, CEO, Clutch | Yaniv Yehuda, Co-Founder and CTO, DBmaestro | Andreas Grabner, Technology Strategist, Dynatrace | Elaina Shekhter, CMO, EPAM Systems | Charles Kendrick, CTO and Chief Architect, Isomorphic Software| Baruch Sadogursky, Developer Advocate, JFrog | Topher Marie, CTO, JumpCloud | Edith Harbaugh, CEO and Co-Founder, Launch Darkly | Jessica Rusin, Senior Director of Development, MobileDay | Stevan Arychuk, Strategic Marketing, New Relic | Arvind Mehrotra, President and Global Business Head, NIIT Technologies | Zeev Avidan, Vice President Product Management, OpenLegacy | Richard Dominguez, DevOps Engineer, Prep Sportswear | Prashanth Chandrasekar, General Manager of DevOps and Head of Operations, Rackspace | Steven Hazel, CTO, Sauce Labs | Bob Brodie, CTO, Sumo Heavy | Dr. Chenxi Wang, Chief Strategy Officer, Twistlock | Scott Ferguson, Vice President of Engineering, Vokal Interactive | Adam Serediuk, Director of Operations, xMatters
We asked these executives, "How has DevOps evolved since its inception?" Here's what they had to say:
Fabric is being replaced by tools that are far more advanced. Docker is the world for containerization. Netflix is a heavy AWS application built in a container that’s an AMI snapshot. We’re using Elastic Beanstalk as a Docker deployment method. Eight to nine months ago, we wrote a tool to backup Docker environments.
Twenty to thirty years ago, there was separation between server administrators and developers. Now developers have servers running on their computer inside Docker or a virtual machine. PCs are more powerful and developers are more familiar with how to set up servers. This evolution is the result of Moore’s Law. Now that there’s a large-scale use of container technology it’s easier for servers to come to developers. You can set up servers on demand.
Tools are insufficient, you need to embrace change.
DevOps has evolved into containerization today. There was a new push with the Linux kernel release. There's a massive wave with new containerization from Docker and Mesosphere.
Microservices architecture has pushed DevOps to the forefront. Things used to be manual. Now containerization accelerates DevOps, and they give the ability to deploy quickly. You can automate a lot of tasks and make it easy to move things.
It is more coveted now. DevOps has gone from a cool idea to a very trusted solution with tools that solve problems, tools that developers can use to solve SysOp problems. Brought the world of SysOps to devs. Now you can write scripts or use scripts that are already written and be up and running in 30 minutes. SysOps now handles scaling and upgrading.
Early DevOps focused on the developer point-of-view — remove the burden on development with operations. Now there is creative work on both the development and operations side and a lot of repetitive work that can be automated. This will lead to efficiency, speed, accuracy and lower costs. Build better products by being closer to the customer.
It is disturbing that senior management sees DevOps as a group. It started as a guerilla operation with more freedom. Now it's a more traditional approach with specialists and departments. Agile is about throughput over efficiency, but we're evolving away from agility and flexibility. Don’t create separate teams, create cross-functional teams.
The ability to be data driven is a more recent trend that is driven by enterprise. Originally wanted to optimize the ability to change by evolving the enterprise with high quality software. Companies who have matured using DevOps know how to move fast and build good software.
It used to be that the ops team was completely separate, and code only flowed one way. It was not seamless. Operations is no longer working as a gatekeeper, it’s working as a helper.
Continuous delivery has been around for a while and has evolved by being able to easily automate various elements of deployment. More and more the entire application landscape is replaced with automated platforms. DevOps has moved from no well-defined methodologies to quite a few programmatic applications. The magic is how to combine people and continuous delivery with collaboration and communication.
Started with automation of the mobile industry in the 1960’s and 70’s, which followed the standards and principles of DevOps to produce more, faster and at scale. Today, we're moving toward mission learning and the next evolution of automation. It ends with elimination — just ensure that the land is fertile and the seeds are provided, and cultivation will occur. Once you’re able to predict what will happen, the software will act on its own to fill the gaps to eliminate human need to produce outcomes without interruption.
We’ve gone from one team’s responsibility to everyone being involved with tools and automation to infrastructure as code. Operations as a role is distancing itself from SysAdmins — it’s more development than operations. Systems don’t need operators, you need to build self-healing, self-scaling systems.
First, DevOps was focused on automation of build, test, produce, deploy. People don’t understand the culture change that’s needed. They take a view that is too simplistic that with the right tools you’ll be able to solve the problem. Microsoft has not been successful, SAP’s solution manager has been successful. People buy the tools but don’t understand the entire production cycle or culture. Standard prescriptions do not work. There are no “cookie-cutter” solutions.
It's always been there. Understanding and appreciation is much greater today. DevOps are not rock stars but they are much more appreciated for their knowledge of different deployment environments — cloud and on-premises.
It has become more sophisticated as the tools have improved. As more companies see success, more companies will want to adopt. The scope of DevOps has grown to include user stories and product planning. DevOps is still a subset of Agile but encompasses virtually everything else.
DevOps became possible when we learned how to operate hardware as software. This enabled us to start using systems the way they were capable of being used. Better tools convert hardware to software better with virtualization. The better the tools, the better the DevOps.
I’ve seen the entire movement. We’ve gone from separate departments for developers, database administrators, and production to more integration and access. Everyone is closer to the process from design to delivery.
Not enough! Tools that support DevOps remain relatively rudimentary, and most organizations that are effective with DevOps use a lot of homemade automation.
There are so many tools now! The focus on this area has brought in strong enablers like VictorOps and GitHub, opening possibilities that didn't exist years ago. Of course, we're also seeing legacy enterprise software trying to hop on this bandwagon. Active Directory as a DevOps tool? You can't compete in the Information Age using Bronze Age tools.
The more we do, the more stable it becomes. If processes are automated and you're able to get feedback, it easier to make improvements. It’s not a process you start and stop. It’s a process of continuous improvement.
How have you seen DevOps evolve since you've been involved?