CMP provides a comprehensive approach for the entirety of Ruter and simplifies access to cloud services used by the business’s other customer-oriented IT teams.
Ruter AS is a public transport management company in the Norwegian capital of Oslo and parts of Viken (formerly Akershus County). It produces half of Norway’s public transport. The company has an operating model similar to many other businesses with the same mandate in Norway, Europe and the rest of the world.
The business has a globally oriented perspective on technology, including cloud services and digital mobility platforms. One reason for this is that the company’s action space and service offerings are heavily influenced by external technology choices. Among other things, Ruter’s IT Director sits on the Standards Committee for ITxPT (IT for Public Transport). ITxPT has established an open architecture for data access and systems integration within mobility services, including public transport.
In its planning, Ruter looks holistically at combined mobility, replacing the principle of “from stop to stop” with “from door to door”, encompassing travel by bus, tram, boat, and train, as well as cycling and walking.
Ruter’s Core Mobility Platform (CMP) department delivers a self-service platform on AWS.
CMP provides a comprehensive approach for the entirety of Ruter and simplifies access to cloud services used by the business’s other customer-oriented IT teams.
As part of the offer, CMP partnered with colleagues at Team Real Time (Sanntid) to set up an MQTT platform that complies with the ITxPT standard. MQTT is a protocol for lightweight IoT data exchanges in which it is frequently necessary to deal with bad data connections (i.e., resend information). Continuous MQTT contact with the various means of public transport is mission-critical. Ruter’s MQTT platform exchanges messages with the company’s means of public transport every two seconds. The exchanges include information about position, the number of people getting off/on, passenger types (child, adult, pram, bike, etc.), etc.
Ruter has switched from a limited-functionality MQ technology to EMQ X that meets its needs. After establishing the MQTT service on Amazon Elastic Kubernetes Service (EKS), Ruter considered the basic development work to be complete. The Real Time team handled the management of EMQ X inside Amazon EKS for some time before the company approached AWS’s MSP partner Orange Business about further DevOps collaboration.
Instead of opting for the more time-consuming process of configuring a new Amazon EKS service, Orange Business continued working with the solution using Amazon Elastic Container Service (Amazon ECS) on AWS Fargate. Amazon ECS on AWS Fargate is a 100% managed container service that eliminates the need to manage underlying systems, including OS. Should technical issues occur – for example, if a node on which the system is running goes down – the service is automatically restarted.
In accordance with CMP’s mandate, the service is set up as a PaaS solution. This makes it possible to replicate the service. Other teams can also integrate their applications via existing clusters when MQTT access is needed.
The MQTT service now run under the auspices of Orange Business maintains a very high level of performance.
The Infrastructure as Code (IAC) tool Terraform is used to configure all parts of the container-based platform. AWS NLB (Network Load Balancer) is used to distribute traffic between containers. The deployment of configuration changes and new versions occurs via the AWS CodePipeline. Upgrades and configuration changes are handled with AWS CodePipeline, AWS CodeBuild and AWS CodeDeploy. User authentication occurs via Amazon Aurora MySQL. Changes are mediated with a database trigger to start a Lambda function, generating an audit trail that is placed in Amazon S3. Amazon CloudFront and AWS WAF (Web Application Firewall) expose the audit trail to approved IP addresses with authentication via Lambda@Edge.