THE CHALLENGE
Keeping content fresh without grounding aircraft
For long-haul travelers, in-flight entertainment (IFE) is a key part of the travel experience, helping passengers pass the time during long flights. Managing IFE updates and delivery is a responsibility that French multinational aerospace corporation Thales has handled for over 30 airlines.
Keeping content fresh and easily accessible is a core task that previously required a technician to physically visit each aircraft once a month, keeping flights on the ground and potentially impacting airline revenue.
“There were many limitations with the older systems,” said Alexandre Plaitant, DevOps Engineer at Thales. “We wanted to give airlines the autonomy to deploy the applications they want on board, and update content incrementally—potentially daily—without the need for physical intervention.”
The Thales system uses two main database environments: one on each aircraft, and a parent database on the ground that handles content distribution and updates. While each aircraft uses MongoDB Community Edition as its local database, Thales originally chose Azure Cosmos DB to handle ground-based activity.
“An aircraft isn’t always connected to the internet, so we have to host all the content on board, which requires substantial storage,” added Plaitant. “Our goal is to provide the best traveler experience and be as responsive as possible. The challenge is synchronizing between the ground and the aircraft—when internet access is available—to update the content.”
Cosmos DB worked well at first, but began to struggle as the Thales application grew. Response times became excessively long, and performance bottlenecks caused stability issues. If a service launches too many requests at once, the database could crash, taking down the entire fleet management platform.
Additional issues also emerged. A lack of transparency in the previous solution’s pricing model made it difficult to scale and manage costs effectively. Cosmos DB’s API was also tied to an older version, compatible with MongoDB 4.0, causing engineering problems that prevented Thales from implementing more modern features.
“Some drivers were incomplete, which meant certain features were missing,” explained Plaitant. “That forced us to reimplement processes directly in our code—work we didn’t want to spend time on.”
“We were stuck with a limited version of Cosmos DB that was starting to create security issues and affect the overall passenger experience,” added Jeanne Barriere, Full Stack Developer at Thales. “We realized that the best way to keep everything up to date was to switch to MongoDB Atlas.”
