Trainline has built an open source platform for developers to deploy and manage individual apps and environments in the Amazon Web Services (AWS) public cloud.
The company employs 150 developers who focus on improving user experience.
Trainline recently migrated its development, staging, UAT and production environments from a legacy private data centre to AWS to ensure that the firm's underlying infrastructure wasn't a constraint on time to market.
Chris Turvil, head of cloud and platform agility at Trainline, explained in a blog post that developers using the company's legacy environment spend up to 30 per cent of their time troubleshooting technical problems such as missing versions, differences to other environments and difficulties with deployments.
"Consequently, we recognised that we also needed a standard way for our developers to quickly and safely deploy and manage individual applications and entire environments," he said.
Trainline CTO Mark Holt told V3 that the company spent a lot of time looking for an existing commercial or open source products that met its requirements.
"We found that most of the existing packages were heavily 'opinionated'. They tried to drive us towards particular technology solutions that weren't appropriate in our multi-language, mixed Windows/Linux environment," he said.
Turvil agreed that tools such as Spinnaker are 'opinionated' about the approach, while Kubernetes assumes that everything is a container and AWS Code Deploy leads to single-tenancy. He added that nearly all the tools lack "first-class Windows support".
The company ended up developing its own platform called Environment Manager, which Turvil said is "minimally opinionated" and enables continuous delivery of software components to Windows and Linux AWS environments.
It is best suited to companies with 100 to 5,000 servers running a mixture of legacy and modern applications, according to Turvil.
Environment Manager supports a range of deployment methods, including basic overwrite, blue/green, canaries and immutable servers, and support for containers and Lambda functions is in the pipeline.
"Environment Manager has now become our single source of truth and approach for deploying everything into AWS," said Holt.
Holt felt strongly that open sourcing Environment Manager is "an opportunity for us to give back to the community".
"If we couldn't find something that worked for our deployment needs we felt that other people ought to benefit from our experiences, just as we benefit from theirs," he said.
The Trainline Environment Manager source code can be downloaded from GitHub and is available under the Apache 2 licence.
Holt admitted that the tool is slightly hard to install but said that his team is working on improving the process over the next few weeks.
"We use a lot of AWS Lambda, and support for deploying functions should be coming soon. In time, we'd love more companies to take on the tooling and contribute their changes back," he said.
Mark Vartanyan was working for Norwegian e-healthcare firm Dignio when he was arrested
Samsung can't see a way to profitably compete against Amazon and Google
Fix being rushed out - but not quite as quickly as an ambulance to an emergency
Massive miner Rio Tinto claims 20 per cent of pit-to-port train kilometres in Australia are now driverless
Rio Tinto today, TfL tomorrow?