1a. Introduction to Kestra
What problem does Kestra solve?
Kestra is an orchestration platform that addresses the key problems associated with building, managing, and scaling complex data pipelines and automated workflows. These challenges often arise from fragmented tools, technical debt, and a lack of a unified platform. Kestra offers a solution by providing a single, modern platform to manage these workflows, simplifying the process for both technical and non-technical teams.
What is Kestra?
Kestra is an open-source orchestrator designed to bring Infrastructure as Code (IaC) best practices to all workflows. It is suitable for those orchestrating mission-critical operations, business processes and data pipelines.
Built with an API-first philosophy, Kestra enables users to define and manage data pipelines through a simple YAML configuration file or with the No-Code Forms. This approach frees users from being tied to a specific client implementation. This allows for greater flexibility and easier integration with various tools and services.
With AI Copilot describe what you want to orchestrate in a natural language, and have Copilot generate declarative YAML code you can refine, version, and deploy.
AI Copilot demo creating a website monitoring Flow.
How Kestra solves the problem
Kestra lets you define workflow logic (conditions, loops, error handling) independently from business logic. This separation keeps orchestration lightweight, modular, and easy to scale.
Individual Tasks created in Kestra have a built-in orchestration functionality: conditional branching logic, retry policies, error handling, concurrency and timeout, worker group assignment, automatic log management and more. Plus the user can benefit from these without the need for custom code.
1. Focus on Business Logic, Not Plumbing
A Flow is a container for tasks and their orchestration logic. With Kestra, flows are written in simple YAML and they are a fundamental unit of orchestration. You can use one of over 900 built-in Plugins or create tasks in any language - Python, Node.js, Go, Rust, SQL, or even a Bash script running in a container. If you want to change a schedule or add a new trigger, you can simply update the flow configuration directly from the embedded Code Editor in the UI.
Plugin list, search and view GitHub.
2. Simple by Default, Complex When Needed
Kestra comes with many built-in Plugins which allows you to automate many tasks without writing code. However if you need to orchestrate something custom - like an ingestion script packaged in Docker or a heavy data transformation in Spark - you can add it to your Flow with minimal effort.
3. One-Stop Shop for Automation
Everything lives in one place:
Built-in Code Editor: Write or edit YAML in the browser with syntax validation, autocompletion, live-updating dependency view and integrated docs.
No-Code Forms: Non-developers can create or adjust flows without having to set up complex development environments.
Version Control: All flows have a revision history. You can roll back or compare changes side by side.
Blueprints: Start with prebuilt examples or create custom blueprints to speed up repetitive tasks.
Decide whether to work in the UI or in your favorite IDE (using Kestra's VS Code or JetBrains extensions).
4. Prebuilt Plugins and Painless Dependency Management
When installing Kestra get immediate access to a broad ecosystem of plugins available out of the box. For custom code, each script Task Runs in its own container or task runner environment, so each of them can have its own set of libraries, eliminating any dependency conflicts.
5. Separation of Orchestration and Business Logic
Where there is a custom script that does some data processing, it can be called from Kestra as-is. This separation allows teams to update their business logic without the orchestrator getting in the way.
6. Bridging Developer and Non-Developer Worlds
Kestra is not just for engineers - business stakeholders can schedule flows, validate data quality, and manage important tasks directly from the UI. There is no need for an IDE or developer support for simple changes; users can write and run code in the built-in Code Editor or even using the No-Code Forms. This makes automation accessible across teams and removes unnecessary bottlenecks.
Unique Advantages of Kestra
API-First Design
Everything in Kestra is driven by an API. Flows, tasks, logs, permissions - anything done in the UI can also be done with an HTTP call. This opens up all sorts of automation possibilities:
Integrate Kestra with your internal applications or CI/CD pipelines
Manage all Kestra resources via Terraform
Build custom UIs
Dynamically generate new workflow executions from anywhere.
Language-Agnostic, YAML-Based Configuration
Users can orchestrate tasks in Python, R, Node.js, Rust, Go or any other language without having to rewrite their code in a specific DSL or add special decorators. Kestra’s YAML config is a lightweight layer that sits on top of your existing scripts or containers.
Scalable and Cloud-Native
Kestra can handle a few daily jobs on a single server or scale to millions of events in a multi-tenant environment. It can be deployed to any major cloud provider and on-prem data centers using standalone binary, Docker containers, or official Helm Charts for Kubernetes deployments.
Clear Visibility into Dependencies
Kestra helps users stay organized with namespaces, labels, subflows, flow triggers, and event-driven orchestration. You can decouple processes but still see how they connect. This clarity makes it easier to diagnose issues and understand how data flows through the business.
No Vendor Lock-In
Since Kestra is open-source and self-hosted, users retain full control over their environment and data. You are not tied to a proprietary system that might change or disappear. Host Kestra anywhere, export all flows with one click, and even contribute new features back to the community.
Common use cases for Kestra
Data Pipelines and ETL/ELT
Orchestrate batch and real-time data processing jobs, load data from multiple sources, run dbt transformations, and scale computation for custom scripts with task runners.
Process Automation
Empower non-engineers to automate routine tasks and complex business-critical processes with human-in-the-loop manual approval, intuitive UI forms and user-facing Apps.
Microservice Coordination
Trigger workflows based on events, integrate with message brokers or REST APIs, monitor long-running processes and call containerized jobs in any language.
Generative AI Workflows
Orchestrate LLM-powered tasks and build custom AI agents. Trigger AI steps in response to any business event and use Kestra’s Pause & Resume functionality to let humans validate AI-generated outputs.
IT Automation
Automate resource requests for infrastructure provisioning across AWS, GCP, or on-prem. Orchestrate build processes with plugins for Terraform, Ansible, or Docker and simplify DevOps processes from a single orchestrator.
Cross-Team Collaboration
Let analytics, finance, marketing, and engineering automate work in the same platform, each at their own comfort level.
Custom Applications
Use Kestra as a backend workflow engine for your internal tools, SaaS products, or customer-facing applications.