To gather insights on the state of DevOps, we spoke with 22 executives at 19 companies implementing DevOps for themselves and helping clients to implement a DevOps methodology. We asked, "What do you consider to be the most important elements of a successful DevOps implementation?" Here's what they told us:
- 1) Culture – not a technology focus, break down the barriers between operations, development, and security. Operations traditionally says “no” to changes because of the downtime. Developers are bringing in shadow technology to move faster. 2) Start simple, don’t “boil the ocean.” Begin with a small pilot project from which you can begin documenting the processes and methodologies that work and those that don’t. Understand that DevOps processes and methodologies will vary by company since every company is different. 3) Embrace breaking things. Fail fast and iterate. Reduce mean-time to release (MTTR). Break early and often to get your processes down.
- Application architecture, microservices, and containers are all loosely coupled architecture enabling small groups of people to work independently to get away from monolithic architecture. Culture continues to be a huge issue. The physical constraints are application architecture. Loosely coupled architecture let you make a lot of good decisions like finding the right toolset for your needs and the flexibility of separating your RMDB.
- Wrote DevOps for Digital Leaders. Three most frequently asked questions: 1) how do you measure success; 2) examples; 3) customer stories. I interviewed 150 companies for the book. Three issues. 1) Culture – how to bring development and operations together – drive from the top down through the CTO or CIO, or create a hybrid approach by infusing the organization with early adopters who maintain a dual role while interfacing with both development and operations. 2) Practices – Agile velocity for development cycles. CD as a process requires automating the entire value delivery lifecycle. 3) Toolset – from planning to automating testing, production, and feedback.
- Culture, process, and technology with culture and process being much more important than technology. Get people to change how they think and the work they want to do. Collaborate, remain continuously engaged. Change the traditional model of project management.
- Culture. The database and the members of the database team need to adopt a DevOps culture. If change is the enemy of stability – smaller, more frequent changes result in less instability while tightening timelines.
- Culture – you cannot force developers to do operations. You must break the silos of development, operations, and testing into one team. Identify the tools and processes that you will need for your organization. We can help you identify the right tools and processes.
- Coordination between upfront application delivery and backend infrastructure and security. IT and security are not up to date on the front-end development tools. There’s a people problem with IT and security.
- It’s a cultural change and adoption of processes.
- Striking the right balance of flexibility and quality assurance. For me, a key feature of DevOps is that developers are trusted to take responsibility for the quality of what they release (and directly feel the consequences if they don’t). However, even with all the good intentions in the world, mistakes will happen and quality control processes are needed to guard against these. Getting the right quality control processes in place that don’t introduce unnecessary friction and, more importantly, lead “I followed the process” being an excuse for poor quality is the art of DevOps.
- Started implementing DevOps four years ago with CI, test automation, automatic pipeline build. We went from waterfall to continuous process. This helped when we launched our cloud process in 2014. We were able to get to beta in six months and then GA six months after that. We now do multiple deployments per day. We use microservices deployment so every service has its own deployment pipeline. The real driving force is delivering customer value on a continuous basis thereby incrementally improving customer value.
- Automation and scalability. We started by hand, hit roadblocks, stopped, fixed, provide self-help. Built integration to be efficient and hardened. Understand the problem you are trying to solve and be aware of the things that can go wrong.
- Automation is key. Automate everything you can to reduce risk, secure things more deeply, and have more confidence in everything in the pipeline.
- Release automation, performance monitoring. Provide performance monitoring insights into the testing process through automation.
- You must have a well thought out approach to your strategy, solutions, people, processes, and automation in order to be successful. If you don’t have an automated way to get builds into production, your build will just sit there and you will not be successful. You will not get the ROI you were expecting and you’ll go back to waterfall.
- Protect against data leakage, known vulnerabilities, and unknown vulnerabilities in a fully automated way.
- Understand what DevOps is and that the roles and responsibilities of operations still need to be undertaken like security and testing.
- Manage data by bringing it as close to compute as possible without worrying about where it is stored. Use any platform to store and then our platform to bring it close to compute.
- It varies by company – size, age, legacy systems. Take one step first in people, process, or technology.
Here’s who we talked to:
- Gil Sever, CEO, Applitools
- Mike Tria, Head of Infrastructure, Atlassian
- John Trembley, CMO and Scott Harvey, V.P. Engineering, Atmosera
- Aruna Ravichandran, VP DevOps Products and Solutions Marketing, CA Technologies
- Flint Brenton, CEO, Collabnet
- Tom Hearn, Data Center Architect, Datalink
- Shehan Akmeemana, CTO, Data Dynamics
- Robert Reeves, Co-founder and CTO, Datical
- Anders Wallgren, CTO, Electric Cloud
- Job van der Voort, Vice President of Product, GitLab
- Ben Slater, Chief Product Officer, Instaclustr
- Ilya Pupko, Chief Architect, Jitterbit
- Tom Joyce, CEO, Pensa
- Stephanos Bacon, Chief of Product, Portfolio Strategy for Application Platforms, Red Hat
- Michael Mazyar, CTO, Samanage
- Eric Wahl, IT Director and John Joseph, Vice President of Marketing, Scribe Software
- Manish Gupta, CEO and Founder, ShiftLeft
- Martin Loewinger, Director of SaaS Operations and Jonathan Parrilla, DevOps Engineer, SmartBear
- Chris McFadden, V.P. Engineering and Operations, SparkPost