Migration and Optimization of a Travel Platform for the DB Regio Bus
“Nationwide on the road – locally at home”. That is the motto of DB Regio Bus, the bus division of DB Regio AG. With more than 40 local companies and shareholdings, it is responsible for keeping bus transport moving in large parts of Germany.
As a central service provider for mobility, Deutsche Bahn’s acquisition of Snapbus offers a platform that brings together bus travelers and bus companies. By specifying a defined route, date and group size, bus trips can be planned and booked online in just a few steps.
The platform was developed and operated by Snapbus GmbH. The challenge was thus to migrate an already existing application into the complex IT infrastructure of DB Regio Bus.
- Requirement: Minimal interruption of operations and seamless migration of all data.
- Coordination of internal and external stakeholders to further develop and optimize the application.
On the IT infrastructure side, it was necessary to ensure that the existing infrastructure complied with Deutsche Bahn Group’s compliance and security guidelines. In addition, a separation in staging and production operations had to be ensured. The infrastructure was deployed on a versioned code basis, taking into account AWS Well-Architected.
Standardization and Reusability
The successful integration of acquisitions into a group is an important prerequisite for its growth. Cloud services offer the opportunity to leverage the innovative power of startups for corporations as well. This is not without challenges. In addition to meeting corporate compliance guidelines, stricter security standards must often 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 future Viability
In the rapidly developing cloud industry, it is essential to regularly update applications and infrastructures. Failure to do so creates technical debt, which in the long term leads to high additional costs for updates and changes. As part of the migration, we adapted the application and the infrastructure in accordance with the current AWS requirements and the client’s guidelines. In addition to increased security, the measures implemented by PROTOS also ensure the future viability of the application.
During the project, PROTOS Technologie GmbH provided consulting and implementation support for the migration of the application as well as the reconstruction of the infrastructure. In order to guarantee a high innovation speed, the project was carried out in agile methodology. For this purpose, an external development team was involved.
The first step of the migration involved the rebuild of the infrastructure. The second step involved the optimization of the application and the infrastructure. In addition, a separate test system was set up to test any changes to the infrastructure and the application.
As part of the rebuild, the infrastructure was built as infrastructure-as-code using Terraform. Combined with the software versioning technology GIT, this ensured reproducibility, testability and automatic rollbacks. Changes to the infrastructure code were rolled out automatically using the CI/CD pipeline (Continuous Integration / Continuous Deployment). The AWS Developer Tools AWS CodeCommit as well as AWS CodeBuild were used for this purpose. The reproducibility could be used to deploy an exact replica of the infrastructure as a production system within a few minutes.
The application itself uses AWS Elastic Beanstalk, a platform-as-a-service service. Elastic Beanstalk handles capacity provisioning, load balancing, and automatic scaling up to the status monitoring of the application. In addition, an SQL database is connected and in-memory storage is attached (using AWS Relational Database Service (RDS) and AWS Redis).
To enable CI/CD, frontend and backend changes were automated analogously to the infrastructure and for both environments using AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, and AWS Pipeline. Also automated are unit and integration testing of the application artifact within the CI/CD pipeline.
In the second step of the migration, the application and underlying infrastructure were optimized. Superfluous components of the infrastructure were removed and security-critical parts were redesigned.
Graphics: Pixel perfect, kerismaker, Freepik from Flaticon.com