For many companies, particularly those in the financial sector, a key technology consideration is risk management because if systems go down, it can cost a lot of money very quickly.
Take ABSA Bank, a subsidiary of the Barclays Africa Group. Serving customers in South Africa and Namibia, it provides retail, business, corporate, and investment banking, as well as wealth management products and services. Thousands of high-value transactions from major customers pass through its payment processing systems every day, none of which can fail or be delayed.
A 40-strong development team supports the systems and, to enable them to work faster and more effectively, the bank wanted to introduce DevOps for both application and database development, and automate processes where possible.
The aim was to give the development team end-to-end responsibility for the solutions they were developing, so that they could improve accuracy, reduce the time between releases – and minimize risk.
Goodbye manual database deployments
One of the biggest issues for ABSA Bank was deploying database changes. While they already used Redgate tools like SQL Prompt to improve coding, and the industry standard database comparison tool, SQL Compare, deployments were holding them back.
The process was manual and involved the teams compiling deployment scripts, saving them to a directory, and then handing them over to operations for review at deployment time. This typically took each developer two or three hours a week, and occasionally caused problems with deployments.
To improve the process, the bank wanted to move towards database automation by introducing continuous integration and automated deployments to match the practices used in application development.
Redgate’s SQL Toolbelt was a natural choice because, as well as containing tools the team were already familiar with, it plugs into Team Foundation Server and Visual Studio Team Services, which were in use for the applications.
The bank rolled out the SQL Toolbelt over a period of three weeks and saw an immediate advantage in that its introduction standardized the tooling in use across development and operations as well as application and database development.
Database changes are now checked into version control alongside those for application code. This triggers a continuous integration process which builds the changes to test everything is working as it should. If not, the build fails and the team receive feedback about what went wrong. This catches any errors early on in the process and stops them reaching the production environment.
Once tests pass successfully, a NuGet package is created and is automatically promoted across environments all the way to production, saving everyone hours and hours of time. Perhaps as importantly, it has also reduced deployment errors and given the development team – and ABSA Bank – confidence that their systems are safe when changes are introduced.
If you’d like to find out more about how ABSA Bank introduced database DevOps, read the case study.
If you’d like to discover how the SQL Toolbelt works, download a fully-functional, 14-day trial version.
Also in Hub
The syntax of the TOP clause insists on a bracketed, or parenthesized, expression as its first argument, so that TOP 34 should, strictly speaking be TOP (34), although if you are just supplying a nume...
Also in SQL Toolbelt
A well-established technique for improving application code quality, during software development, is to run unit tests, in conjunction with a code coverage tool. The aim is not only to test that your ...
Also in Product learning
Developers, when working on databases rather than the application code, often find they have less freedom to experiment than they are used to. It's not necessarily easy to set up a database for testin...
Also about SQL Toolbelt
There have been a few changes recently in the way Redgate develops software. In a deliberate move to address ongoing requests and requirements from users, the product teams who develop each of the pr...
Also about Database DevOps
Everyone understands the importance of code quality for applications, particularly when DevOps results in releases becoming faster and faster, reducing the room for error. The same issues increasi...