Standardization and reusability
The successful integration of acquisitions into a group is an important prerequisite for its growth. Cloud services offer the opportunity to use the innovative power of startups for corporations as well. This is not without its challenges. In addition to adhering to the Group’s compliance guidelines, stricter security standards often have to be met.
In this project, peripheral systems such as automated rollouts, monitoring and logging were designed for reusability and standardization. They form the stable framework for the successful migration of future projects and products.
AWS Elastic Beanstalk, AWS Lambda, AWS S3 & Cloudfront and AWS RDS were used for the application-specific components.
security and sustainability
In the rapidly developing cloud industry in particular, it is essential to regularly update applications and infrastructures. If this does not happen, technical debt arises, which leads to high additional costs for updates and changes in the long term. As part of the migration, we adapted the application and the infrastructure in accordance with the current AWS requirements and the group guidelines. The measures carried out by PROTOS guarantee not only increased security but also the future viability of the application.
During the project, PROTOS Technologie GmbH provided advisory and implementation support for the migration of the application and for the conversion of the infrastructure. In order to ensure a high rate of innovation, the project was carried out using an agile methodology. We worked together with an external development team.
The first step of the migration involved rebuilding the infrastructure. The second step was to optimize the application and infrastructure. In addition, a separate test system was set up in order to be able to test any changes to the infrastructure and the application.
As part of the rebuild, the infrastructure was built using Terraform as infrastructure-as-code. Combined with the software versioning technology GIT, reproducibility, testability and automatic rollbacks could be guaranteed. Changes to the infrastructure code were rolled out automatically using a CI/CD pipeline (Continuous Integration / Continuous Deployment). The AWS developer tools AWS CodeCommit and AWS CodeBuild were used for this. The reproducibility could be used to provide an exactly the same image of the infrastructure as a productive system within a few minutes.
The application itself uses AWS Elastic Beanstalk, a Platform-as-a-Service service. Elastic Beanstalk handles everything from capacity provisioning, load balancing, and auto-scaling to application health monitoring. In addition, an SQL database is connected and in-memory storage is connected (with AWS Relational Database Service (RDS) and AWS Redis).
To enable CI/CD, frontend and backend changes were automated analogous to the infrastructure and for both environments using AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy and AWS Pipeline. Unit and integration tests of the application artifact within the CI/CD pipeline are also automated.
In the second step of the migration, the application and the underlying infrastructure were optimized. Superfluous infrastructure components were removed and safety-critical parts were redesigned.