How Istio is helping Auto Trader on its way to the Google cloud
- Auto Trader, one of the UK's largest websites, moves to Google Cloud, encouraged by improvements that Istio has brought to a Kubernetes-based infrastructure
The shift away from operating its own datacenters has been brewing for some time, but the decision was crystallized a little over a year ago. Encountering problems implementing end-to-end encryption across an application, the team found the solution was to deploy it to the Google Cloud, using Google Kubernetes Engine (GKE) for container management and the recently launched Istio service mesh to implement encryption using mutual TLS (mTLS). Istio also enabled more detailed insight into how applications were performing, revealing that Auto Trader had been overprovisioning resources by up to 75% on average.
Making the move to the cloud
Auto Trader now has more than 160 applications running in GKE, while another hundred or so currently in its own datacenters will complete the move during 2019. That includes the main Auto Trader website, which is slated to move to GKE within the next few months. It's a big step for the UK's sixteenth largest website, but one that's been on the cards for some time, says Russell Warman, Head of Infrastructure at Auto Trader:
We've talked about being cloud-native for five or six years, and our strategy has been to be cloud-native. We were building out a private cloud probably for six years and we've tried to encourage people to start thinking about infrastructure-as-code for quite a long time. So it hasn't been a complete shift.
Nevertheless, making a reality of the move has meant adopting new disciplines, while some people have faced a change of role and have had to learn new skills:
A number of these best practices, we've been running in our datacenters for many years but we've really had to prove that out to move to the public cloud ...
We worked really hard to make sure we help those people learn those new skills. We've had them pairing with another individual along the way, understanding what role they're supporting in the public cloud. For some people it has been quite a shift.
Early commitment to continuous delivery
With 55 million monthly visits across all platforms, Auto Trader offers the car buying public and trade a wide range of mobile and web applications in addition to its main website, where there are always hundreds of vehicles for sale. The services offered to the public include valuations, help selecting the right vehicle, reviews and editorial content, quotes for finance and insurance. Services to the trade including help with sourcing stock, pricing and giving insight into which vehicles are in demand at any given time.
The business is constantly looking to extend and enhance its online services to stay ahead of the game, says Warman:
We are absolutely a technology business — we've been long-established as an Internet business. We're absolutely leading disruption in this marketplace, because we recognize car buying habits are changing and we need to meet the needs of both our consumers and our retailers.
That's meant an early commitment to agile development and continuous delivery, with CD pipelines in use for ten years. Release stats have risen steadily year over year, and the move to containers on public cloud infrastructure has enabled a big acceleration in the number and accuracy of releases. It's now the norm for Auto Trader's engineering teams to push new releases many times a day, while the failure rate is very low and few of those failures have any impact on customers. Warman shares some metrics:
We've seen how our release stats have gone up year on year. This year we're predicting 11,000 releases and our success rate is at 99.73%. The number of customer impact releases is about 30.
Five years ago we were at 1,800 releases with 99.72% success rate and 91 customer impact releases. It's been a dramatic shift in what we've been able to do as we move from private cloud into public cloud — delivering in smaller chunks means we can impact them less but deliver greater value.
In the last year our release volume has doubled — that's been the biggest step change.
How Istio helped seal the deal
The private cloud setup at Auto Trader is based on CloudStack and managed using Scalr. But managing this in-house means the team has been grappling with complexities that don't add value to what they do, says Warman:
We're a fast-moving organization. We want to enable our developers to introduce new functions as rapidly as possible. If we offload that to somebody that knows the infrastructure inside-out, it removes the risk and enables us to go faster.
The security and service discovery capabilites of Istio have helped seal the case for moving to the cloud. Auto Trader was an early adopter of Istio and spoke about its mTLS project when version 1.0 of the specification launched last year. Karl Stoney, Delivery Infrastructure Lead at Auto Trader, shared this comment via Google at the time:
The level of control and visibility that Istio provides has enabled us to significantly de-risk this ambitious work, and in several cases has actually helped surface issues we were previously unaware of. We've been able to accelerate the delivery of capabilities such as mutual TLS, that previously would have taken significant engineering effort, allowing us to focus on our market differentiators.
Just as significant has been the service discovery that Istio enables, which allowed Auto Trader to "rightsize" its instances from 2GB memory and 2 CPU cores down to 500MB RAM and half a CPU core. Correcting this overprovisioning has obviously had a cost benefit as well as making it easier to scale to meet demand. Warman sums up:
Mutual TLS and service discovery are what makes Istio useful — understanding what your applications are doing and how they're performing, really tightening up on security groups — it makes it so easy. Developers don't need to be thinking about it, it's already taken care of for them.
To see a huge website business like Auto Trader UK make its move to the public cloud is a big endorsement, not just for Google but also for container-based public cloud infrastructure. Auto Trader's engineering team is doing releases at such a pace now that it needs to offload the infrastructure to a public cloud provider so they can focus on the functionality that matters to their business.
This move also shows what an astute move it was for Google getting behind Istio. This has proven to be a big factor in Auto Trader's decision to move to public cloud now, and given Google's investment in Istio it makes perfect sense for Auto Trader to choose Google Cloud Platform. Chalk this one up as a win not only for the public cloud in general, but for Google Cloud specifically.