“Moving database development to DevOps won’t happen by taking shortcuts”
DevOps has definitely “rocked” developers’ world but what’s next for database development teams, which still follow a traditional waterfall process? How can we make it easy to execute key database development functions within a DevOps workflow without compromising quality, performance or reliability? We talked with John Pocknell, Sr. Product Manager at Quest about the solution to this problem, the tools that should be part of any DevOps toolkit and more.
JAXenter: What is Toad DevOps Toolkit and what problems does it solve?
John Pocknell: Toad DevOps Toolkit is a Windows application which provides some well-known Toad for Oracle features as callable functions as a part of an automated build and deployment process.
As more businesses try to embrace DevOps practices, one of the major bottlenecks we are hearing about from our customers is how to bring their database development and change control into that automated workflow – just as their application dev teams are already using. Toad DevOps Toolkit enables database developers and DBAs to become a part of the DevOps process.
JAXenter: Toad DevOps Toolkit is compatible with popular DevOps orchestration tools such as Jenkins and Bamboo.What are the immediate benefits?
John Pocknell: The immediate benefits are that there is little change to the way someone using Jenkins and Bamboo works. For Jenkins, for example, PowerShell is commonly used as a scripting tool to call external functions. Toad DevOps Toolkit supports PowerShell, Visual Basic and PL/SQL as a means to access functions like PL/SQL unit testing and static code reviews. Reports (in a variety of formats), logs and other files generated by Toad DevOps Toolkit are accessible from inside the build automation console.
JAXenter: Many companies implement DevOps strategies in order to stay competitive. However, if application updates require changes to the database, the DevOps process may break. Why does it break and how can we fix this?
John Pocknell: Application development teams have been following agile methodologies such as Continuous Integration for over a decade. Database development teams, on the other hand, do not and still follow a traditional waterfall process, with 2 to 3-month release cycles being typical, where developers and DBAs work in silos.
The production of high quality, reliable database code in a fast moving DevOps pipeline absolutely requires that development shops use source control as their system-of-record and test and review their code automatically.
Not only does this go against the culture of DevOps, it presents a major bottleneck to the overall business application, development and deployment process. The challenge for database teams is that the state of the production database, to which changes have to be deployed, is constantly changing and this gives rise to the risk of breaking the database without the necessary controls in place. The only way to fix this is to enable database development and deployment operations to be automated yet have the necessary checks and balances to give the operations teams the confidence to deploy changes at a faster rate.
JAXenter: Database development may lack code testing and reviews, source control controls, and the ability to integrate with existing build automation processes, which are critical to preventing errors impacting production systems. How can we prevent this from happening?
John Pocknell: Leveraging source control, implementing unit testing for PL/SQL code and establishing the basis for consistent code quality reviews are some of the biggest challenges faced by development shops as they realize it’s significance within a DevOps environment.
Toad for Oracle is the recommended tool for Oracle developers to simplify working with source control, creating unit tests and establishing a standardized way to measure code quality. As well as addressing SQL and PL/SQL performance and production scalability. In order to fully leverage the value provided by Toad DevOps Toolkit as it works within the build process, developers need to build and maintain higher quality, correctly functioning code in the first place in order to ensure it can move faster through the DevOps pipeline, and Toad for Oracle is the best tool on the market to ensure that.
JAXenter: Are DevOps practices changing the world of the database developer and the DBA as they know it?
John Pocknell: Yes they are. There is evidence to support that the adoption of DevOps practices is not just limited to large “enterprise” companies, but SMBs as well which means that the traditional role of database developer and DBA is already changing.
Indeed, some companies already have a role of DevOps Engineer to manage the whole development and release pipeline. In the world of DevOps, developers are empowered to take more responsibility for the code they produce and enabling it to move more efficiently through the pipeline without compromising quality and reliability. Likewise, DBAs are empowered to be involved in managing releases at different stages in the pipeline, ensuring all the database components will perform and scale in production.
JAXenter: What tools should be part of an “emergency” DevOps toolkit?
John Pocknell: In order for Oracle database development to effectively become a part of DevOps, key development and deployment functions need to be automated as a part of a Continuous Integration and Continuous Deployment process. This is the only way to effectively shorten those typical 2 – 3-month release cycles to weeks.
Moving database development & deployment to DevOps won’t happen by taking shortcuts. The production of high quality, reliable database code in a fast moving DevOps pipeline absolutely requires that development shops use source control as their system-of-record and test and review their code automatically. Without that, all that happens is untested, poor quality code will hit production faster, causing serious issues for the enterprise.