DevOps has gained a lot of attention in recent years, but it has yet to touch database development to any great...
extent. Database DevOps is far from the mainstream. That could change in the SQL Server world, as new tools bring more database development and deployment capabilities to Microsoft's Visual Studio 2017 software suite.
Along with a wide range of add-ons in Visual Studio 2017 (VS2017), released earlier this month, come tools for automating deployment of SQL Server database changes. For some time, such automation has been de rigueur in DevOps-oriented application development that focuses on bringing operations and development closer in order to do continuous application updates.
The tools give more deployment capabilities to developers already working with Visual Studio. Meanwhile, for some database developers and administrators, such tools may lead to better collaboration with other team members, as well serve as an entrée into a DevOps world in which they have often been strangers.
For Ben Day, an independent consultant and trainer focused on DevOps, any closing of the gap between databases and DevOps comes none too soon.
"Sometimes, it seems that database developers and administrators are being taken along kicking and screaming into DevOps. It's been that way for 10 years. People have been trying to get them involved early in the process with DevOps and automated deployment, and it is only recently that we have seen some traction there," said Day, who leads a PluralSight course teaching DevOps skills for Visual Studio and Team Foundation Server users.
To improve integration of database DevOps processes with SQL Server, Microsoft turned to third-party tool supplier Redgate Software. Redgate's ReadyRoll Core, SQL Prompt Core and SQL Search are supported as a standard installation in Visual Studio Enterprise Edition 2017. SQL Prompt Core provides autocomplete for scripts and code, while SQL Search locates SQL snippets and reference objects.
ReadyRoll is a potentially useful option, according to Day, because it produces different reports on database changes that can further communications between application developers and a database team.
Constant changes to applications are part of the DevOps ethos, and databases have had trouble keeping up, according to Matt Hilbert, an author and blogger with Redgate, based in Pasadena, Calif. Offering the Redgate DevOps-oriented tools as part of Visual Studio can help in this, he said.
Database DevOps needs synchronization
"Changes to applications or web services often require changes to the database, and many companies still work in siloes, with application and database development going on separately," Hilbert said.
In fact, a Redgate January 2017 survey of managers, data professionals and development team members at 1,000 companies worldwide showed that synchronizing application and database changes was the greatest challenge in integrating database changes into a DevOps process. Such synchronization was the key, according to 32% of survey respondents, surpassing the need to overcome different application and database approaches (25%) and preserving business-critical data (19%) among DevOps process challenges.
The Redgate tools are intended to streamline synchronization. By developing both application and database in tandem and collaborating across teams, changes are made easier, faster and more reliably, Hilbert maintained. Working in VS2017, the Redgate tools "encourage developers to see the application and the database as two sides of the same coin, rather than isolated development processes," he said.
It is still early going for database DevOps' trek to the mainstream. But moves like Microsoft's and Redgate's may show a way toward a future where the database is not the odd man out in the DevOps discussion.
Check out our SQL Server tools guide
Look at four free tools for SQL Server
Learn about SQL Server Management Studio tools