Raiffeisenbank CZ & ORBIT

Instead of several hours of manual work by different teams, today a new application can be deployed automatically in a matter of minutes. Raiffeisenbank has used the principle of "infrastructure as code". Thanks to this, the bank can count on simple management of all future applications and high operational efficiency with minimal manual intervention. How was this change "born"?

"The principle of infrastructure as code and the idea of end-to-end automation (CI/CD, DevOps) shorten and simplify the application deployment process. They guarantee that all our environments are identical, which significantly simplifies the subsequent management."
Tomáš Kavalír, IT Project Manager, Raiffeisenbank
Raiffeisenbank: Automation of application deployment to AWS | ORBIT

Honest handmade? No, thanks...

Even before the project started, it was already operating Raiffeisenbank (RB) containerized applications in on-premise. However, only parts of the testing-deployment-management process were automated.

A number of steps were underway (semi-)manually and required cooperation of many teams. This could lead to inconsistencies between the different environments, which then required (manual) correction.

In addition, all on-premise infrastructure traffic was in 24×7 modewhich is uneconomical. Especially lower, non-production environments (development and testing) make sense to run only when they are actually needed (e.g. when deploying a new version of an application).

...rather automation of application deployment using the IaC principle

The joint RB and ORBIT project therefore aimed to find a cloud solution that:

  • as much as possible shortens the deployment time of a new application,
  • uses end-to-end Automation,
  • will be as simple as possible to manage (use of PaaS services, etc.).

For this purpose, we chose a pilot application BAAPI (see box), which was still in development and not really deployed in the on-premise infrastructure. We were thus able to determine modern "cloud approach" for deploying containerized applications to AWS, which will become the basis of a comprehensive framework on which Raiffeisenbank will install applications in the future.

RB chose ORBIT because of its orientation in AWS services and his Detailed knowledge of the bank's environment and processes.

Bank Aggregation API Platform (BAAPI)

An important application (part of a larger whole) that allows prospective bank customers to authenticate using their bank identity. The application was supplied to the bank by an external company and therefore could not be adapted to the actual needs of the project.

Sooner or later, every company that is trying to use the cloud to its full potential will start thinking about automation. Raiffeisenbank decided to rely on Infrastructure as Code (IaC) conceptwhich aims to have the infrastructure defined in a similar way to the application source code.

You can read about when it makes the most sense to use IaC and which tools to use in this Cloud Encyclopedia article.

Application deployment automation project progress

We finally managed to achieve the resulting modern solution by way of "partial revolutions" (some areas of the solution remained more of an evolutionary shift of the on-prem state), which included the following phases:

  • summarising the requirements and needs of the RB
  • design of the target cloud solution architecture
  • preparation of Infrastructure as Code components
  • image customization of the pilot application BAAPI
  • preparation Continuous IntegrationContinuous Delivery pipelines
  • monitoring and logging of the entire solution

"You just turn it on here?"

It was a joy for us to observe the amazement on the faces of the administrators when they found out that the processes they had been dealing with in on-premise for quite a long time and with the risk of error were in the end a matter of a few clicks with a clear result.

Main components of the solution | ORBIT

Main components of the solution

So the key benefits of automating application deployment to AWS are simplicity and reliability. Deploying a new version of an application in RB now requires changing a single parameter in the GIT repository. The CD pipeline already takes care of the deployment without a single manual intervention.

If a major change needs to be made to the infrastructure itself, the administrators will edit the Infrastructure as Code template sub-section and the change will again fully automated deployed in the same form in all environments.

"Thanks to ORBIT and their detailed knowledge of AWS, we were able to better and faster absorb the necessary knowledge and apply it to other projects. For many team members, the application deployment automation project was a learning by doing experience."
Tomáš Kavalír, IT Project Manager, Raiffeisenbank

Application deployment automation outputs

We have created a framework, according to which Raiffeisenbank can in the future deploy a new application to the cloud automatically. Using the Infrastructure as Code concept, our solution is very easy to manage. It saves a lot of time and money and does not require future involvement of ORBIT experts.

Implementation in on-premiseImplementation in AWS cloud
Application deploymentSeveral hours, many manual tasks, involvement of different teamsA few minutes, completely automatically.
Consistency of the environmentChanges in one environment are uncontrollably propagated to higher environments, manual intervention required100% environment consistency, thanks to IaC all environments are deployed from the identical template
Solution ManagementIndividual components require routine management, patch management, etc.All components are fully-managed (PaaS), minimal management requirements
Efficient use of infrastructureAll components (in all environments) run in 24×7 mode, high costDevelopment environments are only switched on during development, non-production environments run automatically only during working hours, minimising costs
Scaling applications at peak timesFixed infrastructure, no ad-hoc scalingDynamic scaling of application components according to real load and usage

General comparison of on-premise and AWS cloud implementation