I've said it before and I will repeat myself on this because it's an important concept: DevOps is about culture and communication, not tools Now, that said, to implement the automation required in DevOps, you're going to have to get into some degree of tooling. There are a whole slew of possible tools to support you: Jenkins, Team City, Octopus and more. All these tools offer excellent solutions with variations on limits, methodologies, etc. You'll need to explore them to understand which ones are best for you and your processes. I've been doing a lot of work lately in another tool, Azure DevOps. Let me show you a little of what I've done. Azure DevOps Pipelines I don't mean for this to be a complete tutorial on setting up Azure…
In preparation for my upcoming DevOps training days (see the bottom of this post for details) and for some articles I'm working on, I've been building all new automation processes for database deployments. In the past, I've been using a fairly simple (and far too simplistic) example to do most of my demos. I haven't built a full process in a little while. OH MY GOD!!! IT'S PAINFUL!!!!! Automation Ain't Easy The easy part of getting your DevOps done is the tooling. I say that all the time because it's true. The hard part is changing your organizations culture to support the level of communication necessary for a successful DevOps implementation. However, easy by comparison doesn't mean just simply easy. There's a lot of work involved and making mistakes early…
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…
I've been reading about the death of the DBA ever since I first made the jump from full time developer to full time data professional. The first time I heard it was when SQL Server 7.0 was released. Did you know that SQL Server 7.0 was self-tuning? In fact, it was so self-tuning that the DBA is a relic of the past and no one will be paid for that kind of work any more. Right. So, twenty years later, several versions of SQL Server with tons of improvement from back in the day, and I'm still working (and I hope you are too). Object databases were going to eliminate the DBA. ORM tools were going to eliminate the DBA. Then of course, NoSQL absolutely eliminated the DBA. In fact,…
Anyone who subscribes to my blog or my YouTube channel as well as anyone following me on social media knows that I talk about DevOps and databases a lot. I can't help it. I have a real passion for the topic. I sincerely believe we should all be taking advantage of the ways we can improve what we do offered by DevOps. It's not just me. Gene Kim on DevOps If you haven't read book The Phoenix Project, you should. Go get that done. I'll wait. You back? Good. Loved it right? One of the authors of the book will be presenting a webinar with Redgate Software (my employer) on Tuesday, September 25th on 2018 at 17:00BST (that's 11:00 CDT here in the US). He'll be joined by Steve Jones…
Moving your database development, deployment and management into a DevOps methodology does involve choosing and implementing tools and tooling. Tools are a necessary aspect of DevOps because, one of the fundamentals of implementing a DevOps approach is automation. To automate, you need the right tools. However, tools and automation, while they represent a lot of work, are actually the easy part of the process of moving into DevOps. What's the hard part? Changing how you do things. Change is Hard One of the fundamental questions you need to learn when you start to implement a DevOps approach consists of a single word: Why. "We always manually run a script in staging prior to running it in production." Well, why? Why can't that be automated? Is there a reason that the…
The hardest part about implementing DevOps is not the tools you choose, but the processes you use to make DevOps work. That said, you do need to think about the tools you're going to use to automate those processes. Frequently the emphasis is on third party tools, but it doesn't always have to be. Microsoft's Visual Studio has a number of tools that you can use to automate your DevOps methods. Visual Studio Team Services Connecting a project into Team Services opens up the world of DevOps pretty handily. You can host this all locally and do an install to a server to support it. With more and more of us working with teams that span continents and oceans, it probably makes more sense to use the online version. There's…
Implementing DevOps with databases presents a unique set of challenges. However, just because something might be hard doesn't mean that it shouldn't be done. I had the opportunity to work with a team of developers, database developers and DBAs under a management team that all agreed on the common goal we had, delivering more, better performing applications, faster. We didn't know it at the time, but we were doing DevOps. DevOps gets a bad name because, well, the problems that DevOps sets out to solve, poor communication, bad teamwork, dysfunctional development and badly configured and maintained processes, are done by the same team that attempts to implement DevOps. However, they look on it as a purely mechanical switch that they throw, assign some poor person to the role of DevOps…
I believe in DevOps. Actually, that's a pretty horrible way to put it. It's not about belief, like keeping Tinkerbell alive. I have successfully worked within an environment that implemented a DevOps approach to development, deployment and maintenance. I also provide classes and consulting on how to approach DevOps from the Ops perspective as well as writing books on the topic. Because I've seen the DevOps approach work, and work well, despite the fact that my principal job description is in the Ops side of DevOps, I am a very strong and passionate advocate for DevOps. But! DevOps Despite the fact that I absolutely support the concepts of DevOps, moving development & deployment into the production space, and moving operations into better support of the development space, I frequently find…
Sjor Takes (b|t) has just barely started blogging, but he's got a great post about a discussion he had with a colleague. It's worth a read. When you get done, I'll provide my answer to the question posed at the start and conclusion of his post. I had a great discussion with one of the smarter people I know late last year. Since I'm going to disagree with this person rather vehemently, I'm going to keep them nameless. We were discussing databases and DevOps and how it relates to the developer, the data professional, specialized DBAs and businesses. It was mostly a great conversation except for this person's opening. This isn't an exact quote, but it paraphrases their beliefs fairly well: The DevOps movement is, intentionally, about getting rid of the…