Plataforma de orquestación declarativa basada en eventos
Haga clic en la imagen para saber cómo empezar a utilizar Kestra en 4 minutos.
? ¿Qué es Kestra?
Kestra es una plataforma de orquestación basada en eventos de código abierto que facilita los flujos de trabajo programados y basados en eventos . Al incorporar las mejores prácticas de infraestructura como código a la orquestación de datos, procesos y microservicios, puede crear flujos de trabajo confiables directamente desde la interfaz de usuario en solo unas pocas líneas de YAML.
Características clave:
- Todo como código y desde la interfaz de usuario: mantenga los flujos de trabajo como código con una integración de control de versiones de Git , incluso cuando los cree desde la interfaz de usuario.
- Flujos de trabajo programados y basados en eventos: automatice los flujos de trabajo programados y basados en eventos en tiempo real a través de una definición
trigger
simple. - Interfaz declarativa YAML: defina flujos de trabajo utilizando una configuración simple en el editor de código integrado .
- Ecosistema enriquecido de complementos: cientos de complementos integrados para extraer datos de cualquier base de datos, almacenamiento en la nube o API, y ejecutar scripts en cualquier idioma .
- Interfaz de usuario intuitiva y editor de código: cree y visualice flujos de trabajo directamente desde la interfaz de usuario con resaltado de sintaxis, autocompletado y validación de sintaxis en tiempo real.
- Escalable: diseñado para manejar millones de flujos de trabajo, con alta disponibilidad y tolerancia a fallos.
- Compatible con control de versiones: escriba sus flujos de trabajo desde el editor de código integrado y envíelos a su rama Git preferida directamente desde Kestra, lo que permite las mejores prácticas con canales de CI/CD y sistemas de control de versiones.
- Estructura y resiliencia : controle el caos y brinde resiliencia a sus flujos de trabajo con espacios de nombres , etiquetas , subflujos , reintentos , tiempo de espera , manejo de errores , entradas , salidas que generan artefactos en la interfaz de usuario, variables , bifurcaciones condicionales , programación avanzada , activadores de eventos , reposiciones , dinámicas. tareas , tareas secuenciales y paralelas , y omita tareas o activadores cuando sea necesario estableciendo el indicador
disabled
en true
.
? La definición de YAML se ajusta automáticamente cada vez que realiza cambios en un flujo de trabajo desde la interfaz de usuario o mediante una llamada API. Por lo tanto, la lógica de orquestación siempre se administra de forma declarativa en el código , incluso si modifica sus flujos de trabajo de otras maneras (UI, CI/CD, Terraform, llamadas API).
Inicio rápido
Pruebe la demostración en vivo
Pruebe Kestra con nuestra demostración en vivo . ¡No requiere instalación!
Comience localmente en 5 minutos
Inicie Kestra en Docker
Asegúrese de que Docker se esté ejecutando. Luego, inicia Kestra con un solo comando:
docker run --pull=always --rm -it -p 8080:8080 --user=root
-v /var/run/docker.sock:/var/run/docker.sock
-v /tmp:/tmp kestra/kestra:latest server local
Consulte nuestra Guía de instalación para conocer otras opciones de implementación (Docker Compose, Podman, Kubernetes, AWS, GCP, Azure y más).
Acceda a la interfaz de usuario de Kestra en http://localhost:8080 y comience a crear su primer flujo.
Tu primer flujo de Hola Mundo
Cree un nuevo flujo con el siguiente contenido:
id : hello_world
namespace : dev
tasks :
- id : say_hello
type : io.kestra.plugin.core.log.Log
message : " Hello, World! "
Ejecute el flujo y vea el resultado en la interfaz de usuario.
? Ecosistema de complementos
La funcionalidad de Kestra se amplía a través de un rico ecosistema de complementos que le permiten ejecutar tareas en cualquier lugar y codificar en cualquier idioma, incluidos Python, Node.js, R, Go, Shell y más. Así es como los complementos de Kestra mejoran sus flujos de trabajo:
Ejecutar en cualquier lugar:
- Ejecución local o remota: ejecute tareas en su máquina local, servidores remotos a través de SSH o escale horizontalmente a contenedores sin servidor utilizando Task Runners.
- Compatibilidad con Docker y Kubernetes: ejecute sin problemas contenedores Docker dentro de sus flujos de trabajo o inicie trabajos de Kubernetes para manejar cargas de trabajo con uso intensivo de computación.
Código en cualquier idioma:
- Soporte de secuencias de comandos: escriba secuencias de comandos en su lenguaje de programación preferido. Kestra es compatible con Python, Node.js, R, Go, Shell y otros, lo que le permite integrar bases de código y patrones de implementación existentes.
- Automatización flexible: ejecute comandos de shell, ejecute consultas SQL en varias bases de datos y realice solicitudes HTTP para interactuar con las API.
Procesamiento basado en eventos y en tiempo real:
- Activadores en tiempo real: reaccione a eventos de sistemas externos en tiempo real, como llegadas de archivos, nuevos mensajes en buses de mensajes (Kafka, Redis, Pulsar, AMQP, MQTT, NATS, AWS SQS, Google Pub/Sub, Azure Event Hubs ), y más.
- Eventos personalizados: defina eventos personalizados para activar flujos basados en condiciones específicas o señales externas, lo que permite flujos de trabajo altamente receptivos.
Integraciones en la nube:
- AWS, Google Cloud, Azure: integre con una variedad de servicios en la nube para interactuar con soluciones de almacenamiento, sistemas de mensajería, recursos informáticos y más.
- Procesamiento de Big Data: ejecute tareas de procesamiento de Big Data utilizando herramientas como Apache Spark o interactúe con plataformas de análisis como Google BigQuery.
Monitoreo y Notificaciones:
- Manténgase informado: envíe mensajes a canales de Slack, notificaciones por correo electrónico o active alertas en PagerDuty para mantener a su equipo actualizado sobre los estados del flujo de trabajo.
El ecosistema de complementos de Kestra se expande continuamente, lo que le permite adaptar la plataforma a sus necesidades específicas. Ya sea que esté organizando canales de datos complejos, automatizando scripts en múltiples entornos o integrándose con servicios en la nube, es probable que exista un complemento que lo ayude. Y si no, siempre puedes crear tus propios complementos para ampliar las capacidades de Kestra.
? Nota: Esto es sólo un vistazo de lo que pueden hacer los complementos de Kestra. Explore la lista completa en nuestra página de complementos.
Conceptos clave
- Flujos: la unidad central de Kestra, que representa un flujo de trabajo compuesto de tareas.
- Tareas: unidades de trabajo individuales, como ejecutar un script, mover datos o llamar a una API.
- Espacios de nombres: agrupación lógica de flujos para organización y aislamiento.
- Triggers: cronograma o eventos que inician la ejecución de flujos.
- Entradas y variables: parámetros y datos dinámicos pasados a flujos y tareas.
? Cree flujos de trabajo visualmente
Kestra proporciona una interfaz de usuario intuitiva que le permite crear y visualizar interactivamente sus flujos de trabajo:
- Interfaz de arrastrar y soltar: agregue y reorganice tareas desde el Editor de topología.
- Validación en tiempo real: retroalimentación instantánea sobre la sintaxis y estructura de su flujo de trabajo para detectar errores tempranamente.
- Autocompletar: sugerencias inteligentes a medida que escribe para escribir código de flujo rápidamente y sin errores de sintaxis.
- Vista de topología en vivo: vea su flujo de trabajo como un gráfico acíclico dirigido (DAG) que se actualiza en tiempo real.
? Extensible y fácil de desarrollar
Desarrollo de complementos
Cree complementos personalizados para ampliar las capacidades de Kestra. Consulte nuestra Guía para desarrolladores de complementos para comenzar.
Infraestructura como código
- Control de versiones: almacena tus flujos en repositorios de Git.
- Integración CI/CD: automatice la implementación de flujos utilizando canales de CI/CD.
- Proveedor Terraform: gestiona los recursos de Kestra con el proveedor oficial de Terraform.
Únete a la comunidad
Manténgase conectado y obtenga soporte:
- Slack: únete a nuestra comunidad de Slack para hacer preguntas y compartir ideas.
- LinkedIn: síganos en LinkedIn; junto con Slack y GitHub, este es nuestro canal principal para compartir actualizaciones y anuncios de productos.
- YouTube: Suscríbase a nuestro canal de YouTube para ver contenido de videos educativos. ¡Publicamos nuevos vídeos cada semana!
- X: Síguenos en X si todavía estás activo allí.
? Contribuyendo
¡Agradecemos contribuciones de todo tipo!
- Informar problemas: ¿Encontró un error o tiene una solicitud de función? Abra una incidencia en GitHub.
- Código de contribución: consulte nuestra Guía del colaborador para conocer las pautas iniciales y explore nuestros buenos primeros números para tareas fáciles de abordar para principiantes.
- Desarrollar complementos: cree y comparta complementos utilizando nuestra Guía para desarrolladores de complementos.
- Contribuya a nuestros documentos: contribuya con ediciones o actualizaciones para mantener nuestra documentación de primera categoría.
? Licencia
Kestra tiene la licencia Apache 2.0 © Kestra Technologies.
️ Manténgase actualizado
¡Dale una estrella a nuestro repositorio para mantenerte informado sobre las últimas funciones y actualizaciones!
Gracias por considerar a Kestra para sus necesidades de orquestación de flujo de trabajo. ¡Estamos ansiosos por ver qué construirás!