DevOps Barriers and How to Overcome Them Part 1
DevOps Barriers and How to Overcome Them Part 1
DevOps practices surrounding databases continue to face barriers. Why is this? What can be done? Read this start to a new series to find out more.
Join the DZone community and get the full member experience.Join For Free
Discover how you can reduce your Kubernetes installation from 22 steps to 1.
The demand for continuous delivery, DevOps, and agile development continues to grow. Continuous delivery practices have proven highly efficient for the development of application code as well as for deployment processes. But the database continues to be left behind, even as more companies are aiming to implement continuous delivery best practices for the database in order to keep pace with ever-increasing demands.
This is not a process free from challenges. In fact, many organizations interject continuous delivery processes with various manual steps that aim to improve trust and reduce costly errors. The catch-22 is that these same manual steps are actually associated with risk by IT professionals.
A survey conducted by DBmaestro found that while nearly three quarters of businesses practice manual processes for database source control, nearly all of them associate manual practices with risk. Despite a growing awareness of the risks associated with manual processes within continuous delivery and continuous integration processes, many organizations continue to do so without adequate solutions for fully automating the development cycle.
Inserting manual processes into the continuous delivery and continuous integration chain, such as a manual process for generating SQL update scripts, is considered risky by nearly 80 percent. A similar number view introducing changes directly to the QA environment as a risk, yet 43 percent continue to do so.
Out-of-Sync Environments and Out-of-Process Changes Further Complicate Risk
Application development and database development processes are often out of sync for many organizations, leading development teams to carry out risky practices, such as introducing changes directly to the QA environment and lacking alignment, from a source control perspective, between database changes and application code. And of course, urgent hot-fixes are often necessary – many times due to issues introduced during these other manual processes that are interjected into the development cycle – which are then tested in pre-production, another practice many associated with a high level of risk by nearly two-thirds (63%) of survey respondents, while another 31% associate the practice of testing urgent hot fixes in pre-production with a moderate level of risk.
Despite the well-known risks associated with these processes, many organizations continue to rely on these practices. Often, this is because existing source control solutions aren’t adequate or don’t foster a sense of trust, so risky practices are interjected into the database development lifecycle out of necessity, with the goal of minimizing certain risks while simultaneously introducing others. Instead of relying on luck to achieve the rapid development cycles demanded in today’s environment without creating issues that can cost hundreds of thousands of dollars to rectify, today’s organizations can achieve true DevOps for the database with trusted, efficient solutions that mitigate risks, speed development, and reduce development costs.
Manual Processes in the Continuous Delivery (CD) and Continuous Integration (CI) Chain Slow Development
Continuous delivery means full automation. This is often achieved in application development, but the database gets left behind due to challenges of implementation and risks involved with fully automating the delivery process. In particular, manual processes for generating SQL update scripts are still common in the database world, with 71 percent of survey respondents stating that they still rely on a manual process for generating these scripts.
However, nearly 80 percent of IT professionals surveyed say that they associate this manual process with risk. Despite the known risks involved, most IT professionals continue to generate scripts in this manner simply because they have not yet identified a better, safer alternative.
Likewise, relying on a manual process for executing SQL update scripts is considered a high-risk behavior, yet many IT professionals continue to work in such a way. More than 82 percent of IT professionals surveyed consider a manual process for executing SQL update scripts to be risky. Among them, 70 percent admit that they continue to rely on these manual processes despite the known risk.
Manual processes open the door to human error, leading to mistakes that cost your organization not only valuable time, but often substantial amounts of money. If problems are not identified in time it can also be damaging to a company’s reputation.
A complete database continuous delivery solution offers a comprehensive set of solutions designed to alleviate the most common – and most critical – challenges facing development teams today. Database Enforced Source Control allows you to leverage a Single Source of Truth and put trust back in your source control today, while tools such as Impact Analysis and a Database Safety Net ensure that only appropriate changes are deployed and no overrides to critical changes occur. These results are achieved through sophisticated Build Automation and Database Release Automation solutions.
Stay tuned for Part 2!
Published at DZone with permission of Yaniv Yehuda , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.