Déployez Meeting-BaaS sur votre propre infrastructure avec un contrôle total de vos données et une sécurité de niveau entreprise. Découvrez le coût réel de 0,066 $/heure par bot avec des mises à jour automatiques, des déploiements sans interruption et des capacités de personnalisation complètes.

··4 min read
Meeting-BaaS On-Premises : Déployez Votre Propre Infrastructure de Meeting Bots

Meeting-BaaS On-Premises : Guide de Démarrage Rapide

Grâce à nos images Docker préconstruites, vous pouvez facilement mettre en place votre propre infrastructure Meeting BaaS. Cet article explique comment c'est possible, ce dont vous aurez besoin, et surtout, combien cela devrait vous coûter.

Vous bénéficierez d'un contrôle total sur vos données, de capacités de personnalisation complètes et d'une sécurité de niveau entreprise, tout en conservant les mêmes fonctionnalités API que la version hébergée.

Plus important encore, ce déploiement vous permet de payer le prix réel pour les meeting bots (0,066 $/heure) tout en bénéficiant de la stabilité d'un produit commercial maintenu, avec un accord de niveau de service (SLA).

Construisez des assistants de meeting IA, des workflows de transcription automatisés, du streaming audio en temps réel, des analyses de meetings, le suivi des interactions clients, la surveillance de conformité et la synthèse intelligente de meetings avec une souveraineté totale sur vos données.

Évaluation des Tarifs

Nous estimons que la configuration de base vous coûtera environ 5 500 $/mois au total, répartis comme suit :

Coûts de Configuration de Base :

  • Nos frais de conseil : 10 000 $/mois (inclut la configuration, la maintenance, le support et le SLA)
  • Coûts d'infrastructure : 1 500 $/mois (inclut 8 bots fonctionnant en permanence)

Exemple : 20 000 heures par mois

  • Configuration de base : 5 500 $/mois (inclut 1 408 heures - 8 heures/jour × 8 bots × 22 jours ouvrables)
  • Heures supplémentaires : 18 592 heures × 0,066 $ = 1 227 $
  • Total : 6 727 $/mois (0,336 $/heure)

L'efficacité des coûts s'améliore avec l'échelle :

  • 50 000 heures/mois : ~8 700 $/mois (0,174 $/heure)
  • 100 000 heures/mois : ~12 100 $/mois (0,121 $/heure)

Prérequis

  • Cluster Kubernetes (1.20+)
  • Une base de données PostgreSQL
  • Une instance Redis
  • Un stockage compatible S3
  • Une file d'attente SQS
  • kubectl configuré
  • Docker/container runtime
  • 16 Go+ de RAM, minimum 8+ vCPUs
  • Accès internet sortant vers les plateformes de meeting

Comment ça fonctionne ?

Notre déploiement on-premise utilise une automatisation CI/CD de niveau entreprise pour maintenir votre infrastructure synchronisée avec nos dernières améliorations.

GitHub Actions construit et étiquette chaque image ; vous exécutez la commande de mise à niveau pour la déployer dans votre cluster ; vos pods bot, serveur API, bases de données et stockage ne quittent jamais votre infrastructure

Builds d'Images via CI/CD, Déploiements à Votre Commande

Comment ça fonctionne :

  • Intégration GitHub : Notre pipeline CI/CD construit et pousse automatiquement de nouvelles images Docker lorsque nous mettons à jour notre codebase
  • Vous contrôlez le déploiement : Kubernetes ne surveille pas un registry et ne déploie pas automatiquement de lui-même — une nouvelle image dans notre registry ne touche pas votre cluster jusqu'à ce que vous le décidiez. Exécutez notre commande baas_controller.sh upgrade (ou configurez votre propre image-watcher, par exemple Flux ou ArgoCD Image Updater, si vous souhaitez que ce soit automatique) pour récupérer un nouveau tag.

Comment fonctionne le processus de mise à jour :

  1. Modifications du code : Notre workflow GitHub Actions construit automatiquement de nouvelles images Docker avec des hashes de commit git et les pousse vers notre Scaleway Container Registry

  2. Vous déclenchez le deploy : Exécutez la commande de mise à niveau avec le nouveau tag d'image quand vous êtes prêt — ce n'est pas automatique à moins que vous ne configuriez votre propre contrôleur de surveillance du registry

  3. Déploiement sans interruption : Une fois déclenché, Kubernetes remplace les pods un par un, s'assurant que les nouveaux pods sont en bonne santé avant de terminer les anciens

Avantages Clés :

  • Vous décidez quand : Intégrez les fonctionnalités, correctifs et patches de sécurité selon votre propre planning, pas le nôtre
  • Zéro interruption : Mises à jour progressives fluides sans interruption de service une fois déclenchées
  • Suivi des versions : Pistes d'audit complètes avec des hashes de commit git
  • Fiabilité Entreprise : Le même pipeline CI/CD que notre environnement de production

Vous bénéficiez d'un contrôle total sur votre infrastructure, en intégrant nos dernières améliorations chaque fois que vous exécutez la commande de mise à niveau.

Configuration Rapide

1. Cloner la Configuration Kubernetes

git clone https://github.com/Meeting-BaaS/kubernetes-config.git
cd kubernetes-config

2. Installer le BaaS CLI

./baas_controller.sh install

3. Configurer l'Environnement

export ENVIRON=prod  # or preprod for staging

4. Déployer les Services

# Deploy bots (uses pre-built Docker images)
ENVIRON=prod ./baas_controller.sh bots install

# Check status
ENVIRON=prod ./baas_controller.sh bots status

# View logs
ENVIRON=prod ./baas_controller.sh bots log -f

Commandes Principales

Gestion des Bots

# Install bots
ENVIRON=prod ./baas_controller.sh bots install

# Upgrade bots (zero downtime)
ENVIRON=prod ./baas_controller.sh bots upgrade

# Check status
ENVIRON=prod ./baas_controller.sh bots status

# View logs
ENVIRON=prod ./baas_controller.sh bots log -f

# Uninstall (causes downtime)
ENVIRON=prod ./baas_controller.sh bots uninstall

Gestion du Serveur API

# Install API server
ENVIRON=prod ./baas_controller.sh api install

# Upgrade API server
ENVIRON=prod ./baas_controller.sh api upgrade

# Check status
ENVIRON=prod ./baas_controller.sh api status

# View logs
ENVIRON=prod ./baas_controller.sh api log -f

Gestion du Cluster

# Install cluster
ENVIRON=prod ./baas_controller.sh cluster install

# Access metrics
ENVIRON=prod ./baas_controller.sh cluster metrics

Exigences en Ressources

Par Pod Bot

  • CPU : 1,5 vCPU (requests) / 3 vCPU (limits)
  • Mémoire : 3 Go de RAM (requests) / 6 Go de RAM (limits)
  • Stockage : 20 Go pour les enregistrements

Infrastructure Minimale

  • Plan de Contrôle : 2 vCPU, 4 Go de RAM
  • Nœuds Worker : 16 vCPU, 32 Go de RAM (supporte ~8 bots)
  • Base de données : 8 vCPU, 32 Go de RAM (PostgreSQL)
  • Cache : 2 vCPU, 4 Go de RAM (Redis)

Variables d'Environnement

# Required
export ENVIRON=prod
export KUBECONFIG=/path/to/kubeconfig

# Optional
export SKIP_VALIDATION=1  # Skip confirmations

Mises à Jour sans Interruption

# Always use upgrade, never install for running services
ENVIRON=prod ./baas_controller.sh bots upgrade
ENVIRON=prod ./baas_controller.sh api upgrade

Dépannage

# Check pod status
kubectl get pods -n services

# Describe pod issues
kubectl describe pod <pod-name> -n services

# Check persistent volumes
kubectl get pvc -n services

# Test connectivity
kubectl exec -it <pod-name> -n services -- curl -I https://meet.google.com

Intégration API

# Set API endpoint
export MEETING_BAAS_API=https://your-domain.com/api
export API_KEY=your-api-key

# Test connection
curl -H "Authorization: Bearer $API_KEY" $MEETING_BAAS_API/version

Configuration du Stockage

Volumes Persistants

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: bot-storage
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
  storageClassName: sbs-15k  # High IOPS

Classes de Stockage

  • sbs-15k : IOPS élevées pour les enregistrements
  • sbs-default : Usage général
  • scw-bssd : NVMe pour haute performance

Surveillance

# Access Grafana (if deployed)
ENVIRON=prod ./baas_controller.sh cluster metrics

# Check resource usage
kubectl top pods -n services
kubectl top nodes

Mise à l'Échelle

# Scale bots horizontally
kubectl scale deployment meeting-bots --replicas=10 -n services

# Auto-scaling (HPA)
kubectl get hpa -n services

Sécurité

Politiques Réseau

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: bot-network-policy
spec:
  podSelector:
    matchLabels:
      app: meeting-bots
  policyTypes:
    - Ingress
    - Egress
  egress:
    - to:
        - namespaceSelector: {}
      ports:
        - protocol: TCP
          port: 443

RBAC

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: services
  name: bot-role
rules:
  - apiGroups: [""]
    resources: ["pods", "services"]
    verbs: ["get", "list", "watch"]

Sauvegarde et Récupération

# Database backup
kubectl exec -it postgres-pod -n services -- pg_dump meeting_baas > backup.sql

# Restore database
kubectl exec -i postgres-pod -n services -- psql meeting_baas < backup.sql

Nettoyage

# Remove all services
ENVIRON=prod ./baas_controller.sh bots uninstall
ENVIRON=prod ./baas_controller.sh api uninstall

# Remove cluster (destructive)
ENVIRON=prod ./baas_controller.sh cluster uninstall
Articles similairesplatform