Case Aimo Park
Cloud-native parking solution provider
Case Aimo Park
Cloud-native parking solution provider
Aimo Park is the Nordic region’s leading parking solution provider and forerunner in digital transformation in traffic congestion and parking space solutions. They offer state-of-the-art feature-rich systems for mobile, web, and kiosks, which enable automatic, semi-automatic or manual parking for consumers as well as other customers, such as household companies and parking facility landlords. Previously known as Q-Park, was renamed in 2019 after a Japanese company Sumitomo Corporation acquired Q-Park in Sweden, Norway and Finland.
The purpose of the overarching project is the carve-out of all existing systems from the Q-Park Group and replace them with Aimo Park’s own systems that will serve the new organization.
The previous jointly developed solutions by Q-Park Finland were selected as the basis for the future core parking solution, which will support the growing needs of the new organization. Additionally, it will be developed from a Finland specific solution to support the needs of the entire Aimo Park organization in the whole Nordics.
Gofore Plc has been working with Q-Park since 2016. The carve-out project started in the end of 2019 and will continue through 2020 – 2021. Carve-out of the systems is implemented in a way that the development of current solutions will continue normally during the process and the systems will be gradually migrated to the new infrastructure.
Previously most of the infrastructure had been built on demand as new services were introduced and usage increased. Everything was done manually and there were a lot of interconnecting dependencies between resources. Monitoring of services wasn’t very intuitive, scaling horizontally often wasn’t a viable option, and due to nonstandard infrastructure architecture, troubleshooting issues took a long time.
From the very beginning Amazon Web Services had been the sole cloud provider. Tools and services such as IAM, S3, EC2 and RDS had been used successfully to deploy and run Aimo Park applications. However, the most critical service used had been Elastic Beanstalk, which was used to automate many of the tasks that would have otherwise been burdensome for developers. This had been a sufficient solution for a while. However, as the popularity of Aimo Park services grew and a much larger developer team was introduced, a more detailed and transparent control of the whole cloud infrastructure was required.
Gofore Plc was chosen by Aimo Park as the sole partner to carry out the overhaul of the existing cloud infrastructure. Together it was decided that the best course of action was to build everything from scratch and then migrate running services to the new platform one by one. While doing so, an objective of containerizing all services and moving towards a microservice model was set. To align with DevOps methodologies, this was accomplished together with developers to ensure that the whole application lifecycle was transparent. Agile development methodologies were also used with great results.
Main themes for the overhaul were as follows:
• Account structure
• Identity and access management
• Infrastructure automation
• Infrastructure monitoring
• Centralized logging
• CI/CD and deployments
To begin with, a new AWS account structure was created in order to isolate environments and workloads. Identity and access management was kept separate from actual application workloads and the workloads were divided into development, staging, and production environments. All of these were kept independent to avoid unnecessary dependencies. Additionally, a more fitting AWS region was chosen.
The cloud infrastructure was built following the principles of Infrastructure as Code using Terraform. The resulting code was highly self-documenting. Manual work was limited to a bare minimum and instead, all actual infrastructure changes were carried out by CI/CD pipelines. GitLab was used to build the pipelines for infrastructure as well as all application deployments.
Kubernetes and more specifically EKS was chosen as the container orchestration platform. To aid with the release processes, tools such as Kustomize and Keel were also used. Traefik was implemented as the ingress controller and auto-scaling was utilised as well. These integrated with multiple AWS tools to automate exposing services and scaling resources. All of this resulted in a highly automated and durable platform for applications to run on.
After a thorough evaluation, Datadog was chosen as the centralized monitoring and logging solution. The point was not only to keep metrics and logs for both the infrastructure as well as applications in the same place, but also to limit the required administration work to a minimum. Alarms were integrated into an internal communication platform to make response times faster and to aid in the troubleshooting process.
With the new cloud infrastructure in place and applications running in it, all the objectives set in place in late 2019 were achieved. Not only are services now more stable and able to scale out on a moment’s notice, but their whole lifecycle has been made transparent in accordance with the principles of CI/CD. Developers can take full ownership of applications throughout the whole lifecycle, from planning and coding, all the way into production releases and monitoring.
Many of the services were split into smaller applications and this was made possible partly due to the new cloud infrastructure having been designed and built specifically with service-oriented architecture and microservices in mind. From now on completely new services can be easily added regardless of the technical requirements they have.
Reliability and performance efficiency were major factors when designing and building the infrastructure. As a result, services are mostly self-healing and can scale out automatically to meet much larger customer demand without any manual work or intervention needed. Downtime can be limited to a minimum amount necessary. Additionally, each service only uses the computing resources it needs, and no pre-allocation is required, thus being cost-effective.
Development continues with improving both the infrastructure as well as the services running on it. As it stands, the steps taken in past nine months have resulted in a secure, resilient, and efficient infrastructure built in a cloud-native way.
Transparent application lifecycle
"We are very pleased with Gofore’s contribution from early UX design all the way to implementation, production and maintenance. Aimo Park aims very high in digitalising services and our goal is to be a leader in our field here as well. We believe we will achieve this together with Gofore."
Head of Developement and Operations
Capabilities in action
Expertise we utilised in Aimo Park -cloud project