Lorsqu'Uber a décidé en 2022 de cesser d'exploiter ses propres datacenters pour passer dans le cloud, il a néanmoins souhaité conserver un niveau de contrôle élevé sur l'exécution de ses workloads, et ce jusqu'au niveau du processeur. Le Californien, qui hébergeait auparavant plus de 90 % de son système sur ses propres infrastructures, s'est tourné vers les cloud d'Oracle et de Google en 2023.
Mais Uber a choisi d'aller plus loin pour contrôler l'exécution des workloads dans Oracle cloud et, pour cela, il travaille avec le concepteur américain de puces fabless Ampere Computing. Fondé en 2017 par l'ancienne présidente d'Intel, Renée James, ce dernier a commencé à fournir des puces à Oracle dès 2021. Aujourd'hui, 95 % des services de l'éditeur [pour Uber] fonctionnent sur l'infrastructure Ampere, selon ce dernier. La société a lancé une famille de puces conçues sur mesure pour les fournisseurs de cloud computing en 2023, et a récemment dévoilé une puce à 512 coeurs avec accélération intégrée de l'IA.
Optimiser 30 millions de trajets par jour
Pour Kamran Zargahi, directeur de la stratégie technologique d'Uber, la capacité de personnalisation des puces d'Ampère pour les workloads cloud répond particulièrement bien aux besoins IT imposants et uniques d'Uber. Les chauffeurs et les coursiers de ce dernier effectuent, en effet, plus de 30 millions de trajets par jour, et son infrastructure informatique doit être capable d'optimiser un grand nombre d'itinéraires et d'autres prédictions chaque seconde. « Chaque seconde, 15 millions de modèles d'IA sont exécutés, insiste Kamran Zargahi. Ce nombre englobe en réalité tout ce qu'Uber fait. »
Uber a donc cherché un niveau renforcé de contrôle sur le fonctionnement interne de ses fournisseurs de cloud. Cela a abouti à un nouveau partenariat entre Uber, Ampere et Oracle annoncé lors d'Oracle CloudWorld 2024, qui donne désormais à Uber la possibilité de co-concevoir des puces avec Ampere. « Chez Uber, nous aimons descendre le plus loin possible dans la technologie, insiste Kamran Zargahi. Nous n'avons pas juste utilisé le cloud comme un outil pour nous y installer confortablement. Nous avons vraiment voulu comprendre tous les tenants et aboutissants, le rapport qualité-prix et toutes les spécificités jusqu'aux 'bits and bytes' ».
Une équipe commune à Uber et Ampere Computing
Uber, Oracle et Ampere collaborent sur la conception de puces en mettant l'accent sur la performance et l'efficacité énergétique, selon Jeff Wittich, directeur des produits chez Ampere. Le passage d'Uber à Ampere, sur Oracle Cloud Infrastructure, lui aurait ainsi permis de réduire ses coûts d'infrastructure et sa consommation d'énergie de 30 %. « Depuis le départ, notre stratégie était de construire quelque chose d'exceptionnellement bien adapté au cloud, poursuit-il, et non d'utiliser des équipements conçus pour d'autres cas d'usage, d'autres environnements qui existaient il y a 10, 20 voire 30 ans et d'essayer de les adapter ».
Une équipe commune à Uber et Ampère a donc travaillé en étroite collaboration pour affiner davantage la micro-architecture du processeur et s'assurer que les futures générations de puces soient toujours bien adaptées aux besoins d'Uber. « Ampere exploite sous licence une architecture ARM et AWS, Google et Microsoft ont également déjà personnalisé des processeurs basés sur ARM », note Shane Rau, vice-président de la recherche pour les semi-conducteurs IT chez IDC. « Cela peut bien sûr être intéressant pour une entreprise d'avoir un partenariat semblable à celui d'Uber et Ampere. Reste qu'habituellement, celles qui co-conçoivent un processeur avec une société de semi-conducteurs n'ont qu'une part de propriété intellectuelle en propre pour un ensemble de workloads spécifiques pris en compte par le design, mais elles n'ont pas la possibilité de commercialiser un produit avec cette propriété intellectuelle ».
Des pannes fréquentes on premise
Le parcours d'Uber vers le cloud est assez commun au démarrage. Dès son lancement bêta mi-2010, le Californien a ainsi choisi d'exploiter ses propres datacenters parce que le marché du cloud était alors encore balbutiant. « La plupart des workloads d'Uber étaient pris en charge on premise et nous n'utilisions les services cloud que de manière opportuniste, rappelle Kamran Zargahi. Mais après une étude approfondie en 2022 des technologies disponibles, nous avons décidé de ne plus exploiter nos datacenters en propre pour nous concentrer sur notre activité principale, à savoir le transport de passagers et la livraison de repas ».
Uber était limité par son infrastructure sur site, comme l'entreprise l'a expliqué dans un billet de blog de septembre 2022. « Notre quantité de serveurs augmentait rapidement, et nos outils et nos équipes n'étaient pas en mesure de suivre le rythme », indique le billet de blog. « L'outillage automatisé dont nous disposions tombait constamment en panne et, avec les opérations manuelles, entrainait des pannes fréquentes ». Pourtant, dans le même temps, la croissance de la flotte d'Uber l'a contraint à étendre encore davantage ses datacenters et ses availability zones (datacenter logique séparé et isolé des autres pour une plus grande stabilité et tolérance aux incidents). La mise en place d'une nouvelle zone a ainsi pris plusieurs mois, mobilisant des centaines d'ingénieurs. Le passage dans le cloud s'est donc rapidement imposé.