Elegir cómo ejecutar Apache Kafka es una de las decisiones de infraestructura más importantes para cualquier organización que construye una plataforma de datos en streaming. Las opciones van desde servicios completamente gestionados como Confluent Cloud hasta despliegues autoalojados en tu propia infraestructura. Cada enfoque conlleva ventajas y desventajas distintas en costo, complejidad operativa, control y escalabilidad. La elección correcta depende de la experiencia de tu equipo con Kafka, tu estrategia de infraestructura, tus requisitos de cumplimiento normativo y cuánta responsabilidad operativa estás dispuesto a asumir. Esta guía analiza ambas opciones y te ayuda a determinar cuál se adapta mejor a tus necesidades.
El streaming gestionado para Kafka se refiere a servicios en la nube que operan clústeres de Apache Kafka en tu nombre. El proveedor se encarga del aprovisionamiento de infraestructura, la gestión de brokers, la aplicación de parches, las actualizaciones, el escalado y la monitorización. Tú interactúas con Kafka a través de APIs y configuración, sin gestionar los servidores, el almacenamiento o la red subyacentes.
Confluent Cloud es la oferta de Kafka gestionado más destacada, desarrollada por los creadores originales de Apache Kafka. Otras opciones incluyen AWS Managed Streaming for Apache Kafka (MSK) y despliegues a través de marketplaces en la nube. La propuesta de valor principal es la misma en todos los servicios gestionados: reducir la carga operativa de ejecutar Kafka para que tu equipo pueda centrarse en construir aplicaciones y procesar datos en lugar de gestionar infraestructura.
Confluent Cloud no es simplemente Kafka alojado en VMs en la nube. Es una reimplementación nativa en la nube construida con una arquitectura de computación elástica y almacenamiento infinito. Los clústeres se despliegan en AWS, Azure y Google Cloud, con facturación disponible a través de los marketplaces de los proveedores de nube. El almacenamiento es ilimitado a nivel de clúster, eliminando los límites de almacenamiento por broker que obligan a un sobreaprovisionamiento en configuraciones autoalojadas.
Los clústeres se autoequilibran: cuando añades capacidad, el rebalanceo de datos ocurre automáticamente sin intervención manual. Las actualizaciones son automáticas y no disruptivas, con actualizaciones progresivas aplicadas por el equipo de ingeniería de Confluent. La aplicación proactiva de parches de vulnerabilidades elimina la carga de mantenimiento de seguridad de tu equipo de operaciones.
Más allá del núcleo de Kafka, Confluent Cloud incluye un ecosistema completamente gestionado. Schema Registry aplica contratos de datos entre productores y consumidores, evitando que la evolución de esquemas rompa las aplicaciones posteriores. ksqlDB proporciona procesamiento de streams basado en SQL directamente sobre topics de Kafka, permitiendo transformaciones y agregaciones sin desplegar un framework de procesamiento separado.
La plataforma ofrece más de 120 conectores de origen y destino completamente gestionados, que cubren bases de datos, servicios en la nube, data warehouses y aplicaciones SaaS. En una configuración autoalojada o gestionada básica, estos conectores requieren un despliegue y gestión separados. Confluent Cloud se encarga de la infraestructura, el escalado y la monitorización de los conectores como parte del servicio.
Kafka autoalojado significa que tú despliegas, configuras y operas los clústeres de Kafka en infraestructura que controlas. Esto puede ser en servidores on-premise en tu propio centro de datos o en VMs en la nube (EC2, GCE, Azure VMs) que tú gestionas. En ambos casos, tu equipo es responsable del dimensionamiento de brokers, el aprovisionamiento de almacenamiento, la configuración de red, la configuración de seguridad, la monitorización, las actualizaciones y la planificación de capacidad.
Un clúster de producción autoalojado típico requiere al menos tres nodos broker, un conjunto de ZooKeeper (o controladores KRaft) e infraestructura separada para Schema Registry, Kafka Connect y monitorización. Un despliegue realista en la nube podría involucrar seis o más instancias más volúmenes de almacenamiento dedicados.
KRaft (Kafka Raft) es el mecanismo de consenso más reciente que reemplaza a ZooKeeper para la gestión de metadatos del clúster. Simplifica la arquitectura al eliminar el conjunto separado de ZooKeeper, reduciendo el número de componentes a desplegar y monitorizar. KRaft también mejora la escalabilidad de particiones y acelera la conmutación por error del controlador.
Para despliegues autoalojados, KRaft reduce la complejidad operativa al eliminar ZooKeeper de la pila tecnológica. Sin embargo, aún gestionas los controladores KRaft como parte de tu despliegue de Kafka. La migración de ZooKeeper a KRaft requiere planificación y pruebas, particularmente para clústeres con grandes cantidades de particiones.
Confluent Cloud utiliza precios basados en consumo. El nivel Basic comienza en $0.0096 por partición-hora más tarifas de transferencia de datos. El nivel Dedicated, diseñado para cargas de trabajo de producción con redes privadas, comienza en $1.50 por hora por Confluent Kafka Unit (CKU). Una carga de trabajo moderada típicamente cuesta alrededor de $200 al mes en Confluent Cloud.
Kafka autoalojado en VMs en la nube implica costos de infraestructura fijos independientemente de la utilización. Un clúster de producción con seis instancias EC2 cuesta aproximadamente $1,100 al mes en computación, más alrededor de $300 al mes por 3TB de almacenamiento EBS. Los costos totales de infraestructura oscilan entre $850 y $1,500 al mes sin contar el tiempo de ingeniería necesario para gestionar el clúster.
El factor de costo crítico para Kafka autoalojado es el personal. Operar un clúster de Kafka en producción requiere experiencia dedicada en planificación de capacidad, ajuste de rendimiento, configuración de seguridad y respuesta ante incidentes. Esta carga operativa a menudo supera los costos de infraestructura y es el principal impulsor de la adopción de servicios gestionados.
| Factor | Confluent Cloud | Kafka autoalojado |
|---|---|---|
| Modelo de precios | Pago por uso (particiones, datos, CKUs) | Costos fijos de infraestructura + personal |
| Infraestructura | Completamente gestionada, elástica | Tú aprovisionas y gestionas los servidores |
| Almacenamiento | Ilimitado, escala a cero | Límites por broker, expansión manual |
| Actualizaciones | Automáticas, actualizaciones progresivas no disruptivas | Manuales, tú aseguras la disponibilidad |
| Rebalanceo | Clústeres autoequilibrados | Rebalanceo manual tras la expansión |
| Conectores | 120+ completamente gestionados | Conectores de la comunidad, autogestionados |
| Schema Registry | Incluido, completamente gestionado | Requiere despliegue separado |
| Procesamiento de streams | ksqlDB y Flink incluidos | Despliegue separado de Flink/Spark |
| Monitorización | Métricas preagregadas incluidas | Configuración personalizada (Prometheus, Grafana) |
| Seguridad | Cifrado, RBAC, SSO, PrivateLink | SSL/TLS, SASL configurables, tu responsabilidad |
| Multi-cloud | AWS, Azure, GCP de forma nativa | Requiere clústeres separados por nube |
| Control | Limitado a las capacidades de la plataforma | Control total sobre la configuración |
Confluent Cloud elimina la mayoría de las tareas operativas. El aprovisionamiento de brokers, el escalado, la aplicación de parches, las actualizaciones y la monitorización son gestionados por la plataforma. Tu equipo configura topics, gestiona políticas de acceso y construye aplicaciones.
Kafka autoalojado requiere que tu equipo se encargue de cada aspecto operativo: dimensionamiento de brokers basado en pruebas de rendimiento, planificación de capacidad de almacenamiento, aplicación de parches de seguridad, actualizaciones de versiones (con gestión de disponibilidad durante el proceso), rebalanceo de particiones tras la expansión y configuración de monitorización continua. Cada una de estas tareas requiere experiencia específica en Kafka que muchas organizaciones tienen dificultades para contratar y retener.
Confluent Cloud escala de forma elástica. Aumentas la capacidad ajustando los CKUs, y la plataforma se encarga del rebalanceo automáticamente. El almacenamiento escala sin límite. El modelo basado en consumo significa que solo pagas por lo que usas, incluyendo la posibilidad de escalar a cero durante periodos de inactividad.
Kafka autoalojado escala añadiendo brokers, lo que requiere pruebas de rendimiento para seleccionar los tipos de instancia adecuados, seguido de un rebalanceo manual de particiones en el clúster expandido. El almacenamiento está limitado por broker, por lo que los requisitos de retención pueden obligarte a añadir brokers incluso cuando la capacidad de computación es suficiente. Reducir la escala es operativamente complejo y rara vez se hace en la práctica.
Confluent Cloud proporciona cifrado en reposo y en tránsito, control de acceso basado en roles (RBAC), integración de inicio de sesión único (SSO) y PrivateLink para aislamiento de red. Los parches de seguridad y las correcciones de vulnerabilidades son aplicados de forma proactiva por el equipo de Confluent.
Kafka autoalojado ofrece control total sobre la configuración de seguridad: SSL/TLS, mecanismos de autenticación SASL y aislamiento de red a través de tu propio diseño de VPC. Este control es necesario para organizaciones con mandatos de cumplimiento específicos que requieren despliegue on-premise o configuraciones de cifrado personalizadas. La contrapartida es que cada medida de seguridad debe ser implementada, probada y mantenida por tu equipo.
Confluent Cloud incluye el ecosistema completo de Confluent: Schema Registry, ksqlDB, conectores gestionados y procesamiento de streams basado en Flink. Estos componentes están integrados y gestionados como una única plataforma.
Kafka autoalojado proporciona la funcionalidad básica de Kafka. Schema Registry, Kafka Connect y los frameworks de procesamiento de streams deben desplegarse y gestionarse como componentes de infraestructura separados. Los conectores desarrollados por la comunidad están disponibles pero requieren autogestión, incluyendo actualizaciones de versiones, escalado y resolución de problemas.
Confluent Cloud es la opción más sólida cuando tu equipo tiene experiencia operativa limitada en Kafka, cuando la velocidad para llegar a producción importa, o cuando necesitas el ecosistema completo (Schema Registry, conectores, procesamiento de streams) sin gestionar infraestructura adicional. También encaja bien para estrategias multi-cloud, ya que se despliega de forma nativa en AWS, Azure y Google Cloud desde una única plataforma.
Las organizaciones que desean precios basados en consumo con escalado elástico y prefieren dedicar el tiempo de ingeniería al desarrollo de aplicaciones en lugar de la gestión de infraestructura se beneficiarán más de Confluent Cloud.
Kafka autoalojado tiene sentido cuando necesitas control total sobre cada parámetro de configuración, cuando los mandatos de cumplimiento requieren un despliegue on-premise, o cuando tu equipo tiene una profunda experiencia en Kafka y la capacidad de gestionar clústeres en producción. También puede ser más rentable para cargas de trabajo de muy alto rendimiento donde los costos fijos de infraestructura son menores que los precios basados en consumo a gran escala.
Las organizaciones con requisitos estrictos de soberanía de datos que impiden el despliegue en la nube, o aquellas con configuraciones de hardware o red especializadas que los servicios gestionados no pueden acomodar, deberían considerar Kafka autoalojado.
Muchas organizaciones adoptan un modelo híbrido. Los entornos de desarrollo y staging se ejecutan en Confluent Cloud por velocidad y simplicidad, mientras que las cargas de trabajo de producción con requisitos específicos de cumplimiento o latencia se ejecutan en clústeres autoalojados. Algunos equipos utilizan Confluent Platform (la distribución empresarial de Kafka para despliegue autogestionado) junto con Confluent Cloud, manteniendo herramientas consistentes en entornos tanto gestionados como autoalojados.
Otro patrón común es ejecutar Kafka autoalojado on-premise por razones de soberanía de datos, mientras se replica un subconjunto de topics a Confluent Cloud para analítica y distribución entre regiones. MirrorMaker 2 de Kafka y Cluster Linking de Confluent permiten este tipo de replicación híbrida.
Mimacom es partner certificado de Confluent y Apache Kafka con amplia experiencia en arquitecturas de streaming tanto gestionadas como autoalojadas. Mimacom ayuda a las organizaciones a evaluar sus requisitos, elegir el modelo de despliegue adecuado e implementar plataformas Kafka de nivel productivo. Los servicios incluyen revisiones de arquitectura, diseño y despliegue de clústeres Kafka, migración de autoalojado a Confluent Cloud (o a la inversa), ajuste de rendimiento y operaciones gestionadas continuas.
Deja que nuestros expertos en streaming te guíen a través de las ventajas y desventajas arquitectónicas y operativas para que puedas tomar la decisión correcta para tu organización.
Ponte en contacto | Explora nuestros servicios de consultoría Confluent
No. Confluent Cloud es una reimplementación nativa en la nube de Kafka, no una versión alojada de Kafka open-source en máquinas virtuales. Utiliza una arquitectura de computación elástica y almacenamiento infinito que es fundamentalmente diferente de los despliegues tradicionales de brokers de Kafka. Funcionalidades como clústeres autoequilibrados, actualizaciones automáticas no disruptivas y precios con escala a cero no están disponibles en Kafka estándar. La plataforma también incluye Schema Registry, ksqlDB, procesamiento de streams basado en Flink y más de 120 conectores completamente gestionados como servicios integrados.
Un clúster de Kafka de producción autoalojado en VMs en la nube típicamente cuesta entre $850 y $1,500 al mes solo en infraestructura (instancias de computación más almacenamiento). Esto no incluye los costos de personal para gestionar el clúster, que a menudo superan el gasto en infraestructura. Una carga de trabajo moderada en Confluent Cloud cuesta aproximadamente $200 al mes con precios basados en consumo. Sin embargo, con niveles de rendimiento muy altos, la infraestructura autoalojada puede volverse más rentable por gigabyte procesado, ya que los costos fijos no escalan linealmente con el uso de la misma manera que los precios basados en consumo.
KRaft (Kafka Raft) es el mecanismo de consenso que reemplaza a Apache ZooKeeper para la gestión de metadatos del clúster de Kafka. Elimina la necesidad de un conjunto separado de ZooKeeper, reduciendo el número de componentes a desplegar y monitorizar. KRaft mejora la escalabilidad de particiones y acelera la conmutación por error del controlador. Para nuevos despliegues autoalojados, KRaft es el enfoque recomendado. Para clústeres existentes que ejecutan ZooKeeper, la migración a KRaft requiere una planificación y pruebas cuidadosas, particularmente para clústeres con grandes cantidades de particiones. Confluent Cloud abstrae esto por completo, ya que el mecanismo de consenso subyacente es gestionado por la plataforma.