Étude de cas

Skyscanner & GitHub

Quelle que soit la destination, nous avons tous une stratégie différente pour trouver nos vols au meilleur prix. Peut-être avez-vous choisi de réserver votre voyage à Londres une saison à l’avance pour obtenir le prix le plus bas. Ou, si vous êtes du genre à réserver en dernière minute, vous avez peut-être fait vos valises le matin même et acheté un billet pas cher pour Bali l’après-midi. Que vous n’achetiez vos vols que les mardis ou que vous programmiez minutieusement votre voyage, la façon la plus efficace d’obtenir la meilleure offre repose sur un algorithme. La plupart des sites de voyage éveilleront votre envie d’évasion avec des publicités, mais pour vous mener là où vous voulez aller, vous avez besoin d’un billet d’avion à un prix abordable. C’est là que Skyscanner entre en jeu.

Depuis son lancement en 2003, Skyscanner n’a cessé de croître, passant d’un modeste appartement à 11 bureaux dans le monde entier : Londres, Barcelone, Pékin, etc. Leur technologie est passée d’un tableur Excel à un site utilisé par 80 millions de voyageurs uniques dans plus de 30 langues. Derrière leur technologie, des centaines d’ingénieurs s’appliquent à concevoir des logiciels à l’image du vol parfait : rapides, abordables et conviviaux. « Nous voulons rendre les voyages plus faciles et plus accessibles, où que les gens aillent », a déclaré Stuart Davidson, Engineering Manager.

Stuart Davidson travaille au sein de la Developer Enablement Tribe de Skyscanner, une équipe qui œuvre au succès des développeurs au sein de l’entreprise. Responsable du pipeline de déploiement de Skyscanner, l’équipe de Stuart Davidson veille à ce qu’un code impeccable permettre de passer du stade de l’idée à la mise en production.

Avant d’opter pour GitHub en 2018, Skyscanner utilisait une autre solution. « Nous avons eu beaucoup de mal à nous améliorer et à grandir », explique Stuart Davidson. À mesure que la base de code de Skyscanner se développait, son infrastructure évoluait. Une fois que l’entreprise avait atteint une taille critique, des difficultés ont commencé à apparaître, particulièrement autour du workflow de sauvegarde. Il fallait faire quelque chose.

« Avec notre solution précédente, nous devions consacrer énormément de temps au support », explique Stuart Davidson. « C’était l’équipe qui travaillait pour l’outil plutôt que l’inverse. »

Pourquoi Skyscanner a choisi GitHub Entreprise

Avec GitHub, Skyscanner peut :

  • se concentrer sur des délais de production courts plutôt que de passer du temps à maintenir l’infrastructure
  • utiliser une plateforme qui croît avec les équipes et évolue avec la technologie.
  • créer une base consolidée, facile à gérer, pour l’ensemble du code de Skyscanner.

L’entreprise avait plusieurs objectifs en tête lorsqu’elle s’est lancée dans la recherche d’un nouvel outil. « Nous voulions d’un système de contrôle de source à la pointe de la technologie, explique Stuart Davidson, et la réduction des frais opérationnels au sein de l’entreprise était une priorité. » Face à tant de défis techniques, les ingénieurs passaient beaucoup de temps à essayer de corriger et d’optimiser leurs solutions précédentes, au lieu de chercher à satisfaire leurs propres « clients » : les développeurs internes.

Initialement, c’est le fait que l’équipe GitHub comprenne les problèmes de Skyscanner qui a encouragé Stuart Davidson à tester la plateforme. Il a également apprécié l’ouverture et la transparence du Solutions Engineer de GitHub qui l’a aidé à résoudre les problèmes au-delà de la vente d’un produit. Il a finalement choisi GitHub Entreprise pour son opérabilité, son interface et son support.

Stuart Davidson déclare : « nous étions très sceptiques, car la démo semblait tout simplement trop belle pour être vraie – mais, comme on pouvait s’y attendre, GitHub était exactement ce qui nous avait été décrit. Nous avons été encore plus motivés dès que nous avons pu essayer nous-mêmes. Il y a si peu d’infrastructure à gérer, tout est inclus dans l’offre et ça fonctionne. »

Désormais, tous les ingénieurs qui développent Skyscanner utilisent GitHub, aux côtés de Drone CI et d’outils de déploiement internes qui effectuent 100 à 200 déploiements par jour. Et avec plus de 800 licences, les ingénieurs ne sont pas les seuls à utiliser GitHub. Que ce soit pour la gestion des versions de bases de données ou de la config as code, l’équipe entière prouve bien chaque jour qu’un système de contrôle de version qui fonctionne bien peut aller bien au-delà d’un code source solide.

Élément crucial de l’infrastructure, le contrôle de source est optimal quand il ne se fait pas remarquer. « GitHub fonctionne très bien Lorsque le contrôle de source est rapide et efficace, nos développeurs peuvent se concentrer plus longtemps et n’ont pas à réagir à des pannes ou à attendre que des choses se produisent », déclare Stuart Davidson.

L’objectif ultime de Stuart Davidson est de gérer un logiciel propriétaire à l’image d’un projet open source : tout collaborateur pourrait contribuer au code de n’importe quel dépôt Skyscanner. Ainsi, leur système de contrôle de version ne permet pas uniquement de consolider le code. Il représente également le centre névralgique de leur collaboration. Stuart Davidson considère GitHub comme le terrain idéal pour que l’équipe collabore de manière ouverte et applique les workflows open source dans leur manière de développer, une pratique appelée innersource.

Le changement de contexte est une bataille quotidienne pour les équipes confrontées à plusieurs outils de développement. Pour Skyscanner, la consolidation à elle seule a été un grand succès. Grâce à un outillage simple, l’équipe peut mieux organiser son travail plus efficacement : au lieu de passer du temps sur le contrôle de source, l’équipe Developer Enablement peut, entre autres, développer des builds plus rapidement, essayer de nouvelles stratégies pour mieux gérer les artéfacts. « La multiplication des forces qu’apporte un outil de contrôle de source aussi rapide et réactif que GitHub est une grande victoire. »

En quelques mois, l’équipe Developer Enablement a déjà réduit les frais d’exploitation. « Cela change complètement la donne. Nous avons constaté des économies importantes pour notre entreprise et nos ingénieurs ont désormais le temps de se consacrer à ce qui compte le plus, la logique commerciale », a déclaré Stuart Davidson.

Avec d’excellents outls de productivité et de développement, les équipes peuvent rester en avance sur leurs workflows. En adoptant des applications et des chaînes de compilation qui évoluent avec l’entreprise, les ingénieurs peuvent rester agiles et utiliser les dernières technologies de leur secteur. « Il s’agit d’un investissement pour l’avenir. Dans les cinq prochaines années, je nous vois très bien travailler encore sur GitHub », explique Stuart Davidson.

Pour l’heure, l’équipe se concentre sur son pipeline DevOps avancé et veut tirer le meilleur parti des API GitHub. Skyscanner a déjà intégré plusieurs applications GitHub et des outils tiers comme Snyk, une plateforme de sécurité open source permettant d’analyser les jetons et de veiller à la sécurité de leur code. L’API GitHub Checks est également utilisée pour procéder à des vérifications instantanées et placer la validation du code plus en amont dans le processus de développement.

Au-delà de l’automatisation, Stuart Davidson apprécie également les outils de vérification de code intégrés à GitHub. Les vérifications simples et intégrées, qu’elles soient manuelles ou automatisées, sont un moyen sûr d’améliorer le code.

« Les pull requests et les revues de code sont au cœur de nos activités chez Skyscanner. Aucun code n’arrive en production sans avoir été vérifié », a déclaré Davidson. Cela fait partie des principes d’ingénierie de Skyscanner, publiés sur GitHub.

Les revues de code manuelles et les voyages en avion ont un point commun : ils prouvent que, quelle que soit la finalité d’une technologie, les utilisateurs ont le pouvoir de transformer une bonne expérience en une expérience exceptionnelle. Stuart Davidson a indiqué que cela était également vrai pour GitHub : « Le support de GitHub nous incite à collaborer et à contribuer sur la plateforme plutôt qu’à être passifs ».

« Nous nous sentons écoutés et soutenus, ce qui n’est pas si courant dans le secteur. Une relation de travail simple, c’est primordial. »

  • Secteur

    Voyages en ligne

  • Collaborateurs

    800 +

Utilisez GitHub dans votre entreprise

Des options d'hébergement flexibles à la sécurité enrichie par la data, donnez à vos équipes tous les outils pour développer au mieux.

Contacter notre équipe

Rejoignez la plus grande communauté de développeurs au monde

Free

Les bases pour les équipes et les développeurs

  • Repositories publics/ privés illimités
  • Nombre illimité de collaborateurs
  • 2000 minutes de Processing GitHub Actions par mois Les repositories publics sont gratuits
  • 500MB de stockage pour GitHub Packages Les repositories publics sont gratuits
  • Support de la communauté

$0 par mois

Je choisis Free

Team

Des outils de collaboration et de gestion avancés pour les équipes

  • Tout ce qui est inclus dans l'offre Free
  • Revue requise par un tiers
  • 3000 minutes de Processing GitHub Actions par mois Les repositories publics sont gratuits
  • 2 Go de stockage de paquets GitHub Les repositories publics sont gratuits
  • Propriétaires de codes

$4 par utilisateur/mois

Je choisis Team

Enterprise

Sécurité, conformité et déploiement pour les organisations

  • Tout ce qui est inclus dans l'offre Team
  • Authentification unique SAML (SSO)
  • 50 000 minutes de Processing GitHub Actions par mois Les repositories publics sont gratuits
  • 50 Go de stockage de paquets GitHub Les repositories publics sont gratuits
  • Audit avancé

$21 par utilisateur/mois

Contacter l'équipe des ventes

GitHub One

Tous nos meilleurs outils, support et services

  • Tout ce qui est inclus dans l'offre Enterprise
  • Une sécurité renforcée par la communauté
  • Des analyses de performance immédiatement exploitables
  • Un soutien 24h/24 et 7j/7
  • Un apprentissage continu