Article
August 31, 2020 · 5 min read timePolaris is Finnair's new operational flight information system that utilizes and shares information related to flight data through versatile interfaces. With Polaris, the transparency and maintainability of the system status increased significantly while operating costs decreased. Nitor acted as Finnair's strategic partner in the design, realization, implementation, and management of the new system.
Polaris is Finnair's new operative flight information system that utilizes and shares flight data-related data within the organization and with external actors. Polaris will gradually replace the previous system that has been in use for years. The new serverless solution achieves significant cost savings and enables scalability as well as flexible development in the future. The new solution, implemented with relevant technologies, enables the system to be maintained by Finnair's own team. Transparency of the system status is also clearly better than before. Nitor acted as Finnair's strategic partner in the design, realization, and implementation of the new system.
“Polaris is a very critical system for Finnair. I am proud that we succeeded in getting such a comprehensive system for our customers to use in a relatively short period of time. Polaris significantly improves the transparency of flight data across the organization. Our development team has also been responsible for the deployment in accordance with the DevOps principles. Continuous development and test automation have enabled the efficiency and quality of our development,” says Toni Tapper, Senior Solution Architect at Polaris.
How does the Polaris operative flight information system work?
Polaris acts as a hub for various flight information systems. It collects information from several different systems and passes it on in a consistent format. In air transport, there are numerous systems like these. For example, flight schedules or estimates and actualities related to their operation are information that is widely utilized in various services. Polaris collects information into a harmonized view, for example, when the airplane has landed on the runway and publishes the information through the interfaces.
Polaris is widely used and it is utilized by all of the functions that require flight information at Finnair. In addition to internal systems, Polar is utilized by Finnair's partners, such as airport operators. The data transmitted by Polaris is used in many of Finnair's own internal functions, such as operations, customer service, crew, catering, and cargo systems. Polaris also provides information on the customer interface for Finnair.com websites, emergency communications, and the use of CRM systems.
Fast results with the Proof of Concept solution
The project was launched with the technological Proof of Concept phase, during which the implementation of the first data flows was tested. The concept was validated, and the solution was modified based on the findings.
The implementation of the new system is a challenge in all large-scale migration projects. In connection with the implementation of Polaris, it was decided to build a harmonized interface for all of the systems using flight data. Creating a common domain model for the entire organization would reduce the system maintenance burden in the future. For the change to take place, all the connected systems had to be adapted to the Polaris interface. Implementation coordination was a significant part of the project.
“The project has been done iteratively and by learning continuously along the way. Together, we decided that the old system and Polaris would initially run in parallel. As data-utilizing systems were transferred to Polaris one at a time, we learned more about the needs of the interconnected systems and the technology used,” says Toni Tapper.
The new system was implemented with sustainable and innovative solutions
With Polaris, Finnair introduced new state-of-the-art technologies. In the new system, the transparency and maintainability of the status improved considerably, and Finnair was able to take responsibility for further development and maintenance. Polaris is built with a present-day mindset in the Amazon Web Services cloud utilizing Serverless and Managed Services. The infrastructure is maintained by AWS. Thanks to the solution, costs also decreased, as they accumulate according to use.
In the implementation of the Proof of Concept phase, preliminary technology choices were made, and the suitability of the chosen architecture was ensured. The choices were backtracked during the project by, for example, introducing the correct RDS database (Aurora RDS, PostgreSQL, jsonb, GIN indexing) instead of the DynamoDB document database.
It was decided to implement the system in such a way that the operation of the whole is not affected by a single problem in any of the execution steps. This led to the separation of the logical execution steps implemented on Lambda through SQS queues, which are read by Lambda functions specializing in processing each message. The state of the system was implemented in a versioning database that allows the effects of each individual change to be seen later.
To control Polaris' event-based interface, a publish/subscribe model corresponding to the principles of Apache's Kafka system was implemented, in which the status of each recipient is maintained separately in a database. The implementation was done using Lambda functions, so the entity was nicknamed Lafka. The system is able to fine-tune all changes and convey the updates that interest the recipients only.
Polaris architecture. The logical execution steps are separated by a queue solution to ensure fault tolerance.
Polaris also implemented comprehensive dashboards for monitoring the status of the system as well as relevant alarms to, for example, identify anomalies in data flows and highlight technical and content disruptions.
The technologies used in the project have included:
Platforms: AWS, Serverless Framework, Lambda, NodeJS, CloudFormation, CloudWatch, SQS, SNS, S3, API GW, IBM MQ
Programming languages: TypeScript, (Java)
Databases: AWS Aurora RDS (PostgreSQL)
Test/build automation: CodeBuild, CodePipeline, Github Webhooks, NDT, Robot Framework.
As one of the products of the project, Finnair published the library related to data validation (Read our blog post about creating the library) developed by Nitor as open source code.
A long-term partner was selected to implement the critical system
Nitor was chosen as Finnair's partner in the Polaris project due to the trust built through long-term cooperation. The digital engineering company’s cloud service expertise and long-term architectural consulting relationship made it possible to lead an extensive and critical system replacement project.
Polaris was implemented together with Finnair by Nitor's agile development team, which has had production and maintenance responsibility for the solution. In addition, Nitor provided the system with a comprehensive 24/7 support and maintenance service, alarm automation, and telephone emergency services. To ensure smooth operation, Finnair's project team included a project manager, product owner, and IT architect. In addition, the project stakeholders included numerous experts from different source and target systems.
Photo: Finnair, Woodpecker