
Depuis plusieurs années, les développeurs se sont habitués à penser le déploiement applicatif en termes de conteneurs. Docker est devenu la norme, Kubernetes l’orchestrateur incontournable, et l’idée même d’exécuter une application sans image container paraît presque étrange dans de nombreux environnements DevOps modernes. Pourtant, certaines équipes commencent à remettre en question ce modèle en explorant des solutions plus légères, plus rapides à démarrer et plus adaptées aux architectures distribuées.
C’est précisément dans ce contexte qu’apparaît le concept de Fly Machines, une technologie proposée par la plateforme Fly.io qui permet de déployer des micro-machines virtuelles extrêmement rapides à démarrer et capables de fonctionner dans plusieurs régions du monde avec une latence minimale.
L’idée est relativement simple mais ambitieuse : plutôt que d’exécuter une application dans un container classique, Fly Machines utilise des micro-VM inspirées de technologies comme Firecracker afin d’offrir un environnement d’exécution isolé, rapide à démarrer et capable d’être déplacé ou répliqué à travers l’infrastructure globale de la plateforme.
Des micro-machines virtuelles ultra rapides
Les machines virtuelles traditionnelles sont souvent perçues comme lourdes et lentes à démarrer. Pourtant, les technologies modernes de virtualisation ont considérablement réduit cette surcharge. Les micro-VM utilisées par Fly Machines peuvent démarrer en quelques centaines de millisecondes, ce qui les rend parfaitement adaptées à des workloads dynamiques ou à des architectures serverless.
Cette approche combine plusieurs avantages. D’une part, l’isolation offerte par la virtualisation est généralement plus forte que celle des conteneurs, ce qui améliore la sécurité globale de l’infrastructure. D’autre part, le démarrage rapide des micro-VM permet de lancer des instances proches des utilisateurs sans attendre les délais associés aux machines virtuelles traditionnelles. 
Déployer des applications près des utilisateurs
L’un des objectifs principaux de Fly.io est de rapprocher les applications des utilisateurs. Dans une architecture classique, une application peut être déployée dans une seule région cloud, ce qui oblige les utilisateurs situés à l’autre bout du monde à traverser plusieurs réseaux avant d’atteindre le serveur.
Avec Fly Machines, une application peut être exécutée dans plusieurs régions simultanément. Lorsqu’un utilisateur envoie une requête, la plateforme peut automatiquement la rediriger vers l’instance la plus proche, réduisant ainsi la latence et améliorant l’expérience utilisateur.
Un modèle simple pour les développeurs
Malgré la complexité technique de l’infrastructure sous-jacente, Fly Machines reste relativement simple à utiliser pour les développeurs. Une application peut être déployée avec quelques commandes à partir de l’outil CLI fourni par la plateforme.
fly launch
fly deploy
Ces commandes permettent de créer l’application, de configurer l’environnement et de déployer l’image sur l’infrastructure mondiale de Fly.io. Une fois l’application lancée, la plateforme peut gérer automatiquement la mise à l’échelle, le placement géographique des instances et la gestion du trafic.
Une alternative intéressante au serverless classique
Le modèle serverless proposé par de nombreux fournisseurs cloud repose généralement sur des fonctions exécutées à la demande. Bien que cette approche soit très pratique pour certains types de workloads, elle introduit parfois des limitations importantes, notamment en termes de durée d’exécution, de contrôle sur l’environnement ou de gestion des dépendances.
Fly Machines propose une approche intermédiaire : les applications peuvent fonctionner dans des micro-VM persistantes qui démarrent rapidement et peuvent être arrêtées ou redémarrées dynamiquement en fonction de la charge.
Cas d’usage possibles
Les micro-machines virtuelles distribuées peuvent être utilisées dans de nombreux scénarios. Par exemple, une application web peut être déployée dans plusieurs régions afin de servir les utilisateurs locaux avec une latence minimale. Une API peut également être répliquée à l’échelle mondiale afin d’assurer une disponibilité élevée.
Dans les architectures modernes orientées edge computing, ce type de plateforme permet également de rapprocher la logique applicative des utilisateurs ou des appareils connectés, réduisant ainsi les délais de traitement.
Ressources
Conclusion
À mesure que les applications deviennent globales et que les utilisateurs sont répartis dans le monde entier, la capacité à exécuter du code près des utilisateurs devient un avantage majeur. Fly Machines propose une approche intéressante en combinant la rapidité des micro-VM, l’isolation de la virtualisation et la distribution géographique des plateformes cloud modernes.
Cette approche pourrait bien représenter une nouvelle étape dans l’évolution des architectures cloud, entre les conteneurs traditionnels et les plateformes serverless entièrement gérées.




