This Guidance helps airlines and airports provide updates about flight information to passengers in near real time. Sometimes, information displayed on airline applications may differ from flight information display screens in airport terminals. This architecture uses Amazon EventBridge or Kafka to share data from legacy technology systems, such as an airport operational database (AODB), and give passengers consistent and reliable flight updates. Airports and airlines can improve the travel experience through advanced ML-powered analytics and voice, chat, and mobile interactions with passengers.
Architecture Diagram
Step 1
The airport ground crew makes a change to gate allocations, and this change is stored in the AODB.
Step 2
AWS Database Migration Service (AWS DMS) captures changes in the AODB. It is configured to use change data capture (CDC) to catch all updates.
Step 3
AWS DMS uses Amazon Managed Streaming for Apache Kafka (Amazon MSK) as the destination for changes. Kafka is included for customers who want to consume events from applications that are not AWS-native.
This allows airports to facilitate both AWS- and non-AWS-based consumers. You may also use Amazon Kinesis Data Streams instead of Amazon MSK.
Step 4
An AWS Lambda function processes events from Kafka or Kinesis Data Streams. It can transform the structure of events and send them to Amazon EventBridge.
Step 5
EventBridge rules are configured to publish rules to different client targets. For example, if a gate change is made to flight number “ABC123,” an EventBridge rule can route all events that have a flight number starting with “ABC” to Airline 1.
Step 6
Airlines have EventBridge clients in their accounts, to which the airport is allowed to push events. Airlines can use Lambda to pull a list of passengers affected by the change and notify them through Amazon Simple Notification Service (Amazon SNS).
Step 7
Passengers receive notifications in near real time.
Well-Architected Pillars
The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems. Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
-
Operational Excellence
You can deploy this architecture using AWS CloudFormation, which uses repeatable templates and represents the architecture stack in code. You can also use Amazon CloudWatch and AWS X-Ray to gain visibility into what is happening across your system.
-
Security
AWS DMS connects as a user on the database to capture changes. Amazon MSK supports a native integration with Lambda. Lambda uses an execution role to access Amazon MSK. EventBridge uses AWS Identity and Access Management (IAM) policies to permit cross-account access. External parties accessing Amazon MSK directly can use IP restrictions and certificates.
-
Reliability
Consider deploying AWS DMS with a multi-Availability Zone configuration to ensure that changes are captured, even in the event of an outage. Additionally, you should familiarize yourself with Lambda concurrency limits in the Region you plan to run this system and set CloudWatch alarms to monitor resources. Lambda is used for stateless compute, which processes received messages. If Lambda fails to process messages from Amazon MSK, it will retry. EventBridge allows for messages to be replayed, retried, and delivered to multiple destinations.
-
Performance Efficiency
We included Kafka in this Guidance to provide an interface for data consumers that aren’t built on AWS, meaning they are unable to integrate with EventBridge natively. For airlines that do have a serverless-first application on AWS, we chose EventBridge to quickly respond to changes in airport infrastructure. We chose AWS DMS as a managed service to stream changes from the source database and Lambda as a cost-effective serverless compute layer for processing events.
-
Cost Optimization
Services such as Lambda and EventBridge allow customers to pay only for the resources they consume. For services such as AWS DMS and Amazon MSK, it is important that you regularly review your resource sizing to ensure cost effectiveness.
-
Sustainability
This architecture uses a serverless-first approach, through services such as Lambda and EventBridge. Lambda can be configured to use ARM processors for more sustainable compute.
Implementation Resources
A detailed guide is provided to experiment and use within your AWS account. Each stage of building the Guidance, including deployment, usage, and cleanup, is examined to prepare it for deployment.
The sample code is a starting point. It is industry validated, prescriptive but not definitive, and a peek under the hood to help you begin.
Related Content
Disclaimer
The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.
References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.