What to automate? Which parts of the delivery process are good candidates? Which applications will benefit from automation? At first, those sound like silly questions. Automate all your repetitive processes. If you think that you'll do the same thing manually more than once, automate it. Why would you waste your creative potential and knowledge by doing things that are much better done by scripts? Yet, an average company does not adhere to that logic. Why is that? ...
DevOps has come a long way in just nine years. When its advantages were first publicly demonstrated in the thought-provoking and seminal 10+ Deploys per Day presentation at Velocity in 2009, most onlookers were surprised but not sure it was really for them.
Opinions have changed dramatically. To find out the current state of play in DevOps – and discover how far its influence has extended into database development – Redgate conducted a survey in December 2017. A repeat of a similar survey at the end of the 2016, the results show just how big that change is.
82% of the 700 organizations surveyed, for example, say they have either already adopted DevOps or plan to do so in the next two years. That's up from 80% in the previous survey and evidence that DevOps has moved from the exception to the norm.
A note of caution here, however, because in the government/education and not-for-profit sectors, less than 40% of organizations have adopted DevOps, and 36% say they have no plans to implement it in the next two years. That may be down to the fact that they don't need to release new features as often, but I suspect it's also down to a more conservative approach to change.
Perhaps unsurprisingly, the survey also revealed that skills shortages are the biggest challenge to successfully adopting DevOps. 24% of respondents cited this, with another 20% saying the disruption to existing workflows was the problem. What's notable here is the 12% who said a lack of awareness of the business benefits of DevOps was the major hurdle. Notable because in the earlier survey, the figure was 17%.
Among those who have no plans to adopt DevOps, however, the lack of awareness rises to 40%. Along with the sector split in adoption rates mentioned earlier, this shows a worrying divide emerging, with a have and a have-not DevOps culture. While not a major concern now, it does point to a future where software development will become like a freeway, with some organizations comfortably cruising in the fast lane and others rumbling along in the slow lane. Question is, how long can they rumble along for before they get left behind?
What About the Database?
There have been changes in the database world as well, which shouldn't really come as a surprise. While the advantages of DevOps are pretty clear for application development, those same applications often have a database back-end. If DevOps is increasing the frequency and reliability of new features for applications, a slower pace of database development can slow down and hinder those same releases.
The survey showed, for example, that 35% of organizations deploy database changes either daily or more than once a week, with 28% saying the increasing speed of delivery is the biggest advantage of database DevOps. So database deployments, once regarded as rare, troublesome experiences to be suffered with a certain amount of fear, are increasingly becoming smoother, error-free and faster thanks to a DevOps approach.
Interestingly, the survey also found that traditional barriers between developers and Database Administrators are breaking down, a key cultural requirement for DevOps for the database to succeed. 76% of organizations have developers who are responsible for both database and application development, and 75% also say developers build database deployment scripts.
Of the whole survey, this is probably the most telling finding because if developers are responsible for both the front-end application and the back-end database, it means introducing DevOps for database development becomes a job-driven not just a business-driven imperative. Quite simply, developers who need to release a new feature now won't want the database to hold them back. They'll find a way.
Where Do We Go From Here?
The state of DevOps is the best it's ever been. Once organizations adopt it in one area, they invariably see the difference it makes and it ripples out across the whole organization.
We're not there yet for database DevOps. Things are changing but while 81% of organizations use version control in application development, it falls to 53% in database development. A similar gap exists in other areas such as continuous integration, with 40% using it for applications and 21% for databases.
The key challenges? Synchronizing changes across both the application and the database, overcoming the difference approaches to application and database development, and, importantly, preserving and protecting business-critical data.
Those same challenges are, however, being addressed with database development tools that have emerged which integrate with and plug into the same infrastructure used for application development. With application developers increasingly being given responsibility for the database too, this is crucial. Rather than stepping outside the development environment they're familiar with, they can stay within it and bring DevOps to the database as well.
It will be interesting in a year's time, when the survey will be repeated once more, to see if there have been changes in three key areas.
Will the skills shortage that is holding DevOps back still be there, or will the industry have responded by providing more resources for developers to learn from?
Will the divide in the have and have-nots DevOps culture that we've seen have widened or narrowed?
And finally, will the database be a true partner in DevOps so that DevOps really can thrive?
Only time will tell.