{"id":4418,"date":"2017-05-19T15:59:50","date_gmt":"2017-05-19T15:59:50","guid":{"rendered":"https:\/\/redmonk.com\/jgovernor\/?p=4418"},"modified":"2017-05-19T16:06:26","modified_gmt":"2017-05-19T16:06:26","slug":"kicking-off-with-datical-oh-hai-xebialabs-database-ops-for-cicd","status":"publish","type":"post","link":"https:\/\/redmonk.com\/jgovernor\/kicking-off-with-datical-oh-hai-xebialabs-database-ops-for-cicd\/","title":{"rendered":"Kicking off with Datical, Oh Hai XebiaLabs. Database ops for CI\/CD"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/FoDDwls-AEajEEIpvegwxgxQip9qvajUcqdaeqm1U1zVDd3HZF0isTIabpY1vKhJGj_bzBqNEmJZZpgCRKkiZGljPmM0YLnFJWPqtXhYzINkH_HdeTTeT0Vze4iDhfFppVoeAhTl\" width=\"624\" height=\"300\" \/><\/p>\n<p>Sometimes signal comes at you from interesting directions. We had a kick off call with a new client called <a href=\"http:\/\/www.datical.com\/\">Datical<\/a> yesterday. They\u2019re trying to solve a first 500 mile problem. You might call it Continuous Database Integration or DataOps. Datical calls is Database Release Automation.<\/p>\n<p>Modern software development is all about Continuous Integration\/Continuous Deployment (CI\/CD) pipelines, but the test-driven development approach has been mostly used in new apps, targeting newer runtimes and likely a NoSQL datastore. When you\u2019re running Docker on your laptop, writing a new web app, it\u2019s unlikely you\u2019re targeting a traditional relational database such as Microsoft SQLServer or Oracle. A lot of CI\/CD is aimed at building somewhat stateless, cloud native apps, rather than more traditional ORM style stuff. As Stephen points out, when it comes to 12 Factor and Cloud Native apps <a href=\"http:\/\/redmonk.com\/sogrady\/2016\/09\/26\/devops-no-database\/\">the database isn\u2019t even an afterthought &#8211; it\u2019s an absence<\/a>. So how are you going to do DataOps?<\/p>\n<p>In the public cloud we\u2019ve seen some solid work from Heroku in allowing cloning or \u201cforking\u201d of Postgres images for developers to work more effectively with pipelines. Enterprises though are still writing transactional apps that do target relational databases. So how can they get with the move to CI\/CD? The last thing DBAs want to deal with is developers making a ton of changes and trying to push code every couple of hours. Never mind the DBA &#8211; the last thing a web developer wants to do is touch an Oracle database. There be dragons.<\/p>\n<p>As per the chart above Datical is automating some of the work, the idea being a developer can treat database code like application code. Changes should be error free and compliant with DBA best practices. Datical offers database code packager, a developer or DBA will commit changes to a source code repo, then those changes can be introduced to the pipeline through change simulator. If changes won\u2019t run they won&#8217;t run what rule was violated then they can rewrite that change, before turning it into a distributable package.<\/p>\n<p>Another vendor working in adjacent spaces, which partners with Datical is <a href=\"https:\/\/www.delphix.com\/\">Delphix<\/a> &#8211; Data virtualisation and data masking. That\u2019s another thing about enterprise data of course, unlike on the web in new businesses that tends to be a much strong call for data governance, particularly in regulated industries obviously. You can\u2019t just go slinging clones of databases full of customer data around for developers to play with &#8211; data needs governance, whether or not forking makes for simplicity and better apps.<\/p>\n<p>We\u2019ll be working with Datical on positioning and product strategy, and they already have some solid technology to work with. One of their approaches is targeting folks using <a href=\"http:\/\/www.liquibase.org\/\">Liquibase<\/a>, an open source tool for database refactoring.<\/p>\n<p>Going back to the partner question and my intro, one thing that did strike me was that XebiaLabs showed up prominently on their partner slide. Second time this week people have been talking about the firm this week. XebiaLabs is a GUI tool for creating development pipelines that integrates with pretty much everything. Of course that\u2019s important &#8211; there is huge fragmentation in the developer tools market &#8211; it\u2019s not like you can just support Jenkins and be done with it. Developers need to be able to choose their own tools &#8211; long gone are the days when the CIO could say \u201cwe\u2019re using Rational end to end for ALM\u201d. So XebiaLabs is about making it easier to automate pipelines across the tools choices engineering organisations are making, from unit testing to service and support. I asked why XebiaLabs had made the cut, and the answer was great.<\/p>\n<p>\u201cYou can\u2019t teach hustle\u201d. Hustle &#8211; that\u2019s definitely something want you want in a business partner.<\/p>\n<p>Anyway RedMonk is pleased to have Datical onboard &#8211; we\u2019re doing a fair bit in the data space at the moment. We even have an experienced DBA on the team &#8211; <a href=\"http:\/\/redmonk.com\/rstephens\/\">Rachel Stephens<\/a>.<\/p>\n<p>This is what she had to say in Slack during the briefing.<\/p>\n<p>1) it would have been AMAZING if I could have updated my databases with this degree of visibility\/auditability.<\/p>\n<p>2) I had to write all my own changes\u2026. is that not how it normally works? maybe this is why I never had any angry developers? :slightly_smiling_face:&#8221;<\/p>\n<p>And following up today:<\/p>\n<p>\u201cMy auditors would have loved that tool even more than me\u201d.<\/p>\n<p>Internal auditors getting along with CI\/CD tooling? Whatever next.<\/p>\n<p>&nbsp;<\/p>\n<p>Oracle and Heroku are both clients.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sometimes signal comes at you from interesting directions. We had a kick off call with a new client called Datical yesterday. They\u2019re trying to solve a first 500 mile problem. You might call it Continuous Database Integration or DataOps. Datical calls is Database Release Automation. Modern software development is all about Continuous Integration\/Continuous Deployment (CI\/CD)<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[],"class_list":["post-4418","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9wfjh-19g","_links":{"self":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/4418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/comments?post=4418"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/4418\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/media?parent=4418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/categories?post=4418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/tags?post=4418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}