Apache Kafka in the Airline, Aviation and Travel Industry
Data in Motion at Lufthansa, Air France Hop, Singapore Airlines.
Join the DZone community and get the full member experience.Join For Free
Aviation and travel are notoriously vulnerable to social, economic, and political events, as well as the ever-changing expectations of consumers. Coronavirus is just a piece of the challenge. This post explores use cases, architectures, and references for Apache Kafka in the aviation industry, including airlines, airports, global distribution systems (GDS), aircraft manufacturers, and more. Kafka was relevant pre-covid and will become even more important post-covid.
Airlines and Aviation are Changing — Beyond Covid-19!
Aviation and travel are notoriously vulnerable to social, economic, and political events. These months have been particularly testing one due to the global pandemic with Covid-19. But the upcoming change is coming not just due to the Coronavirus but because of the ever-changing expectations of consumers.
Right now is the time to lay the ground for the future of the aviation and travel industry.
Consumer behaviors and expectations are changing. Whole industries are being disrupted, and the aviation industry is not immune to these sweeping forces of change.
The future business of airlines and airports will be digitally integrated into the ecosystem of partners and suppliers. Companies will provide more personalized customer experiences and be enabled by a new suite of the latest technologies, including automation, robotics, and biometrics.
For instance, new customer notification mobile apps provide customers with relevant and timely updates throughout their journeys. Other major improvements support the front-line service teams at various touchpoints throughout the airports and end-to-end travel journey.
Apache Kafka in the Airline Industry
Apache Kafka is the de facto standard for event streaming use cases across industries. Many use cases can be applied to the aviation industry, too. Concepts like payment, customer experience, and manufacturing differ in detail. But in the end, it is about integrating systems and processing data in real-time at scale.
For instance, omnichannel retail with Apache Kafka applies to airlines, airports, global distribution systems (GDS), and other aviation industry sectors.
However, it is always easier to learn from other companies in the same industry. Therefore, the following explores a few public Apache Kafka success stories from the aviation industry.
Lufthansa — Kafka Unified Streaming Cloud Operations
Lufthansa talks about the benefits of using Apache Kafka instead of traditional messaging queues (TIBCO EMS, IBM MQ) for data processing.
The journey started with the question of Lufthansa can do data processing better, cheaper, and faster:
Lufthansa's Kafka architecture does not have any surprises. A key lesson learned from many companies: The real added value is created when you leverage Kafka not just for messaging, but its entire ecosystem, including different clients/proxies, connectors, stream processing, and data governance:
The following picture shows the result at Lufthansa: A better, cheaper, and faster infrastructure for real-time data processing at scale:
My two favorite statements (once again: not really a surprise, as I see the same at many other customers):
- 'Scaling Kafka is really inexpensive.'
- 'Kafka adopted and integrated within 3 months.'
Watch the full talk from Marcos Carballeira Rodríguez from Lufthansa recorded at the Confluent Streaming Days 2020.
Singapore Airlines — Predictive Maintenance with Kafka Connect, Kafka Streams, and ksqlDB
Singapore Airlines is an early adopter of KSQL to continuously process sensor data and apply analytic models to the events. They already talked about their Kafka ecosystem usage (including Kafka Connect, Kafka Streams, and KSQL) back in 2018. The use case is predictive maintenance with a scalable real-time infrastructure, as you can see in my summary slide:
Check out the complete slide deck from Singapore Airlines for more details.
Air France Hop — Scalable Real-Time Microservices
I really like the Kafka Summit talk title: 'Hop! Airlines Jets to Real-Time'. Air France Hop leverage Change Data Capture (CDC) with HVR and Kafka for real-time data processing and integration with legacy monoliths. A pretty common pattern to integrate the old and the new software and IT world:
The complete slide deck and on-demand video recording about this case study are available on the Kafka Summit page.
Amadeus — Real-Time and Batch Log Processing
As I said initially, Kafka is not just relevant for each airline, airport, and aircraft manufacturers. The global distribution system (GDS) from Amadeus is one of the world's biggest (competing mainly with Sabre). Passenger name record (PNR) is a record in the computer reservation system (CRS) and a crucial part of any GDS vendor. While many end-users don't even know about Amadeus, the aviation industry could not survive without them. Their workloads are mission-critical and need to run 24/7 in real-time, plus connect to their partners' systems (like an airline) in a very stable and mature manner!
Amadeus is relying on Apache Kafka for both real-time and batch data processing, as they explain on the official Apache Kafka website:
Streaming Data Exchange for the Travel Industry
After looking at some examples, let's now cover one more key topic: Data integration and correlation between partners in the aviation industry. Airline, airports, GDS, travel companies, and many other companies need to integrate very well. Obviously, this is already implemented. Otherwise, there is no way to operate flights with passengers and cargo. At least in theory. Honestly, one of the most significant pain points of the travel industry for customers is bad integration across companies. Some examples:
- Late or (even worse) no notification about a delay or cancellation.
- Issues with the display of available seats or upgrades.
- Broken booking process on the website because of different flight numbers, connecting flights.
- Booking class issues for upgrades or rebookings.
- Display of technical error messages instead of business information (for instance, I can't count how often I had seen an 'IBM WebSphere' error message when I tried to book a flight on the website of my most commonly used airline).
- The list goes on and on and on... No matter which airline you pick. That's at my experience as a frequent traveler across all continents and timezones.
There are reasons for these issues. The aviation network is very complex. For instance, Lufthansa group sells tickets for all their own brands (like Swiss or Austrian Airlines), plus tickets from Star Alliance partners (such as United or Singapore Airlines). Hence, airlines, airports, GDS, and many partner systems have to work together. 24/7. In real-time. For this reason, more and more companies in the aviation industry rely on Kafka internally.
But that's only half of the story... How do you integrate with partners?
Event Streaming vs. REST/HTTP APIs
I explored the discussion around event streaming with Kafka vs. RESTful web services with HTTP in much more detail in another article: 'Comparison: Apache Kafka vs. API Management / API Gateway tools like Mulesoft or Kong'. In short: Kafka and REST APIs have their trade-offs. Both are complementary and used together in many architectures. API Management is a great add-on for many applications and microservices, no matter if they are built with HTTP or Kafka under the hood.
But one point is clear: If you need a scalable real-time integration with a partner system, then HTTP is not the right choice. You can either pick gRPC as a request-response alternative or use Kafka natively for the integration with partners, as you use it internally already anyway:
Kafka-native replication between partners works very well. No matter what Kafka vendor and version you and your partner are running. Obviously, the biggest challenge is security (not from a technical but an organizational perspective). Kafka requires TCP. That's much harder to get approval for opening it to a partner than HTTP ports.
But from a technical point of view, streaming replication often makes much more sense. I have seen the first customers implementing integration via tools like Confluent Replicator. I am sure that we will see this pattern much more in the future and with better out-of-the-box tool support from vendors.
Data Integration and Correlation at an Airport With Airline Data using KSQL
So, let's assume that you have the data streams connected at an airport. No matter if just internal data or also partner data. Data correlation adds the business value. Sönke Liebau from OpenCore presented a great airport demo with Kafka and KSQL at a Kafka Summit.
Let's take a look at some events at an airport:
These events exist in various structures and with different technologies and formats. Some data streams arrive in real-time. However, some other data sets come from a monolithic mainframe in batch via a file integration. Kafka Connect is a Kafka-native middleware to implement this integration.
Afterward, all this data needs to be correlated with historical data from a loyalty system or relational database. This is where stream processing comes into play: This concept enables the continuous data correlation in real-time at scale. Kafka-native technologies like Kafka Streams or ksqlDB exist to build streaming ETL pipelines or business applications.
The following example correlates the gate information from the airport with the airline flight information to send a delay notification to the customer who is waiting for the connection flight:
Tons of use cases exist to leverage event streams from different systems (and partners) in real-time. Some examples from an airport perspective:
- Location-based services while the customer is walking through the airport and waiting for the flight. Example: Coupons for a restaurant (with many empty seats or food reserves to thrash if not sold during the day).
- Airline services such as free or points-based discounted lounge entrance (because the lounge tracking systems know that it is almost empty right now anyway).
- Partner services like notifying the airport hotel that the guest can stay longer in the room because of a long delay of the upcoming flight.
The list of opportunities is almost endless. However, most use cases are only possible if all systems are integrated and data is continuously correlated in real-time. If you need some more inspiration, check out the two blogs 'Kafka at the Edge in a Smart Retail Store' and 'Kafka in a Train for Improved Customer Experience'. All these use cases are a perfect fit for airlines, airports, and their partner ecosystem.
Slides — Apache Kafka in the Aviation, Airline and Travel Industry
The following slide deck goes into more detail:
Kafka for Improved Operations and Customer Experience in the Aviation Industry
This post explored various use cases for event streaming with Apache Kafka in the aviation industry. Airline, airports, aerospace, flight safety, manufacturing, GDS, retail, and many more partners rely on Apache Kafka.
No question: Kafka is getting mainstream these months in the aviation industry. Serverless and consumption-based offerings such as Confluent Cloud boost the adoption even more. A streaming data exchange between partners is the next step I see on the horizon. I am looking forward to Kafka-native interfaces from Open APIs of enterprises, better support for streaming interfaces in API Management tools, and COTS solution from software vendors.
What are your experiences and plans for event streaming in the aviation industry? Did you already build applications with Apache Kafka? Let’s connect on LinkedIn and discuss it! Stay informed about new blog posts by subscribing to my newsletter.
Published at DZone with permission of Kai Wähner, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.