AUTOMATION OF APPLICATION DEPLOYMENT IN AWS: FROM PILOT APPLICATION TO COMPLETE FRAMEWORK
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.
“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 greatly simplifies subsequent management.”
Tomáš Kavalír, IT Project Manager, Raiffeisenbank
Authentic handmade? No, thanks...
Even before the project was launched, Raiffeisenbank (RB) was already running containerised applications on-premise. However, only parts of the application were automated in the testing-deployment-management process.
Many steps were (semi-)manual and required the cooperation of many teams. This could lead to inconsistencies between the different environments, which subsequently required (manual) remediation.
Moreover, all on-premise infrastructure operations were running 24×7, which is uneconomical. Especially the lower, non-production environments (development and testing) make sense to run only when they are actually needed (e.g. when deploying a new application version).
... better automation of application deployment using the IaC principle
The joint RB and ORBIT project therefore aimed to find a cloud solution that:
- shorten the deployment time of the new application as much as possible,
- while taking advantage of end-to-end automation,
- be as simple as possible to manage (use 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 establish a modern “cloud approach” to deploying containerized applications to AWS, which will become the basis of a comprehensive framework that Raiffeisenbank will use to deploy applications in the future.
Bank Aggregation API Platform (BAAPI)
An important application (part of a larger package) enabling future 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 current needs of the project.
RB chose ORBIT because of its familiarity with AWS services and its detailed knowledge of the bank’s environment and processes.
Sooner or later, every company that is trying to use the cloud to its full potential will start thinking about automation. Raiffeisenbank decided to lean on the Infrastructure as Code (IaC) concept, which aims to have infrastructure defined in a similar way to application source code.
You can read more about when it makes the most sense to use IaC and which tools to use in this Cloud Encyclopedia article.
Application Deployment Automation Project Flow
The resulting modern solution was eventually achieved through a “partial revolution” (some areas of the solution remained more of an evolutionary shift of the on-prem state), which included the following phases:
- summarizing the requirements and needs of RB
- design of the target cloud architecture of the solution
- preparation of the Infrastructure as Code components
- customization of the BAAPI pilot application image
- preparation of Continuous Integration and Continuous Delviery pipelines
- monitoring and logging of the entire solution
"Do you just turn it on here?"
We were delighted to see the amazement on the faces of the administrators when they discovered 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
The key benefits of the resulting solution are therefore 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 subsection and the change will be deployed again in the same form to all environments in a fully automated manner.
“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 deploy a new application to the cloud fully automatically in the future. 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.
AWS CLOUD IMPLEMENTATION
|Deployment of the application||Several hours, many manual tasks, various teams involved||Several minutes, completely automatic|
|Consistency of the environment||Changes in one environment are uncontrollably propagated to higher environments, no manual intervention required||100% environment consistency, thanks to IaC all environments are deployed from the identical template|
|Solution Management||Individual components require routine management, patch management, etc.||All components are fully-managed (PaaS), minimal management requirements|
|Efficient use of infrastructure||All components (in all environments) run in 24×7 mode, high cost||Development environments are switched on only during development, non-production environments run automatically only during working hours, minimization of costs|
|Application scaling at peak times||Fixed infrastructure, no ad-hoc scaling||Dynamic scaling of application components according to real load and usage|
General comparison of on-premise and AWS cloud implementation
AUTOMATING APPLICATION DEPLOYMENT HELPS YOU GET THE MOST OUT OF YOUR CLOUD.
WHY PUT IT OFF?