Database DevOps Tools You Can’t Live Without
DevOps is a process by which we identify and streamline our application development and release process. A big part of driving improvement begins with identifying the parts of the development and release process that create a bottleneck.
Over and over again, the database change process is often the biggest bottleneck in the process. That’s not surprising as there are fewer tools to support DevOps for the database than DevOps for the application. That doesn’t mean they don’t exist, it’s just more important than ever to pick the right tools for the job.
Here’s a closer look at the DevOps Database tools we think you absolutely can’t live without.
Database Development Tools
When you think of DevOps tools, it’s unlikely you will consider database development tools as part of that category. However, it’s important that ALL of your tooling is DevOps-y.
Without the speed and efficiency we received from Agile software development, we wouldn’t have needed to create DevOps. Thus, bringing Agile to the database is key for DevOps for the database. Quest Software’s Toad has some great features for supporting Agile development. The first is its Team Coding functionality. Databases are different than the application and have state. Thus, having a database instance we can develop against as part of a team is key. Toad’s Team Coding is great. It allows users to leverage existing Source Code Control (like Git, Subversion, others) and a live database to support database developers. Not only can they check SQL scripts in and out, but they can do that with the database objects like tables and stored procedures, as well.
Application Release Automation
Application software can be complex and have a large number of components. As enterprises move to adopt microservices, containers, and other technologies orchestrating this complex process requires application release automation. As we evolve from “tribal knowledge” to scripts to deploy our applications, the next step is Application Release Automation (ARA) to tie all these steps together and make sure they are completed successfully.
ARA DevOps Tools like CA’s Release Automation, IBM’s UrbanCode Deploy and Xebia Lab’s XL Deploy are an absolute necessity for DevOps.
Test Data Management
Now that you’re deploying your application at breakout speed, you need to make certain that your testing efforts can keep up. A big problem with application testing today is access to high quality. Today’s applications change functionality based on the data stored in the database. Thus, providing data that mirrors (or actually is) production data is key to having valid testing efforts. After all, your entire testing cycle could be invalidated by testing against old or bad data. If that’s the case, there is no point in testing at all!
DevOps Tools like CA’s TDM, Delphix Data Virtualization, and IBM’s Optim allow you to populate your test databases with data. (In some cases, like Delphix, you can self-service request copies of production databases for integrated testing environments.) You are adopting DevOps for a reason and that is to improve your software; a huge part of that is enabling more and more testing.
Database Release Automation
Don’t be the last one on your block to learn this lesson. You will not be successful with your DevOps initiative if you neglect that database. In fact, several DevOps leaders who have successfully implemented DevOps, point to the database as a key post-mortem learning. “In retrospect, I wish we had automated database deployments first,” is very common to hear.
Thus, as you evaluate your DevOps tooling, database release automation will be key. A herd can only move as fast as its slowest member. For companies that use databases (all of them!), the database deployment process is that slowest member.
You have a whole host of DevOps tools to choose from. Finding the ones that work for you will require evaluation and consultation with all team members. If you make a bad tool decision or simply forget key parts of your release process, you will not be able to improve nor accelerate your application release process – and if the going is slow, why go at all?
To learn more about DevOps Tools for the Database read our white paper, Four DevOps Tools You Can’t Live Without.
*This article was originally published in TechBeacon.