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.
Overview
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.
How it works
These technical details feature an architecture diagram to illustrate how to effectively use this solution. The architecture diagram shows the key components and their interactions, providing an overview of the architecture's structure and functionality step-by-step.
Step 1
Well-Architected Pillars
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
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.