DevOps Research and Assessment (DORA) published a detailed report on the state of DevOps entitled "Accelerate: State of DevOps 2018: Strategies for a New Economy". While there are many research reports one can find on DevOps, this one is notable because it is based on 30,000 interviews and five years of study. The report itself is very thorough, weighing in at an impressive 78 pages! Fear not ... I have summarized some of the most interesting aspects that I will opine upon here.
While there are various ways to define DevOps, any serious definition eventually gets to quantifiable measurements. In this report the notion of Software Delivery Performance is introduced as a way to measure DevOps teams by Throughput and Stability:
The best DevOps teams can deploy database changes many times per day with as little as one hour notice for a required change, experience very low failure rates for changes, and can restore from failed changes in minutes or less. These companies understand that failure is an excellent teacher and improve by trying new things until they get better. Cautionary companies implement database DevOps more slowly, and while they experience fewer failures, they actually require much more time to restore from failure and are far less responsive to the needs of the business.
Improving your Software Delivery Performance
The study has demonstrated a clear link between certain practices and successful software delivery performance. These can be organized into infrastructure choices and technical practices.
Companies that build applications for the cloud, fully adopting the goals of cloud computing flexibility including on-demand self-service, resource pooling, rapid elasticity, etc. are 80% more likely to rate very high for both throughput and stability (as defined above). It comes as no surprise that DevOps teams prefer cloud computing infrastructure, but it is interesting to note that 40% of respondents said they use more than one cloud. An even larger percentage of respondents say they are using hybrid cloud, and to be honest, the distinction between hybrid cloud and multi-cloud can be a bit blurry for most teams -- but one thing is clear: any solution supporting database DevOps needs to be multi-cloud ready.
Many DevOps teams report a strong use of open source software, showing it to be a key infrastructure choice, similar to what we see with cloud. Companies that embrace open source software are 75% more likely to be very successful in Software Delivery and Performance. We see this in the database arena as well, with many popular databases derived from open source, both in the SQL and NoSQL categories.
With the right infrastructure in place, highly successful DevOps teams implement several technical practices of note including monitoring and observability and database change management. The best tools work with multiple clouds and multiple database platforms, including open source databases. These tools should also present common consistent yet role-appropriate views for developers, testers, database administrators and operations staff.
Idera offers various tools that can be used to address these technical practices. This is not an exhaustive list, but some of the key points include:
With time, the mystery of DevOps has been reduced to a set of clear goals and practices that can be followed almost like a recipe, resulting in an elite team with excellent Software Delivery Performance. With a mix of hybrid and multicloud infrastructure, sound technical practices and the right change management and monitoring tools for the job, the database becomes fully integrated into DevOps teams -- resulting in higher throughput and stability.