Implementing DevOps Doesn’t Get Rid of Database Administrators

I hear from a lot of database administrators who are worried about being automated out of a job. These kinds of worries are not new.

Over the course of my career, I’ve seen CTOs outsource large groups of IT jobs to different regions around the world to save money. IT has long been regarded as a cost center from which the organization needs to get “good enough” service for the lowest amount of money.

With this history, many database administrators are wary of any change that might trigger layoffs. Improvements in database-as-a-service offerings from cloud providers now automate and outsource traditional DBA tasks such as backups and high availability, so this concern is back with a vengeance.

It is natural that DBAs are therefore somewhat wary of DevOps. The following assumptions are easily made:

  • If DevOps means “developers doing operations,” no jobs remain for the IT staff who did operations before
  • Further, DevOps emphasizes automation so that IT jobs are no longer needed

These two points, however, are mistaken.

IT jobs are changing, but they are not going away

CTOs around the world are changing their focus, based on pressure from their CEOs and Boards of Directors. Companies who continue to follow the model of improving their products and services slowly, while minimizing IT costs, are now at risk of going out of business. We live in a time when a clever organization can quickly enter a market and offer products and services which solve problems in a new way, rapidly attracting new customers via the internet and stealing market share away from established companies.

The leaders of older companies, burdened by legacy applications and staff working long days to maintain existing processes, are becoming rightfully worried about their survival. This is occurring across all industries, from food service to banking to lawnmower manufacturers.

To rapidly discover which new products and features attract and retain customers in markets full of “disruptors,” existing companies don’t want to make developers take over all of operations work. Even with automation, developers already have a large amount of skills to maintain and tasks to perform without becoming network administrators, database administrators, and security specialists.

Instead, the goal is to make the people in each of these roles more productive, and to change the way we work so that each of these roles can leverage the expertise of the other roles more efficiently.

As Andrew Hatch writes in his excellent article, “Why We Don’t Need a DevOps team,” DevOps brings Operations into Development and it brings Development Into Operations.

This doesn’t mean that IT staff need to learn six programming languages overnight – or even one. But it does mean that collaborating with developers, focusing on customer input, exploring scripting languages, and seeking to reduce manual work is a big part of the future of IT.

How will roles change over the next ten years?

Let’s look at the role of the DBA in the Microsoft Data Platform space. Microsoft is working hard to make services available that dramatically reduce the amount of work it takes to implement high availability and prevent data loss. They are also working on automatic tuning features which make it easier to identify root causes for poor performance and implement solutions.

With cloud adoption increasing in the Data Platform area, but competition between cloud providers remaining strong, it is likely that efforts in these areas will continue, and further improvements will be made.

Let’s think back to our CTO, who needs to change his or her organization to innovate more rapidly, with the ability to get feedback from users and quickly test out changes to products and services inexpensively.

What does that CTO really want from a DBA?

They want a specialist who can:

  • Tailor source control strategies for database code to work best for the organization
  • Automate testing and release of database code with the right review and approval gates to produce stable, safe deployments
  • Efficiently identify risky database changes which require careful code review
  • Quickly provision databases which mask or remove sensitive data for new projects
  • Optimize practices to reduce bugs and outages caused by database code releases

Will this be the only role of DBAs?

This is not the role of a developer, but rather the role of a Senior DBA who integrates well with development teams and specializes in the architecture, management, deployment, and tuning of database code.

We will continue to have a variety of specializations for database administrators – this will not be the only route to a ‘Senior’ level IT job with databases. However, standardization of database code into version control and automation of release processes will only grow in importance, so it’s a smart bet for all DBAs to become familiar with developer concepts and practices as they grow in their careers.

NOTE: I talked about “How DevOps keeps DBAs safe from being automated out of a job” with Microsoft’s Kellyn Pot’Vin-Gorman and my fellow Microsoft MVPs Hamish Watson and William Durkin. View the recording here to learn why DBAs are essential to DevOps.

Commentary Competition

Enjoyed the topic? Have a relevant anecdote? Disagree with the author? Leave your two cents on this post in the comments below, and our favourite response will win a $50 Amazon gift card. The competition closes two weeks from the date of publication, and the winner will be announced in the next Simple Talk newsletter.