Extension vers un cloud hybride avec Hetzner
Plus tôt en ce mois d’octobre, nous avons achevé un grand projet d’infrastructure : transformer Transloadit en une plateforme hybride combinant Hetzner Cloud, Hetzner Bare Metal et AWS. L’objectif est simple : maintenir en permanence des parcs de machines bien plus grands en ligne, pour pouvoir répondre aux pics de demande sans attendre le démarrage de nouvelles machines.
Pourquoi Hetzner, et pourquoi maintenant ?
Nos charges de travail sont élastiques et nous pouvons toujours lancer des centaines de machines en environ une minute. Le problème est qu’une partie du trafic que nous traitons (par exemple, l’encodage de vidéos à la demande ou les requêtes du Smart CDN) arrive trop vite pour que même ce délai d’une minute soit acceptable. La mise à l’échelle prédictive ne parvient souvent pas non plus à l’anticiper. Héberger un parc de base plus grand chez Hetzner nous permet de disposer d’une marge de manœuvre économiquement viable pendant que nous ajoutons automatiquement de la capacité.
Autrement dit, cela nous fait gagner cette minute.
Comment le cloud hybride est structuré
Le cloud hybride comprend les composants suivants :
- Hetzner Bare Metal fournit les nœuds qui nous offrent des performances prévisibles pour les Jobs les plus exigeants
- Hetzner Cloud fournit les nœuds qui sont souvent de plus petite taille et plus proches de nos utilisateurs finaux
- AWS reste présent pour l’infrastructure critique, comme notre base de données principale, et pour permettre les montées en capacité instantanées évoquées plus haut.
Des PoP proches de nos implantations AWS
Nous avons mis en service de nouveaux points de présence Hetzner, près des sites AWS que nous
exploitons déjà : à proximité de us-east-1, eu-west-1 et ap-southeast-1.
Cette proximité des PoP préserve le profil de latence auquel nos clients sont habitués.
Les composants qui commencent un traitement chez un fournisseur y restent autant que possible,
afin que les passages d’un fournisseur à l’autre — et la latence qu’ils introduisent — restent rares.
Ce qui reste sur AWS
AWS reste notre outil d’intervention rapide. Lorsque la demande dépasse la capacité du parc de base, nous pouvons puiser dans la capacité d’AWS pour absorber le pic. Les charges de travail héritées qui dépendent de services AWS spécifiques restent exactement là où elles sont. Vous n’aurez donc rien à reconfigurer.
Ce que cela signifie pour vous
- Une réponse plus rapide aux pics soudains de trafic, car la capacité supplémentaire est déjà prête.
- Moins de risques de subir les effets pénalisants de la mise à l’échelle lors d’événements proches du temps réel.
- Les mêmes API, Templates et SLA sur lesquels vous comptez aujourd’hui.
- Aucune donnée ne reste chez Hetzner : tout est purgé, sauf si vous stockez explicitement des fichiers (dans votre propre espace de stockage), comme c’était déjà le cas avec AWS.
Cette extension à Hetzner pose les bases de plusieurs optimisations à venir. Nous surveillons déjà la répartition du parc et continuerons à l’ajuster, pour que chaque charge de travail soit exécutée sur l’infrastructure disponible la plus efficace. Comme toujours, vos retours et vos questions sont les bienvenus.
