Earlier this year in a report for PricewaterhouseCoopers’ technologyforecast, I dove deep into the tools and processes required to merge development and operations and speed applications to market.
Yaniv Yehuda, the CTO and co-founder of DBmaestro, called to say we’d forgotten the vital other half of the DevOps story: The databases without which all those applications are pretty much useless. Without putting databases through the same rigorous version control process as the application code as they change, including compiling and debugging new scripts in the database, he claims, you’re pretty much asking for failures when the new code and databases hit production.
For example, if you want to add a customer’s Facebook likes or LinkedIn profile to their database record, you also have to add new code to your application to access that information and track their comments, likes and other actions. More than nine of ten changes in a database’s tables, he says, will influence how the application operates, and thus must be tested as part of the version control and release processes.
Comparing and testing database versions is more complicated than testing code, he says. “With code, you replace components from version `A’ with version `B.’ If you do that with a database, you lose its content, so you need to create a transitional code that tells the production database what to change to accommodate the new structures that were added in development- How to transform ‘A’ to ‘B’.” These new structures include schema, (table structure), database code (such as procedures and functions), and content used by the application (such as metadata, lookup content or parameters tables.)
Their DBmaestro TeamWork not only creates and helps debug the new scripts in the database, but also controls the change control process itself to ensure that important changes aren’t lost as distributed teams create branches, sub-branches or interim releases of new databases. For code changes this problem is solved through automated version control systems.
DBmaestro Teamwork links the development of the database code within the database to the management of the version control and deployment process itself. Even if the development process itself doesn’t change, he says, “You have to manage it, track it better, to know who did what when, and to prevent people from overriding each other.”
“This is an enforcer-type tool,” says Gary Leibowitz, the firm’s head of business development. “Anyone who tries to bypass the process is forced to run through it correctly. This allows the database, for the first time, to be an integral part of the change process.”
DBmaestro TeamWork is available now for Oracle and Microsoft SQL databases. Pricing is based on the number of active users.
Filed under: Tech Trends
Like this post? Subscribe to my RSS feed and get loads more!