DevOps brings Development and Operations together with the sheer objective of ensuring quality and enabling faster time to market. However, what happens to QA in this scenario? How does the Testing team fit in? Let's ponder on this further and understand the role of QA and Testing in the DevOps world ...
DevOps is a reality for all companies that seek to digitize their businesses. Agile begat DevOps due to the increased number of applications and the speed at which applications are released. Agile breaks down the wall between the business and development; DevOps does the same to the wall between development and operations.
However, one part of the operations function is absolutely neglected by DevOps: the database. Ignore it at your peril. As such, every business should budget for automation tooling that will help the database team work more effectively and be part of the Continuous Integration/Continuous Delivery cycle.
You are Paying for it Today
Today, as we accelerate the release of our applications with DevOps, we are overburdening DBAs with database changes. Datical DB customers tell us that 4 out of 5 application changes require a database schema change. But for most companies, these database schema changes are performed manually, and on top of the manual execution of SQL scripts, DBAs must review each one of these changes.
This burden does not exist for the compiled application. Developers have automation tools that DBAs do not, which rapidly accelerate their releases. Thus, DBAs are held to a standard they simply cannot reach.
Companies facing this challenge often think there are only two possible solution: hire more DBAs or have the existing DBAs work more. Our customers report that hiring DBAs is a very difficult task. Not only are they challenged with identifying talent, but they must also train and retain that talent. This linear scaling of resources – personnel - will never keep up with the speed of automation we have on the development side of DevOps. In the end, many companies are forced to pay for a solution that simply does not meet their needs today and in the future.
A much more efficient use of capital would be to use DevOps tools for the database and bring parity the database change management and deployment processes. In other words treat database deployments just like application deployments to speed the delivery of application releases. Automate where possible, yet rely on the world's most advanced computer (human brain) when needed. We must move our DBAs to perform higher value tasks instead of just pushing them SQL scripts to review.
You Will Pay for It Tomorrow
By accelerating the frontend of the application release assembly line, we create a bottleneck as the pace for manually reviewing and deploying database changes is far slower. As a result, many organizations are simply wasting money as they speed an application release that must still rely on manual reviews before it can see the light of day.
As companies scale the number of applications and releases, they will reach a point where every dollar invested in DevOps for the application will be a waste. Manual database processes cancel out speed gains made earlier in the SDLC. Sure, IT organizations will be able to cite evidence of how fast the compiled parts of the application are being released, but if the application is looked at holistically, we will see that the ROI will take far longer to reach. Remember applications only matters to the customer if the entirety is released. Any less, and companies are improperly evaluating their ability to deliver new functionality to their customers.
Now is the Time
As we reach the end of the year, our budget planning processes are in motion. Consider past investments in DevOps and decide whether you're really seeing the benefits you expected. As Puppet Labs' State of DevOps report tells us, DevOps adoption has a direct correlation to company valuation and market cap. We now have evidence that DevOps is not a vanity or pet project; DevOps provides the ability to reach new markets and customers faster and retain them better. Companies who have automated database processes have seen an 80% decrease in the time it takes to review, validate and deploy database changes. That means applications are being released faster and with greater frequency. There is real measurable value to be attained by bringing DevOps to the database. What are you waiting for? Go get 'em, Tiger!
Robert Reeves is CTO and Co-Founder of Datical.