There are multiple reasons for financial companies to adopt working according to DevOps workflows. Better predictability, smoother operations, lower expenses, and more…
The financial industry has always been among the most innovative and technologically advanced areas of business. Nowadays, in the technologically advanced and digitized world, the customers want their finances to be available on the move, managed with convenient apps and their Personally Identifying Information (PII) like banking card numbers to be kept secure.
DevOps is the modern way to organize the business processes, software delivery pipelines and operational workflows to increase reliability, deliver more value and optimize the expenses.
In order to comply with these requirements and remain competitive on the market, financial industries have to leverage all the benefits and best practices of modern IT technology to ensure the reliability of product releases, the uninterrupted end-user experience along with reduced operational expenses. Implementing DevOps in the financial services sector can help accomplish all of these goals, and below we explain the benefits of the transition to DevOps culture for financial companies.
DevOps is a set of operational patterns, best practices and tools aimed at optimizing every aspect of business operations, not limited to IT operations. Here are the main benefits of utilizing the DevOps approach for financial institutions:
Despite multiple tangible benefits, there are some concerns and myths surrounding the use of DevOps approaches, which hinder the speed of DevOps culture adoption across the financial industry. We briefly list and dispel them below.
Money likes silence, as we all know. In the financial industry, this means the stability of operations, constant availability of services, predictability of outcomes. DevOps methodology is a major disruptor of the old ways, and so many financial businesses are afraid to begin their DevOps journey amidst the Early Majority of the innovation cycle, the ones that reap nearly all the benefits.
There are 3 major myths about the DevOps approach, currently popular amongst the majority of financial institutions. We dispel those myths and hope that your company does not give them credit, or you risk to fall into the late majority or even laggards category and lose your competitive edge. The myths in question go as follows:
All of these myths are utterly and totally unjust, and here is why.
This belief was born in the early days of DevOps era and is still popularized by the “IT experts” who have little hands-on experience and do not know what is DevOps. Actually, the difference between the traditional and the DevOps workflows looks like that:
A developer has his own development environment, where he writes the code. Once the new batch of code is written, build and testing servers must be provisioned by the Ops personnel to build and test the code. After the bug fixes, the Dev tosses the code over the wall to be the Ops problem from now on, and the Ops have to make sure the code runs well in production. If after the release it turns out there are still bugs in the code, the Ops have to revert the changes and the cycle begins anew. The Devs and the Ops rarely interact
We don’t need to mention all the flaws of this approach, like siloed tasks and responsibilities, configuration drift, multiple approvals, operational bottlenecks, high risk of faulty releases, constant stress for all the parties involved. This is exactly why the DevOps approach was founded almost a decade ago.
A DevOps engineer is an Ops engineer, who has a say in software development. They do not enter the game when the product needs to be deployed and maintained, and they do not provision/configure the servers manually. DevOps engineers discuss the requirements and modus operandi of the future software with Devs at the start of the project, so the Devs know what resources will be needed, and the Ops can decide how to allocate them best.
The main benefit of DevOps approach is that the Devs and Ops communicate and collaborate with each other to remove lots of waste and increase the predictability and reliability of software delivery.
Stability is essential for banks and other financial companies, as the downtime of their services means literal money losses every minute. This is why the banks are strongly conservative towards the infrastructure management — the systems they use are built for years and decades, and nobody is willing to make any rapid changes to the architecture or workflows.
However, operational stability is actually the main goal of DevOps workflows and practices. The server configuration procedures are described with Kubernetes and Terraform manifests. This means the cloud infrastructure is managed as code, excluding the possibility of manual repetitive setup and configuration drift. Ansible and Jenkins allow building the pipelines, where every action is automated — from code building to provisioning the testing environments, testing the code and packing it for release, updating the production servers without service interruption through rolling updates, etc.
As a result, implementing DevOps in banks results in better security, uninterrupted server availability, faster updates. DevOps tools can handle legacy on-prem infrastructure just as well as the public cloud because the system stability and performance are the goals of DevOps practices.
This myth is also based on the fear of service outages, as the previous experience shows the managers that releasing the updates quickly can lead to major bugs making it all the way up to the production servers, obviously leading to costly service outages. The core issue here is that the managers do not take into account THE REASON for faster releases — automation.
With DevOps, the testing happens all the time, automatically, through unit tests. The code building pipeline can be built in such a way that EACH COMMIT BECOMES A RELEASE if the code passes the tests correctly. In addition, all infrastructure components and code are reusable, which shortens the setup time and effectively reduces the time to market for new products and services.
The best thing — the releases do not require shutting down the production servers for updates, as DevOps tools like Ansible and Jenkins enable the rolling releases. Every production server is updated in turn, while the customers are rerouted to other servers, WITHOUT ANY SERVICE INTERRUPTION. This is why DevOps approach to software delivery actually leads to better customer experience and does not pose the risk of hasty and faulty releases of the past.
This is also a logical outcome of the previous 2 myths. The management values stability and predictability overall, especially in financial services, as not every change is for the best. As digital transformation and implementation of DevOps methodology require a full overhaul of the existing business processes and workflows, the management is often mistaken to think the change must be done in one huge effort.
Actually, the transition to DevOps can take as many time as the company requires. It can involve one pilot project at a time and your team will be prepared for gradual changes once they come. This helps to set the KPIs, envisage the milestones and track the progress. After all, as the report on the State of DevOps adoption in 2017 shows, there are immense tangible benefits of the transition to DevOps, and 41% of the respondents to Atlassian survey reap these benefits already.
IT Svit has completed several projects implementing DevOps for financial industry businesses. We briefly outline them below.
The customer had the infrastructure with DigitalOcean and used Elastic Beanstalk App for the app deployment. The whole process took around 3 hours, and the process of build, testing and staging server setup was manual.
We designed and implemented the software delivery pipelines using Ansible. The app deployment now takes 5 minutes and all the software development workflows are automated.
One of IT Svit customers had the infrastructure deployed with AWS, but lots of their services were not utilized to the full extent. We have audited the existing systems, optimized the resource allocation and eliminated all services not critical to the project success. This allowed the customer to save around 68% of their OPEX with AWS.
The second part of the task included the infrastructure setup and implementation to support the development and operations of the customer’s app — a cryptocurrency trading SaaS. We suggested splitting the monolith app into microservices in order to enable CI/CD and simplify the monitoring. The app has not been down ever since.
A customer from France contacted us with an idea of a cryptocurrency exchange with direct conversion of fiat into cryptocurrency. We developed a Proof of Concept for the customer, which allowed him to secure the investment for the next round of development, which he ordered from us.
Now we ensure the security of operations, provide infrastructure maintenance & ongoing support, as well as cloud monitoring using Prometheus & Grafana. We instituted the CI/CD pipelines to support the ongoing product development, and have optimized the infrastructure for a couple more times to ensure the optimal performance and resilience of the production servers.
We hope this long read was informative and interesting and helped you explore the benefits of adopting a DevOps approach to software delivery for financial services. We also hope that we succeeded in dispelling any misconceptions you might have had regarding DevOps practices and their implementation in the real-world financial companies.
The cases described above clearly illustrate IT Svit expertise in delivering DevOps services to businesses of any size in the financial industry. If you are currently looking for a reliable outsourcing team, which will be able to deliver DevOps-as-a-Service and help your company reach success — IT Svit is ready to help!
If you enjoyed this article, please hit the clap button! Also you can check my previous stories:
10 disruptive DevOps trends of 2018_2017 was a great year for DevOps. Continuous and ever wider adoption of Kubernetes, its long-awaited native support in…_hackernoon.com
DevOps Team Roles And Responsibilities_A good DevOps team is a mix of Developers and Ops Engineers who can do each other’s work, isn’t it? Well, it’s as far…_hackernoon.com
Originally published at itsvit.com on September 11, 2018.