floci 2.4: quatre clouds, quatre ports sur un portable

Résumé

floci 2.4 fait tourner quatre clouds sur une machine: demarrage en 24 millisecondes, 13 MiB au repos, licence MIT, sans identifiants, 514 changements.

Recommander
Nom
floci
Version
2.4
Tarif
Gratuit
Open source
Open source
Système
WindowsmacOSLinux
Mis à jour
2026-11-09 16:57

floci est une collection d emulateurs de cloud qui tournent sur votre machine. AWS, Azure, GCP et OCI recoivent chacun un programme separe, un port separe et un binaire natif sous licence MIT, et les quatre sont independants les uns des autres, donc on peut en lancer un seul ou les quatre cote a cote. Pas de compte cloud, pas de auth token, pas de verrou de fonction, pas de telemetrie; ce qui fait tourner Docker le porte, et Windows, macOS et Linux utilisent les memes pieces. La version 2.4 est arrivee avec plus de cinq cents changements, presque tous dans la profondeur de la couverture des services.

Quatre clouds, quatre programmes, quatre ports

La repartition est simple. Le programme principal repond pour AWS sur 4566, la version Azure sur 4577, la version GCP sur 4588 et la version OCI sur 4599. Un conteneur, un port, un jeu de protocoles par cloud, et les donnees ne se croisent pas. Pour qui touche plusieurs clouds a la fois, cette disposition vaut mieux qu une liste de fonctions: un script de test change son endpoint et repart sur un autre cloud, sans machine virtuelle ni compte pour chacun.

Le nom vient d une forme de nuage en forme de pop corn, cirrocumulus floccus. Il va avec l ambition. Rien ici ne cherche a poser un cloud sur le bureau; ce qui se deplace est l interface, pour que le code soit eprouve d abord a petite echelle.

La console de floci connectee a une instance Azure locale
La console de floci connectee a une instance Azure locale

Les secondes qu un binaire natif fait gagner

La compilation passe par Quarkus Native sur la distribution Mandrel de GraalVM, ce qui livre du code machine et non un paquet dans une JVM. Les chiffres annonces sont 24 millisecondes pour un demarrage a froid, 13 MiB au repos et une image d environ 90 MB. Pour qui ecrit du code, ces nombres veulent seulement dire rapide. Pour une chaine de traitement, ils veulent dire autre chose: un environnement neuf par tache, demonte ensuite, ce qui n est raisonnable que si le demarrage est assez bon marche pour vingt taches en parallele.

L approche habituelle de cette famille d outils est un processus de service complet dans un conteneur, de quelques secondes a quelques dizaines de secondes au demarrage, plusieurs centaines de MB en memoire, et des que la matrice parallele arrive, la course a la memoire et l attente des delais. La compilation native fait baisser les deux. Le prix est un build long et de la configuration de reflexion en plus pour certaines dependances, le troc permanent de tout schema de compilation anticipee.

Une fidelite de protocole tenue par de vrais moteurs

La ou un emulateur echoue le plus souvent, c est en ayant l air juste: memes structures, memes codes de statut, comportement different, tout vert en local, casse dans la premiere heure en production. floci ne repond pas par des simulacres mais confie les services de donnees lourds a de vrais moteurs. Chaque appel Lambda tourne dans un vrai conteneur Docker avec les variables d execution de Node.js, Python, Java et Go alignees sur le cloud. RDS demarre un vrai PostgreSQL, MySQL ou MariaDB avec cycle de vie complet et restauration par instantane, en trafic JDBC et authentification de base IAM. ElastiCache est un vrai conteneur Redis avec floci devant en proxy SigV4, MSK repose sur Redpanda, les requetes Athena atterrissent dans un sidecar DuckDB, et EC2 RunInstances leve des conteneurs avec injection de cle SSH, execution de UserData et les deux generations du service de metadonnees IMDS.

Deux details au niveau du protocole meritent leur paragraphe. IAM n est pas decoratif: Lambda, RDS, ECS, EC2, MSK, ECR et OpenSearch font tous la validation SigV4 complete, donc une erreur de politique echoue chez vous au lieu d apparaitre en production. Le projet entretient 1925 tests de compatibilite du SDK AWS et annonce qu ils passent tous. C est une declaration de l editeur et non un controle tiers, mais cela suffit pour juger si cet environnement peut remplacer le votre.

Une console, quatre executions

Il existe aussi une interface graphique, et sa structure est plus travaillee qu elle n en a l air. L interface dans le navigateur est batie avec React et Vite, ecoute sur 4500 et n accepte que les requetes commencant par /api. Derriere, une API de proxy ecrite avec Bun et Hono ecoute sur 4501 et repartit par cloud vers quatre adaptateurs, AWS, Azure, GCP et OCI. Les adaptateurs traduisent vers le protocole de chaque execution et atterrissent sur les ports de 4566 a 4599. Une phrase de la documentation dit le partage: l interface ne connait pas le cloud, le proxy ne connait pas l implementation, l adaptateur traduit, l execution execute.

Les quatre couches de l interface: navigateur, proxy, adaptateurs, executions
Les quatre couches de l interface: navigateur, proxy, adaptateurs, executions

L avantage est que l interface et le cloud restent separes. Ajouter un cloud demande un adaptateur et une description de service, la console ne change pas. A l usage, la page d accueil donne le nombre de services et de ressources disponibles pour l instance en cours, le changement de cloud est un bouton en haut a droite, et la page de stockage liste nom, type, cloud et date de creation du bucket, avec creation et suppression sur la meme ligne. L instance Azure affichee annonce 9 of 28 services available, la couverture suit donc la maturite de chaque cloud au lieu de traiter les quatre a egalite.

La page de stockage de la console avec trois buckets locaux
La page de stockage de la console avec trois buckets locaux

Ou 2.4 a mis son effort

La version 2.4 est sortie le 31 octobre. Selon le journal que le depot genere, elle contient 210 nouvelles fonctions, 10 ameliorations de performance et 294 corrections de defauts, 514 entrees au total. Ou elles sont allees se voit d un coup d oeil: EC2 en prend 62, CloudFormation 59, DynamoDB 40 et Lambda Web 22. La fournee CloudFormation remplit des types de ressources precis, listes de prefixes EC2, ensembles IP de WAFv2, identites de messagerie et regles de reception SES, jeux d enregistrements Route53, abonnements d evenements Redshift et associations de roles pour les clusters RDS.

Lues une a une, ces entrees sont ternes. Ensemble, elles disent une chose: le projet veut faire tourner le code d infrastructure en local. Essayer un modele Terraform, OpenTofu ou CloudFormation contre un vrai cloud coute de l argent et du temps; en local, cela coute un redemarrage. Le rythme de publication suit cet usage, avec une version stable le 15 et une en fin de mois, des etiquettes nightly suivant la branche principale entre les deux, si bien qu une correction est disponible le lendemain.

Ce qu il faut savoir avant de commencer

Une couverture inegale est la premiere realite. AWS est la ligne principale avec des services par centaines, Azure, GCP et OCI sont visiblement plus petits, et la console porte encore des entrees marquees coming soon. Lisez la liste des services du cloud qui compte avant de decider, et ne supposez pas que les quatre ont la meme profondeur.

Docker est necessaire aussi. Tout service adosse a un vrai moteur demande une execution de conteneurs, et sans cette couche sur la machine la capacite est simplement absente. L etat est jetable par defaut: arreter puis relancer donne un cloud propre. C est un avantage pour les tests et un defaut pour qui veut garder un jeu de donnees local durable, donc lisez les reglages de stockage d abord.

Ce n est pas un generateur de charge non plus. Il conserve le comportement du protocole, pas le debit. Le chiffre Lambda annonce est 289 requetes par seconde, assez pour verifier une fonction et sans valeur comme mesure de capacite.

Le jugement plus profond est qu un cloud local ne sert pas a economiser sur la facture. Il sert a ramener la boucle de modification, execution et observation a quelques dizaines de secondes, et a donner a un assistant de code un endroit ou casser des choses sans consequence. Quatre emulateurs, une console et un jeu de binaires natifs sont des arbitrages autour de cette boucle, ce qui explique que le protocole et les moteurs soient le travail fin et la couverture le grossier.

Poser un cloud sur sa machine est impossible. Y poser ses interfaces ne l est pas. floci choisit la seconde route: il ne promet pas de remplacer le vrai environnement, seulement que chaque tentative se passe hors facture.
flociTéléchargement
Systèmes pris en charge : Windows macOS Linux