624 lines
32 KiB
Markdown
624 lines
32 KiB
Markdown
# Portfolio Ops/DevOps: Posicionamiento Estratégico
|
|
|
|
## Resumen Ejecutivo
|
|
|
|
Este documento analiza el portfolio de cinco proyectos desde la perspectiva Ops/DevOps, posicionándolos frente a herramientas establecidas del mercado:
|
|
|
|
| Proyecto | Dominio | Compite Con |
|
|
| ---------- | --------- | ------------- |
|
|
| **Provisioning** | IaC + Orquestación | Terraform, Pulumi, Ansible, CloudFormation |
|
|
| **SecretumVault** | Gestión de Secretos | HashiCorp Vault, AWS Secrets Manager, Azure Key Vault |
|
|
| **Vapora** | Orquestación de Agentes | Jenkins, GitHub Actions, Tekton, ArgoCD |
|
|
| **TypeDialog** | Configuración + IaC Gen | Terraform modules, Cookiecutter, Yeoman |
|
|
| **Kogral** | Knowledge Management | Confluence, Notion, Internal wikis |
|
|
|
|
---
|
|
|
|
## 1. Matriz de Funcionalidades Ops
|
|
|
|
### Capacidades por Proyecto
|
|
|
|
| Capacidad | Provisioning | SecretumVault | Vapora | TypeDialog | Kogral |
|
|
| ----------- | -------------- | --------------- | -------- | ------------ | -------- |
|
|
| **Multi-cloud** | AWS, UpCloud, Local | N/A (storage agnostic) | N/A | Sí (prov-gen) | N/A |
|
|
| **IaC declarativo** | Nickel (tipado) | N/A | N/A | Genera Nickel | N/A |
|
|
| **Secrets management** | Integra KMS | ✅ 4 engines | Usa vault | N/A | N/A |
|
|
| **Orquestación** | Rust orchestrator | N/A | NATS JetStream | N/A | N/A |
|
|
| **Post-Quantum Crypto** | Via SecretumVault | ✅ ML-KEM/ML-DSA | N/A | N/A | N/A |
|
|
| **Rollback automático** | ✅ Checkpoints | N/A | Pipeline rollback | N/A | N/A |
|
|
| **Policy engine** | Cedar RBAC/ABAC | Cedar ABAC | Cedar multi-tenant | N/A | N/A |
|
|
| **Audit logging** | 7 años retención | ✅ Completo | ✅ SurrealDB | N/A | Git history |
|
|
| **IA-assisted** | MCP + RAG | N/A | LLM routing | Agent backend | MCP search |
|
|
| **API REST** | Axum control-center | Axum vault API | Axum backend | Axum web backend | N/A (MCP) |
|
|
| **Storage backends** | SurrealDB | FS/etcd/SurrealDB/PostgreSQL | SurrealDB + NATS | Multi-formato | FS + SurrealDB |
|
|
| **CLI** | 80+ shortcuts | svault CLI | vapora CLI | typedialog CLI | kogral CLI |
|
|
|
|
### Stack Tecnológico Común (Ops Perspective)
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ TECNOLOGÍAS COMPARTIDAS │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ Lenguaje: Rust (performance, memory-safety) │
|
|
│ Config: Nickel (validación pre-runtime, lazy eval) │
|
|
│ DB: SurrealDB (multi-modelo, scopes, time-series) │
|
|
│ Web: Axum (async, composable routing) │
|
|
│ Messaging: NATS JetStream (at-least-once, persistence) │
|
|
│ Policy: Cedar (ABAC, AWS-compatible) │
|
|
│ Crypto: OpenSSL, OQS (PQC), AWS-LC, RustCrypto │
|
|
│ Logging: tracing (structured, JSON output) │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## 2. Posicionamiento vs Competencia (Ops Tools)
|
|
|
|
### Provisioning vs Terraform
|
|
|
|
| Aspecto | Provisioning | Terraform |
|
|
| --------- | -------------- | ----------- |
|
|
| **Lenguaje IaC** | Nickel (tipado, lazy) | HCL (sin tipos) |
|
|
| **Validación** | Pre-runtime (compilación) | Runtime (terraform plan) |
|
|
| **Multi-cloud** | AWS, UpCloud, Local | Sí (100+ providers) |
|
|
| **IA nativa** | MCP + RAG (1000x Python) | Terraform Cloud AI (limitado) |
|
|
| **Orquestación** | Rust orchestrator híbrido | State file + lock |
|
|
| **Rollback** | Automático con checkpoints | Manual (terraform destroy) |
|
|
| **Seguridad** | 39K líneas (12 componentes) | Vault plugin, externos |
|
|
| **Ecosystem** | ⚠️ Pequeño | ✅ Enorme (Terraform Registry) |
|
|
| **Learning curve** | Alta (Nickel + Nushell) | Moderada (HCL familiar) |
|
|
| **Best For** | Equipos Rust, IaC tipado, IA-assisted | General use, large ecosystem |
|
|
|
|
**Diferenciador clave**: Provisioning combina IaC declarativo tipado (Nickel) con generación asistida por IA (MCP + RAG) y orquestación híbrida Rust/Nushell, eliminando errores de configuración en compilación.
|
|
|
|
### Provisioning vs Pulumi
|
|
|
|
| Aspecto | Provisioning | Pulumi |
|
|
| --------- | -------------- | -------- |
|
|
| **Lenguaje IaC** | Nickel (functional) | TypeScript/Python/Go |
|
|
| **Paradigma** | Declarativo | Imperativo (código) |
|
|
| **State management** | SurrealDB multi-modelo | Pulumi Cloud / self-hosted |
|
|
| **Secrets** | SecretumVault integrado | Pulumi ESC (SaaS) |
|
|
| **Multi-cloud** | AWS, UpCloud, Local | Sí (100+ providers) |
|
|
| **IA-assisted** | MCP + RAG nativo | Pulumi AI (experimental) |
|
|
| **Testing** | Nickel contracts | Unit tests en código |
|
|
| **Best For** | Declarativo puro, IaC tipado | Developers, código imperativo |
|
|
|
|
**Diferenciador clave**: Provisioning es declarativo puro (Nickel) vs imperativo (Pulumi código), con validación pre-runtime y orquestador Rust para workflows complejos.
|
|
|
|
### Provisioning vs Ansible
|
|
|
|
| Aspecto | Provisioning | Ansible |
|
|
| --------- | -------------- | --------- |
|
|
| **Paradigma** | Declarativo (Nickel IaC) | Imperatativo (playbooks) |
|
|
| **Agentless** | Sí (SSH) | Sí (SSH) |
|
|
| **Idempotencia** | Nickel contracts | YAML tasks (depende módulo) |
|
|
| **Performance** | Rust orchestrator (10-50x) | Python interpreter |
|
|
| **Multi-cloud** | AWS, UpCloud, Local | Sí (módulos cloud) |
|
|
| **Dependency resolution** | Topological sort automático | Manual (pre_tasks, post_tasks) |
|
|
| **Rollback** | Automático con checkpoints | Manual (rescue blocks) |
|
|
| **Best For** | IaC tipado, performance crítica | Configuration management, ad-hoc |
|
|
|
|
**Diferenciador clave**: Provisioning es IaC declarativo (no playbooks imperativos) con orquestador Rust 10-50x más rápido que Python, rollback automático y resolución de dependencias topológica.
|
|
|
|
### SecretumVault vs HashiCorp Vault
|
|
|
|
| Aspecto | SecretumVault | HashiCorp Vault |
|
|
| --------- | --------------- | ----------------- |
|
|
| **Lenguaje** | Rust (memory-safe) | Go (CGO overhead) |
|
|
| **Post-Quantum** | ✅ **ML-KEM-768, ML-DSA-65** | ❌ Sin roadmap |
|
|
| **Crypto backends** | 4 (OpenSSL, **OQS**, AWS-LC, RustCrypto) | 1 (OpenSSL) |
|
|
| **Storage backends** | 4 (FS, etcd, SurrealDB, PostgreSQL) | 10+ (etcd, Consul, S3, etc) |
|
|
| **Policy engine** | Cedar ABAC (AWS-compatible) | HCL policies |
|
|
| **Shamir unsealing** | ✅ Nativo | ✅ Nativo |
|
|
| **Secrets engines** | 4 (KV, Transit, PKI, Database) | 10+ (incluye cloud-specific) |
|
|
| **Ecosystem** | ⚠️ Pequeño | ✅ Enorme (plugins, integrations) |
|
|
| **Licencia** | Apache-2.0 | BSL (Enterprise paywall) |
|
|
| **Best For** | **PQC hoy**, Rust stacks, data sovereignty | General use, mature ecosystem |
|
|
|
|
**Diferenciador clave**: SecretumVault es el **único vault Rust con criptografía post-cuántica lista para producción** (ML-KEM-768, ML-DSA-65 NIST FIPS 203/204), proporcionando agilidad criptográfica para organizaciones que despliegan hoy.
|
|
|
|
### SecretumVault vs AWS Secrets Manager
|
|
|
|
| Aspecto | SecretumVault | AWS Secrets Manager |
|
|
| --------- | --------------- | --------------------- |
|
|
| **Multi-cloud** | ✅ Cualquier cloud o on-premise | ❌ AWS-only |
|
|
| **Self-hosted** | ✅ Full control | ❌ SaaS only |
|
|
| **Post-Quantum** | ✅ **ML-KEM + ML-DSA** | ❌ None |
|
|
| **Crypto backends** | 4 conectables | 1 (AWS KMS) |
|
|
| **Dynamic secrets** | ✅ Database engine | ✅ RDS integration |
|
|
| **Vendor lock-in** | ✅ Portable | ⚠️ High (AWS-specific) |
|
|
| **Cost** | Self-hosted (infra cost) | $0.40/secret/month + API calls |
|
|
| **Best For** | Multi-cloud, **PQC**, data sovereignty | AWS-native apps, managed service |
|
|
|
|
**Diferenciador clave**: SecretumVault es multi-cloud y self-hosted con PQC nativo, vs AWS Secrets Manager cloud-only sin roadmap post-quantum.
|
|
|
|
### Vapora vs Jenkins
|
|
|
|
| Aspecto | Vapora | Jenkins |
|
|
| --------- | -------- | --------- |
|
|
| **Paradigma** | Agent orchestration (IA) | Pipeline orchestration (CI/CD) |
|
|
| **Agentes** | LLM-powered (Claude, GPT, Gemini) | Build agents (workers) |
|
|
| **Orquestación** | NATS JetStream | Master-worker |
|
|
| **Learning** | Expertise profiles, recency bias | No (estático) |
|
|
| **Budget control** | Per-role limits, fallback | No aplica |
|
|
| **Pipeline definition** | Tasks + agent roles | Jenkinsfile (Groovy) |
|
|
| **UI** | Leptos WASM (Kanban) | Web UI (Java) |
|
|
| **Best For** | IA-assisted operations, LLM orchestration | Traditional CI/CD, build automation |
|
|
|
|
**Diferenciador clave**: Vapora orquesta agentes **LLM inteligentes** con aprendizaje y control de costos, no build agents tradicionales.
|
|
|
|
### Vapora vs GitHub Actions
|
|
|
|
| Aspecto | Vapora | GitHub Actions |
|
|
| --------- | -------- | ---------------- |
|
|
| **Self-hosted** | ✅ Kubernetes native | ✅ Self-hosted runners |
|
|
| **Agentes** | LLM-powered con roles | Workflow runners |
|
|
| **Orquestación** | NATS JetStream | GitHub infrastructure |
|
|
| **Learning** | Expertise profiles | No (estático) |
|
|
| **Budget control** | LLM cost limits | Minutes-based billing |
|
|
| **Multi-tenant** | SurrealDB scopes + Cedar | Repository-level |
|
|
| **Best For** | IA operations, agent coordination | GitHub-native CI/CD, simple workflows |
|
|
|
|
**Diferenciador clave**: Vapora es una plataforma de orquestación de agentes IA con aprendizaje, no un runner de workflows CI/CD.
|
|
|
|
### TypeDialog (prov-gen) vs Terraform Modules
|
|
|
|
| Aspecto | TypeDialog (prov-gen) | Terraform Modules |
|
|
| --------- | ---------------------- | ------------------- |
|
|
| **Input method** | Formularios TOML (CLI/TUI/Web) | Variables (.tfvars) |
|
|
| **Validation** | Nickel contracts (pre-runtime) | Variable validation (runtime) |
|
|
| **Output format** | Nickel IaC | HCL |
|
|
| **Multi-backend** | 6 (CLI/TUI/Web/AI/Agent/Prov-gen) | CLI only |
|
|
| **IaC generation** | Templates Tera + validation | Module composition |
|
|
| **Best For** | Wizards interactivos, self-service | Reusable modules, Terraform ecosystem |
|
|
|
|
**Diferenciador clave**: TypeDialog unifica captura de inputs (CLI/TUI/Web) con generación de IaC validado (Nickel), no solo modules reutilizables.
|
|
|
|
### Kogral vs Confluence
|
|
|
|
| Aspecto | Kogral | Confluence |
|
|
| --------- | -------- | ------------ |
|
|
| **Target** | Equipos desarrollo/ops | Equipos generales |
|
|
| **Git-native** | ✅ Markdown + YAML frontmatter | ❌ Cloud/Server |
|
|
| **Tipos de nodo** | 6 especializados (ADR, Pattern, etc) | Pages genéricas |
|
|
| **MCP Server** | ✅ Claude Code native | ❌ No |
|
|
| **Búsqueda semántica** | fastembed + cloud embeddings | Search interno |
|
|
| **Self-hosted** | ✅ Filesystem + SurrealDB | Cloud o Data Center |
|
|
| **Best For** | Dev/Ops knowledge, IA integration | General documentation, wikis |
|
|
|
|
**Diferenciador clave**: Kogral está diseñado específicamente para conocimiento técnico (runbooks, ADRs, postmortems) con integración IA nativa vía MCP.
|
|
|
|
---
|
|
|
|
## 3. Casos de Uso y Contexto (Ops Perspective)
|
|
|
|
### Cuándo Usar Cada Proyecto
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ "Necesito provisionar infraestructura multi-cloud con IaC" │
|
|
│ → Provisioning (Nickel IaC, multi-cloud, orchestrator) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ "Quiero gestión de secretos con preparación post-cuántica" │
|
|
│ → SecretumVault (PQC ML-KEM/ML-DSA, 4 backends crypto) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ "Necesito orquestar agentes IA para tareas operativas" │
|
|
│ → Vapora (DevOps/Monitor/Security agents, NATS, budget) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ "Quiero wizards de configuración que generen IaC" │
|
|
│ → TypeDialog (prov-gen backend, CLI/TUI/Web) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ "Necesito preservar runbooks y postmortems de incidentes" │
|
|
│ → Kogral (6 node types, MCP, git-native) │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### Matriz de Decisión por Contexto Ops
|
|
|
|
| Contexto | Proyecto Principal | Proyectos de Soporte |
|
|
| ---------- | ------------------- | ---------------------- |
|
|
| **Provisión multi-cloud** | Provisioning | TypeDialog (wizards), SecretumVault (certs), Kogral (ADRs) |
|
|
| **Gestión de secretos PQC** | SecretumVault | Provisioning (infraestructura), Kogral (policies) |
|
|
| **Incident response** | Vapora (Monitor/DevOps agents) | Kogral (runbooks/postmortems), SecretumVault (credentials) |
|
|
| **CI/CD automation** | Vapora (DevOps agent) | Provisioning (deploy), SecretumVault (secrets), Kogral (guidelines) |
|
|
| **Infrastructure self-service** | TypeDialog (prov-gen) | Provisioning (apply IaC), Kogral (docs) |
|
|
| **Knowledge preservation** | Kogral | Vapora (execution tracking), TypeDialog (export) |
|
|
| **Disaster recovery** | Provisioning (rollback) | SecretumVault (backup), Kogral (procedures) |
|
|
|
|
---
|
|
|
|
## 4. Por Qué Son Necesarios (Ops Perspective)
|
|
|
|
### Problemas que Resuelven
|
|
|
|
#### Provisioning: El Problema del YAML Frágil
|
|
|
|
```
|
|
ANTES DESPUÉS (Provisioning)
|
|
───────────────────────────────── ─────────────────────────────────
|
|
YAML sin tipos, errores runtime Nickel tipado, errores compilación
|
|
Scripts imperativos frágiles Workflows declarativos con rollback
|
|
Terraform state drift SurrealDB con time-series
|
|
Sin asistencia IA MCP + RAG (1000x Python)
|
|
Manual dependency management Topological sort automático
|
|
```
|
|
|
|
#### SecretumVault: El Problema de la Criptografía Cuántica
|
|
|
|
```
|
|
ANTES DESPUÉS (SecretumVault)
|
|
───────────────────────────────── ─────────────────────────────────
|
|
Vault en Go (sin memory-safety) Rust con garantías de memoria
|
|
Solo crypto clásica (vulnerable) Post-quantum (ML-KEM, ML-DSA)
|
|
Backend crypto fijo Backends conectables (agilidad)
|
|
SaaS lock-in (AWS, Azure) Self-hosted completo
|
|
Sin preparación amenazas cuánticas Despliega PQC hoy, migra gradual
|
|
```
|
|
|
|
#### Vapora: El Problema de la Coordinación Ops Manual
|
|
|
|
```
|
|
ANTES DESPUÉS (Vapora)
|
|
───────────────────────────────── ─────────────────────────────────
|
|
Scripts ad-hoc sin coordinación NATS JetStream orchestration
|
|
LLMs sin control de costos Budget enforcement + fallback
|
|
Agentes sin contexto histórico Expertise profiles + recency bias
|
|
Manual handoffs (deploy → monitor) Pipelines automatizados con roles
|
|
Sin visibilidad de ejecuciones Prometheus metrics + SurrealDB
|
|
```
|
|
|
|
#### TypeDialog (prov-gen): El Problema de Configuración Manual
|
|
|
|
```
|
|
ANTES DESPUÉS (TypeDialog)
|
|
───────────────────────────────── ─────────────────────────────────
|
|
Configuración manual error-prone Formularios validados (Nickel)
|
|
CLI ≠ Web ≠ TUI interfaces 1 TOML → 6 backends
|
|
Sin generación de IaC prov-gen → Nickel multi-cloud
|
|
Validación en runtime Validación pre-runtime (contracts)
|
|
```
|
|
|
|
#### Kogral: El Problema del Conocimiento Ops Perdido
|
|
|
|
```
|
|
ANTES DESPUÉS (Kogral)
|
|
───────────────────────────────── ─────────────────────────────────
|
|
Runbooks en Confluence dispersos Git-native, versionados
|
|
Postmortems no buscables Semantic search + MCP
|
|
ADRs de infra perdidos Decision nodes con relaciones
|
|
Incidentes sin contexto histórico Execution nodes con timeline
|
|
Onboarding de SREs semanas Búsqueda semántica días
|
|
```
|
|
|
|
---
|
|
|
|
## 5. Qué los Hace Diferentes (Ops Perspective)
|
|
|
|
### Características Únicas por Proyecto
|
|
|
|
#### Provisioning
|
|
|
|
1. **Nickel IaC**: Único con language tipado lazy-eval como primary (no HCL, no YAML)
|
|
2. **Orquestador híbrido**: Rust (performance) + Nushell (flexibilidad)
|
|
3. **MCP 1000x faster**: Rust-native vs Python implementations
|
|
4. **39K líneas seguridad**: 12 componentes enterprise (JWT, Cedar, MFA, audit, KMS)
|
|
5. **80+ CLI shortcuts**: Developer experience optimizada con guided wizards
|
|
|
|
#### SecretumVault
|
|
|
|
1. **Post-Quantum nativo**: ML-KEM-768, ML-DSA-65 (NIST FIPS 203/204) **listos para producción hoy**
|
|
2. **4 backends crypto**: OpenSSL, **OQS**, AWS-LC, RustCrypto (agilidad criptográfica sin cambiar código)
|
|
3. **4 backends storage**: Filesystem, etcd, SurrealDB, PostgreSQL (flexibilidad deployment)
|
|
4. **Shamir Secret Sharing**: Unsealing distribuido con threshold configurable (3-of-5, 5-of-7, etc)
|
|
5. **Cedar ABAC**: Políticas de autorización AWS-compatible (portable, no vendor lock-in)
|
|
|
|
#### Vapora
|
|
|
|
1. **Learning-based selection**: Scoring `0.3*load + 0.5*expertise + 0.2*confidence` con 3x recency bias (últimos 7 días)
|
|
2. **Budget enforcement**: Hard caps per-role (monthly/weekly) con fallback automático a proveedores más baratos
|
|
3. **NATS JetStream**: Coordinación at-least-once, message persistence, distributed
|
|
4. **12 agent roles**: Architect, Developer, CodeReviewer, Tester, Documenter, Marketer, Presenter, **DevOps**, **Monitor**, **Security**, ProjectManager, DecisionMaker
|
|
5. **Multi-tenant nativo**: SurrealDB scopes + Cedar RBAC, completo aislamiento
|
|
|
|
#### TypeDialog
|
|
|
|
1. **6 backends unificados**: CLI/TUI/Web/AI/Agent/**Prov-gen** desde mismo TOML
|
|
2. **Prov-gen IaC generation**: AWS/GCP/Azure/Hetzner/UpCloud desde formularios tipados
|
|
3. **Nickel contracts**: Validación pre-runtime con type-safe schemas
|
|
4. **3,818 tests**: Cobertura exhaustiva (503% growth), producción-ready
|
|
5. **Multi-idioma nativo**: Fluent bundles para i18n sin reimplementar lógica
|
|
|
|
#### Kogral
|
|
|
|
1. **6 tipos de nodo especializados**: Note, Decision (ADR), Guideline, Pattern, Journal, **Execution** (para ops/incidents)
|
|
2. **Hybrid embeddings**: fastembed local (privacidad) + cloud (producción)
|
|
3. **MCP nativo**: 7 tools para Claude Code, no requiere configuración extra
|
|
4. **Git-native**: Todo markdown versionado, no SaaS externo, full control
|
|
5. **Herencia de guidelines**: Org → Proyecto con prioridad, consistency cross-team
|
|
|
|
---
|
|
|
|
## 6. Sinergias y Reutilización (Ops Workflows)
|
|
|
|
### Flujo de Integración Ops
|
|
|
|
```
|
|
┌──────────────────┐
|
|
│ Kogral │
|
|
│ (Runbooks, ADRs) │
|
|
└────────┬─────────┘
|
|
│ Operational knowledge
|
|
▼
|
|
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐
|
|
│ TypeDialog │───▶│ Vapora │───▶│ Provisioning │
|
|
│ (Wizards) │ │ (Ops Agents) │ │ (IaC Deploy) │
|
|
└──────────────┘ └──────────────────┘ └──────────────┘
|
|
│ │ │
|
|
│ Configuration │ Orchestration │ Infrastructure
|
|
▼ ▼ ▼
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ SECRETUMVAULT │
|
|
│ PKI certs │ Dynamic DB creds │ API keys │ Encryption │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### Componentes Reutilizables (Ops Stack)
|
|
|
|
| Componente | Origen | Reutilizado En |
|
|
| ------------ | -------- | ---------------- |
|
|
| **SurrealDB schemas** | Vapora | Kogral, Provisioning, SecretumVault (optional) |
|
|
| **Nickel contracts** | Provisioning | TypeDialog (prov-gen validation) |
|
|
| **Cedar policies** | Provisioning | SecretumVault, Vapora (multi-tenant) |
|
|
| **Axum API patterns** | Vapora | Provisioning (control-center), SecretumVault (vault API) |
|
|
| **tracing setup** | Vapora | Todos (structured logging) |
|
|
| **Crypto backends** | SecretumVault | Provisioning (KMS integration) |
|
|
| **NATS patterns** | Vapora | Provisioning (future messaging), SecretumVault (HA) |
|
|
|
|
### Escenarios de Sinergia (Ops Workflows)
|
|
|
|
#### Escenario 1: Zero-Touch Provisioning con IA
|
|
|
|
```
|
|
1. TypeDialog (prov-gen): SRE completa wizard web
|
|
- Cloud provider, región, cluster size, services
|
|
- Genera Nickel IaC validado con contracts
|
|
|
|
2. Kogral: MCP proporciona guidelines de deployment
|
|
- "¿Cuál es nuestra política de naming para clusters?"
|
|
- "¿Qué security groups aplicamos por defecto?"
|
|
|
|
3. Provisioning: Orquestador despliega infraestructura
|
|
- Servidores → networking → storage → services
|
|
- Checkpoints por paso, rollback automático si falla
|
|
|
|
4. SecretumVault: Genera certificados y secretos
|
|
- PKI engine: certs etcd, kube-apiserver, kubelet (ML-DSA-65 PQC)
|
|
- Database engine: credenciales dinámicas PostgreSQL (TTL 1h)
|
|
|
|
5. Vapora: Post-deployment automation
|
|
- Monitor Agent: Setup Prometheus alerts, health checks
|
|
- Security Agent: Vulnerability scan, compliance check
|
|
- DevOps Agent: Deploy baseline apps (Ingress, cert-manager)
|
|
|
|
6. Kogral: Documenta deployment
|
|
- Execution node con timestamp, recursos creados, configuración
|
|
- Links a ADRs de arquitectura, runbooks de mantenimiento
|
|
```
|
|
|
|
#### Escenario 2: Incident Response Automatizado
|
|
|
|
```
|
|
1. Vapora Monitor Agent: Detecta anomalía (PostgreSQL down)
|
|
- Alerta vía NATS JetStream
|
|
- Trigger incident response pipeline
|
|
|
|
2. Kogral: Claude Code consulta runbooks vía MCP
|
|
- search("postgresql outage troubleshooting")
|
|
- Retorna 3 postmortems similares con resoluciones
|
|
|
|
3. Vapora DevOps Agent: Ejecuta runbook automatizado
|
|
- Verificar proceso PostgreSQL (systemctl status)
|
|
- Check logs (/var/log/postgresql)
|
|
- Restart si necesario con parámetros ajustados
|
|
|
|
4. SecretumVault: Rota credenciales comprometidas
|
|
- Database engine genera nuevas credenciales dinámicas
|
|
- Actualiza apps conectadas vía secret injection
|
|
|
|
5. Vapora Security Agent: Post-incident audit
|
|
- Review logs de acceso, cambios de configuración
|
|
- Genera reporte de compliance
|
|
|
|
6. Kogral: Documenta postmortem
|
|
- Execution node con root cause, timeline, resolución
|
|
- Links a ADRs de configuración PostgreSQL
|
|
- Action items para prevenir recurrencia
|
|
```
|
|
|
|
#### Escenario 3: Migración Post-Quantum Gradual
|
|
|
|
```
|
|
1. Kogral: Documenta decisión estratégica
|
|
- ADR: "Migración gradual a criptografía post-cuántica"
|
|
- Rationale: Preparación para amenazas cuánticas (harvest now, decrypt later)
|
|
- Timeline: Q1 2026 testing, Q2 2026 staging, Q3 2026 production
|
|
|
|
2. SecretumVault: Migra secretos en staging
|
|
- Backend switch: openssl → oqs (ML-KEM-768)
|
|
- Re-encripta secretos existentes con PQC
|
|
- Dual-stack: classical para legacy, PQC para nuevos servicios
|
|
|
|
3. Provisioning: Actualiza infraestructura PKI
|
|
- Genera nuevos certificados con ML-DSA-65 (PQC signatures)
|
|
- Deploy certificados a servicios (etcd, K8s API, service mesh)
|
|
- Health checks: latency no degradada, handshakes correctos
|
|
|
|
4. Vapora: Orquesta validación integral
|
|
- Security Agent: Verifica algoritmos criptográficos correctos
|
|
- Monitor Agent: Benchmark latency (PQC vs classical)
|
|
- DevOps Agent: Integration tests con certificados PQC
|
|
|
|
5. TypeDialog: Portal self-service para teams
|
|
- Formulario: "Migrar servicio a PQC"
|
|
- Input: service name, migration strategy (gradual/immediate)
|
|
- prov-gen: Genera configuración actualizada (Nickel)
|
|
|
|
6. Kogral: Tracking de migración
|
|
- Execution nodes por servicio migrado
|
|
- Métricas: services migrated, performance impact, issues
|
|
- Lessons learned: qué funcionó, qué mejorar
|
|
```
|
|
|
|
#### Escenario 4: Multi-Cloud Disaster Recovery
|
|
|
|
```
|
|
1. Kogral: Runbook de disaster recovery
|
|
- Procedure: "Failover de AWS a UpCloud en <1h"
|
|
- Prerequisites, pasos detallados, validación
|
|
|
|
2. Vapora: Trigger automático (región AWS down)
|
|
- Monitor Agent detecta outage regional
|
|
- ProjectManager Agent declara disaster recovery mode
|
|
- DevOps Agent ejecuta runbook Kogral
|
|
|
|
3. Provisioning: Despliega réplica en UpCloud
|
|
- Nickel IaC multi-cloud (cambio: provider = "upcloud")
|
|
- Orquestador despliega: servers → networking → K8s → apps
|
|
- Checkpoints: rollback a AWS si UpCloud falla también
|
|
|
|
4. SecretumVault: Sincroniza secretos
|
|
- Replicación etcd cross-region (AWS → UpCloud)
|
|
- PKI engine genera certificados para UpCloud region
|
|
- Database engine: credenciales dinámicas nueva DB
|
|
|
|
5. TypeDialog: Wizard de DNS failover
|
|
- Formulario: Update DNS records (Route53 → NS1)
|
|
- Validación: TTL check, propagation time
|
|
|
|
6. Kogral: Documenta incident
|
|
- Execution node: timeline, decisiones, métricas
|
|
- RTO achieved, RPO achieved, issues encountered
|
|
- Postmortem: qué mejorar en runbook
|
|
```
|
|
|
|
---
|
|
|
|
## 7. Dependencias y Orden de Adopción (Ops Teams)
|
|
|
|
### Grafo de Dependencias
|
|
|
|
```
|
|
SecretumVault (standalone)
|
|
│
|
|
│ provides secrets to
|
|
▼
|
|
Kogral ◄────────────────────────► Provisioning
|
|
(standalone) (puede integrar vault)
|
|
│ │
|
|
│ provides runbooks to │ deploys infrastructure for
|
|
▼ ▼
|
|
Vapora
|
|
(integra todos)
|
|
│
|
|
│ uses wizards from
|
|
▼
|
|
TypeDialog
|
|
(prov-gen → Provisioning)
|
|
```
|
|
|
|
### Orden Recomendado de Adopción (Ops Perspective)
|
|
|
|
| Fase | Proyecto | Razón | Dependencias |
|
|
| ------ | ---------- | ------- | -------------- |
|
|
| 1 | **SecretumVault** | Gestión de secretos crítica, sin dependencias | Ninguna (standalone) |
|
|
| 2 | **Kogral** | Base de conocimiento operativo (runbooks, ADRs) | Ninguna (standalone) |
|
|
| 3 | **Provisioning** | IaC declarativo, puede integrar SecretumVault (opcional) | Opcional: SecretumVault (KMS) |
|
|
| 4 | **TypeDialog** | Wizards de configuración, prov-gen para Provisioning | Opcional: Provisioning (IaC apply) |
|
|
| 5 | **Vapora** | Orquestación de agentes, integra todos los anteriores | Kogral (runbooks), SecretumVault (creds), Provisioning (deploy) |
|
|
|
|
**Nota**: Cada proyecto es funcional de forma independiente, pero las sinergias emergen con adopción progresiva.
|
|
|
|
---
|
|
|
|
## 8. Comparación de Ecosistemas
|
|
|
|
### STRATUMIOPS Ops vs HashiCorp Stack
|
|
|
|
| Componente | STRATUMIOPS | HashiCorp |
|
|
| ------------ | --------- | ----------- |
|
|
| **IaC** | Provisioning (Nickel tipado) | Terraform (HCL sin tipos) |
|
|
| **Secrets** | SecretumVault (Rust, **PQC**) | Vault (Go, sin PQC) |
|
|
| **Orquestación** | Vapora (LLM agents) | Nomad (workload scheduler) |
|
|
| **Service Mesh** | Integra Istio | Consul Connect |
|
|
| **Policy** | Cedar (AWS-compatible) | Sentinel (HCL) |
|
|
| **Lenguaje** | Rust (memory-safe) | Go (garbage collector) |
|
|
| **IA-assisted** | MCP + RAG nativo | Terraform Cloud AI (limitado) |
|
|
| **Licencia** | Apache-2.0 | BSL (Enterprise paywall) |
|
|
| **Ecosystem** | ⚠️ Pequeño | ✅ Enorme |
|
|
|
|
### STRATUMIOPS Ops vs AWS Native Stack
|
|
|
|
| Componente | STRATUMIOPS | AWS Native |
|
|
| ------------ | --------- | ------------ |
|
|
| **IaC** | Provisioning (multi-cloud) | CloudFormation (AWS-only) |
|
|
| **Secrets** | SecretumVault (**PQC**, self-hosted) | Secrets Manager (SaaS, sin PQC) |
|
|
| **Orquestación** | Vapora (self-hosted K8s) | Step Functions (SaaS) |
|
|
| **CI/CD** | Vapora DevOps Agent | CodePipeline + CodeBuild |
|
|
| **Storage** | SurrealDB multi-modelo | DynamoDB + RDS |
|
|
| **Policy** | Cedar (portable) | IAM (AWS-specific) |
|
|
| **Multi-cloud** | ✅ AWS/UpCloud/Local | ❌ AWS-only |
|
|
| **Vendor lock-in** | ✅ Portable | ⚠️ High |
|
|
| **Cost** | Self-hosted (infra cost) | SaaS (per-use billing) |
|
|
|
|
---
|
|
|
|
## 9. Métricas del Portfolio (Ops Perspective)
|
|
|
|
| Métrica | Provisioning | SecretumVault | Vapora | TypeDialog | Kogral | **Total** |
|
|
| --------- | -------------- | --------------- | -------- | ------------ | -------- | ----------- |
|
|
| **Lines of Code** | ~40K | ~11K | ~50K | ~90K | ~15K | **~206K** |
|
|
| **Tests** | 218 | 50+ | 218 | 3,818 | 56 | **4,360+** |
|
|
| **CLI Commands** | 80+ shortcuts | 10+ (svault) | 10+ (vapora) | 6 backends | 13 commands | **100+** |
|
|
| **Storage Backends** | SurrealDB | 4 (FS/etcd/SurrealDB/PostgreSQL) | SurrealDB + NATS | Multi-formato | FS + SurrealDB | **4 backends** |
|
|
| **API Endpoints** | 40+ (control-center) | 20+ (vault API) | 40+ (backend) | 10+ (web) | N/A (MCP) | **100+** |
|
|
| **Policy Engine** | Cedar RBAC/ABAC | Cedar ABAC | Cedar multi-tenant | N/A | N/A | **Cedar AWS-compatible** |
|
|
| **Crypto Backends** | 5 KMS | **4 (OpenSSL, OQS PQC, AWS-LC, RustCrypto)** | N/A | N/A | N/A | **4 backends** |
|
|
| **Multi-cloud** | AWS/UpCloud/Local | N/A | N/A | Sí (prov-gen) | N/A | **3 clouds** |
|
|
|
|
---
|
|
|
|
## 10. Conclusión (Ops/DevOps Teams)
|
|
|
|
Este portfolio representa un ecosistema cohesivo para operaciones modernas:
|
|
|
|
- **Provisioning** es el músculo: despliega infraestructura multi-cloud con IaC tipado y rollback automático
|
|
- **SecretumVault** es la bóveda: protege secretos con criptografía post-cuántica lista para producción
|
|
- **Vapora** es el cerebro: orquesta agentes Ops (DevOps, Monitor, Security) con aprendizaje y control de costos
|
|
- **TypeDialog** es la interfaz: wizards de configuración que generan IaC validado multi-cloud
|
|
- **Kogral** es la memoria: preserva runbooks, postmortems y conocimiento operativo
|
|
|
|
La **diferenciación clave** frente a alternativas (Ops perspective):
|
|
|
|
1. **Full Rust stack**: Performance (10-50x Python), memory-safety, zero-cost abstractions
|
|
2. **Nickel IaC tipado**: Errores de configuración detectados en compilación, no en runtime
|
|
3. **Post-Quantum ready**: SecretumVault con ML-KEM-768/ML-DSA-65 nativos, despliega hoy
|
|
4. **IA-native desde diseño**: MCP + RAG integrados, no retrofitted
|
|
5. **Multi-cloud unificado**: Una configuración Nickel para AWS/UpCloud/Local
|
|
6. **Enterprise security**: Cedar policies, audit logging, RBAC/ABAC, 7 años retención
|
|
|
|
La **sinergia** entre proyectos permite abordar operaciones con:
|
|
|
|
- Infraestructura tipada y validada (Provisioning)
|
|
- Secretos con agilidad criptográfica (SecretumVault)
|
|
- Orquestación inteligente de agentes Ops (Vapora)
|
|
- Wizards de configuración (TypeDialog)
|
|
- Conocimiento operativo preservado (Kogral)
|
|
|
|
**Mejor para**: Equipos DevOps/SRE que valoran type-safety, performance, PQC readiness, multi-cloud, y self-hosted infrastructure sobre ecosistemas maduros con vendor lock-in.
|
|
|
|
---
|
|
|
|
*Documento generado: 2026-01-22*
|
|
*Tipo: info (posicionamiento Ops/DevOps)*
|