simmer.io
L'équipe de développement de simmer.io, une plateforme de partage de jeux Unity WebGL, a essayé de configurer son infrastructure dans Google Cloud Platform (GCP). Les services dont ils avaient besoin étaient regroupés et ils évoluaient rapidement. Mais les frais de egress de GCP sont devenus prohibitifs lorsque l'un de leurs jeux est devenu viral, même s'ils utilisaient Cloudflare pour mettre en cache du contenu populaire.
Après avoir testé avec succès une preuve de concept (PoC) avec Backblaze B2 Cloud Storage, l'équipe de simmer.io a copié tous ses 30 000 jeux existants de GCP à l'aide de rclone. Ensuite, ils ont pointé Cloudflare vers Backblaze B2 pour commencer à diffuser du contenu de Backblaze comme magasin d'origine. Les jeux sont mis en miroir entre GCP et Backblaze B2, et pour assurer la fidélité entre les deux copies, l'équipe de simmer.io exécute périodiquement une synchronisation rclone.
Avec 0$ de egress entre Cloudflare et Backblaze B2, simmer.io a éliminé les coûts élevés de egress, ce qui leur permet de réaliser des bénéfices après des années d'exploitation avec de faibles marges. simmer.io peut développer son site sans avoir à se soucier de l'augmentation des coûts de egress au fil du temps ou des pics d'utilisation lorsque les jeux deviennent viraux. De plus, la redondance supplémentaire entre GCP et Backblaze B2 donne à l'équipe la tranquillité d'esprit contre les pannes imprévues.
simmer.io est une plateforme de partage de jeux en ligne pour les développeurs de jeux Unity. En 2017, le partage de jeux en ligne avec un hébergement statique était un défi pour les développeurs indépendants. L'équipe de simmer.io a imaginé un moyen simple de glisser-déposer pour partager des jeux et a créé la plateforme pour permettre aux développeurs de jeux indépendants de diffuser leurs jeux dans le monde entier. Aujourd'hui, simmer.io accueille plus de 80 000 développeurs et accueille plus de 30 000 jeux.
Lorsqu'un utilisateur télécharge un jeu sur la plateforme simmer.io, il atterrit sur Google Cloud Platform (GCP). L'équipe simmer.io exécute périodiquement une synchronisation rclone pour refléter le jeu sur Backblaze B2 Cloud Storage, puis les jeux sont servis sur la plateforme simmer.io de Backblaze B2 par Cloudflare. Rclone effectue une vérification de hachage sur chaque fichier pour rechercher les modifications et télécharge uniquement les fichiers qui ont été modifiés afin que simmer.io évite de payer plus de sorties qu'egress n'en a à partir de GCP.
Lorsque simmer.io a été fondé en septembre 2017, l'équipe de développement s'est concentrée sur la conception et la mise en service de la plateforme, et non sur les coûts de egress à l'avenir. L'équipe de simmer.io a d'abord essayé de configurer son infrastructure dans AWS. Ils l'ont trouvé puissant, mais pas très convivial pour les développeurs. Après une semaine passée à essayer de comprendre comment mettre en œuvre l'authentification unique (SSO) à l'aide d'Amazon Cognito, ils ont cherché quelque chose de plus facile et l'ont trouvé dans Firebase, l'environnement de développement tout-en-un de Google. Il comprenait la plupart des outils dont un développeur pourrait avoir besoin, y compris l'SSO. Ils ont également utilisé GCP pour leurs besoins de stockage puisqu'il se trouvait sur la même plateforme. Tout était emballé ensemble et avait du sens à l'époque.
Ensuite, l'équipe a mis en œuvre Cloudflare, un réseau de diffusion de contenu (CDN), pour assurer la disponibilité et la performance, quel que soit l'endroit où les utilisateurs accèdent au site. Même si le contenu populaire était mis en cache sur les nœuds Cloudflare, les coûts de egress de GCP ont quand même augmenté. À un moment donné, un jeu de type « Cards Against Humanity » s'est fait connaître comme une traînée de poudre en France, faisant grimper les coûts de egress à plus du double de leur moyenne. La popularité était grande pour attirer de nouvelles entreprises de simmer.io, mais elle était difficile sur le plan des résultats financiers. Lorsque l'équipe de simmer.io a appris que Backblaze offre une egress de 0$ entre le B2 Cloud Storage et des services comme Cloudflare, elle a pensé que cela pourrait permettre de réduire ses coûts et d'augmenter les marges.
L'équipe de simmer.io a mis en place gratuitement un godet de test Backblaze B2 et l'a intégré à Cloudflare. Le godet de test Backblaze B2 permet des tests gratuits en libre-service jusqu'à 10 Go, et Backblaze offre une preuve de concept gratuite en travaillant avec nos ingénieurs de solutions pour des tests plus importants. Le test a été couronné de succès, mais le fait de transmettre plus de 30 000 jeux d'un fournisseur de services infonuagiques à un autre semblait intimidant, d'autant plus que les jeux sont accessibles en permanence sur le site. Ils voulaient s'assurer que les temps d'arrêt soient minimes. L'équipe a donc travaillé avec Backblaze pour planifier le processus. Les ingénieurs de la solution Backblaze ont recommandé d'utiliser rclone, un programme de ligne de commande open source qui gère les fichiers sur le stockage en nuage, et l'équipe de simmer.io s'en est emprise à partir de là.
Avec rclone fonctionnant sur un serveur Google Cloud, l'équipe a copié les données du jeu sur Backblaze B2 au cours d'une journée et demie environ. Comme les jeux ont été copiés plutôt que déplacés, il n'y a pas eu de temps d'arrêt du tout. L'équipe de simmer.io vient de pointer Cloudflare vers Backblaze B2 une fois le travail de copie terminé. Désormais, Cloudflare extrait les jeux à la demande de Backblaze B2 plutôt que de GCP, ce qui porte les coûts de egress à 0$. simmer.io ne prend en charge que les coûts de stockage Backblaze B2.
Simmer.io peut développer son site sans avoir à se soucier de l'augmentation des coûts de egress au fil du temps ou des pics d'utilisation lorsque les jeux deviennent viraux. Ils peuvent continuer d'offrir un abonnement à faible coût et d'exploiter un site durable qui donne aux développeurs un moyen facile de publier leur travail créatif. Mieux encore, ils peuvent utiliser les économies pour investir dans la communauté simmer.io, en embauchant plus de gestionnaires communautaires pour soutenir les développeurs. Et ils ont également réalisé un gain bienvenu dans le processus — ils ont finalement réalisé quelques bénéfices après de nombreuses années d'exploitation avec de faibles marges.
Cloudflare fournit aux développeurs un réseau mondial de diffusion de contenu et une sécurité informatique de pointe pour étendre les applications à l'échelle mondiale, desservant les données de 200 villes dans plus de 100 pays.