I spend a lot of time showing how to use tools to automate database deployments in support of DevOps. However, the one message that I always try to deliver with DevOps is that it’s fundamentally not about the tools. No, the single most important thing in DevOps is communication. Therefore, the single most important thing in DevOps is people.
People Are Good
Are there evil people in the world? Unfortunately, yes. Can even good and decent people do evil? Again, unfortunately, yes. However, most people, most of the time, are trying to do the right thing. I would say that you need to arrive at this position first in order to implement a DevOps solution effectively.
You can’t be all “Developers are EVIL” or “DBAs are mean” or “My SAN admins couldn’t find their asses with both hands, a map, and a flashlight” or “Gustafus Adolphus had his head up his behind when he lead that last cavalry charge”. Wait. Different discussion.
Anyway, you need to start communicating with people better in order to deliver DevOps. Those communications will be a lot easier if you do one thing.
Assume Good Intentions
I tweeted this recently, but it doesn’t hurt to repeat it. You have to assume the best in those around you. Yeah, sometimes you’re going to be disappointed, but most of the time you’ll be happier for it.
This very much applies to DevOps. When the developers ask for ‘sa’ privileges on production, instead of just freaking out and slamming the door on them extra hard, assume they have a good reason. Find out what it is. I mean, no, they can’t have ‘sa’ (see GDPR, FERPA, HIPAA and more), but there is probably a reason why they think they do. That reason may be important to a successful implementation of automation and management within your organization. So, assume the best and understand why it looks bad. Create the necessary alternatives that arrive at the same place as ‘sa’ privileges were intended to help solve.
DevOps Is Communication
The core of all successful DevOps implementations is the recognition that bad communication leads to friction. Friction leads to bottlenecks and mismanagement. All this slows down the development and deployment process and makes it harder for us to get things done. Improve the communication and you improve the likelihood of a better process within your organization. The best way to start this is to assume the good intentions of those you work with and go forward from there.
So, if you want a little bit of talk about communications and a whole bunch of talk about tooling and process, all in support of a successful database DevOps implementation, I’m putting on a whole day of training at several places around the world: