Skyscanner: Agile Practices and Cloud Native Architecture to Build a Unicorn-Scale Startup
In their Wired feature article Skyscanner showcase their corporate culture and define how Scottish innovators harness the Cloud to pioneer their digital businesses.
The company has enjoyed explosive growth. Born in Edinburgh in 2003 the business has quickly escalated from a startup into a global giant with over 1,000 staff and 100 million customers.
VentureBeat describes their funding rounds and 2016 acquisition by Ctrip for an eye watering £1.4 billion. In this VB interview founder Gareth Williams explains the rationale behind the sale of the business.
Squads and Tribes
In the Wired article CTO George Goodyer describes a culture and organizational model that is now known as a ‘Cloud Native’ approach.
Digital pioneers like Netflix and Amazon have entirely transformed how businesses develop and deploy software, such that they can rapidly iterate new releases at a much faster rate and thus out perform their competitors online.
This is achieved through breaking up the ‘monoliths’ of large enterprise systems into small, modular ‘microservices’ and similarly, breaking up the corporate structures that maintained them, into small, autonomous product teams.
Goodyer explains how this approach is implemented at Skyscanner through a system of ‘Squads and Tribes’:
“Squads are small teams, focused on one particular part of the company’s digital infrastructure – the app design, for example, or security on the site. They’re made up of six to eight engineers, plus a line manager and, depending on the subject the squad deals with, there may also be designer, a data scientist or someone from the commercial team. Put five to ten of these squads together, and you’ve got a tribe.”
The ultimate objective is empowered, accountable teams. To maintain the same startup dynamism that founded the company Goodyer needs developers that move very quickly and innovate, while still taking responsibility for and learning from mistakes that inevitably occur.
This speed can’t be achieved through a traditional departmental micro-management culture, and instead the Cloud Native ethos is one of small, self-organizing product teams, who take end-to-end ownership of the services they develop and critically, maintain as well.
Scaling a digital business through a Cloud Native architecture on AWS
Skyscanner is the poster child for this new Scottish era, harnessing the power of the Cloud to become the nation’s first unicorn and billion dollar startup.
As they describe in their tech blog they’ve migrated 300 services from an estate comprising five data centres and 7,000 VMs to AWS, and sought to emulate the global digital pioneers of these trends, notably Netflix, synonomous in the tech sector with cutting edge ‘Cloud Native’ approaches that best exploit the power of massive providers like Amazon. This refers to a software architecture that utilises ‘microservices’, breaking large unwieldy single ‘monoliths’ of code into small, interlinked modules.
Moreover, as Phil Dalbeck, Principal Engineer for Skyscanner, describes in this Slideshare presentation, they too have leveraged AWS to make this dramatic growth possible and scalable while also implementing best practices to ensure their information security. They’ve also adopted Salesforce.com for their sales team to use and, highlighting another key trend, ‘multi-cloud’, making use of multiple Cloud providers to fulfil all your business needs,
For an example of the technology aspects of the Cloud Native approach in action, check out this AWS case study and this tutorial video, featuring Paul Gillespie from Skyscanner, who walks through their Cloud architecture.
This provides a short, detailed synopsis of the Cloud Native approach. The building block is Kubernetes, an open-source system for automating deployment, scaling, and management of containerized applications.
Paul walks through their implementation of Kubernetes on AWS, with a view to demonstrating how highly available systems are achieved, for very large-scale traffic web sites like Skyscanner.
What’s the secret to making this reliable at scale? Diversification—multiple Availability Zones, multiple Regions, multiple clusters, and multiple Amazon EC2 instance types.
He highlights that the busy regions of their infrastructure will reach between 60 to 70 thousand queries per second, and explains the architecture they have implemented to handle that level of traffic.