How much more enjoyable could a train ride be with more to do than merely watching the countryside pass you by, or reading a book or magazine? This article is a brief insight into how we enabled the Maxdome Video on Demand (VOD) service on board trains. At first, this may not sound like much of a challenge but bringing this project to life forced us to completely re-think all we knew about IT operations, monitoring, and deployments.
The project at a glance
Maxdome In A Box is a completely new Maxdome product that allows passengers on “Deutsche Bahn” ICE trains to watch movies and box sets, including a selection of free movies and more exclusive content for those customers who have subscribed to the “Maxdome Paket”. Our goal: An uninterrupted viewing experience as the train passes through tunnels, and the option to continue viewing after changing trains. The name “Maxdome in a Box” arose from how we amalgamated all the components of this new product into one system, which is then shipped in a special “container”.
To bring this concept to life, we had to reject a lot of what we thought we already knew about “normal” operational processes, architecture, and the toolsets required. In most cases, we had to reinvent or adapt solutions to meet the very special requirements of this project. For professionals who had been working in the field of IT for many years, this was quite a challenge indeed. What follows is a mere outline of the key challenges we faced during the development of this project.
The challenges in detail
Although WIFI connection isn’t a brand new concept on ICE trains, it’s still not 100 percent guaranteed to cover all areas with a stable and fast Internet connection. This fact, combined with a moving train, proved to be the biggest challenge of the whole project. Until this point, every project we previously undertaken had been implemented via a consistent network connection. With this premise, we had to adapt existing toolsets to fit those very special needs:
- Costumers might not be able to access Maxdome during offline phases
- Notifications could not be received when a train passes through a tunnel or through an area with insufficient network coverage
- Maxdome’s existing customer login and new customer registration would still need to function. We certainly never considered storing customer data on trains, so we had to find appropriate solutions that would essentially behave like standalone middleware systems: But this required data from landside APIs
Data security is of paramount importance and as a smart friend of mine once said: “Security always comes first – so it’s always in your way”. Naturally, this had a considerable impact on the speed of our progress. Not only did we have to implement a lot of security technologies ourselves, such as Kernel Level Security Tools, application security, and intrusion detection, but we also had to implement a granular set of defense tools to protect our IT environment.
Software & software testing
At the beginning of the project, developing the software seemed to be fairly straightforward … until QA came along with judicious test cases regarding the WIFI network, middleware handling, and Internet connectivity. So we created a Maxdome train mock-up, and simulated the potential problems that may arise during a train journey, such as network outages, drops, passing through tunnels, and other typical issues that may be encountered while traveling.
Modern technologies like REACT JS and NODE JS gave us a chance to respond quickly to feature and technology changes, and to create the best user experience for our customers. We tested and implemented both on- and offline cases, as well as decreasing bandwidth at several connection points of the architecture.
Imagine a highly-sophisticated IT system that cannot be rolled out via well-known tools (like ansible or puppet). Instead it needs to be deployed by manually integrating the system into the train. If this already sounds complicated, imagine the fact that we also need to exchange content, software, and system components on a regular basis. Deploying Maxdome software and content (around 1 TB of data) to hundreds of ICE trains was another considerable challenge presented by this project.
We created new deployment processes and transportation and tracking solutions as well as implementing workflows for all of these procedures. Planning, establishing, and maintaining this process became a branch of this project in its own right.