The introduction of dividing trains on the Rhaetian Railway network: DevOps in everyday project work
Is there anyone who doesn't know the red trains of the Rhaetian Railway (RhB), which run through the imposing Graubünden mountain landscape? The 384-kilometre-long route network fascinates travellers with its impressive views: after all, one third of it is a UNESCO World Heritage Site.
The smooth running of the RhB's railway operations is all thanks to a complex technical system: a system in which Zühlke has been involved for years and is constantly enhancing. Two DevOps engineers, Ken Iseli and Yannick Rüttimann, give us an insight into the various projects that they, together with their team, are implementing for the Rhaetian Railway.
Zühlke has been supporting the RhB in the application area for many years. We have end-to-end responsibility for several applications that Zühlke initially developed and introduced. In parallel, we are also implementing a new project of great significance: the introduction of separable multiple-unit trains, also known as dividing trains, on the Rhaetian Railway network. The introduction of the new dividing trains is an international project in which Zühlke plays an important role. It is not just the cooperation with the responsible people in Graubünden and the partners in Germany that makes the project so exciting: the challenge of integrating the new trains into the existing application landscape while the team continues to develop and operate the existing systems in parallel also ensures that there are no dull moments!
In charge of the central applications to guarantee smooth traffic operations
Cooperation with the Rhaetian Railway has a special history for us. More than ten years ago, we were hired by the Graubünden railway operator to develop several information systems. The resulting applications FIS, ZIS, and FLS are central to smooth traffic operations on the route network. FIS – the timetable information system – is the largest of the three. With FIS, the RhB can augment the timetable in such a way that a wide variety of applications can be supported. For example, FIS generates the timetable data for exchange with the SBB (Swiss Federal Railway) information systems or for the arrivals and departures boards that are situated in the stations.
ZIS is the name of the train information system. This application covers all information that is displayed inside and outside the train. For example, the starting station, the via stations and the terminus, which are displayed on the side of the train. This information, which passengers take for granted, must be specifically generated by ZIS for each of the train's stopping points.
"The introduction of the dividing trains into the existing application landscape confronts us with the task of revising the basic modelling within the applications."
Quite independent from this is the third application developed by Zühlke: FLS. FLS is a vehicle localisation system which can locate every train and every vehicle on the RhB network. The route network is equipped with readers at certain points on the track, and these readers record each passing train and transmit the details to the FLS. The localisation system is used by the train operator to plan the maintenance of individual vehicles, for example.
A Zühlke team is responsible for all new features and change requests in the above applications. We have recently modernised the Java EE Web Applications with the Spring Framework. We use Docker for containerisation and OpenShift for orchestration. As you can see, enhancement as well as ongoing operation is our daily business. A new addition, however, is the introduction of the dividing trains into precisely this application landscape. This innovation is not only a challenge in itself, but also confronts us with the task of revising the basic modelling within the applications.
The introduction of dividing trains on the RhB route network and in the application landscape
Conventional trains run from station A to station B. The special feature of dividing trains is that although they, too, leave from the departure point as one train, during the journey they split into two trains that then serve different stations and also arrive at different termini. The great advantage of dividing trains is that passengers have to change trains less often to reach their destination. Dividing trains allow you to simply remain seated – provided you boarded in the right part of the train. In the long term, dividing trains will contribute to a more efficient use of the RhB's infrastructure. Trains that are far too long and half-empty, on routes that need to transport a large number of passengers only as far as a certain station are now a thing of the past.
The advantages of the new trains are compelling. Nevertheless, from the technical point of view, the introduction of dividing trains into the Rhaetian Railway network is no simple matter. A dividing train becomes two trains in the course of its journey. This means that at least two train numbers are required for such trains. Various items of train information also change during the course of the journey. Ultimately, however, passengers must always be kept informed about which part of the train they are on and where their journey is taking them. Overall, the introduction of dividing trains has an impact on the entire RhB application landscape, and it is expected to be completed by the 2022 timetable change.
DevOps at its best: Cooperation with our customers and international partners
We maintain close cooperation with the application owners of the Rhaetian Railway. Four DevOps engineers from Zühlke are involved in the projects, along with a Business Solution Manager and an Engagement Manager. We use Scrum as an agile project methodology, we take on the role of Scrum Master and we are part of the development team. As the know-how carrier in the railway domain, RhB is the product owner.
The big challenge of the collaboration is that it involves several projects at the same time. On the one hand, we are responsible for the technical integration of the new dividing trains; on the other hand, we are also responsible for maintenance tasks in the existing applications. These must therefore be prioritised due to the limited capacity of the development team.
"Because this is the only way DevOps works: when all participants have a transparent overview of all the tasks and aspects that are involved and really work together instead of just beside each other".
To guarantee the success of all projects, we work closely with the employees of the Rhaetian Railway. The constant exchange of information on content, importance and urgency enables us to have a uniform view of our tasks and at the same time to offer our clients a transparent overview of our resources. Because this is the only way DevOps works: when all participants have a transparent overview of all the tasks and aspects that are involved and really work together instead of just beside each other. Our clients at RhB benefit from the fact that they can, at any time, assess our capacity for upcoming sprints, thus enabling them to prioritise better. This also gives us better control of costs. Our ultimate goal is to deliver maximum business value to our customers. This is how we understand DevOps and this is also how we work with all our customers.
PHOTO: Andrea Badrutt © Rhätische Bahn