Today, the digitization of banks necessarily involves the modernization of legacy systems. A legacy system is an application or IT component (hardware unit, application, process) based on obsolete technologies that does not properly support the fast and flexible models of digital business.
Failure to implement more innovative technologies entails a loss of competitiveness on the part of the company, especially if competitors have invested in digital transformation tools. To keep up with the times, finding innovative approaches to legacy structures has now become of vital importance when it comes to ensuring competitiveness and efficiency in the future.
There are several strategies that can be adopted to modify the components of the application in a more or less incisive way. The choice of design path depends on what is needed, available budget, and the desired timing of the project as well as the level of innovation to be achieved.
The initial difficulties of digital transformation have affected all market sectors, but the banking sector is profoundly affected by this transformation, due to the necessity for constant implementation of new innovative technologies that affect both individual customers and the economy.
The banking sector was previously dominated by large, long-established financial institutions with a mainframe-based IT environment. Smaller and more agile companies, such as fintech startups, have emerged in recent years, and the sector continues to grow. The result is that their approach to DevOps methodology has achieved fundamental importance for banks, especially in regard to the use of recently-introduced new technologies, such as the blockchain that underlies cryptocurrencies such as bitcoin. Furthermore, many banks that have adopted a DevOps approach have had positive feedback regarding security problems, the identification of issues and the speed of resolving threats.
Why bring DevOps to the banking sector? The benefits
The logic of DevOps methodology makes processes more efficient when applied to the banking sector, guaranteeing optimization of the result, as the latter is based on the real needs of end users. This new approach means that the entire project management process is examined, paying particular attention to the collaboration of participating teams. DevOps aims to create a leaner work environment, transforming corporate culture and breaking down silos. In fact, through improved interaction between teams and the continuous exchange of information, a more fluid environment is created that gives banks an advantage in improving the productivity and quality of their employees’ work, as well as reducing errors.
Another DevOps aspect also facilitates improvement of employee and developer productivity, by improving the quality of the services offered, namely the automation of processes. Managing processes from a single centralized platform offers the engineer comprehensive monitoring of the progress of various processes, ensuring the highest levels of optimization, governance, and control.
The role of the DevOps Engineer in the banking sector
Placing a DevOps Engineer in an agile environment, where the implementation of new cutting-edge technologies goes hand in hand with an increase in business, can prove to be of fundamental importance. The principles of DevOps can only improve on existing results, and are absolutely compatible with the Agile methodology, already indispensable in itself to optimize the relationship between the development environment and the business.
In an agile environment, where the working mechanisms are already faster than seen when working with the earlier Waterfall environment, DevOps provides the piece that unites all aspects of the business. Focusing on all teams, and therefore also on operations, the adoption of this methodology improves the relationship between a business and its IT services in their entirety.
A DevOps Engineer is aware that the collaboration between the two methodologies helps improve work, and knows how to make the applied methodology of DevOps work best in an agile environment. This makes it possible for development teams to make deliveries more frequently, with higher quality, consequently reducing costs.
With DevOps methodology in play, development phases are faster and the risk of errors and delays drastically reduced, thanks to more efficient teamwork and the automation provided by this model.
The ideal DevOps tools for the banking sector
The DevOps model is based on the use of tools that allow business units to make distribution and innovation faster and more reliable. These tools allow certain activities to be automated, simplify the management of complex environments and offer technicians the maximum control possible in a high-performance environment.
DevOps approaches allow banks to say goodbye to the old tools and systems that created data silos, simplifying services with integrated tools such as Jira which, when used for workflow customization, allows teams to collaborate effectively with each other by keeping track of company objectives. Furthermore, when used as the core of the toolchain, Jira guarantees complete monitoring of the entire process from a single platform. The ScriptRunner plugin, applied to Jira, helps the company to develop customized and distinct workflows, simplifying collaboration between teams and ensuring all operations have total visibility on the progress of the work. This allows development teams to organize workflows that are constantly monitored by supervisory bodies (which therefore have the ability to intervene at any time).
For code versioning, the straightforward choice is Bitbucket, which integrates seamlessly with Jira, making it the ideal solution for companies that already use the Atlassian software suite. Additionally, using a plugin that enables the development of server-side Git hooks with any language, the DevOps Engineer is able to write Python scripts using custom-made modules that retrieve information from specific Jira issues via REST API, and carry out validations on commits and pull requests by keeping track of the changes made relating to that specific issue. This ensures complete control over product maintenance, avoiding the use of unnecessary third-party plugins.
The entire delivery pipeline can be automated through Bamboo, which will organize the build, test, and release phases in a single workflow for the DevOps Engineer. Build performs code compilation, analysis with SonarQube and artifact upload to Nexus, while deploys are handled by Build plans configured using a ‘Configuration as Code’ methodology, versioned on Bitbucket, that contains the tasks necessary for the deployment of artifacts.
Orchestration is implemented in a legacy environment
Many financial companies manage the phases of software delivery through a multitude of (often superfluous) processes. These processes are often structured in siloed organizations, which make it impossible to orchestrate activities, and result in a lack of governance and the presence of errors, delays, manual steps, and fragmented processes.
The DevOps methodology eliminates friction between teams and breaks down silos by orchestrating every aspect of the software delivery pipeline, in order to create repeatable and predictable processes that can be implemented frequently with minimal human intervention.
DevOps engineers therefore play an increasingly fundamental role in the digital transformation of the banking sector. An example of this can be seen in a study by “CheBanca!”. Starting from the need to actively involve all the company staff in the digitization process, the study highlights how the figure of the DevOps Engineer – through the use of different programming languages – not only allows the coexistence of modern and older software in a way that speeds up the process of exchange between the two, but also manages to establish an excellent collaboration between the developers. This ensures a considerable saving in the time required to resolve a need, and the implementation of an adequate and effective solution, leaving as much time as possible for analysis and design of the solution to be adopted.
The case study used by “CheBanca!” was put into practice through the tools previously mentioned; in order to orchestrate and track the test and production phases of deployments, the DevOps Engineer created a project with Jira, integrating the Bamboo tool and the Adaptavist ScriptRunner plugin (which allows the engineer to automatically generate and manually modify the deployment steps, based on the specifics of each release). This architecture allows the DevOps team to manage any special cases in two stages, without having to intervene in the configuration of the process or the algorithms implemented.
Fundamental to the DevOps philosophy in the “CheBanca!” study is the “automate and forget” principle. As the DevOps Engineer has total control over operating procedures, it is not possible to change the infrastructure without verifying the validity of the changes.
Conclusions and main ideas
The banking and financial sector is experiencing an unprecedented transformation thanks to the DevOps methodology, which allows banks to offer quality services by optimizing their safety and efficiency.
Implementing DevOps methodology requires a drastic change in corporate mentality and culture, since the DevOps model aims to promote communication between development teams, creating a close collaboration between them. In some cases, developers and operations can even be merged into a single team, so that technicians can be responsible for operational phases.
In a sector that relies heavily on applications (many of which are available on mobile platforms) that aim at basic business customers, it is essential to adopt an evolutionary methodology capable of improving products at a rapid pace and with greater agility. Doing so allows banks to offer optimized services to customers in an optimum way, while increasing their competitiveness on the market.