Meeting-BaaS On-Premises: Implante Sua Própria Infraestrutura de Bot de Reunião
Implante o Meeting-BaaS em sua própria infraestrutura com controle total dos dados e segurança de nível empresarial. Conheça o custo real de $0,066/hora por bot com atualizações automáticas, deployments sem tempo de inatividade e capacidades completas de personalização.
Meeting-BaaS On-Premises: Guia de Início Rápido
Usando nossas imagens Docker pré-construídas, você pode facilmente ter sua própria infraestrutura do Meeting BaaS em funcionamento. Este artigo mostra como isso é possível, o que você vai precisar e, mais importante, quanto isso deve custar.
Você terá controle total sobre seus dados, capacidades completas de personalização e segurança de nível empresarial, mantendo a mesma funcionalidade de API da versão hospedada.
Mais importante, este deployment permite que você pague o preço real pelos bots de reunião ($0,066/hora) com a estabilidade de um produto comercial mantido, com um Acordo de Nível de Serviço.
Crie assistentes de reunião com IA, workflows automatizados de transcrição, streaming de áudio em tempo real, análises de reunião, rastreamento de interações com clientes, monitoramento de conformidade e sumarização inteligente de reuniões com plena soberania dos dados.
Avaliação de Preços
Estimamos que a configuração básica custará aproximadamente $5.500/mês no total, distribuídos da seguinte forma:
Custos da Configuração Básica:
- Nossa taxa de consultoria: $10.000/mês (inclui configuração, manutenção, suporte e SLA)
- Custos de infraestrutura: $1.500/mês (inclui 8 bots em execução o tempo todo)
Exemplo: 20.000 horas por mês
- Configuração básica: $5.500/mês (inclui 1.408 horas - 8 horas/dia × 8 bots × 22 dias úteis)
- Horas adicionais: 18.592 horas × $0,066 = $1.227
- Total: $6.727/mês ($0,336/hora)
A eficiência de custo melhora com a escala:
- 50.000 horas/mês: ~$8.700/mês ($0,174/hora)
- 100.000 horas/mês: ~$12.100/mês ($0,121/hora)
Pré-requisitos
- Kubernetes cluster (1.20+)
- Um banco de dados PostgreSQL
- Uma instância Redis
- Armazenamento compatível com S3
- Uma fila SQS
- kubectl configurado
- Docker/container runtime
- 16GB+ de RAM, mínimo de 8+ vCPUs
- Acesso à internet de saída para plataformas de reunião
Como funciona?
Nosso deployment on-premises utiliza automação de CI/CD de nível empresarial para manter sua infraestrutura sincronizada com nossas melhorias mais recentes.
Atualizações Automáticas via CI/CD
Sincronização Transparente:
- Integração com GitHub: Nosso pipeline de CI/CD constrói e envia automaticamente novas imagens Docker quando atualizamos nosso código
- Atualizações em Tempo Real: Seu backend local e bots puxam automaticamente as versões mais recentes do nosso registry
- Zero Intervenção Manual: Não é necessário verificar atualizações manualmente — tudo acontece automaticamente
Como Funciona o Processo de Atualização:
-
Alterações de Código: Nosso workflow do GitHub Actions constrói automaticamente novas imagens Docker com hashes de commit do git e as envia para o nosso Scaleway Container Registry
-
Detecção Automática: Seu Kubernetes cluster monitora nosso registry e utiliza rolling updates para deployments sem tempo de inatividade
-
Deployment Sem Tempo de Inatividade: O sistema substitui pods um a um, garantindo que os novos pods estejam saudáveis antes de encerrar os antigos
Principais Benefícios:
- ✅ Sempre Atualizado: Recursos mais recentes, correções de bugs e patches de segurança automáticos
- ✅ Zero Downtime: Atualizações transparentes sem interrupção do serviço
- ✅ Rastreamento de Versões: Trilhas de auditoria completas com hashes de commit do git
- ✅ Confiabilidade Empresarial: Mesmo pipeline de CI/CD do nosso ambiente de produção
Você obtém controle total sobre sua infraestrutura com sincronização automática para nossas melhorias mais recentes.
Configuração Rápida
1. Clonar Configuração do Kubernetes
git clone https://github.com/Meeting-BaaS/kubernetes-config.git
cd kubernetes-config2. Instalar o BaaS CLI
./baas_controller.sh install3. Configurar o Ambiente
export ENVIRON=prod # or preprod for staging4. Implantar os Serviços
# 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 -fComandos Principais
Gerenciamento de 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 uninstallGerenciamento do Servidor de 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 -fGerenciamento do Cluster
# Install cluster
ENVIRON=prod ./baas_controller.sh cluster install
# Access metrics
ENVIRON=prod ./baas_controller.sh cluster metricsRequisitos de Recursos
Por Pod de Bot
- CPU: 1,5 vCPU (requests) / 3 vCPU (limits)
- Memória: 3GB de RAM (requests) / 6GB de RAM (limits)
- Armazenamento: 20GB para gravações
Mínimo de Infraestrutura
- Plano de Controle: 2 vCPU, 4GB de RAM
- Nós de Trabalho: 16 vCPU, 32GB de RAM (suporta ~8 bots)
- Banco de Dados: 8 vCPU, 32GB de RAM (PostgreSQL)
- Cache: 2 vCPU, 4GB de RAM (Redis)
Variáveis de Ambiente
# Required
export ENVIRON=prod
export KUBECONFIG=/path/to/kubeconfig
# Optional
export SKIP_VALIDATION=1 # Skip confirmationsAtualizações Sem Tempo de Inatividade
# Always use upgrade, never install for running services
ENVIRON=prod ./baas_controller.sh bots upgrade
ENVIRON=prod ./baas_controller.sh api upgradeSolução de Problemas
# 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.comIntegração de 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/versionConfiguração de Armazenamento
Volumes Persistentes
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: bot-storage
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: sbs-15k # High IOPSClasses de Armazenamento
sbs-15k: Alto IOPS para gravaçõessbs-default: Uso geralscw-bssd: NVMe para alto desempenho
Monitoramento
# Access Grafana (if deployed)
ENVIRON=prod ./baas_controller.sh cluster metrics
# Check resource usage
kubectl top pods -n services
kubectl top nodesEscalabilidade
# Scale bots horizontally
kubectl scale deployment meeting-bots --replicas=10 -n services
# Auto-scaling (HPA)
kubectl get hpa -n servicesSegurança
Políticas de Rede
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: 443RBAC
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: services
name: bot-role
rules:
- apiGroups: [""]
resources: ["pods", "services"]
verbs: ["get", "list", "watch"]Backup e Recuperação
# 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.sqlLimpeza
# 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