“The database development can be built into DevOps!”
How does DevOps fit with database development? Eero Mattila, the principal systems consultant for information management for Quest Software, has a different picture in mind. In our interview from DevOpsCon 2018 in Berlin, Mattila explains to us what you need to be aware of in this field and which tools are absolutely necessary for database development and DevOps processes.
JAXenter: Hello Eero and thank you very much for taking the time to talk with us. So, your session at DevOpsCon is about DevOps in database application development. So, which special feature should you consider before deploying DevOps in this field?
Eero Mattila: DevOps is about speed and the standardization of processes. Databases are a special kind of challenge because they require a time-out for their applications while any structural changes take place.
Some applications can be replaced with a newer version in almost no time. On the other hand, a table cannot be structurally altered during a transaction.
JAXenter: What are the necessary requirements for a successful DevOps conversion?
Eero Mattila: In order to avoid such described gaps, all processes must be automated as good as possible.
Versioning is one of these aspects. So are automatized unit tests, code reviews, synchronization of data objects, and similar things. All these things must be integrated in a CI system.
JAXenter: Let’s assume that we are at a point right now where DevOps won’t stand in the way and all participants are on the same level – where do we go from there?
Eero Mattila: Becoming faster and more productive, with a higher quality of database applications.
All jokes aside, the developer checks all his changes to the code and tables at the version control (the VCS). The CI system finds the changes in the VCS and initiates further steps. Code review and unit tests will be applied automatically, the necessary SQL scripts are generated. Last but not least, a new build will be created or a specific timeframe for its creation will be provided.
If single tests should fail, the developers and/or the DBA will be informed. Time-intensive routine work, like code reviews unit testing, schematic comparisons and script generation are therefore completely automated. Now, developers can concentrate on their code and the DBAs can focus on the processing of their databases.
JAXenter: Which tools – and thereby software – helps with a successful conversion of DevOps field in these fields?
Eero Mattila: The first requirement is a versioning system for the data objects, like tables, procedures, functions, packages and so forth. The next thing necessary is a tool for automated unit tests, code review, SQL optimization and the synchronization of DB objects. Finally, there’s the extension to continuous integration for the creation of builds.
JAXenter: What’s your core message that everyone should take with them?
Eero Mattila: The database development can be built into DevOps!