Platform Docker Docker Platform Engineering
05 Feb 2020 - Richard Horridge
Platform 4c, Birmingham New Street Station (photo © Mark Anderson CC-BY-SA-2.0)
Logo of Docker, a Linux container engine (photo © Mark Anderson Apache License, Version 2.0)
The title of this post will hopefully make sense soon!
Having made it through the three month report stage of my Ph.D (hurrah!) I have now got another job to distract me from my actual work! I've been in Crewe most of this week working with the Digital Railway project to deliver a Platform Docker application!
Those of you who are technically minded may have a preconception of what Docker and Platform mean - and we will get on to that! The application in question is a Python web application, taking various open and proprietary data from Network Rail and using it to monitor the status of rail services, with the aim of predicting delays and allowing station operations managers to plan where best to direct trains. These trains dock at platforms - hence Platform Docker!
My main role thus far has been to change the system architecture. I
have moved the system from a
systemd-service based, baremetal
hosted application to a Docker-microservice based application
docker-compose. As such, I can now call myself a
"Platform Docker Docker Platform Engineer"!
This process has not been without its difficulties - the main
developer is a relatively new programmer and, while the quality of
code has improved markedly, the codebase is full of poor design
decisions. However, with only three days on the project so far, I
have been able to replicate the production server on my local
docker-compose, and I have successfully persuaded
the team that this is a good route to go down.
Working on this application has been an interesting experience! I greatly dislike Python as a language, but it is an effective tool when deployed in this manner. It's been useful to get more experience with modern DevOps practice (I'm still itching for an opportunity to use Kubernetes) though I am looking forward to doing more work on the application side of things. It also gives me an insider's view of the operations team of Network Rail, and the application I'm developing will help with my Ph.D work as well!