Is Your Organization Correctly Implementing DevOps for the Database?
By Yaniv Yehuda
2017 is going to be a good year for DevOps for the database. Both development and operations teams have realized that managing source code, tasks, configuration, and deployments are incomplete if the database is the weak link. Also, the role of the DBA has evolved to the point where they are very involved in both development and operations, because a database that is well incorporated can drastically affect your company in a positive way.
How It Used to Be
For years, IT teams were not known to share information or cohesively work together. DevOps came along and successfully created an efficient, seamless, and a more error-prone application delivery process. The problem was that DBAs were overwhelmed with a significant increase in volume, because DevOps exponentially expedited the process at which applications were being released. Responsible for implementing, recording, testing, and managing all changes to the database, which is the last step in the release of applications, DBAs were met with some bitterness because they were blamed for delays in releases. Because of the significant workload increase, the database gained the reputation of the most vulnerable part of the application delivery process, often to the chagrin of the business executives, who were upset that glitch-filled apps and delays in releases were causing them to lose money.
The Implementation of DevOps for the Database
As the database was incorporated into DevOps with automation, DBAs could deliver applications faster, reduce downtime, and enforce compliance. Using specialized database tools such as enforced database source control, database build automation tools, and database verification processes, the database became a stable resource in the DevOps tool chain. DBAs are in the unique position of understanding the anatomy of the database, while acting as middleman between the developers and operations, making them critical to the implementation of an efficient and high performing DevOps strategy. Optimizing the database for DevOps is a must for organizations. The reason is simple; a slow database produces slow results—which is bad for business.
Make Sure You Are Doing It Right
For IT departments, fostering an environment that brings DBAs, developers, and operations together is crucial. Establishing the right culture is the backbone of successful DevOps implementation, and having a CIO who is on board and equipped with the knowledge of what developers and operations teams need to work together is imperative. This involves removing hierarchies of the past and decentralizing IT to empower developers—creating highly effective teams. Obviously, having an accomplished DBA as part of your development team is key. But what about operations? Although operations teams monitor the systems, diagnose issues, and generally make sure everything is functioning, the DBAs are doing the same thing with the database. They handle any database-related issues and define database management and maintenance processes that are carried out by the operations team. In short, the DBA can be the catalyst in the organization that successfully integrates the technical advances of agile development into operations.
Database automation is not as risky as it seems—when implementing DevOps. Database automation frees the DBA from the bottleneck that builds up when the DBA is responsible for manually implementing, testing, and managing changes to the database, delaying application releases. Automation can be done safely, allowing the DBA ample time to focus on other tasks. Once deployment practices and version control are enforced, safe automation processes are created. Even though database deployment automation is not a simple process, it will increase productivity, reduce risk for new releases, and increase quality of the application.
The database plays a central role in the continuous and consistent release of software and applications. It is also critical for the implementation of a successful DevOps strategy. Within DevOps, DBAs can focus on helping their organizations make strides in innovation. Independent development teams, faster and earlier corrective measures, as well as more stable deployment configurations, are characteristics of efficient database administration that directly effects the success of DevOps initiatives.
About the Author
|Yaniv Yehuda is the co-founder and CTO of DBmaestro, an enterprise software development company focusing on database development and deployment technologies. Yaniv is a DevOps expert who spent the last couple of years raising awareness about the challenges surrounding database development and deployment, and how to support database Continuous Delivery.|
This article was contributed. ©Developer.com. All Rights Reserved