Given the importance of data to business today, it’s no surprise that this year’s Accelerate State of DevOps Report recognises the critical importance of the database to DevOps success.
Quite simply, if it isn’t included in the DevOps workflow, it slows down and hinders the pace of development that can otherwise be achieved.
The topline findings of the report back this up – elite performers deploy code 46 times more frequently, recover from breaking changes 2,604 times faster, and have a 7-times lower change failure rate.
Crucially, the lead time from committing changes to being able to deploy them is less than one hour in the highest performing organisations – and between one and six months in low performers.
That said, achieving a seamless DevOps process that spans both database and development isn’t always straightforward.
Traditionally there has been a gap in mindset and outlook between application developers who are busy building and deploying new code, and database administrators who are tasked with ensuring business-critical databases are always available and the data they contain is safeguarded.
Attitudes are changing, however, driven by the need to work together. In the State of Database DevOps Survey, for example, 58% of respondents reported that collaboration between developers and Database Administrators (DBAs) was either good or great.
So how can you build a similar common understanding and atmosphere of collaboration?
Looking at the analysis in the 2018 Accelerate State of DevOps Report, I think there are four key areas to focus on.
Making changes to the database should be part of the DevOps process, and use the same tools and approaches to ensure consistency.
In many ways, database development is where application development was ten years ago, so applying the lessons learned then can help accelerate database DevOps now.
Look at adopting approaches such as configuration management and continuous delivery, with database changes stored as scripts in version control tools, so they can be handled in the same way as application changes.
Use monitoring and observability to learn for the future
Visibility of what is happening across DevOps processes is critical to being able to spot issues early and take preventative action.
This proactive monitoring needs to include the database, providing clear, understandable metrics and reports that can be shared across the wider team.
These should also to be linked to business SLAs in order to achieve a comprehensive picture of your entire infrastructure and what it means to the organisation’s performance.
As well as monitoring tools, the DORA report also highlights a newer category of the tool – observability.
Rather than focusing on pre-set metrics, observability solutions allow teams to actively debug their systems and to look at performance patterns that they’ve not defined in advance.
Companies with monitoring and observability solutions were 1.3 times more likely to be in the leading group when it came to DevOps performance.
The report also found that those companies that scheduled comprehensive debriefs and analysed the data in order to continually improve would probably also be in the elite group when it came to DevOps.
Build a common, open culture
You’d expect the DORA report to find differences between industries when it comes to DevOps performance, with slower moving or more highly regulated industries (such as government) lagging behind more fast-moving sectors, such as retail or tech.
Yet, the data didn’t bear this out – high performers exist in every industry, showing that every team has the potential to deliver successful DevOps.
Rather than the sector, much of the difference in performance can be linked to the overriding culture of the organisation.
For DevOps to achieve its potential, teams have to be open to change, willing to collaborate and share, and committed to continually learn and improve.
To create the right culture for DevOps, leaders need to build trust with their teams, empower them with autonomy and rely on strong communication to ensure that everyone understands their role and overall objectives.
Encourage collaboration and support across the organisation
We’ve touched on the different backgrounds of developers and DBAs. As a DBA myself, I’ve seen how this can manifest itself in terms of mutual suspicion and concerns that DBAs will delay deployments, and developers will cause the database to fail when their latest updates are deployed.
These old ideas need to be put aside, because greater collaboration also brings new opportunities, particularly for DBAs. For example, some organisations now add a DBA to the DevOps team around major releases, so that they can provide advice and coaching to developers.
They may not be doing any work in terms of coding, but instead, are using their knowledge to help ensure the process goes smoothly.
DORA’s recognition of the importance of the database to DevOps should act as a timely wake-up call to those companies that still see DBAs and developers as operating in separate silos.
Breaking down barriers is essential to introducing successful DevOps and provides opportunities for DBAs to learn and grow their skills while ensuring their organisation stays ahead of the competition through faster, higher quality DevOps performance.
Written by Steve Jones, Redgate Software