Aller au contenu principal
Maintenant en disponibilité générale

Orchestration d'entreprise.
Pas de Kubernetes requis.

Odysseus est une plateforme d'orchestration de conteneurs entièrement gérée. Inscrivez-vous, connectez vos nœuds avec une seule ligne de commande et bénéficiez de l'autoscaling, des déploiements canary, des opérations propulsées par l'IA et de l'analyse des CVE — sans la complexité de Kubernetes.

Plan de contrôle entièrement géré · Configuration des nœuds en une ligne · Aucune équipe de plateforme dédiée

2–3 min
Temps de déploiement (réduit de 30 à 60 min)
~50 Mo
RAM du plan de contrôle, mesurée en production
Instant
Rollback en cas d'échec (vs 15–30 min manuel)
0
Ingénieurs de plateforme dédiés requis
Le problème

Coincé entre trop simple
et trop complexe ?

Gérer 50 ou 100 conteneurs ne devrait pas nécessiter une équipe de plateforme dédiée. Mais cela ne devrait pas non plus être maintenu avec des scripts shell.

Docker Compose atteint ses limites

Pas d'autoscaling, pas de haute disponibilité, pas de déploiements progressifs. Un mauvais push peut mettre hors service l'ensemble de votre service — et la récupération manuelle éloigne l'équipe de la livraison.

Kubernetes est surdimensionné

Un minimum documenté de 2 Go par machine, des mois de montée en compétence, 1 à 2 ingénieurs dédiés pour la maintenance. À cette taille, vous payez une taxe d'entreprise pour des fonctionnalités que vous n'utiliserez jamais pleinement.

Chaque déploiement est un risque

Pas de versions canari signifie que les bogues atteignent 100 % de vos utilisateurs instantanément. Pas de piste d'audit signifie que vous ne pouvez pas répondre à « qu'est-ce qui a changé et quand ? » pour les revues de conformité ou les post-mortems.

❌ Sans Odysseus
  • 30 à 60 minutes d'étapes de déploiement manuelles
  • Un mauvais déploiement affecte 100 % des utilisateurs
  • Mise à l'échelle manuelle lors des pics de trafic
  • Pas de piste d'audit — « qui a changé ça ? » reste sans réponse
  • Les secrets sont stockés dans des variables d'environnement ou des scripts bash
  • La reprise après incident prend 15 à 30 minutes
✅ Avec Odysseus
  • Déploiements automatisés en 2 à 3 minutes, à chaque fois
  • Les déploiements canary exposent les bugs à 10 % avant le déploiement complet
  • Mise à l'échelle automatique pilotée par Prometheus, sans intervention manuelle
  • Piste d'audit complète avec acteur, horodatage et résultat
  • Secrets Vault-backed sur tmpfs — jamais dans les variables d'environnement
  • Retour arrière automatisé instantané en cas d'échec du contrôle d'état
Comment ça fonctionne

Inscrivez-vous, connectez, déployez

Odysseus est entièrement géré. Inscrivez-vous, exécutez une ligne de commande pour connecter vos nœuds et commencez à déployer — le plan de contrôle est à notre charge.

odysseus.delta-telematics.ca/nodes
Vue des nœuds affichant 2 nœuds connectés avec état de santé, VPN, ordonnancement, conteneurs, métriques CPU et mémoire
Connectez votre infrastructure en une seule commande. Après l'inscription, exécutez un script d'installation unique sur votre serveur. L'agent Odysseus s'installe automatiquement, se connecte via un VPN WireGuard chiffré, et votre nœud apparaît dans le tableau de bord — prêt pour les déploiements.
Capacités

Tout ce dont vous avez besoin.
Rien de plus.

Conçu pour les équipes qui ont dépassé Docker Compose mais ne veulent pas constituer une équipe de plateforme simplement pour exécuter leurs conteneurs.

Syntaxe Docker Compose que vous connaissez déjà

Étendez vos fichiers docker-compose.yml existants avec un bloc x-odysseus. Pas de nouveau DSL à apprendre — votre équipe livre dès le premier jour.

# my-app.yaml version: "3" services: web: image: myapp:v2.1.0 x-odysseus: replicas: 3 scaling: min: 2 max: 10 metrics: - type: cpu target: 70 canary: weight: 10 auto_promote: true
✓ Compatible avec les fichiers Compose existants

Attachement de conteneur multi-réseau

Attachez des conteneurs à plusieurs réseaux Docker simultanément — une limitation clé de Nomad et de nombreux autres orchestrateurs qu'Odysseus résout nativement.

RBAC à quatre niveaux

Rôles Admin, Operator, Developer et Read-only prêts à l'emploi. Contrôlez précisément qui peut déployer, mettre à l'échelle ou simplement observer — avec une authentification JWT + mTLS.

4
Rôles d'accès
mTLS
Authentification inter-composants

Agent léger, zéro surcharge

L'agent Odysseus est un unique binaire Go qui s'exécute sur vos nœuds — environ 28 Mo de mémoire résidente, mesurée sur des nœuds de production et de développement en direct. S'installe en quelques secondes, se met à jour automatiquement avec un rollback conditionné par un contrôle d'état.

~28 Mo
RAM de l'agent, par nœud
<1%
CPU au repos

Réponse automatisée aux incidents

Odysseus détecte en temps réel les plantages de conteneurs, les kills OOM, les boucles de redémarrage et les échecs de contrôle d'état — puis exécute automatiquement des remédiations. Infrastructure auto-réparatrice sans fatigue d'astreinte.

8
Types d'incidents
6
Actions d'auto-remédiation

Analyse CVE intégrée

Analyse des vulnérabilités à double backend avec Trivy et Grype. Définissez des politiques pour bloquer automatiquement les déploiements contenant des CVE critiques. Obtenez des recommandations de correctifs avec une priorisation basée sur la sévérité.

✓ Déploiement conditionné par des politiques
Opérations propulsées par l'IA

Rencontrez Athena — votre assistant IA pour les opérations

Déployez, dépannez et gérez l'infrastructure via le langage naturel. Athena se connecte à 61 outils d'orchestration avec un accès RBAC et des garde-fous de sécurité.

Déploiements en langage naturel
"Déployez n8n avec 2 réplicas sur n8n.my-domain.com"
Dépannage intelligent
"Pourquoi redis-cache redémarre-t-il ?" — Athena analyse les journaux, les métriques et les événements
Opérations à grande échelle
"Mettre à l'échelle web-frontend à 8 réplicas" — avec des invites de confirmation pour la sécurité
Sécurité avant tout
Accès limité par RBAC, masquage des secrets, limitation de débit, piste d'audit complète
Athena AI — Vue d'ensemble du cluster
Athena répondant à « Comment tout se présente ? » avec l'état de santé complet du cluster — 7 déploiements sur 13 en cours d'exécution, 6 arrêtés, utilisant les outils cluster_health et deployment_list
61 outils répartis en 11 catégories : Déploiements, Conteneurs, Canary, Cluster, Config, Sauvegarde, Débogage, Réseau, Volumes, Audit et SRE. Chaque outil est vérifié par rapport à votre rôle RBAC avant exécution.
Réponse autonome aux incidents

Orchestrateur SRE — infrastructure auto-réparatrice

Détectez en temps réel les plantages de conteneurs, les kills OOM, les échecs de contrôle d'état et les anomalies de performances. Un LLM intégré diagnostique les causes profondes et exécute des remédiations sûres — avec déploiement progressif et garde-fous d'approbation humaine.

Diagnostic propulsé par l'IA
Le LLM analyse les journaux, les métriques et l'état des conteneurs pour identifier les causes premières — pas seulement les symptômes
Déploiement progressif
Commencez en mode observation uniquement, passez à l'exécution automatique à faible risque, puis à l'automatisation complète — à votre rythme
Garde-fous de sécurité
Liste noire de services, limitation du nombre de commandes par incident, blocage des schémas dangereux, approbation requise pour les actions à haut risque
Mises à jour en temps réel
Flux d'incidents en direct propulsé par WebSocket avec routage des notifications Slack et e-mail par niveau de gravité
Automatisation SRE — Vue d'ensemble
Tableau de bord d'automatisation SRE affichant l'état de santé du plan de contrôle, les statistiques d'incidents (23 au total, 18 résolus, 4,2 min de résolution moyenne) et les incidents récents avec badges de sévérité et mises à jour de statut en temps réel
7 catégories d'incidents (santé, performance, disponibilité, sécurité, configuration, ressource, réseau) détectées depuis Alertmanager, Consul, rapports manuels et Athena. Chaque incident passe par un diagnostic IA, un remédiation évaluée selon le risque et des portes d'approbation configurables.

Analyse propulsée par LLM

Analyse IA multi-tours avec délais d'attente, limites de tokens et invites système personnalisables configurables. Le LLM enquête, diagnostique et propose des commandes — chacune étiquetée avec un niveau de risque.

3
Niveaux de risque (LOW / MED / HIGH)
Multi-tour
Investigation persistante

Garde-fous configurables

Définissez le nombre maximal de commandes par incident, les périodes de refroidissement, les modèles de commandes dangereuses et les listes noires par service. Contrôlez quelles sévérités et niveaux de risque peuvent s'exécuter automatiquement.

RBAC
sre:configure & sre:approve
Par service
Protection par liste noire

Cycle de vie complet des incidents

Les incidents progressent à travers les états ouvert, en cours, en attente d'approbation, résolu, échoué ou escaladé — avec déduplication, corrélation et suivi de la résolution (corrigé, rejeté, externe, aucune action requise).

6
Statuts d'incidents
4
Types de résolution
Comparaison

L'outil adapté à 50–100 conteneurs par nœud — et au-delà

Odysseus est conçu pour le point où Docker Compose atteint ses limites et Kubernetes est plus de machinerie que le travail n'en nécessite — et il continue au-delà. Nomad est le pair le plus proche dans ce tableau ; là où il nous égale ou nous dépasse, la ligne l'indique.

Capacité Docker Compose Odysseus Kubernetes Nomad[5]
Mise à l'échelle automatique span> Piloté par Prometheusriven Configuration complexesetup Agent d'auto-scaling séparéagent
Déploiements sans temps d'arrêt span> span> span> Rolling update blockblock
Déploiements canary span> Promotion automatique + rollbacklback Via Istio/Argogo Promotion automatique + réversion automatiqueevert
Retour instantané span> span> span> Revenir à la dernière version stabletable
RBAC span> 4 rôles intégrésroles RBAC complexe RBAC Politiques et rôles ACLroles
Journal d'audit span> Intégrélt-in Via add-onia add-on Entreprise uniquement/span>
Injection de secrets Vault span> tmpfs montéunted Via sidecar Natif, répertoire secrets tmpfss dir
Résidence géographique des données span> Filtre de placement, par pays ou région ISO[1]">[1] Via affinité de nœud sur des étiquettes personnalisées on custom labels Contraintes de région et de centre de donnéesaints
Isolation des locataires span> Les nœuds sont inscrits à un locataireenant Espaces de noms ; les nœuds sont portés par le clusterer-scoped Espaces de noms ; les nœuds sont partagése shared
Conteneurs multi-réseaux Limité Natifative Via plugin CNI Un network_mode par tâche>
RAM du plan de contrôle Aucun — CLI uniquement 47–65 Mo mesurés 2 Go minimum par machine[2]a> 8–16 Go par serveur, trois ou cinq serveurs
RAM de l'agent par nœud Aucun — CLI uniquement ~28 Mo mesurés 275 Mo mesurés sur K3s ; 574 Mo – 1,9 Go réservés par les fournisseurs managés[3]a> Aucun chiffre publié
Courbe d'apprentissage Heures Jours Mois Jours
Assistant d'opérations IA span> Athena (61 outils)ools) span> span>
Analyse CVE span> Trivy + GrypeGrype Via add-on Via add-on
Réponse automatique aux incidents span> SRE propulsé par l'IAE Via add-on Politiques de redémarrage et de replanificatione policies
Personnel de plateforme dédié 0 0 1–2 ingénieurs Vous gérez les serveurs vous-même
Conteneurs par nœud 1–20 conteneurs 50–100+ conteneurs[4] — le total de la plateforme augmente avec le nombre de nœudses 110 pods par nœud[4] — un pod contient un ou plusieurs conteneursrs Pas de plafond publié — environ 330 par client dans leur propre exécution de deux millions de conteneurs

Comment ces chiffres et affirmations ont été obtenus

  1. La résidence géographique des données est un filtre de placement, et elle est livrée désactivée. Un déploiement porte odysseus.io/data-residency-country — un code ISO 3166-1 alpha-2 tel que CA ou DE — ou odysseus.io/data-residency-region, qui nomme un ensemble défini par l'opérateur de ces codes, ou odysseus.io/blocked-countries. L'ordonnanceur compare chacun aux étiquettes de pays et de région propres au nœud avant de placer quoi que ce soit, et un nœud qui ne satisfait pas l'exigence est retiré de l'ensemble des candidats — de sorte que le déploiement ne peut pas atterrir en dehors de sa géographie autorisée, plutôt que d'y être trouvé ensuite. Elle est activée par installation dans la configuration du plan de contrôle et est désactivée par défaut ; les régions sont les définitions propres de l'opérateur, pas les nôtres. Kubernetes peut exprimer la même contrainte : il fournit topology.kubernetes.io/region et topology.kubernetes.io/zone comme étiquettes de nœud bien connues, et l'affinité de nœud pour sélectionner dessus, mais pas d'étiquette de pays ou de résidence propre — donc la résidence y est assemblée à partir d'étiquettes personnalisées et de règles d'affinité — kubernetes.io. La différence réside dans l'endroit où le concept vit, pas dans la possibilité de le faire. Nomad n'a pas besoin d'un tel assemblage et cette ligne n'est pas un différenciateur par rapport à lui : region et datacenter sont de premier niveau dans son architecture, et un job contraint le placement sur ${node.datacenter}, ${node.region} ou toute valeur ${meta.<key>} définie par l'opérateur. Ce qui diffère là-bas est le vocabulaire plutôt que la puissance — le nôtre est une étiquette de résidence nommée portant des codes pays ISO et l'appartenance à une région, le leur une contrainte à usage général pointant vers ce que l'opérateur a écrit sur le nœud.
  2. Les chiffres de mémoire d'Odysseus sont mesurés, pas modélisés. Les deux sont la mémoire résidente (RSS) du processus en cours d'exécution, échantillonnée sur une fenêtre de 14 minutes le 20 août 2026 sur deux installations en direct : production (plan de contrôle 47–51 Mo sur 19 échantillons, agent de nœud 26–28 Mo) et développement (plan de contrôle 49–64 Mo sur 18 échantillons, agent de nœud 26–28 Mo). Le plan de contrôle s'exécute une fois par installation ; l'agent s'exécute une fois par nœud. Le plan de contrôle publie lui-même le chiffre comme process_resident_memory_bytes sur son endpoint /metrics Prometheus, afin qu'il puisse être vérifié directement plutôt que tenu pour acquis. Nous citons la RSS plutôt que docker stats car cette dernière inclut le cache de pages récupérable, qui sur un conteneur récemment démarré affiche un chiffre plusieurs fois plus élevé sans qu'aucun n'appartienne à l'orchestrateur. Le chiffre de Kubernetes est le minimum documenté dans le guide d'installation kubeadm en amont : “2 Go ou plus de RAM par machine” — kubernetes.io.
  3. Comparaison par nœud. Kubernetes en amont ne publie aucune réserve par défaut pour ses agents de nœud — kubeReserved et systemReserved sont tous deux livrés vides — il n'y a donc pas de chiffre officiel unique à citer. Le chiffre profilé est le profilage de ressources K3s publié par SUSE, qui place les composants Kubernetes sur un agent (worker) node — ses mots, “le kubelet et l'agent k3s” — à 275 Mo sur un Intel 8375C, à partir de lectures au 95e percentile en régime permanent — docs.k3s.io. K3s est un binaire unique fusionné avec son propre exécution intégré, c'est donc un plancher pour Kubernetes en amont exécutant les mêmes composants en tant que processus séparés, pas un équivalent. Les chiffres réservés sont une capacité que les fournisseurs gérés retiennent de chaque nœud worker avant qu'un conteneur d'application ne soit planifié, calculée à partir de leurs propres formules publiées : AWS EKS réserve (11 × max-pods) + 255 Mio (574 Mio sur un m5.large, qui supporte 29 pods) — docs.aws.amazon.com ; Google GKE réserve 25 % des premiers 4 Gio et 20 % des 4 Gio suivants plus 100 Mio (≈1,9 Gio sur un nœud de 8 Gio) — cloud.google.com. La capacité réservée est une allocation que l'ordonnanceur retient, pas une consommation mesurée ; nous l'étiquetons comme telle car les deux ne sont pas la même chose.
  4. Les nombres de conteneurs sont par nœud, et le nôtre est une déclaration d'adéquation, pas une limite. La plage décrit où Odysseus est conçu pour se situer — au-dessus du point où Docker Compose atteint ses limites, en dessous du point où Kubernetes justifie sa complexité. C'est du positionnement, pas un résultat de benchmark, et nous ne le présentons pas comme tel. Un total de plateforme est ce chiffre par nœud sur le nombre de nœuds qu'un plan de contrôle gère — une conséquence architecturale, pas quelque chose que nous avons mesuré à l'échelle de la flotte, nous ne publions donc pas non plus de chiffre de flotte. Le chiffre de Kubernetes est le plafond documenté par ce projet pour un cluster supporté : “Pas plus de 110 pods par nœud”, énoncé à côté de “Pas plus de 5 000 nœuds” et “Pas plus de 300 000 conteneurs au total” — kubernetes.io. Les deux colonnes ne comptent pas la même unité — Kubernetes limite les pods, un pod contient un ou plusieurs conteneurs, et nous comptons les conteneurs — donc lisez-les comme adjacents plutôt que interchangeables. Nous ne convertissons pas entre eux, car le ratio dépend de la façon dont les pods sont construits. Les distributions gérées plafonnent encore plus bas : AWS EKS dérive la limite de pods par nœud à partir des interfaces réseau de la machine plutôt que de ce chiffre documenté, et son propre exemple chiffré est de 29 pods sur une machine à deux vCPU — le document cité dans la note 3. Nomad ne publie aucune limite par nœud, c'est pourquoi sa cellule le dit plutôt que de porter un chiffre. Le plus grand run HashiCorp publie est sa propre démonstration : 2 000 000 de conteneurs sur 6 100 clients — le mot de Nomad pour un nœud exécutant son agent — dans 10 régions AWS, planifiés en 22 minutes par trois serveurs — hashicorp.com — une moyenne d'environ 330 conteneurs par client. C'est une démonstration plutôt qu'une limite supportée, et c'est un nombre plus grand que tout ce que nous avons exécuté.
  5. La colonne Nomad est sourcée, et elle remporte plusieurs lignes. Nomad est le pair le plus proche d'Odysseus dans ce tableau — un unique binaire, léger en ressources, et conçu pour s'intégrer avec le même Consul sur lequel cette plateforme fonctionne — donc un cadrage qui fonctionne contre Kubernetes serait injuste ici, et nous n'en avons pas utilisé un. Mises à jour progressives, canaris avec auto_promote, restauration automatique d'un déploiement échoué et retour au dernier job stable sont tous dans le bloc update de la spécification du job dans l'Édition Communauté — developer.hashicorp.com. L'autoscaling est réel, et arrive sous la forme d'un second démon à exécuter : le Nomad Autoscaler est « construit et publié séparément de Nomad », couvre la mise à l'échelle horizontale des applications et du cluster, et lit Prometheus parmi ses sources de métriques — developer.hashicorp.com. La gestion des secrets est au moins notre égale : le répertoire secrets/ d'une tâche est soutenu par un système de fichiers en mémoire et monté noexecdeveloper.hashicorp.com. Les politiques et rôles ACL sont dans l'Édition Communauté. Ce qui ne l'est pas : la journalisation d'audit, les quotas de ressources et la politique Sentinel sont dans Nomad Enterprise, tout comme le déploiement d'un job sur des régions fédérées — la fédération des régions elles-mêmes ne l'est pas — developer.hashicorp.com. Les espaces de noms sont dans l'Édition Communauté, et ils segmentent les jobs, les allocations, les déploiements et les évaluations ; la documentation est explicite sur le fait que « Nomad ne met pas dans un espace de noms les objets partagés entre plusieurs espaces de noms. Cela inclut les nœuds » — developer.hashicorp.com. Kubernetes trace la même ligne — « les ressources de bas niveau, telles que les Nœuds … ne sont dans aucun espace de noms » — kubernetes.io ; sur cette plateforme, un nœud est inscrit à un locataire, ce que cette ligne enregistre. Le chiffre des serveurs est l'architecture de référence propre à HashiCorp — « Un cluster Nomad comprend typiquement trois ou cinq serveurs », avec 2 à 4 cœurs et 8 à 16 Go de mémoire chacun pour un petit déploiement en production — developer.hashicorp.com. C'est un dimensionnement machine qu'un lecteur devrait traiter de la même manière que nous traitons le chiffre Kubernetes dans la note 2 : une recommandation, pas une mémoire processus mesurée. Nous n'avons trouvé aucun chiffre publié pour l'agent client, donc la colonne indique qu'il n'y en a pas plutôt que d'en deviner un, et la ligne sur la courbe d'apprentissage est notre estimation plutôt que la mesure de quiconque.
Tarifs

Tarification simple et transparente

Frais de base + tarification par nœud qui évolue avec vous. Commencez gratuitement, mettez à niveau à mesure que vous grandissez.

Mensuel
Annuel Économisez jusqu'à 20 %
Communauté
$ 0
Gratuit pour toujours

Pour les développeurs indépendants, les laboratoires domestiques et l'évaluation.

  • Jusqu'à 3 nœuds
  • 1 utilisateur
  • Compatibilité complète avec Docker Compose
  • Maillage VPN WireGuard
  • Métriques Prometheus de base
  • RBAC à 2 niveaux
  • Support communautaire
  • Pas d'Athena AI
  • Pas d'analyse CVE
Commencer gratuitement
Starter
$ 10
Frais de base de /month
+ 10 $ par nœud/mois

Pour les développeurs solo et les très petites équipes exécutant de petits charges de travail de production.

  • Jusqu'à 5 nœuds
  • Jusqu'à 3 utilisateurs
  • Athena AI (100 requêtes/mois)
  • Analyse CVE hebdomadaire
  • Déploiements canary
  • Injection de secrets Vault
  • Automatisation SRE de base
  • Piste d'audit de 30 jours
  • Support par e-mail (SLA 48h)
Démarrer l'essai gratuit
Entreprise
$ 99
Frais de base de /month
+ 20 $ par nœud/mois

Pour les organisations multi-sites avec des besoins de conformité et de SLA personnalisés.

  • Nœuds illimités
  • Tout ce qui est inclus dans Pro
  • Fédération multi-centres de données
  • SSO / SAML / LDAP / OIDC
  • Journal d'audit d'1 an
  • Conformité SOC 2 & ITSG-33
  • Remises sur volume (50+ nœuds)
  • Gestionnaire de compte dédié
  • SLA 1h + support d'astreinte 24/7
Contacter les ventes
Essai gratuit de 14 jours sur tous les niveaux payants — aucune carte de crédit requise
Annulation à tout moment · Économisez ~20 % avec la facturation annuelle
Support de migration gratuit depuis Docker Compose, Swarm ou K8s
SLA de disponibilité de 99,9 % sur Entreprise

Commencez à orchestrer
en moins de 10 minutes.

Inscrivez-vous, connectez votre premier nœud et déployez — le tout en moins de 10 minutes. Aucune expertise Kubernetes, aucune équipe de plateforme dédiée.

Aucune carte de crédit requise · Essai gratuit de 14 jours · Annulez à tout moment