Mis à jours 16 novembre 2017 Si vous êtes l’une des 500 millions de personnes qui utilisent Dropbox, il s’agit simplement d’un dossier sur votre ordinateur qui vous permet de stocker facilement des fichiers sur Internet, de les envoyer à d’autres et de les synchroniser sur votre ordinateur portable, téléphone et tablette. Vous utilisez ce dossier, puis vous l’oubliez. Et c’est par sa conception. Le partage derrière ce dossier, cependant, révèle un exploit épique de l’ingénierie. Dropbox s’appuie sur un vaste réseau de machines dont l’évolution incarne les puissances qui ont transformé le cœur de l’Internet au cours de la dernière décennie. Et aujourd’hui, ce système entre dans un nouveau stade remarquable de son existence.
En fuyant le Cloud, Dropbox montre pourquoi le Cloud est si puissant. C’est également construire une infrastructure pour que les autres n’aient pas à le faire.
Depuis huit premières années de sa vie, voyez-vous, Dropbox a stocké des milliards et des milliards de fichiers pour le compte de ces 500 millions d’utilisateurs d’ordinateurs. Mais bon, la startup de San Francisco ne les a pas vraiment stockés tout seul. Comme tant d’autres startups technologiques de ces dernières années, Dropbox a réalisé ses opérations en ligne sur ce qu’on appel communément “l’Amazon Cloud”, un service très populaire géré par, oui, Amazon – le plus grand revendeur en ligne au monde. Le service de cloud computing d’Amazon permet à quiconque de créer et de faire fonctionner le logiciel sans avoir à configurer son propre matériel. En d’autres termes, ces milliards de fichiers étaient stockés sur les machines d’Amazon, plutôt que sur des machines détenues et gérées par Dropbox.
Mais plus maintenant. Au cours de ces deux dernières années et demie, Dropbox a construit son propre vaste réseau informatique et il a déplacé son service sur une nouvelle génération de machines conçues par ses propres ingénieurs, toutes orchestrées par un système logiciel construit par ses propres programmeurs avec un tout nouveau langage de programmation. S’appuyant sur l’expérience des anciens combattants de la Silicon Valley qui ont érigé une technologie similaire à l’intérieur du géants de l’Internet tels que Google, Facebook et Twitter, il a déplacé avec succès environ 90% de ces fichiers sur ce nouvel empire en ligne.
C’est un exploit d’ingénierie extrême, pour être franc. Mais la signification de ce mouvement s’étend bien au-delà de Dropbox. Plutôt ironiquement, il souligne comment le cloud computing transforme rapidement le fonctionnement des entreprises. Et en même temps, il révèle d’énormes changements qui ont balayé le marché mondial de matériel au cours des dix dernières années.
Aujourd’hui, de plus en plus d’entreprises passent au « Cloud », il n’a pas disparu. D’ici 2020, selon Forrester, le cloud computing représentera un marché de 191 milliards de dollars, et les géants comme Google et Microsoft défieront Amazon avec leurs propres services de Cloud. Amazon, qui a refusé de commenter cette histoire, vient de rapporter 2,41 milliards de dollars de chiffre d’affaires pour sa division de l’Amazon Web Services (AWS) au quatrième trimestre de l’année dernière, soit plus de 9,6 milliards de dollars de chiffre d’affaires annualisé.
Mais certaines entreprises deviennent si grandes, que c’est logique qu’ils construisent leur propre réseau avec leur propre technologie personnalisée et, oui, abandonner le cloud. Amazon, Google et Microsoft peuvent maintenir les prix des cloud bas, grâce aux économies d’échelle. Mais ils ne vendent pas leurs services aux prix. ” Personne ne dirige un commerce de Cloud comme une charité”, affirme le vice-président de l’ingénierie de Dropbox et ex-Facebooker Aditya Agarwal. “Il y a une marge quelque part.” Si vous êtes assez grand, vous pouvez économiser énormément d’argent en supprimant le cloud et tous les autres graisses. Dropbox dit qu’il est maintenant grand.
Cela dit, construire un réseau de cette taille est une tâche ridiculement difficile. Et ce n’est certainement pas pour tout le monde. “La bonne réponse est de ne pas le faire soi-même”, explique Urs Hölzle, ancien professeur à l’Université de Californie à Santa Barbara, en tant qu’employé de Google numéro huit, qui a supervisé la création du réseau mondial de l’entreprise et qui aide maintenant à faire marcher ses services du cloud computing. La plupart des entreprises, explique-t-il, ne disposent pas de la taille et de la sophistication nécessaires pour atteindre ces économies d’échelle. Et si la croissance d’une entreprise stagne, un mouvement comme celui-ci pourrait revenir la hanter. Ce point est particulièrement pertinent pour Dropbox. Au cours des derniers mois, les experts et les investisseurs se sont tournés vers la société basée à San Francisco, en affirmant que sa évaluation de 10 milliards de dollars est complètement hors de portée et qu’elle tarde à attirer de vrais clients commerciaux.
Mais Hölzle reconnaît que pour certaines entreprises, le déplacement a toujours du sens. Et du moins pour le moment, Dropbox est l’une de ces sociétés. Selon le directeur de l’exploitation, Dennis Woodside, l’entreprise obtient une «valeur économique substantielle» en gérant sa propre exploitation. L’ironie est qu’en fuyant le cloud, Dropbox montre pourquoi le cloud est si puissant. C’est aussi construire une infrastructure pour que les autres n’aient pas à le faire. C’est aussi, bon, une société de cloud computing. Et en se lançant dans son vaste réseau, Dropbox rejoint les géants comme Amazon, Google et Microsoft pour pousser le marché mondial du matériel informatique – et toute la technologie de l’information – dans une toute nouvelle direction.
L’avenir du fichier
Amazon domine le marché primaire du cloud computing. Et ses principaux concurrents sont Google et Microsoft. Tous les trois offrent des services qui permettent aux entreprises et aux codeurs indépendants de créer et d’exécuter tout logiciel qu’ils veulent sans avoir à installer leur propre matériel. Et tous les trois apportent l’effet de levier que vous ne trouverez que dans les plus grandes entreprises technologiques du monde.
En même temps, il y a un marché secondaire en croissance centré autour de Dropbox, ses rival Box.com, Saleforce.com, Workday, et d’autres. Ces entreprises s’intègrent dans une niche différente, en offrant des applications logicielles préconstruites sur Internet. Comme les grandes entreprises, elles fournissent également les outils que les entreprises et les développeurs peuvent utiliser sans avoir à installer leur propre matériel, c’est l’atout essentiel du cloud. “La prochaine grande ère pour ce secteur est la bataille des plates-formes”, explique Aaron Levie, le PDG de Box.com. “Quelles sont les prochaines plates-formes que les entreprises vont construire par-dessus ?”
Dropbox veut être l’un d’entre eux. Il a donc saisi l’occasion pour construire son propre cloud. Mais ce ne sera pas facile. L’entreprise sera confrontée à une concurrence croissante de la part d’Amazon, de Google et de Microsoft, alors qui continueront à se développer dans les logiciels pré-construits. En fait, ces géants défient déjà les égaux de Dropbox et Box avec leurs propres outils de partage de fichiers. Et le marché du partage de fichiers sera probablement moins expansif à l’avenir. Le partage de fichiers discrets (photos et vidéos autonomes et documents Word et feuilles de calcul) est de moins en moins important. Les fichiers ne sont pas centrés sur la façon dont on utilise nos smartphones. Et avec les services de messagerie et de collaboration toujours actifs, comme Slack, le fichier est également devenu un point qui est moins focalisé sur le bureau.
Dropbox sait tout cela. Son évaluation extrêmement élevée en a fait une cible pour les experts et les investisseurs qui dénoncent la montée des « licornes ». Au cours des derniers mois, aucune startup n’a reçu plus de chaleur que Dropbox, et beaucoup s’interroge sur sa capacité à rivaliser dans le monde des affaires contre les géants d’Internet. A en juger par les nombreuses conversations avec les cadres de l’entreprise, il est clair que Dropbox se rend compte que le monde change. La question est de savoir si, après tout le temps, l’argent et les efforts consacrés à se déplacer sur son propre réseau mondial, ses propres changements sont en phase avec l’orientation du monde.
Commencer à donner du sens
James Cowling connaissait les créateurs de Dropbox depuis ses jours au MIT. En tant qu’étudiant diplômé de l’université, il s’est focalisé sur les systèmes informatiques distribués qui utilisent des dizaines, des centaines, voire des milliers de machines. Il a étudié avec certains des premiers employés de Dropbox. C’est ainsi qu’il a rencontré Drew Houston, co-fondateur et PDG de Dropbox. Quand Dropbox a grandi, ils sont restés en contact, et ici et là, ils ont réfléchi au comment et au pourquoi d’un Dropbox qui pouvait fonctionner seul, sans Amazon. “Cela semblait être un objectif très ambitieux”, dit Cowling.
En 2012, selon Cowling, Google, la société la plus axée sur la gestion du Moonshot d’Internet, lui a offert une place dans l’équipe d’ingénierie qui supervise le Spanner, la base de données mondiale qui dirige une grande partie des activités en ligne du géant de la recherche. Spanner est probablement la base de données unique la plus grande et la plus complexe sur Terre – c’est l’un des systèmes distribués les plus distribués. Mais à la place, Cowling est allé travailler chez Dropbox. “Je voulais construire quelque chose”, dit Cowling. Spanner existait déjà. L’empire Dropbox était à construire.
Durant la plus grande partie de son existence, Dropbox fonctionnait en partie sur Amazon et il était partiellement éteint. Si un groupe de personnes partageait certains fichiers via Dropbox, l’entreprise stockait les fichiers sur le service de stockage simple d’Amazon, ou S3, tout en conservant l’ensemble des métadonnées associées à ces fichiers, à qui elles appartenaient, qui était autorisé à les télécharger et plus encore … sur ses propres machines à l’intérieur de son propre espace de centre de données.
En travaillant aux cotés du vice-président de l’infrastructure Akhil Gupta, un ex-Googler et d’autres, Cowling a conçu un système logiciel qui permettrait à Dropbox de stocker des centaines de petaoctets de données – assez de données pour remplir des centaines de millions de clés USB – et de les stocker beaucoup plus efficacement, ce que l’entreprise n’a jamais fait sur Amazon S3. Ils ont appelé ce système Magic Pocket. “Dropbox a été conçu comme un lieu où vous gardez toutes vos affaires, ils ne se perdent pas, et vous pouvez toujours y accéder.” Gupta dit. “Une poche magique.”
En substance, ils ont construit leur propre Amazon S3, sauf qu’ils ont adapté leur logiciel à leurs problèmes techniques particuliers. “Nous n’avons pas construit un remplacement similaire”, explique M. Agarwal. “Nous avons construit quelque chose qui est personnalisé pour nous.”
Même si Dropbox était encore sur Amazon, le revendeur en ligne commençait aussi à jouer le rôle de concurrent de Dropbox, offrant son propre service de partage de fichiers – une préoccupation évidente pour la petite entreprise, bien que la version Amazon de ce service manque de convivialité et de la reconnaissance pure et simple du dossier bleu omniprésent de Dropbox. Mais selon Agarwal, la principale raison de quitter le cloud d’Amazon est l’économie brute et non la politique. “Vous devez penser à ces grands joueurs [en technologie] comme des voisins amicaux, même s’il peut y avoir des escarmouches ici et là”, dit-il. “Amazon est beaucoup de choses, mais je ne pense pas que leur disposition principale est d’être un fournisseur de stockage en cloud comme nous.”
Il ferait mieux de l’espérer. Parce que Dropbox est vraiment complet. Oui, il a créé son propre logiciel pour ses propres besoins. Mais il est également allé un peu plus loin. L’entreprise a également adapté son matériel. Dropbox a conçu ses propres ordinateurs.
Aussi grand pour mettre à l’échelle
Durant des années, des géants de l’Internet tels que Google, Facebook, Microsoft et Amazon ont conçu leurs propres matériels de centre de données, leurs serveurs informatiques, leurs commutateurs de réseau, et dans certains cas, leurs matériels pour le stockage de grandes quantités de données. Ces entreprises n’avaient pas d’autre choix que de construire tout cela : leurs empires en ligne étaient si grands que l’utilisation d’équipements traditionnels était trop chère et trop difficile. Ils avaient besoin d’une nouvelle génération de matériel moins cher, plus allégé et plus malléable. Ils l’ont donc construit, en travaillant avec des fabricants de matériel et des fournisseurs de pièces en Asie et ailleurs.
Aujourd’hui, Google construit plus de serveurs que presque n’importe qui sur Terre et ne vend même pas de serveurs. Il en va de même pour Amazon et Microsoft. Et comme ces sociétés exploitent également des services de cloud computing, de nombreuses autres entreprises utilisent désormais leurs logiciels sur des machines forgées en dehors de l’emprise des vendeurs de matériel traditionnels. Cela est particulièrement vrai après que Facebook ait rendu open source les constructions de son équipement sur mesure. Maintenant, un tas de fournisseurs, y compris les fabricants asiatiques comme Quanta, vendent des choses qui sont basées sur le matériel de Facebook.
Rami Aljamal a été témoin de ce mouvement de première main. Il a construit cette nouvelle génération de machines rationalisées à l’intérieur de Twitter et dans la nouvelle division DCS de Dell, un effort pour de récupérer une partie du marché que la société a perdu lorsque des entreprises comme Google ont commencé à concevoir leur propre matériel. Maintenant, il conçoit des machines chez Dropbox. Comme Google, Amazon et Microsoft, Dropbox a décidé qu’il lui fallait des machines adaptées à ses besoins particuliers.
Dropbox stocke d’énormes quantités de données, il a donc besoin de machines adaptées à cette tâche. Et c’est ce qu’Aljamal et son équipe ont construit en travaillant dans un laboratoire à l’intérieur du quartier général de Dropbox à San Francisco, juste en face du parc AT & T, domicile des Giants. Ils appellent ces machines Diskotech. “Ce qui nous intéresse le plus, c’est le disque”, explique Aljamal. “C’est là que tous les octets se trouve.” Mesurant seulement un pied et demi sur trois pieds et demi sur six pouces, chaque boîte Diskotech contient jusqu’à un pétaoctet de données, soit un million de gigaoctets. Juste 50 de ces machines pourraient stocker tout ce que les êtres humains n’ont jamais écrit.
Changer les pneus
Cowling et son équipe ont commencé à travailler sur le logiciel Magic Pocket durant l’été 2013 et ont passé environ six mois à construire le code initial. Mais c’était un pas relativement petit. Une fois le système construit, ils devaient s’assurer que cela fonctionnait. Ils ont dû l’intégrer sur des milliers de machines à l’intérieur de plusieurs centres de données. Ils ont dû adapter le logiciel à leur nouveau matériel. Et, oui, ils devaient extraire toutes ces données d’Amazon.
L’ensemble du processus a pris deux ans. Un projet comme celui-ci, inutile de le dire, est un défi technique. Mais c’est aussi un défi logistique. Déplacer autant de données sur Internet est une chose. Déplacer autant de machines dans des centres de données en est une autre. Et ils devaient faire les deux, alors que Dropbox continuait à servir des centaines de millions de personnes. « C’est comme une voiture en mouvement », explique Dan Williams, un ancien ingénieur de réseau chez Facebook qui a supervisé une grande partie de l’expansion physique, « et vous voulez être capable de changer un pneu tout en conduisant ». En d’autres termes, tout en faisant tous ces changements, Dropbox ne pouvait pas très bien se fermer. Il ne pouvait pas dire aux centaines de millions d’utilisateurs qui se reliés à Dropbox que leurs fichiers étaient temporairement indisponibles. Ironiquement, l’une des meilleures mesures de succès pour cette entreprise massive serait que les utilisateurs n’aient pas remarqués que cela s’était produit.
Une fois que Cowling et l’équipe ont construit le code initial, ils l’ont testé sur un réseau de matériel assez standard – une sorte de version fantôme de Dropbox qui jonglait avec environ 20% des données hébergées sur Amazon. Ils ont juré de tester le code pendant 180 jours sans trouver de bug majeur, ils ont même placés un compte à rebours sur le mur du QG de Dropbox. Et quand un bug survenait après deux mois – un bug qui aurait pu concerner des données stockées au mauvais endroit -, ils réinitialisent l’horloge. En tout, les tests ont pris huit mois.
Confiant que le système pouvait exécuter l’ensemble de Dropbox, l’équipe a ensuite déplacé le code sur de plus en plus de systèmes tout en copiant de plus en plus de données depuis Amazon. Ses principaux contrats avec Amazon devaient expirer dans six mois, et la boîte à idées de Dropbox était résolue à terminer le déménagement d’ici là, de sorte que l’entreprise n’aurait pas à se remettre en place. “Il a fallu très peu de temps pour ouvrir le parachute”, explique Cowling.
Juste obtenir les fragments d’Amazon et dans d’autres centres de données était une tâche épique. Déplacer numériquement des pétaoctets de données d’une machine à une autre n’est pas exactement à la même échelle que le téléchargement de quelques chansons pour votre ordinateur portable. Seul les plus gros tuyaux d’Internet peuvent avoir beaucoup de bande passante. Transférer quatre pétaoctets de données, il s’est avéré que cela ait pris environ un jour. “Vous êtes limité par la vitesse de la lumière”, dit Agarwal.
Pendant ce temps, les ordinateurs doivent être déplacés dans des centres de données et mis en place pour recevoir tous ces fragments. Imaginez le responsable informatique de votre bureau qui tente de configurer l’ordinateur d’un nouvel employé, mais à l’échelle de Dropbox. Et tout cet effort physique arrive avec une limite de temps. S’ils n’arrivaient pas envoyer les systèmes dans les centres de données assez rapidement, ils ne pourraient pas obtenir les données d’Amazon assez rapidement. La société installait entre quarante à cinquante supports de matériel par jour, chaque support contenant environ huit machines individuelles. À un moment donné, ils ont été ralentis par des accidents intempestifs – et non par le type d’ordinateur. En une période de vingt-quatre heures, les camions transportant les machines vers les centres de données Dropbox dans différentes parties du pays ont tous deux eu des accidents.
Malgré ces accidents et tout le reste, Dropbox a atteint sa date limite. Et il a abandonné ces contrats avec Amazon. La société continue à utiliser le cloud Amazon en Europe – simplement parce que l’activité se développe de manière moins prévisible en Europe – mais Gupta et son équipe ont déplacé 90% de tous les fichiers dans les centres de données Dropbox. Et puis l’ingénierie vraiment extrême est arrivée.
Ok c’est parti !
Comme toutes ces données diffusées sur le cloud d’Amazon, l’ingénieur matériel Rami Aljamal pow – avec un codeur nommé Jamie Turner remuent Magic Pocket – La version Dropbox du système de stockage de fichiers d’Amazon fonctionnait toujours sur des machines ordinaires. L’étape suivante consistait à le déplacer sur le matériel personnalisé de la société. Aljamal et Turner, un spécialiste anglais devenu ingénieur, qui est maintenant un vétéran de plusieurs startups technologiques, ont uni leurs forces pour s’assurer que ce nouveau matériel s’harmonise avec le logiciel. Aljamal et ses ingénieurs ont conçu une seule machine, Diskotech, capable de contenir un pétaoctet de données. Mais il y avait un problème. Le logiciel Magic Pocket ne correspondait pas parfaitement à ce nouveau matériel. Alors Turner a reconstruit Poche Magique dans un langage de programmation entièrement différent.
Cela peut sembler étrange. Pourquoi mettre le code sur des milliers de machines seulement pour changer le code et le mettre sur des milliers d’autres machines ? Mais dans les plus grands centres de données Internet, c’est juste ainsi que les choses fonctionnent. Les machines vieillissent rapidement. Les pièces échouent constamment. Et vous les remplacez. Vous améliorez toujours ce que vous avez. Tout d’abord, Dropbox s’est assuré que Poche Magique fonctionne avec du matériel ordinaire – ce qui était déjà assez difficile. Ensuite, il a affiné son matériel. Puis, il fallait s’assurer que les deux fonctionnaient bien ensemble.
Crowling, Turner et d’autres ont à l’origine construit Poche Magique en utilisant un nouveau langage de programmation de Google appelé Go. Ici aussi, Dropbox surfe sur une tendance beaucoup plus large, des langages conçus spécifiquement pour le nouveau monde des systèmes en ligne massivement distribués. Apple en a un nommé Swift, Mozilla en a un appelé Rust, et il y en a un qui est indépendant appelé D. Tous ces langages permettent aux codeurs de construire rapidement des logiciels qui s’exécutent rapidement – même exécutés sur des centaines ou des milliers de machines.
Mais « l’empreinte mémoire » de Go, c’est-à-dire la quantité de mémoire qu’il exige lors de l’exécution de Poche Magique, était trop élevée pour les énormes systèmes de stockage que l’entreprise essayait de construire. Dropbox avait besoin d’un langage qui prendrait moins de place en mémoire, car une telle quantité de mémoire serait saturée avec tous ces fichiers diffusés sur la machine. Ainsi, au milieu de ce projet de deux ans et demi, ils sont passés à Rust sur les machines Diskotech. Et c’est ce que Dropbox pousse maintenant dans ses centres de données.
Face au danger
C’est extrême. Mais maintenant que des entreprises comme Google, Amazon et Dropbox ont traversé ce genre de chose, les autres n’auront pas à le faire. C’est la puissance du cloud computing. Non, Dropbox n’est pas Google ou Amazon. Il n’offre pas de puissance et d’infrastructure de calcul brutes qui permettent aux codeurs et aux entreprises de créer et d’exécuter n’importe quel logiciel qu’ils aiment. Mais il permet aux particuliers et aux entreprises de partager et de stocker des fichiers sans avoir à installer de matériel dédié, ce qui, à mesure que les entreprises se développent, devient de plus en plus difficile pour eux. Le partage, espère l’entreprise, deviendra une plateforme. C’est pourquoi Dropbox a créé un éditeur de texte en ligne et un outil de collaboration appelé Dropbox Paper. En dehors de Microsoft, les développeurs externes peuvent également brancher leurs propres applications sur son service.
Le danger est que, comme Amazon, Google et Microsoft développent leurs propres services, ils vont restreindre la croissance de Dropbox. Dans ce cas, le déplacement de la société dans ses propres centres de données pourrait devenir plus un fardeau qu’une bénédiction. Notamment, lorsque la société de jeux sociaux de San Francisco Zynga a atteint sa propre phase d’hyper croissance, la société s’est déplacée hors du cloud et dans ses propres centres de données. Cependant ses affaires ont implosés, et il lui restait des infrastructures dont il n’avait pas vraiment besoin. Il est maintenant de retour sur Amazon.
Pour Dropbox, l’avantage est que des personnes comme Agarwal, Gupta, Williams et Sordal ont tous joué le jeu auparavant, et ils l’ont joué dans les entreprises qui y jouent le mieux. Dan Williams dit qu’il y a un bourdonnement qui vient de cette ingénierie extrême. “Si vous avez vécu quelque chose dans votre passé comme Facebook ou Google, vous êtes en quelque sorte accro à cette hyper croissance,” dit Williams. “Tu le manques quand tu ne le sens pas.”
Ce n’est pas une chose inutile. C’est un buzz qui peut sauver des millions et des millions de dollars d’une entreprise. Mais comme toute dépendance, celle-ci vient avec ses propres dangers. Cela peut mener à ce que les gens de la vallée appellent le syndrome de « pas inventé ici », où les entreprises commencent à créer toutes sortes de nouvelles choses simplement parce qu’elles ont l’intention de créer toutes sortes de nouvelles choses.
Qu’elle crée le genre d’entreprise que Dropbox espère construire, ou qu’elle se termine par un énorme exploit d’ingénierie, l’entreprise a maintenant sa propre invention. Dropbox a construit sa propre boîte. Cela représente une approche qui a commencé avec Google et s’est progressivement étendue dans la Silicon Valley. Google a connu un tel succès non seulement parce qu’il a construit un moteur de recherche Internet plutôt bon, mais parce qu’il a construit la technologie sous-jacente nécessaire à l’exécution de ce moteur de recherche – et de tant d’autres services – à une échelle énorme. Facebook, qui a recruté d’innombrables ex-Googleurs, a fait à peu près la même chose. Ainsi que Twitter et ses ex-Googleurs. Et maintenant, Dropbox aussi. Pour devenir un géant, vous devrez peut-être rester sur les épaules des autres. Mais une fois que vous devenez votre propre géant, vous commencez à avoir l’impression que vous avez besoin de construire une maison qui vous convient.