Launch HN : Diversion (YC S22), une alternative cloud native à Git
(news.ycombinator.com)- Diversion est un système de gestion de versions conçu pour les grands dépôts et la collaboration à l’ère du cloud ; ses premiers utilisateurs sont des développeurs de jeux qui recherchent simplicité et scalabilité
- Git a été créé en 2005, dans un contexte de réseaux lents, de petits projets et d’absence de cloud ; Diversion estime qu’il atteint aujourd’hui ses limites face à la taille des dépôts et des fichiers, ainsi qu’au nombre d’utilisateurs simultanés
- Les systèmes de gestion de versions internes de Google et Meta, ainsi que l’usage de SVN et Perforce par certaines entreprises du jeu vidéo, des semi-conducteurs et des services financiers, sont cités comme preuve que Git ne convient pas à toutes les organisations
- Diversion repose sur du stockage distribué, des bases de données, une API REST et une infrastructure cloud serverless, et traite les opérations de dépôt comme commit, branch et merge via des appels API
- Actuellement disponible en bêta ouverte, il permet aux petites équipes de démarrer gratuitement ; des améliorations de vitesse, des intégrations CI, des plugins pour IDE et moteurs de jeu, ainsi que des améliorations d’ergonomie sont en cours
Les limites de Git que vise Diversion
- Diversion est un système de gestion de versions cloud native proposé sur diversion.dev
- Une démonstration rapide est disponible en vidéo YouTube
- Ses premiers utilisateurs sont des développeurs de jeux, qui y voient des atouts en matière de simplicité et de scalabilité
- Git a joué un rôle majeur dans l’évolution du développement logiciel ces 18 dernières années, mais il a été conçu pour l’environnement de 2005 et n’est pas un outil parfait pour tous les utilisateurs
- Son principal défaut apparaît dans sa scalabilité limitée en matière de taille des dépôts, de taille des fichiers et de nombre d’utilisateurs simultanés
- Google et Meta ont créé leurs propres systèmes de gestion de versions pour cette raison
- Certaines grandes entreprises dans le jeu vidéo, les semi-conducteurs et les services financiers continuent d’utiliser des outils legacy comme SVN et Perforce
- La complexité de Git peut aussi entraîner de véritables pertes de travail
- Dans une précédente startup, un data scientist avait utilisé une mauvaise commande Git, faisant perdre un mois de travail à l’équipe
- Quelques heures plus tard, le travail a pu être récupéré depuis un clone du dépôt qui n’avait pas été mis à jour
- Cela dit, les fonctions de branch et de merge de Git ont fortement contribué aux pratiques modernes de développement comme les feature branches et le CI/CD, ainsi qu’à l’amélioration de la vitesse des développeurs
Fonctionnement basé sur le cloud
- Diversion vise à conserver la fonctionnalité de branches de Git tout en proposant un système de gestion de versions plus simple, plus rapide et plus scalable
- Il applique à la gestion de versions le concept de collaboration en temps réel des outils cloud modernes
- Comme Google Docs et Figma, il permet de partager l’état du travail en cours
- Les développeurs ne veulent pas toujours rendre public ce sur quoi ils travaillent, mais cela peut être utile pour recevoir des retours avant un commit, détecter et éviter les conflits de merge, ou voir quelles parties de la codebase d’autres personnes modifient
- Son architecture interne repose sur du stockage distribué, des bases de données, une API REST et une infrastructure cloud serverless
- Toutes les opérations de dépôt, comme commit, branch et merge, sont traitées via des appels API
- Le client desktop synchronise en temps réel avec le cloud même l’état du travail en cours avant commit
- Les utilisateurs peuvent y accéder via une CLI interactive, une Web UI et des plugins IDE
- Le plugin IDE prend actuellement en charge JetBrains, et d’autres seront ajoutés
- La Web UI permet d’effectuer la plupart des opérations de base sans installer le client desktop
- Il est compatible avec Git et peut se synchroniser avec des dépôts Git existants
- Les nouveaux commits de Diversion vont dans Git, et les nouveaux commits de Git vont aussi dans Diversion
Plan d’ouverture et conditions d’utilisation de la bêta
- Le projet prévoit d’être publié en open source lorsque la codebase sera mature et qu’un répertoire de dépôts open source aura été implémenté sur le site web
- Le code de Diversion est également géré dans Diversion
- Il est actuellement disponible en bêta ouverte, et il est possible de démarrer en self-service en cliquant sur Get Started
- Il peut être utilisé sans avoir besoin de parler à quelqu’un
- Il est gratuit pour les petites équipes, et les informations tarifaires sont disponibles sur la page pricing
- Les améliorations en cours portent sur la vitesse, l’intégration CI, les plugins pour IDE et moteurs de jeu, ainsi que d’autres améliorations d’ergonomie
1 commentaires
Commentaires sur Hacker News