Founded in 1997, Trainline is a website and app dedicated to making train travel easier, cheaper, and smarter. Trainline maintained high-speed growth during a year-long migration to AWS, while improving agility, security, and availability. By transitioning to a microservices model, the development team at Trainline has been able to switch to continuous delivery, and do so four months ahead of target. It has gone from a six-week development cycle to pushing out more than 70 updates in one week.
Trainline Chief Technology Officer (CTO) Mark Holt joined the company in 2014. He explains why the firm’s approach puts it ahead of its competitors: “We obsess about user experience,” he says. “Through rigorous testing with real-life customers, we make sure that our apps and website are as easy to use as they can be. Staying at the forefront of user design requires constant innovation.”
However, Holt and his team had identified three challenges that were holding Trainline back. “We estimated that our developers were spending 30–50 percent of their time figuring out why software components weren’t working,” says Holt. “This was affecting our agility. Secondly, keeping our hardware up to date was costing us around £1.2 million each year in refreshes. But the most important issue was speed: Bringing a new software component or piece of hardware on board would take weeks. To keep up our pace of innovation, we needed it to be much faster—minutes rather than weeks.”
Holt and his team had to ensure that any new infrastructure could support Trainline’s ambitious growth plans. “In 2014, we were the number-one train ticketing site in the U.K., and our five-year goal was to become number-one in Europe,” says Holt. “There was no way our existing infrastructure could have sustained the level of growth we were aiming for.”
Trainline chose to move its entire infrastructure to Amazon Web Services (AWS) in a year-long migration that also saw it redesign many of its services to make them more cloud capable. Holt says, “We looked at all the cloud providers, but the breadth of features and stream of valuable new services coming out of AWS made it the best choice for us. That and its maturity. It was a one-horse race as far as we were concerned.”
Holt and his team got started with help from AWS Professional Services, but also hired experts to provide in-house leadership. A large part of the migration involved breaking down services related to the company’s Oracle Exadata Database Machine. Pierre Meyer, information systems director at Trainline, says, “We knew where the bottlenecks were, so instead of a lift-and-shift approach we looked deep into our applications, embraced a cloud philosophy, and started to architect with the cloud in mind. Around 25 percent of our technical resources for the year went into this project to make sure it was a success.”
Trainline uses Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3), along with Amazon Relational Database Service (Amazon RDS) for its Oracle database with Amazon ElastiCache for in-memory caching. It also uses Amazon DynamoDB, Amazon Data Pipeline to move data between different AWS resources, and Amazon Kinesis to process large, distributed data streams.
The company has now successfully migrated to AWS, which provides an agile, scalable, and secure platform for its growing business. Holt says, “The most impressive part of the move was sustaining incredible top-line growth while 25 percent of our technical resources were dedicated to the AWS migration. Our availability is four points higher than this time last year, and we’re so much more agile.”
By transitioning to a microservices model, the development team at Trainline has been able to switch to continuous delivery, and do so four months ahead of target. It has gone from a six-week development cycle to pushing out more than 10,000 updates in the past three months. “Continuous delivery was almost a by-product of the migration,” says Holt, “but it’s now much easier to instantly add features that benefit users. For example, we’ve just added a ‘Busy Bot’ feature that shows which carriages of a train are busiest.” The new way of working is also proving more productive for developers. Whereas before they used to spend 30–50 percent of their time on system admin, Holt estimates that it will be about a third of that in AWS. “We’ve gone from it taking two weeks to set up a development environment to two days, and it’ll soon be two hours; all with built-in security features,” says Holt.
With recent acquisitions, Trainline has now become Europe’s number-one travel site, and Holt and Meyer see AWS as the perfect platform to support growth on the continent. “Our acquisitions will just slot into our existing AWS environment, so we can spend more time worrying about creating an amazing experience for customers in Europe, and less time worrying about infrastructure,” says Holt. “AWS gives us a great foundation for building massive scale in new territories.”
To learn more about how AWS can help host your web and mobile apps in the cloud, visit our websites and website hosting details page.