There has been a great deal of talk recently around a re-discovered process known as DLM, or Database Lifecycle Management. DLM has been around for many years, but until recently has been virtually unknown and overshadowed by the complementing process of ALM, or Application Lifecycle Management. While ALM has seen widespread adoption along with a plethora of books, associated training materials, and even an annual summit, DLM has remained on the fringe. However, that is all changing. Since ALM and now DevOps has become fairly ubiquitous, the new challenge is bringing the data tier along for the ride.
Almost all of my clients, even the ones with very mature ALM practices, are struggling with how to manage the increasingly rapid changes to the data tier that support their rapidly changing applications. There is a massive need for process improvement in the area of DLM.
Fortunately, the need for effective DLM tools has not gone completely unnoticed, although there are still a very limited number of tools available—and by limited, I mean three. The choices are essentially Microsoft’s SQL Server Data Tools, Redgate’s set of development tools including the DLM Automation Suite, and Redgate’s new acquisition, Ready-Roll. SQL Server Data Tools (SSDT) ostensibly ships with SQL Server, is free and plugs in to Visual Studio. Redgate’s DLM tools come with a price tag and plug in to Microsoft SQL Server Management Studio. Ready-Roll, which up to now has been a compelling, but minor player in the DLM marketplace was recently acquired by Redgate and plugs in to Visual Studio.
I personally prefer the Redgate DLM tools. I have previously written about Redgate, so there is no question that I am a big fan. The primary reason I prefer and recommend the Redgate tools to my clients is that the Redgate tools put database development in the same development paradigm as the corresponding applications; there are workspaces (the development databases that are linked to source control), change management (source control branches, merging, etc…), automated builds (yes, database builds), unit testing (of course!) and automated deployments all handled with the tools and integrated in to your current ALM environment. No heroics are required. If you use TFS or Team City, there are plugins that natively support the Redgate build and deployment tools. If you are using anything else, all the functionality is a PowerShell script away. The Redgate automation tools also plug seamlessly and easily in to Octopus Deploy as well as Microsoft’s Release Management (albeit not as easy as Octopus, since nothing is really easy with RM).
Another reason I prefer the Redgate tools is because they integrate seamlessly with SQL Server Management Studio, which is the environment I prefer to work in when dealing with databases. However, I understand that there are many developers who prefer to use Visual Studio and so SSDT and/or Ready-Roll are attractive options for that group. SSDT is a great tool, but is a bit sparse on its features and fairly glacial in its feature improvement pace. Ready-Roll picks up where SSDT leaves off, provides NuGet functionality and is being aggressively developed by the Ready-Roll/Redgate team.
If a move to Azure is in consideration as part of your organization’s database management and modernization strategy, an excellent opportunity exists through Microsoft’s SQL Modernization Assessment program. This Microsoft-funded engagement can be used for an examination and assessment of your organizations database environment in order to provide a recommendation on how, when, or if you should consider a move to SQL Azure along with recommendations to improve your overall DLM practice. Of course, we would love to work with you on this Microsoft supported assessment or any other steps along your DLM journey. Contact us to learn more!