diff --git a/src/components/layout/Footer.astro b/src/components/layout/Footer.astro index e35776ae4f..2f9646853b 100644 --- a/src/components/layout/Footer.astro +++ b/src/components/layout/Footer.astro @@ -47,6 +47,12 @@ const FOOTER_SECTIONS: Section[] = [ { text: "n8n vs Kestra", href: "/vs/n8n" }, { text: "Control-M vs Kestra", href: "/vs/control-m" }, { text: "Rundeck vs Kestra", href: "/vs/rundeck" }, + { text: "GitLab CI/CD vs Kestra", href: "/vs/gitlab" }, + { text: "Workato vs Kestra", href: "/vs/workato" }, + { text: "Zapier vs Kestra", href: "/vs/zapier" }, + { text: "Make vs Kestra", href: "/vs/make" }, + { text: "Tray.ai vs Kestra", href: "/vs/tray-ai" }, + { text: "Microsoft Fabric vs Kestra", href: "/vs/microsoft-fabric" }, ], }, { diff --git a/src/components/versus/assets/gitlab-img.svg b/src/components/versus/assets/gitlab-img.svg new file mode 100644 index 0000000000..1ec43cce1f --- /dev/null +++ b/src/components/versus/assets/gitlab-img.svg @@ -0,0 +1,77 @@ + + + + + + + + + +Commit + + + + + + + + +Build + + + + + + + +Test + + + + + + +Deploy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/versus/assets/make-img.svg b/src/components/versus/assets/make-img.svg new file mode 100644 index 0000000000..80f92dff02 --- /dev/null +++ b/src/components/versus/assets/make-img.svg @@ -0,0 +1,83 @@ + + + + + + + + + + +Trigger + + + + + + + + + + + +Route + + + + + + + + + +Module + + + + + + +Action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/versus/assets/microsoft-fabric-img.svg b/src/components/versus/assets/microsoft-fabric-img.svg new file mode 100644 index 0000000000..595c5a6099 --- /dev/null +++ b/src/components/versus/assets/microsoft-fabric-img.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + +Ingest + + + + + + + + +Transform + + + + + + + + + + + +Serve + + + + + + + + + +Report + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/versus/assets/simplyask-img.svg b/src/components/versus/assets/simplyask-img.svg new file mode 100644 index 0000000000..deec9a63e7 --- /dev/null +++ b/src/components/versus/assets/simplyask-img.svg @@ -0,0 +1,81 @@ + + + + + + + +Trigger + + + + + + +Route + + + + + + + + + + + + + + +Automate + + + + + + + +Resolve + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/versus/assets/tray-ai-img.svg b/src/components/versus/assets/tray-ai-img.svg new file mode 100644 index 0000000000..5a7856d6cb --- /dev/null +++ b/src/components/versus/assets/tray-ai-img.svg @@ -0,0 +1,78 @@ + + + + + + + +Trigger + + + + + + + +Connect + + + + + + + + + + + +Agent + + + + + + +Action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/versus/assets/workato-img.svg b/src/components/versus/assets/workato-img.svg new file mode 100644 index 0000000000..f9d6ec5f98 --- /dev/null +++ b/src/components/versus/assets/workato-img.svg @@ -0,0 +1,78 @@ + + + + + + + +Trigger + + + + + + + + + + +Recipe + + + + + + +Action + + + + + + + + +Notify + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/versus/assets/zapier-img.svg b/src/components/versus/assets/zapier-img.svg new file mode 100644 index 0000000000..c4f31dced0 --- /dev/null +++ b/src/components/versus/assets/zapier-img.svg @@ -0,0 +1,78 @@ + + + + + + + + + + +Trigger + + + + + + + +Filter + + + + + + +Action + + + + + + + + +Notify + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/contents/vs/gitlab.yaml b/src/contents/vs/gitlab.yaml new file mode 100644 index 0000000000..cdfad6d313 --- /dev/null +++ b/src/contents/vs/gitlab.yaml @@ -0,0 +1,242 @@ +title: "Kestra vs. GitLab CI/CD: Universal Orchestration vs. Software Delivery Pipelines" +description: "Compare Kestra vs GitLab CI/CD: Universal workflow orchestration for data, infrastructure, and operations vs. developer-focused pipelines tied to your code repository. See features, use cases, and deployment options." +competitorName: GitLab CI/CD +category: CI/CD and Workflow Automation +shortDescription: "Repository-scoped CI/CD pipelines vs. universal workflow orchestration for data, infrastructure, and operations." + +brandColor: + color: "#FC6D26" + gradient: "linear-gradient(90deg, #FCA326, #E24329, #FC6D26)" + +intro: + title: "Kestra vs. GitLab CI/CD: Universal Orchestration vs. Software Delivery Pipelines" + description: "GitLab CI/CD automates code builds, tests, and deployments inside the GitLab platform. Kestra is a workflow orchestration platform for teams that need more than software delivery: data pipelines, infrastructure automation, and business processes that run on schedules, events, or API triggers, independently of any code repository." + +philosophy: + mainTitle: Two Tools, Two Definitions of "Workflow" + kestra: + title: "Universal Orchestration: Any Workflow, Any Team" + description: "Declarative YAML orchestration platform for engineering and data teams. Define data pipelines, infrastructure automation, and business workflows that trigger on any event, in any language, self-hosted or on Kestra Cloud, with GitOps and full audit trails." + subCardText: '"How do I orchestrate workflows across data, infrastructure, and operations, not just code deployments?"' + competitor: + title: Software Delivery Pipelines Inside GitLab + description: "CI/CD automation tightly integrated with GitLab source control. Define pipeline stages in .gitlab-ci.yml to build, test, and deploy code. Best for teams already using GitLab who need developer-focused pipeline automation tied to repository events." + shadowColor: "#FCEADC" + subCardBg: "var(--ks-background-orange-light)" + subCardText: '"How do I automate building, testing, and deploying my code from my GitLab repo?"' + +businessValue: + mainTitle: "CI/CD Automates Code Delivery.
Orchestration Runs Your Business." + kestra: + title: Production-Grade Workflow Orchestration + list: + - Automate data pipelines, infrastructure provisioning, and business processes in one platform + - Self-hosted or cloud, with full data residency control + - GitOps-native: version control, CI/CD, and Terraform for all workflows + - RBAC, audit logs, and multi-tenancy for enterprise compliance + - Handles 100,000+ concurrent tasks with no per-minute compute billing + competitor: + title: Software Delivery Automation + list: + - Automates build, test, and deploy pipelines within GitLab repositories + - Shared runners on GitLab.com (400 compute minutes/month on free tier) + - Premium plan at $29/user/month unlocks 10,000 compute minutes/month + - Pipelines scope to git events: commits, merges, tags, or schedules + - Self-hosted GitLab requires significant infrastructure to operate + shadowColor: "#FCEADC" + bulletColor: "#FC6D26" + footerText: "For software engineering teams automating code builds, tests, and deployments within GitLab, GitLab CI/CD is the natural fit. When workflows span data transformation, infrastructure automation, or business operations beyond your git repository, Kestra is built for that scope." + +setupSpeed: + title: Time to First Workflow + subtitle: "GitLab CI/CD requires a repository and a configured runner before any pipeline runs. Shared runners simplify cloud setup, but pipelines are always repository-scoped. Self-hosted GitLab adds a full platform installation. Kestra runs standalone in two commands." + kestra: + title: + one: "~5" + two: Minutes + description: "Download the Docker Compose file, spin it up, and you're ready (database and config included). Open the UI, pick a Blueprint, run it. No repository required, no cloud account, no per-minute billing." + command: | + curl -o docker-compose.yml \ + https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml + docker compose up + + # Open localhost:8080 + # Pick a Blueprint, run it. Done. + lang: sh + competitor: + title: + one: "~20" + two: Minutes + description: "Create a GitLab account, create a repository, add a .gitlab-ci.yml file, and configure runners (shared on GitLab.com, or register your own). Self-hosted GitLab requires a full platform installation before any pipeline can run." + shadowColor: "#FCEADC" + command: | + # Create a GitLab repo, then add .gitlab-ci.yml: + + stages: + - build + - test + - deploy + + build_job: + stage: build + script: + - echo "Build step here" + + # Push to GitLab to trigger the pipeline + lang: yaml + +easeOfUse: + title: General-Purpose Orchestration vs. Repository-Scoped Pipelines + kestra: + title: "Kestra: Readable by Your Whole Team" + description: "YAML is readable on day 1. Our docs are embedded in the UI for easy reference, the AI Copilot writes workflows for you, or start with our library of Blueprints. No git repository required to get started." + code: | + id: daily_report + namespace: analytics + + triggers: + - id: daily + type: io.kestra.plugin.core.trigger.Schedule + cron: "0 8 * * *" + + tasks: + - id: run_dbt + type: io.kestra.plugin.dbt.cli.DbtCLI + commands: + - dbt run --select reporting + + - id: notify + type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook + url: "{{ secret('SLACK_WEBHOOK') }}" + messageText: "Daily report ready" + lang: yaml + competitor: + title: "GitLab CI/CD: Pipeline Stages Tied to Your Repository" + description: "Pipelines are defined in .gitlab-ci.yml at the repository root. Stages and jobs map to software delivery steps. Scheduled triggers work for recurring tasks, but the pipeline always lives inside a repository and depends on runner availability." + shadowColor: "#FCEADC" + code: | + # .gitlab-ci.yml + + stages: + - transform + - notify + + run_dbt: + stage: transform + image: python:3.11 + script: + - pip install dbt-core dbt-postgres + - dbt run --select reporting + rules: + - if: '$CI_PIPELINE_SOURCE == "schedule"' + + slack_notify: + stage: notify + script: + - | + curl -X POST "$SLACK_WEBHOOK" \ + -H 'Content-type: application/json' \ + --data '{"text":"Daily report ready"}' + rules: + - if: '$CI_PIPELINE_SOURCE == "schedule"' + when: on_success + lang: yaml + +visualPreview: + mainTitle: One Platform for Your Entire Technology Stack + kestra: + description: "Orchestrate data pipelines, infrastructure provisioning, business processes, and event-driven automations in one platform. Trigger on any event, not just git pushes. Self-host with full control or use Kestra Cloud." + competitor: + description: "Automate code builds, tests, and deployments within GitLab repositories. Pipelines run on git events or schedules and draw from your plan's compute minute quota. Not designed for data pipelines or workflows that live outside the software delivery context." + shadowColor: "#FCEADC" + +featureGrid: + title: Kestra vs GitLab CI/CD at a Glance + tableData: + - feature: Primary use case + kestra: Universal workflow orchestration + competitor: Software build, test, and deployment pipelines + - feature: Workflow definition + kestra: Declarative YAML (standalone) + competitor: .gitlab-ci.yml (tied to a repository) + - feature: Trigger model + kestra: "Schedules, webhooks, file arrivals, message queues, database changes" + competitor: "Git events (push, merge, tag), schedules, manual triggers" + - feature: Languages supported + kestra: "Agnostic (Python, R, Bash, Node.js, SQL & more)" + competitor: "Any language via Docker images; YAML for pipeline definition" + - feature: Data pipeline support + kestra: "✓ Native support (ETL, dbt, Spark, Airbyte)" + competitor: "Possible via jobs, but no native plugins or DAG visualization" + - feature: Infrastructure automation + kestra: "✓ Native support" + competitor: "Deployment jobs only; no Terraform or provisioning primitives" + - feature: Self-service for non-engineers + kestra: "✓ Kestra Apps" + competitor: Not designed for non-engineering users + - feature: Multi-tenancy and RBAC + kestra: "✓ Enterprise namespace isolation" + competitor: "Group and project roles; advanced compliance on Ultimate plan" + - feature: Compute model + kestra: Unlimited concurrent tasks (no per-minute billing) + competitor: "Compute minutes quota (400/mo free, 10,000/mo Premium)" + - feature: Open source + kestra: "✓ Open source (Apache 2.0)" + competitor: "Open core (Community Edition open source; enterprise features require paid plan)" + +testimonials: + - quote: "Kestra made the data mesh possible. We produce far more data now, and deliver it nearly 10 times faster." + author: "Julien Henrion, CDO @ Leroy Merlin" + kpis: + - value: "+900%" + name: In data production + - value: "+250" + name: Active users + - value: "+5000" + name: Workflows created + storyLink: /use-cases/stories/14-datamesh-at-scale-increased-its-data-production-by-900percent + +platformStrengths: + title: Kestra Is Built for Workflows Beyond Code Delivery + features: + - title: Any trigger, not just git events + description: "GitLab CI/CD is wired to repository events. Kestra triggers on schedules, webhooks, file arrivals on S3 or SFTP, Kafka messages, database row changes, and API polls. When your business processes depend on data arriving from an external system rather than a git push, Kestra handles it natively without requiring a dummy repository to host the workflow." + - title: Data pipelines as first-class workflows + description: "Kestra ships native plugins for dbt, Airbyte, Spark, Snowflake, BigQuery, Databricks, and 1,200+ more. Data engineers define ETL pipelines in the same YAML they use for everything else, with DAG visualization and retry semantics for data-specific failures. GitLab CI/CD can run a dbt job as a pipeline step, but each run draws from your plan quota and there is no native observability for data workloads." + - title: No compute-minute ceiling + description: "Kestra runs on your infrastructure and handles 100,000+ concurrent tasks with no per-minute billing. GitLab CI/CD caps free users at 400 compute minutes/month and Premium users at 10,000. For data teams running hundreds of scheduled pipelines daily, those ceilings fill up fast." + +decisionGuide: + mainTitle: The Right Tool for the Right Job + kestra: + title: Choose Kestra When + list: + - "Your workflows span data transformation, infrastructure provisioning, or business operations beyond code deployments." + - "Triggers come from file arrivals, message queues, database events, or webhooks rather than git commits." + - "Your team runs more scheduled jobs than a compute-minute quota can sustain." + - "Non-engineers need to trigger or monitor workflows through a no-code interface." + - "You want a workflow platform independent of your source control provider." + competitor: + title: Choose GitLab CI/CD When + list: + - "Your team uses GitLab for source control and needs tightly integrated build, test, and deploy pipelines." + - "All your automation starts from repository events: commits, merge requests, or tags." + - "You want security scanning, SAST, and compliance pipelines built into your delivery workflow." + - "Your pipeline compute needs fit within your plan's minute quota." + - "You want a single platform for code hosting, CI/CD, and DevSecOps without adding another system." + shadowColor: "#FCEADC" + bulletColor: "#FC6D26" + +commonQuestions: + - question: Can Kestra replace GitLab CI/CD for software deployments? + answer: "Kestra handles scheduled and event-driven automation well, but GitLab CI/CD is optimized for software delivery: it integrates with merge requests, runs SAST and dependency scanning, enforces compliance pipelines, and manages deployment environments with native rollback. If you are building and deploying code from a GitLab repository, GitLab CI/CD is the right tool for that. Kestra fits the workflows that run after code is deployed: data pipelines, infrastructure reconciliation, and business process automation." + - question: Can I run data pipelines in GitLab CI/CD? + answer: "Yes, with limits. You can run dbt, Python scripts, or SQL jobs as GitLab pipeline steps using Docker images and scheduled triggers. But GitLab CI/CD has no native data plugins, no DAG visualization, no built-in retry semantics for data-specific failures, and compute-minute quotas that constrain how many jobs you can run. For teams running a handful of data jobs tied to code deployments, GitLab CI/CD works. For teams with dedicated data pipelines running independently of code releases, Kestra is purpose-built for that scope." + - question: How does Kestra's trigger model differ from GitLab CI/CD? + answer: "GitLab CI/CD triggers on repository events: pushes, merges, tags, and schedules configured per project. Kestra triggers on anything: schedules, HTTP webhooks, file arrivals on cloud storage or SFTP, Kafka and Pulsar message queue events, database row changes, and API polling. For workflows that respond to business events rather than code changes, Kestra's trigger model is broader and does not require a repository to host the workflow definition." + - question: How do I run automation that does not belong to a specific repository? + answer: "In GitLab CI/CD, every pipeline lives inside a repository. Cross-project automation requires configuring pipeline triggers across repos, which adds coordination overhead. In Kestra, workflows are standalone: defined in a namespace, stored in the Kestra backend, and deployable via the API, Terraform, or Git sync. A workflow that reconciles cloud infrastructure, syncs a data warehouse, and notifies Slack does not need to live next to application code." + - question: Does Kestra support GitOps the way GitLab does? + answer: "Yes. Kestra has native Git sync, a Terraform provider, and a CI/CD-friendly API for deploying flows from a pipeline. You can store all Kestra flows in a Git repository and push updates through a GitLab CI/CD pipeline if that is your existing deployment pattern. GitLab CI/CD handles the code delivery; Kestra handles the data pipelines, infrastructure automation, and operational workflows that run alongside or after it." + - question: What does migrating scheduled GitLab CI/CD jobs to Kestra look like? + answer: "Start by identifying your scheduled .gitlab-ci.yml pipelines that run data or infrastructure jobs independently of code changes. Re-express each job as a Kestra Flow: move scripts into Script tasks or call the appropriate plugin (dbt, SQL, HTTP, shell), configure the Schedule trigger, and set up retry and error-handling logic. Kestra's Blueprints library covers common patterns to accelerate the conversion. Most teams migrate incrementally, keeping GitLab CI/CD for code delivery while moving data and operational workflows to Kestra." diff --git a/src/contents/vs/make.yaml b/src/contents/vs/make.yaml new file mode 100644 index 0000000000..9505596120 --- /dev/null +++ b/src/contents/vs/make.yaml @@ -0,0 +1,246 @@ +title: "Kestra vs. Make: Universal Orchestration vs. Visual Scenario Automation" +description: "Compare Kestra vs Make: Open-source workflow orchestration for engineering teams vs. visual no-code automation for business teams. See features, execution limits, pricing, and use cases." +competitorName: Make +category: No-Code Automation +shortDescription: "Visual no-code scenario builder with operation credits and a 40-minute execution limit vs. production-grade orchestration with no ceiling." + +brandColor: + color: "#7B2FBE" + gradient: "linear-gradient(90deg, #7B2FBE, #A855F7, #6D28D9)" + +intro: + title: "Kestra vs. Make: Universal Orchestration vs. Visual Scenario Automation" + description: "Make (formerly Integromat) is a visual automation platform built around a flowchart-style scenario builder with 3,000+ app integrations and a free tier. Kestra is a workflow orchestration platform for engineering and data teams that need data pipelines, infrastructure automation, and production workflows running without operation-credit limits or 40-minute execution ceilings." + +philosophy: + mainTitle: Two Platforms, Two Automation Models + kestra: + title: "Engineering-Grade Orchestration for Any Workflow" + description: "Declarative YAML orchestration platform for engineering and data teams. Define data pipelines, infrastructure automation, and business workflows in version-controlled YAML. Any event, any language, self-hosted or on Kestra Cloud, with no operation-credit billing and no execution time ceiling." + subCardText: '"How do I build production workflows my engineering team can version, test, and operate without hitting execution ceilings?"' + competitor: + title: Visual Scenario Automation for Business Teams + description: "No-code visual automation platform built around a flowchart interface. Drag-and-drop modules connect 3,000+ apps into multi-step scenarios. A free tier and low entry price make it accessible to teams that need complex multi-app automation without writing code." + shadowColor: "#EDE0FF" + subCardBg: "var(--ks-background-purple-light)" + subCardText: '"How do I build a complex multi-step automation between our apps visually, without engineering help?"' + +businessValue: + mainTitle: "Scenario Automation Connects Apps.
Orchestration Runs Your Business." + kestra: + title: Production-Grade Workflow Orchestration + list: + - Automate data pipelines, infrastructure, and business processes in one platform + - Self-hosted or cloud, with full data residency control + - GitOps-native: version control, CI/CD, and Terraform for all workflows + - RBAC, audit logs, and multi-tenancy for enterprise compliance + - Handles 100,000+ concurrent tasks with no per-operation billing ceiling + competitor: + title: Visual No-Code Scenario Automation + list: + - 3,000+ pre-built app integrations in a visual flowchart builder + - Free tier limited to 1,000 operations/month and 2 active scenarios + - Paid plans start at $9/month with 10,000 operations and 1-minute scheduling + - Maximum scenario execution time of 40 minutes on all plans + - Cloud-first with limited on-premises agent support for Enterprise + shadowColor: "#EDE0FF" + bulletColor: "#7B2FBE" + footerText: "For teams that need to automate complex multi-step app workflows visually without writing code, Make's flowchart builder is more capable than simpler two-step tools. When workflows involve data pipelines, long-running computations, infrastructure automation, or volumes beyond operation-credit quotas, Kestra is built for that scope." + +setupSpeed: + title: Time to First Workflow + subtitle: "Make is cloud-first SaaS, so there is no infrastructure to configure. Scenarios are built entirely in the browser. The free tier limits active scenarios to two and scheduling to 15-minute intervals, which constrains how much you can test before needing a paid plan." + kestra: + title: + one: "~5" + two: Minutes + description: "Download the Docker Compose file, spin it up, and you're ready (database and config included). Open the UI, pick a Blueprint, run it. No cloud account required, no operation credits, no scenario limits." + command: | + curl -o docker-compose.yml \ + https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml + docker compose up + + # Open localhost:8080 + # Pick a Blueprint, run it. Done. + lang: sh + competitor: + title: + one: "~15" + two: Minutes + description: "Sign up at make.com, create a scenario, add modules for your trigger app and action apps, connect each via OAuth, and configure the data mappings. Free tier allows 2 active scenarios with 15-minute minimum scheduling intervals." + shadowColor: "#EDE0FF" + command: | + # Sign up at make.com + # Create a scenario, add modules: + + [Trigger] Schedule + Every day at 8:00 AM + + [Module] HTTP - Make a request + URL: https://cloud.getdbt.com/api/v2/.../run/ + Method: POST + Headers: Authorization: Token {{dbt_token}} + + [Module] Slack - Create a message + Channel: #data-team + Text: "Daily report ready" + + # Free tier: 2 ops/run, ~62 ops/month. + # Max execution time: 40 min on all paid plans. + lang: yaml + +easeOfUse: + title: Version-Controlled Workflows vs. Visual Scenario Builder + kestra: + title: "Kestra: Readable by Your Whole Team" + description: "YAML is readable on day 1. Our docs are embedded in the UI for easy reference, the AI Copilot writes workflows for you, or start with our library of Blueprints. Workflows live in Git and deploy through your existing CI/CD pipeline." + code: | + id: daily_report + namespace: analytics + + triggers: + - id: daily + type: io.kestra.plugin.core.trigger.Schedule + cron: "0 8 * * *" + + tasks: + - id: run_dbt + type: io.kestra.plugin.dbt.cli.DbtCLI + commands: + - dbt run --select reporting + + - id: notify + type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook + url: "{{ secret('SLACK_WEBHOOK') }}" + messageText: "Daily report ready" + lang: yaml + competitor: + title: "Make: Flowchart scenarios for visual builders" + description: "Make scenarios are built by connecting modules in a visual flowchart. Each module represents an app action or data transform. Scenarios support iterators, routers, aggregators, and filters for complex logic. All configuration happens in the browser with no local files." + shadowColor: "#EDE0FF" + code: | + # Make scenario (built visually in-browser) + # Conceptual structure: + + [Schedule trigger] + Every day at 8:00 AM + + [HTTP module] Make an API call + URL: https://cloud.getdbt.com/api/v2/.../run/ + Method: POST + Headers: + Authorization: "Token {{dbt_token}}" + Body: {"cause": "Make scheduled run"} + + [Slack module] Create a message + Channel: "#data-team" + Message: "Daily report ready" + + # 2 operations per run. Scenario stored in Make cloud. + # No local files. No native Git integration. + lang: yaml + +visualPreview: + mainTitle: One Platform for Your Entire Technology Stack + kestra: + description: "Orchestrate data pipelines, infrastructure provisioning, business processes, and event-driven automations in one platform. No operation-credit ceiling, no execution time limit. Self-host with full control or use Kestra Cloud." + competitor: + description: "Build complex multi-step automations visually across 3,000+ apps. More capable than two-step tools for routing, filtering, and data transformation. Not designed for data pipeline workloads, long-running computations over 40 minutes, or infrastructure automation." + shadowColor: "#EDE0FF" + +featureGrid: + title: Kestra vs Make at a Glance + tableData: + - feature: Primary use case + kestra: Universal workflow orchestration + competitor: Visual multi-step app automation + - feature: Workflow definition + kestra: Declarative YAML (version-controlled) + competitor: Visual flowchart builder (cloud-stored, no files) + - feature: Deployment model + kestra: Self-hosted or Kestra Cloud + competitor: "Cloud-first (on-prem agents for Enterprise only)" + - feature: Languages supported + kestra: "Agnostic (Python, R, Bash, Node.js, SQL & more)" + competitor: "No-code (custom functions available on Enterprise)" + - feature: Execution time limit + kestra: No limit + competitor: "40 minutes maximum on all plans" + - feature: Data pipeline support + kestra: "✓ Native support (ETL, dbt, Spark, Airbyte)" + competitor: Not designed for data pipeline or compute-heavy workloads + - feature: Infrastructure automation + kestra: "✓ Native support" + competitor: Not designed for this + - feature: Self-service for non-engineers + kestra: "✓ Kestra Apps" + competitor: "✓ Visual scenario builder requires no coding" + - feature: GitOps and version control + kestra: "✓ Native Git sync, Terraform provider" + competitor: No native version control (scenario blueprints only) + - feature: Multi-tenancy and RBAC + kestra: "✓ Enterprise namespace isolation" + competitor: Team roles on Teams plan; advanced controls on Enterprise + - feature: Pricing model + kestra: Infrastructure cost (no per-operation billing) + competitor: "Per-operation credits; free tier caps at 1,000 ops/month" + - feature: Open source + kestra: "✓ Open source (Apache 2.0)" + competitor: Closed source SaaS + +testimonials: + - quote: "Kestra made the data mesh possible. We produce far more data now, and deliver it nearly 10 times faster." + author: "Julien Henrion, CDO @ Leroy Merlin" + kpis: + - value: "+900%" + name: In data production + - value: "+250" + name: Active users + - value: "+5000" + name: Workflows created + storyLink: /use-cases/stories/14-datamesh-at-scale-increased-its-data-production-by-900percent + +platformStrengths: + title: Kestra Is Built for Production Workloads, Not Just App Connections + features: + - title: No execution time ceiling + description: "Make caps all scenario executions at 40 minutes, even on Enterprise. For dbt runs against large models, Spark jobs, file exports, or any compute-intensive data workload, that ceiling is a hard architectural constraint. Kestra flows run for as long as the task requires, from seconds to hours, with no platform-imposed limit." + - title: Data pipelines run natively + description: "Native plugins for dbt, Airbyte, Spark, Snowflake, BigQuery, Databricks, and 1,200+ more let data engineers define ETL pipelines in the same YAML they use for event-driven automations. Make can call a dbt Cloud API endpoint via its HTTP module, but there are no native data plugins, no DAG visualization, and no retry semantics for transformation failures." + - title: Workflows in Git, not the browser + description: "Every Kestra flow is a YAML file stored in your repository, deployed through CI/CD, and rolled back like any code change. Make scenarios live in Make's cloud. There is no native version control and no way to review a scenario change in a pull request before it goes live." + +decisionGuide: + mainTitle: The Right Tool for the Right Job + kestra: + title: Choose Kestra When + list: + - "Your workflows involve data pipelines, ETL, or infrastructure automation that runs longer than 40 minutes." + - "Execution volume exceeds what per-operation credit billing can sustain at reasonable cost." + - "Workflows must live in version control, pass code review, and deploy through CI/CD." + - "Self-hosting is required for data residency, compliance, or full infrastructure control." + - "Non-engineers need to trigger and monitor workflows through Kestra Apps, not build scenarios." + competitor: + title: Choose Make When + list: + - "Your automations connect multiple apps with complex routing, filtering, and data transformation, all under 40 minutes." + - "Non-technical users need to build and modify scenarios without any engineering involvement." + - "You need a visual representation of your automation logic to share with non-engineers." + - "Operation volumes fit within a credit plan at predictable cost." + - "Your use case is app-to-app integration, not data pipeline execution or infrastructure provisioning." + shadowColor: "#EDE0FF" + bulletColor: "#7B2FBE" + +commonQuestions: + - question: How do I migrate from Make to Kestra? + answer: "Map each Make module to the equivalent Kestra plugin. Schedule triggers, HTTP modules, and Slack/email notifications translate directly. For Make's pre-built app connectors, Kestra's 1,200+ plugin library covers the most common targets. For anything without a native plugin, the HTTP plugin handles any REST API. Most teams migrate incrementally, starting with scenarios that are hitting Make's 40-minute execution limit or that involve data workloads better suited to a dedicated orchestration platform." + - question: Can Kestra handle complex multi-step automation the way Make does? + answer: "Yes. Kestra supports multi-step flows with conditional branching, parallel task execution, iterators, error handling, and subflows as first-class YAML constructs. Make's visual strength is that non-engineers can build complex routing and filtering logic without code. In Kestra, engineers write that logic in YAML, which makes it version-controllable and reviewable but requires technical ownership. If the primary requirement is non-technical users building complex automation independently, Make's visual builder has an advantage." + - question: What is Make's 40-minute execution limit and how does it affect data workflows? + answer: "Every Make scenario has a hard 40-minute maximum execution time across all paid plans. For simple app-to-app automation, this is not a constraint. For data workflows that run dbt models against large datasets, execute Spark jobs, or process large file exports, 40 minutes is often not enough. Kestra has no platform-imposed execution time limit, so long-running analytical workloads complete without being cut off." + - question: How does operation-credit pricing in Make compare to Kestra's model? + answer: "Make counts each module execution as one operation against your monthly credit quota. A scenario with five modules running hourly consumes 3,600 operations per day across a 30-day month. Free-tier users get 1,000 operations/month total; Core plan users get 10,000. Kestra's open-source version is free to self-host with no operation counting. Kestra Cloud pricing is based on execution resources rather than per-operation counting, which makes cost more predictable as workflow complexity and frequency grow." + - question: Does Kestra have version control that Make doesn't? + answer: "Kestra flows are YAML files in Git, so every change is a commit, every deployment is tracked, and rollbacks are a git revert away. Make scenarios are stored in Make's cloud. You can export a scenario as a JSON blueprint for manual backup, but there is no native Git integration, no pull request review process, and no structured way to compare what changed between two versions of a scenario." + - question: Can Kestra and Make run in parallel during a transition? + answer: "The two tools operate independently and do not conflict. Most teams use Make for existing app-to-app scenarios while moving data and infrastructure workflows to Kestra first. Kestra can also trigger Make scenarios via webhook if you need cross-platform orchestration during a transition period. Once the team is comfortable with Kestra's YAML model, the remaining Make scenarios can follow." diff --git a/src/contents/vs/microsoft-fabric.yaml b/src/contents/vs/microsoft-fabric.yaml new file mode 100644 index 0000000000..46107cc475 --- /dev/null +++ b/src/contents/vs/microsoft-fabric.yaml @@ -0,0 +1,262 @@ +title: "Kestra vs. Microsoft Fabric: Universal Orchestration vs. Unified Microsoft Analytics" +description: "Compare Kestra vs Microsoft Fabric: Open-source workflow orchestration for any stack vs. Microsoft's unified analytics platform with built-in data factory, data warehouse, and Power BI. See features, deployment options, and use cases." +competitorName: Microsoft Fabric +category: Data Analytics Platform +shortDescription: "Azure-native unified analytics platform vs. stack-agnostic workflow orchestration for any cloud or infrastructure." + +brandColor: + color: "#0078D4" + gradient: "linear-gradient(90deg, #0078D4, #50E6FF, #0091FF)" + +intro: + title: "Kestra vs. Microsoft Fabric: Universal Orchestration vs. Unified Microsoft Analytics" + description: "Microsoft Fabric is a unified analytics platform that combines data pipelines, a data warehouse, Spark notebooks, real-time analytics, and Power BI in a single Azure-native SaaS environment. Kestra is a workflow orchestration platform that works with any cloud, any stack, and any language, with the option to self-host and version-control every workflow in Git." + +philosophy: + mainTitle: Two Approaches to Data Infrastructure + kestra: + title: "Stack-Agnostic Orchestration for Any Environment" + description: "Declarative YAML orchestration platform for engineering and data teams. Orchestrate data pipelines, infrastructure automation, and business workflows across any cloud, any tool, and any language. Self-hosted or on Kestra Cloud, with Git-native deployments and full audit trails." + subCardText: '"How do I orchestrate across our entire data stack, regardless of which cloud or tools we use?"' + competitor: + title: Microsoft's Unified Analytics Platform + description: "All-in-one SaaS analytics platform built on Azure. Data Factory pipelines, a data warehouse, Spark notebooks, real-time analytics, and Power BI reports all share OneLake as a common data layer. If your data stack lives in Microsoft and Azure, everything connects natively." + shadowColor: "#CCE4F6" + subCardBg: "var(--ks-background-blue-light)" + subCardText: '"How do I unify our data engineering, warehousing, and reporting on a single Microsoft platform without managing separate tools?"' + +businessValue: + mainTitle: "Unified Analytics for Microsoft Shops.
Universal Orchestration for Everyone Else." + kestra: + title: Production-Grade Workflow Orchestration + list: + - Orchestrate data pipelines, infrastructure, and business processes across any cloud or stack + - Self-hosted or cloud, with full data residency control independent of Microsoft + - GitOps-native: version control, CI/CD, and Terraform for all workflows + - RBAC, audit logs, and multi-tenancy for enterprise compliance + - Handles 100,000+ concurrent tasks with no Azure capacity billing + competitor: + title: Unified Microsoft Analytics Platform + list: + - Data Factory, data warehouse, Spark, real-time analytics, and Power BI in one subscription + - OneLake as a shared data layer across all Fabric workloads + - Capacity-based Azure pricing (compute and storage share a pool) + - Azure-only, cloud-only deployment + - Native dbt jobs, Dataflow Gen 2, and Apache Airflow integration + shadowColor: "#CCE4F6" + bulletColor: "#0078D4" + footerText: "For teams already invested in Microsoft Azure, with data living in OneLake, reporting in Power BI, and compute in Synapse, Fabric's unified platform eliminates the glue work of connecting separate tools. When your data stack spans multiple clouds, requires self-hosting, or includes tools outside the Microsoft ecosystem, Kestra gives you orchestration that doesn't require rebuilding on Azure." + +setupSpeed: + title: Time to First Workflow + subtitle: "Microsoft Fabric requires an Azure account, a Fabric-enabled workspace, and capacity allocation before any pipeline runs. Fabric is a SaaS platform so there is no infrastructure to deploy, but Azure account setup, capacity provisioning, and workspace configuration take time. Kestra runs in two commands." + kestra: + title: + one: "~5" + two: Minutes + description: "Download the Docker Compose file, spin it up, and you're ready (database and config included). Open the UI, pick a Blueprint, run it. No Azure account, no capacity allocation, no workspace configuration." + command: | + curl -o docker-compose.yml \ + https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml + docker compose up + + # Open localhost:8080 + # Pick a Blueprint, run it. Done. + lang: sh + competitor: + title: + one: "~45" + two: Minutes + description: "Create or sign in to an Azure account, enable Microsoft Fabric in your tenant, provision Fabric capacity (or start a trial), create a workspace, and build your first pipeline in the Data Factory visual designer. Enterprise setups require Azure AD configuration and capacity planning." + shadowColor: "#CCE4F6" + command: | + # 1. Azure account + Fabric trial or capacity + # 2. Create a Fabric workspace + # 3. Build a pipeline in the Data Factory UI: + + { + "name": "daily_report", + "activities": [ + { + "name": "run_dbt_job", + "type": "DbtActivity", + "typeProperties": { + "command": "dbt run --select reporting" + } + }, + { + "name": "notify_slack", + "type": "WebActivity", + "dependsOn": [{"activity": "run_dbt_job"}], + "typeProperties": { + "url": "@pipeline().parameters.slack_webhook", + "method": "POST", + "body": {"text": "Daily report ready"} + } + } + ] + } + lang: json + +easeOfUse: + title: YAML Workflows in Git vs. JSON Pipelines in the Azure Portal + kestra: + title: "Kestra: Readable by Your Whole Team" + description: "YAML is readable on day 1. Our docs are embedded in the UI for easy reference, the AI Copilot writes workflows for you, or start with our library of Blueprints. Workflows live in Git and deploy through your existing CI/CD pipeline." + code: | + id: daily_report + namespace: analytics + + triggers: + - id: daily + type: io.kestra.plugin.core.trigger.Schedule + cron: "0 8 * * *" + + tasks: + - id: run_dbt + type: io.kestra.plugin.dbt.cli.DbtCLI + commands: + - dbt run --select reporting + + - id: notify + type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook + url: "{{ secret('SLACK_WEBHOOK') }}" + messageText: "Daily report ready" + lang: yaml + competitor: + title: "Fabric Data Factory: Low-code pipelines in the Azure portal" + description: "Fabric Data Factory pipelines are built in a visual designer inside the Azure portal. Pipelines are stored as JSON and can be exported for version control, but there is no native Git integration in the standard experience. Fabric's Copilot can generate pipeline steps from natural language prompts, but those steps land back in the same Azure portal JSON format with the same portability constraints." + shadowColor: "#CCE4F6" + code: | + { + "name": "daily_report", + "properties": { + "activities": [ + { + "name": "run_dbt", + "type": "DbtActivity", + "typeProperties": { + "command": "dbt run --select reporting" + } + }, + { + "name": "notify_slack", + "type": "WebActivity", + "dependsOn": [ + {"activity": "run_dbt", "dependencyConditions": ["Succeeded"]} + ], + "typeProperties": { + "url": "@pipeline().parameters.slack_webhook", + "method": "POST", + "body": {"text": "Daily report ready"} + } + } + ] + } + } + lang: json + +visualPreview: + mainTitle: One Platform for Your Entire Technology Stack + kestra: + description: "Orchestrate data pipelines, infrastructure provisioning, business processes, and event-driven automations across any cloud or tool stack. Self-host with full control or use Kestra Cloud. Every workflow is a YAML file that lives in Git." + competitor: + description: "Run data engineering, data warehousing, real-time analytics, and Power BI reporting on a unified Microsoft platform. OneLake connects all workloads under a single storage layer, which is Fabric's core architectural advantage for Azure-native teams. Outside that ecosystem, the platform isn't designed for multi-cloud orchestration, self-hosting, or workflows that span tools Microsoft doesn't own." + shadowColor: "#CCE4F6" + +featureGrid: + title: Kestra vs Microsoft Fabric at a Glance + tableData: + - feature: Primary use case + kestra: Universal workflow orchestration + competitor: Unified analytics platform (data factory, warehouse, BI) + - feature: Workflow definition + kestra: Declarative YAML (version-controlled in Git) + competitor: "Low-code visual designer (JSON, stored in Azure)" + - feature: Deployment model + kestra: Self-hosted or Kestra Cloud + competitor: Azure cloud-only (no self-hosting) + - feature: Cloud compatibility + kestra: "Any cloud (AWS, GCP, Azure, on-prem)" + competitor: Azure-only + - feature: Languages supported + kestra: "Agnostic (Python, R, Bash, Node.js, SQL & more)" + competitor: "Python (Spark/notebooks), SQL, low-code GUI" + - feature: Data pipeline support + kestra: "✓ Native support (ETL, dbt, Spark, Airbyte)" + competitor: "✓ Native (Data Factory, Dataflow Gen 2, dbt jobs, Spark)" + - feature: Infrastructure automation + kestra: "✓ Native support" + competitor: Not designed for this + - feature: Business intelligence + kestra: Triggers and reports via plugins (not built-in BI) + competitor: "✓ Power BI embedded natively" + - feature: Self-service for non-engineers + kestra: "✓ Kestra Apps" + competitor: Power BI and low-code tools for business users + - feature: GitOps and version control + kestra: "✓ Native Git sync, Terraform provider" + competitor: Pipeline export for manual version control; no native Git + - feature: Multi-tenancy and RBAC + kestra: "✓ Enterprise namespace isolation" + competitor: "✓ Azure AD, workspace roles, capacity governance" + - feature: Open source + kestra: "✓ Open source (Apache 2.0)" + competitor: Closed source Microsoft SaaS + +testimonials: + - quote: "Kestra made the data mesh possible. We produce far more data now, and deliver it nearly 10 times faster." + author: "Julien Henrion, CDO @ Leroy Merlin" + kpis: + - value: "+900%" + name: In data production + - value: "+250" + name: Active users + - value: "+5000" + name: Workflows created + storyLink: /use-cases/stories/14-datamesh-at-scale-increased-its-data-production-by-900percent + +platformStrengths: + title: Kestra Works Across Any Stack, Not Just Azure + features: + - title: Multi-cloud and stack-agnostic by design + description: "Fabric Data Factory is optimized for data that lives in OneLake, Azure Data Lake, Azure SQL, and Synapse. Teams running on AWS, GCP, or a mix of cloud providers have to work against the grain. Kestra's 1,200+ plugins cover every major cloud provider, data warehouse, message queue, and database, regardless of which vendor built them." + - title: Workflows in Git, not the Azure portal + description: "Every Kestra flow is a YAML file reviewed in a pull request, versioned in Git, and deployed through CI/CD like any other code change. Fabric Data Factory pipelines are designed and stored inside the Azure portal as JSON. You can export them manually for backup, but there is no native Git integration in the standard pipeline experience, which means no diff review, no automated deployment pipeline, and no git blame when something breaks." + - title: Self-hosted for complete independence + description: "Docker or Kubernetes on any infrastructure, including air-gapped environments and on-premises clusters. That's Kestra's deployment model. Execution logs, workflow definitions, and secrets stay on your infrastructure. Fabric is Azure-only: your data, pipelines, and compute run on Microsoft's infrastructure. For teams in regulated industries where a single-vendor SaaS is a compliance risk, the trade-off is clear: Kestra's self-hosted option keeps execution inside your perimeter, with no dependency on Microsoft's uptime, pricing, or roadmap." + +decisionGuide: + mainTitle: The Right Tool for the Right Job + kestra: + title: Choose Kestra When + list: + - "Your data stack spans multiple clouds or includes tools outside the Microsoft ecosystem." + - "Self-hosting is required for data residency, air-gapped environments, or cloud independence." + - "Workflows must live in version control, pass code review, and deploy through CI/CD." + - "You need infrastructure automation, not just data pipeline orchestration." + - "You want orchestration costs tied to your infrastructure, not Azure capacity billing." + competitor: + title: Choose Microsoft Fabric When + list: + - "Your data stack is Azure-native: data lives in OneLake, reporting runs in Power BI, compute runs in Synapse." + - "You want a single Microsoft subscription covering data engineering, warehousing, real-time analytics, and BI." + - "Your team is standardized on Microsoft tooling and wants to avoid managing separate orchestration infrastructure." + - "Native dbt jobs, Dataflow Gen 2 transformations, and Spark notebooks running on shared OneLake are central to your architecture." + - "Business users need Power BI dashboards directly connected to the same data infrastructure engineers build." + shadowColor: "#CCE4F6" + bulletColor: "#0078D4" + +commonQuestions: + - question: How do I migrate data pipelines from Fabric Data Factory to Kestra? + answer: "Export your Fabric Data Factory pipelines as JSON and map each activity to the equivalent Kestra plugin. Web activities become HTTP tasks; dbt activities use Kestra's native dbt plugin; Spark notebook runs use the Spark plugin; control flow logic (conditionals, loops) maps directly to Kestra's YAML constructs. Most teams migrate incrementally, starting with pipelines that pull from non-Azure sources or that need to orchestrate tools outside the Microsoft ecosystem, while leaving Azure-native transformations in Fabric until they are ready to consolidate." + - question: Can Kestra replace Fabric's data warehouse and Power BI? + answer: "Kestra is an orchestration platform, not an analytics platform. It replaces the Fabric Data Factory orchestration layer (pipelines, triggers, scheduling) but not the data warehouse or Power BI. If your team relies on Fabric's native Synapse warehouse or Power BI reports, those stay. Kestra orchestrates the pipelines that feed data into your existing warehouse and reporting tools, whether those tools are Microsoft's or anyone else's." + - question: How does Kestra handle Azure-native tools like OneLake and Synapse? + answer: "Kestra has native plugins for Azure Data Lake Storage, Azure Blob Storage, Azure SQL, and Azure Synapse. Pipelines that read from OneLake, run dbt models on Synapse, and write results back to Azure SQL work in Kestra without any special configuration. The difference from Fabric Data Factory is that Kestra treats Azure as one target among many, so the same YAML workflow can read from S3, transform in Databricks, and write to Azure SQL without platform-specific wiring." + - question: How does pricing compare between Kestra and Microsoft Fabric? + answer: "Microsoft Fabric uses capacity-based Azure pricing: you reserve compute and storage capacity and all workloads share that pool. Costs can be unpredictable as pipeline frequency or data volume grows. Kestra's open-source version is free to self-host; Kestra Cloud pricing is based on execution resources rather than reserved capacity. For teams running Kestra on existing infrastructure alongside Azure services, the orchestration layer adds minimal cost to what you are already paying for compute and storage." + - question: Can Kestra and Microsoft Fabric run in parallel? + answer: "Yes. Kestra can orchestrate Fabric workloads directly: triggering Fabric Data Factory pipeline runs via the Azure REST API, reading from OneLake, or calling Synapse SQL endpoints. Most teams run both during a transition, using Kestra for new pipelines and multi-cloud workflows while keeping Fabric for existing Azure-native transformations. Once the team is comfortable with Kestra's YAML model, the Fabric pipelines can migrate at whatever pace the data team decides." + - question: Does Kestra support Apache Airflow-style DAGs the way Fabric does? + answer: "Kestra is a distinct orchestration platform with its own YAML-based workflow model, not an Airflow replacement that runs Python DAGs. If your team is familiar with Airflow's Python DAG approach, Fabric's Apache Airflow integration (which runs actual Python DAGs on Azure) may feel more familiar during a transition. Kestra's YAML model is simpler to read and review than Python DAGs, and avoids Python dependency management, but it requires learning a different paradigm. Teams migrating from Airflow to Kestra typically find the YAML model faster to iterate on, even if the initial syntax feels different." diff --git a/src/contents/vs/simplyask.yaml b/src/contents/vs/simplyask.yaml new file mode 100644 index 0000000000..2624ef1432 --- /dev/null +++ b/src/contents/vs/simplyask.yaml @@ -0,0 +1,231 @@ +title: "Kestra vs. SimplyAsk: Infrastructure Orchestration vs. Business Process Automation" +description: "Compare Kestra vs SimplyAsk (Symphona): Open-source workflow orchestration for engineering teams vs. no-code business process automation for telco and operations teams." +competitorName: SimplyAsk +category: "No-Code Automation" +shortDescription: "No-code business process automation for telco and operations teams vs. engineering-grade workflow orchestration with self-hosting and GitOps." + +brandColor: + color: "#2563EB" + +intro: + title: "Kestra vs. SimplyAsk: Infrastructure Orchestration vs. Business Process Automation" + description: "SimplyAsk (Symphona) is a no-code automation platform built for business operations in telecom, manufacturing, and local government. It handles customer service workflows, order management, and service ticketing well. Kestra is a general-purpose orchestration platform for engineering teams that need data pipelines, infrastructure automation, and technical workflows at production scale." + +philosophy: + mainTitle: Two Platforms, Two Problem Shapes + kestra: + title: "Engineering-Grade Orchestration for Technical Workflows" + description: "Declarative YAML orchestration platform for engineering teams. Define data pipelines, infrastructure automation, and event-driven workflows in version-controlled YAML. Language-agnostic, self-hosted or on Kestra Cloud, with GitOps and full audit trails." + subCardText: '"How do I orchestrate technical workflows my engineering team can version, review, and operate like any other infrastructure?"' + competitor: + title: No-Code Automation for Business Operations + description: "Bundled no-code platform for operations teams. Drag-and-drop canvas lets business analysts automate customer service flows, order management, and service tickets without writing code. Purpose-built for telecom OSS/BSS processes and vertical-specific business operations." + shadowColor: "#DBEAFE" + subCardBg: "var(--ks-background-blue-light)" + subCardText: '"How do I let my operations team automate business processes without waiting on engineering?"' + +businessValue: + mainTitle: "Business Process Automation Is Not Workflow Orchestration.
Know the Difference." + kestra: + title: Production-Grade Workflow Orchestration + list: + - Automate data pipelines, infrastructure, and business processes in one platform + - Language-agnostic: run Python, Bash, SQL, R, or any script in isolated containers + - GitOps-native: version control, CI/CD, and Terraform for all workflows + - Self-hosted (Docker, Kubernetes) or Kestra Cloud, with air-gapped deployment support + - Handles 100,000+ concurrent tasks with horizontal scaling and exactly-once execution + competitor: + title: No-Code Business Process Automation + list: + - Drag-and-drop canvas for operations teams with no coding required + - Bundled Symphona suite (Converse, Flow, Serve, Resolve) for telco and business ops + - Credit-based pricing starting at $1,000/month for 25,000 process steps + - SaaS-only deployment, no self-hosted or air-gapped option + - Built for telecom OSS/BSS workflows, manufacturing, and local government operations + shadowColor: "#DBEAFE" + bulletColor: "#2563EB" + footerText: "For operations teams automating customer service flows, service ticketing, and order management in telecom or manufacturing, SimplyAsk is purpose-built for that problem. When you need infrastructure automation, data pipelines, Git-native workflows, or engineering-grade orchestration at scale, Kestra is the right tool." + +setupSpeed: + title: Time to First Workflow + subtitle: "SimplyAsk Symphona is SaaS-only, with no self-hosted option. Engineers who need to run workflows locally, deploy in air-gapped environments, or integrate with infrastructure tooling like Terraform and Ansible have no path forward. Kestra runs in two commands." + kestra: + title: + one: "~5" + two: Minutes + description: "Download the Docker Compose file, spin it up, and you're ready (database and config included). Open the UI, pick a Blueprint, run it. No vendor coordination, no infrastructure prerequisites beyond Docker." + command: | + curl -o docker-compose.yml \ + https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml + docker compose up + + # Open localhost:8080 + # Pick a Blueprint, run it. Done. + lang: sh + competitor: + title: + one: "~15" + two: Minutes + description: "Sign up for a Symphona account at simplyask.ai to start a 7-day free trial. Workflows are built visually in the Flow canvas. No local installation option; all automation runs in SimplyAsk's SaaS environment." + shadowColor: "#DBEAFE" + command: | + # SimplyAsk Symphona is SaaS-only + # 1. Sign up at simplyask.ai (7-day free trial) + # 2. Log in to Symphona dashboard + # 3. Open Flow, drag-and-drop process steps onto canvas + # 4. Configure triggers: schedule, API, email, or webhook + + # No local installation or self-hosted option available + # Minimum paid plan: $1,000/month (25,000 process steps) + lang: sh + +easeOfUse: + title: Built for Engineers vs. Built for Operations + kestra: + title: "Kestra: Readable by your whole team" + description: "YAML is readable on day 1. Docs are embedded in the UI for easy reference, the AI Copilot writes workflows for you, or start from our library of 200+ Blueprints. Engineers bring their existing scripts with no wrappers or refactoring required." + code: | + id: infra_deploy + namespace: engineering + + triggers: + - id: on_merge + type: io.kestra.plugin.core.trigger.Webhook + key: "{{ secret('WEBHOOK_KEY') }}" + + tasks: + - id: plan + type: io.kestra.plugin.scripts.shell.Commands + commands: + - terraform plan -out=tfplan + + - id: apply + type: io.kestra.plugin.scripts.shell.Commands + commands: + - terraform apply -auto-approve tfplan + + - id: notify + type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook + url: "{{ secret('SLACK_WEBHOOK') }}" + messageText: "Infrastructure deployed successfully" + lang: yaml + competitor: + title: "SimplyAsk: No-code canvas for business ops" + description: "SimplyAsk Flow workflows are built by dragging steps onto a visual canvas. Supported integrations need no code; complex logic is configured through form-based condition builders. Workflows are stored in SimplyAsk's proprietary format with no code export or version control." + shadowColor: "#DBEAFE" + code: | + # SimplyAsk Flow has no code representation. + # Workflows are built visually and stored internally + # in SimplyAsk's proprietary SaaS format. + + # To integrate infrastructure tooling (Terraform, Ansible, + # Kubernetes), you must wrap all operations in REST API calls. + # There is no native shell execution or container support. + + # Example: to run a Terraform plan, you would need to: + # 1. Wrap the Terraform CLI in a custom REST API service + # 2. Call that API from a Flow HTTP action step + # 3. Poll a second endpoint to check for completion + lang: sh + +visualPreview: + mainTitle: One Platform for Your Entire Technology Stack + kestra: + description: "Orchestrate data pipelines, infrastructure provisioning, business processes, and event-driven automations in one platform. Self-host with full control or use Kestra Cloud." + competitor: + description: "Purpose-built for business process automation in telecom, manufacturing, and local government. Strong for customer service flows, order management, and service ticketing. Not designed for data pipelines, shell execution, infrastructure provisioning, or engineering-team GitOps." + shadowColor: "#DBEAFE" + +featureGrid: + title: Kestra vs SimplyAsk at a Glance + tableData: + - feature: Primary use case + kestra: Universal workflow orchestration + competitor: Business process automation (telco and operations) + - feature: Workflow definition + kestra: Declarative YAML + competitor: Visual no-code drag-and-drop canvas + - feature: Target user + kestra: "Engineers, data teams, platform teams" + competitor: "Operations teams, business analysts" + - feature: Languages supported + kestra: "Agnostic (Python, R, Bash, Node.js, SQL & more)" + competitor: No-code (REST API calls only for custom logic) + - feature: Infrastructure automation + kestra: "✓ Native support (Terraform, Ansible, Bash, containers)" + competitor: REST API calls only, no shell execution or containers + - feature: Data pipeline support + kestra: "✓ Native support (ETL, dbt, Spark, Airbyte)" + competitor: Not designed for data workloads + - feature: GitOps and CI/CD + kestra: "✓ Native Git sync, Terraform provider" + competitor: No Git integration, no code review workflow + - feature: Self-hosted deployment + kestra: "✓ Docker, Kubernetes, air-gapped support" + competitor: SaaS only, no self-hosted option + - feature: Open source + kestra: "✓ Open source (Apache 2.0)" + competitor: Closed source, proprietary SaaS + - feature: Self-service for non-engineers + kestra: "✓ Kestra Apps" + competitor: "✓ Visual canvas for operations analysts" + - feature: Multi-tenancy and RBAC + kestra: "✓ Enterprise namespace isolation" + competitor: Enterprise plan only + +testimonials: + - quote: "Kestra made the data mesh possible. We produce far more data now, and deliver it nearly 10 times faster." + author: "Julien Henrion, CDO @ Leroy Merlin" + kpis: + - value: "+900%" + name: In Data Production + - value: "+250" + name: Active Users + - value: "+5000" + name: Workflows Created + storyLink: "https://kestra.io/blogs/2023-08-16-datamesh" + +platformStrengths: + title: Kestra Is Built for Engineering Teams, Not Just Operations + features: + - title: Code as infrastructure, not just automation + description: "Kestra workflows live in Git, deploy via Terraform, and move through the same CI/CD pipeline as application code. Every change is tracked, reviewed, and auditable. SimplyAsk workflows live in a proprietary SaaS canvas with no Git integration, no code review, and no path for environment promotion from dev to staging to prod." + - title: Native infrastructure execution + description: "Kestra runs Terraform plans, Ansible playbooks, Bash scripts, and containerized tasks natively. Tasks execute in isolated containers, so any existing script runs without wrapping or refactoring. SimplyAsk Flow can call a REST API, but it cannot execute shell commands, run containers, or integrate with IaC tooling without building an API layer in between." + - title: Open source with no vendor lock-in + description: "Kestra is open source under Apache 2.0. You can inspect the codebase, deploy it anywhere, run it in air-gapped environments, and avoid dependency on a single SaaS vendor. SimplyAsk is closed-source proprietary software from a 120-person company. For teams making long-term infrastructure investments, that's a different risk profile than a project with 26k+ GitHub stars and a public codebase." + +decisionGuide: + mainTitle: The Right Tool for the Right Job + kestra: + title: Choose Kestra When + list: + - "Your team runs Terraform, Ansible, Bash scripts, or containerized tasks as part of a workflow." + - "Workflows should live in version control and deploy through CI/CD like any other infrastructure." + - "You need self-hosting that works in Docker, Kubernetes, or air-gapped environments." + - "Your engineers author the workflows. YAML and Git are the standard, not a visual canvas." + - "You need data pipelines, ETL, or infrastructure automation alongside event-driven triggers." + competitor: + title: Choose SimplyAsk When + list: + - "Your primary use case is telco business process automation: order management, service provisioning, customer ops." + - "Your team is operations analysts or customer service managers who need to build workflows without engineering support." + - "You want a bundled suite covering chat agents, service ticketing, and workflow automation in one SaaS package." + - "No-code matters more than GitOps. Your team will not write or review YAML." + - "You're in telecom, manufacturing, or local government and want out-of-the-box workflow templates for those verticals." + shadowColor: "#DBEAFE" + bulletColor: "#2563EB" + +commonQuestions: + - question: Can Kestra replace SimplyAsk for business process automation? + answer: "Kestra handles data pipelines, infrastructure workflows, and API-driven business processes well. For telecom-specific OSS/BSS workflows (customer provisioning, order fulfillment, service ticket routing), SimplyAsk ships out-of-the-box templates built for those flows. If your automation is infrastructure-centric or requires running scripts and containerized tasks, Kestra is the right fit. If your team is operations analysts automating telco business processes without writing code, SimplyAsk was built for that use case." + - question: How do I migrate workflows from SimplyAsk to Kestra? + answer: "SimplyAsk workflows are built visually in the Flow canvas and stored in a proprietary format. In Kestra, you replicate each workflow in declarative YAML, replacing SimplyAsk's canvas steps with the equivalent Kestra plugins (HTTP requests, script execution, Slack notifications, and more). The trigger model maps directly: schedules, webhooks, and API calls all work in Kestra. Most teams migrate incrementally, starting with workflows that require infrastructure execution or Git-native deployment, since those aren't possible in SimplyAsk." + - question: Does Kestra support the same integrations as SimplyAsk Symphona? + answer: "Kestra has 1,200+ plugins covering cloud providers, databases, data warehouses, messaging systems, and APIs. SimplyAsk Flow integrates via REST API, SFTP, database connectors, and native connections to its own Symphona products (Converse, Serve, Resolve). For standard API integrations, both tools cover similar ground. Kestra's plugin library goes deeper on data and infrastructure tooling (Spark, dbt, Terraform, Kubernetes), while SimplyAsk has tighter integration with its bundled business ops suite." + - question: Can Kestra be self-hosted or run in air-gapped environments? + answer: "Yes. Kestra is open source and supports fully self-hosted deployment via Docker or Kubernetes, including air-gapped environments with no outbound internet access. SimplyAsk Symphona is a SaaS platform with no self-hosted option. For engineering firms operating in regulated industries or managing on-premises infrastructure, that's not a configuration trade-off; it's a hard blocker." + - question: Can Kestra support non-technical users the way SimplyAsk's no-code canvas does? + answer: "SimplyAsk's canvas is designed so operations analysts can build and modify workflows without any engineering support. In Kestra, engineers define workflows in YAML, and Kestra Apps provide a clean UI for non-engineers to trigger, monitor, and interact with those workflows. Business logic stays in version control; execution stays self-service. If you need business analysts to author workflows from scratch without engineers, SimplyAsk's canvas is built for that model." + - question: How does Kestra handle event-driven triggers compared to SimplyAsk? + answer: "Kestra is event-driven at its core. It triggers natively on webhooks, message queues (Kafka, Pulsar), file arrivals (S3, GCS, SFTP), database changes, and scheduled intervals, all defined in YAML alongside the rest of the workflow. SimplyAsk Flow triggers via schedule, manual kick-off, REST API call, or inbound email. For infrastructure automation (reacting to a failed deployment, a cloud cost threshold, or a Kubernetes pod restart), Kestra's event model covers those signals natively. SimplyAsk's trigger model was designed for business operations volume, not infrastructure event handling." diff --git a/src/contents/vs/tray-ai.yaml b/src/contents/vs/tray-ai.yaml new file mode 100644 index 0000000000..eda75e5982 --- /dev/null +++ b/src/contents/vs/tray-ai.yaml @@ -0,0 +1,241 @@ +title: "Kestra vs. Tray.ai: Universal Orchestration vs. Enterprise AI Automation" +description: "Compare Kestra vs Tray.ai: Open-source workflow orchestration for engineering and data teams vs. enterprise iPaaS and AI agent platform. See features, deployment options, and use cases." +competitorName: Tray.ai +category: Enterprise iPaaS +shortDescription: "Enterprise SaaS integration and AI agent platform vs. engineering-grade orchestration with self-hosting and GitOps." + +brandColor: + color: "#1E3A8A" + gradient: "linear-gradient(90deg, #1E3A8A, #2563EB, #1D4ED8)" + +intro: + title: "Kestra vs. Tray.ai: Universal Orchestration vs. Enterprise AI Automation" + description: "Tray.ai is an enterprise automation platform combining iPaaS, AI agent creation, and Model Context Protocol governance into a unified cloud platform with 700+ pre-built connectors. Kestra is a workflow orchestration platform for engineering and data teams that need data pipelines, infrastructure automation, and production workflows running with full version control and the option to self-host." + +philosophy: + mainTitle: Two Platforms, Two Definitions of Orchestration + kestra: + title: "Engineering-Grade Orchestration for Any Workflow" + description: "Declarative YAML orchestration platform for engineering and data teams. Define data pipelines, infrastructure automation, and business workflows in version-controlled YAML. Any event, any language, self-hosted or on Kestra Cloud, with GitOps and full audit trails." + subCardText: '"How do I orchestrate data pipelines and infrastructure alongside business workflows, all in version-controlled code?"' + competitor: + title: Enterprise iPaaS and AI Agent Platform + description: "Enterprise-grade automation platform built for connecting SaaS applications and deploying AI agents at scale. Visual workflow builder, 700+ pre-built connectors, MCP governance, and built-in compliance controls make it a consolidation platform for enterprise integration and intelligent automation." + shadowColor: "#D0DCF0" + subCardBg: "var(--ks-background-blue-light)" + subCardText: '"How do I consolidate our enterprise app integrations and deploy AI agents with the governance our security team requires?"' + +businessValue: + mainTitle: "Enterprise Integration Connects Systems.
Orchestration Runs Your Business." + kestra: + title: Production-Grade Workflow Orchestration + list: + - Automate data pipelines, infrastructure, and business processes in one platform + - Self-hosted or cloud, with full data residency control + - GitOps-native: version control, CI/CD, and Terraform for all workflows + - RBAC, audit logs, and multi-tenancy for enterprise compliance + - Handles 100,000+ concurrent tasks with no per-connector pricing + competitor: + title: Enterprise iPaaS and AI Agent Platform + list: + - 700+ pre-built connectors for enterprise SaaS apps + - AI agent creation with Merlin Agent Builder and MCP governance + - SOC 2 Type 2, GDPR, RBAC, and enterprise compliance controls + - Cloud-only multi-tenant platform (no self-hosting) + - Quote-based enterprise pricing + shadowColor: "#D0DCF0" + bulletColor: "#1E3A8A" + footerText: "For enterprise teams consolidating SaaS integrations, deploying AI agents with compliance guardrails, and managing MCP governance at scale, Tray.ai is purpose-built for that scope. When you need data pipelines, self-hosting for data residency, engineering-grade GitOps, or predictable infrastructure-based pricing, Kestra is built for that." + +setupSpeed: + title: Time to First Workflow + subtitle: "Tray.ai is an enterprise SaaS platform accessed via demo request or trial. There is no infrastructure to provision, but onboarding involves account setup, connector authentication, and learning the visual builder. Kestra runs in two commands and is ready in under five minutes." + kestra: + title: + one: "~5" + two: Minutes + description: "Download the Docker Compose file, spin it up, and you're ready (database and config included). Open the UI, pick a Blueprint, run it. No sales process required, no cloud account, no connector licensing." + command: | + curl -o docker-compose.yml \ + https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml + docker compose up + + # Open localhost:8080 + # Pick a Blueprint, run it. Done. + lang: sh + competitor: + title: + one: "~30" + two: Minutes + description: "Request a demo or trial at tray.ai, complete account setup, authenticate your enterprise app connectors via OAuth, and build your first workflow in the visual editor. Enterprise deployments involve procurement, security review, and connector licensing." + shadowColor: "#D0DCF0" + command: | + # Request trial at tray.ai + # Complete account setup and connector auth + + Trigger: Schedule + Every day at 8:00 AM + + Step 1: HTTP connector - POST + URL: your-dbt-cloud-endpoint + Auth: OAuth / API token + + Step 2: Slack connector - Send message + Channel: #data-team + Text: "Daily report ready" + + # Workflows stored in Tray.ai cloud only. + # No self-hosting available. + lang: yaml + +easeOfUse: + title: Version-Controlled Workflows vs. Visual Enterprise Builder + kestra: + title: "Kestra: Readable by Your Whole Team" + description: "YAML is readable on day 1. Our docs are embedded in the UI for easy reference, the AI Copilot writes workflows for you, or start with our library of Blueprints. Workflows live in Git and deploy through your existing CI/CD pipeline." + code: | + id: daily_report + namespace: analytics + + triggers: + - id: daily + type: io.kestra.plugin.core.trigger.Schedule + cron: "0 8 * * *" + + tasks: + - id: run_dbt + type: io.kestra.plugin.dbt.cli.DbtCLI + commands: + - dbt run --select reporting + + - id: notify + type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook + url: "{{ secret('SLACK_WEBHOOK') }}" + messageText: "Daily report ready" + lang: yaml + competitor: + title: "Tray.ai: Visual workflows for enterprise integration teams" + description: "Tray.ai workflows are built in a visual editor by connecting pre-built connector steps and configuring data mappings. The Merlin Agent Builder extends this to conversational and autonomous AI agents. All configuration lives in Tray.ai's cloud with no local files or version control." + shadowColor: "#D0DCF0" + code: | + # Tray.ai workflow (built visually in-browser) + # Conceptual structure: + + Trigger: Schedule + Frequency: Daily at 8:00 AM + + Step 1: HTTP Service connector + Method: POST + URL: "{{dbt_cloud_endpoint}}" + Headers: + Authorization: "Token {{dbt_token}}" + + Step 2: Slack connector - Post message + Channel: "#data-team" + Message: "Daily report ready" + + # Workflows stored in Tray.ai cloud. + # No local file representation. No Git integration. + lang: yaml + +visualPreview: + mainTitle: One Platform for Your Entire Technology Stack + kestra: + description: "Orchestrate data pipelines, infrastructure provisioning, business processes, and event-driven automations in one platform. Self-host with full control or use Kestra Cloud. Workflows live in Git and deploy like any other code." + competitor: + description: "Connect enterprise SaaS apps, deploy AI agents, and manage MCP governance in a unified cloud platform. Strong for enterprise integration consolidation and governed AI agent deployment. Not designed for data pipeline execution, infrastructure automation, or self-hosted deployments." + shadowColor: "#D0DCF0" + +featureGrid: + title: Kestra vs Tray.ai at a Glance + tableData: + - feature: Primary use case + kestra: Universal workflow orchestration + competitor: Enterprise iPaaS and AI agent platform + - feature: Workflow definition + kestra: Declarative YAML (version-controlled) + competitor: Visual workflow builder (cloud-stored, no local files) + - feature: Deployment model + kestra: Self-hosted or Kestra Cloud + competitor: Cloud-only (no self-hosting) + - feature: Languages supported + kestra: "Agnostic (Python, R, Bash, Node.js, SQL & more)" + competitor: "No-code visual builder; custom logic via connector configuration" + - feature: Data pipeline support + kestra: "✓ Native support (ETL, dbt, Spark, Airbyte)" + competitor: Data connectors available but not built for compute-heavy pipelines + - feature: Infrastructure automation + kestra: "✓ Native support" + competitor: Not designed for this + - feature: AI agent support + kestra: "Kestra orchestrates AI workflows and LLM calls via plugins" + competitor: "✓ Merlin Agent Builder with MCP governance" + - feature: Self-service for non-engineers + kestra: "✓ Kestra Apps" + competitor: "✓ Visual builder for business and IT teams" + - feature: GitOps and version control + kestra: "✓ Native Git sync, Terraform provider" + competitor: No native version control + - feature: Multi-tenancy and RBAC + kestra: "✓ Enterprise namespace isolation" + competitor: "✓ Enterprise RBAC and compliance controls" + - feature: Open source + kestra: "✓ Open source (Apache 2.0)" + competitor: Closed source SaaS + +testimonials: + - quote: "With Kestra, orchestration stopped being a fragile point in the architecture and became a stable foundation for the business." + author: "Rafael Bartalotti, Engineering Manager @ Víssimo" + kpis: + - value: "90%" + name: Reduction in integration costs + - value: "40%" + name: Reduction in BI and ETL costs + - value: "0" + name: Black Friday 2025 incidents + storyLink: /use-cases/stories/31-modernizing-mission-critical-e-commerce-integrations-with-kestra + +platformStrengths: + title: Kestra Is Built for Engineering Teams, Not Just Enterprise Integration + features: + - title: Data pipelines as first-class workflows + description: "Native plugins for dbt, Airbyte, Spark, Snowflake, BigQuery, Databricks, and 1,200+ more let data engineers define ETL pipelines in the same YAML they use for event-driven and business workflows. Tray.ai's connectors can push data between SaaS systems, but the platform is not built for compute-intensive transformations, long-running analytical workloads, or native DAG visualization." + - title: Self-hosted for complete data control + description: "Your workflow definitions, execution logs, and data never leave your network when Kestra runs on your own infrastructure (Docker, Kubernetes, or air-gapped). Tray.ai is cloud-only, which means execution telemetry, workflow metadata, and any data that passes through connectors flows through Tray.ai's infrastructure. For teams in regulated industries where data residency is non-negotiable, Tray.ai is not an option." + - title: Workflows in Git, deployable like code + description: "Every Kestra flow is a YAML file reviewed in a pull request, versioned in Git, and deployed through the same CI/CD pipeline as your application code. Tray.ai workflows are built and stored in the visual editor with no native Git integration. When an automation breaks at 3am, a git blame and commit history tell you what changed. A Tray.ai workflow history shows you the same UI you used to build it." + +decisionGuide: + mainTitle: The Right Tool for the Right Job + kestra: + title: Choose Kestra When + list: + - "Your team needs data pipelines, ETL, or infrastructure automation alongside business process workflows." + - "Data residency or compliance requires self-hosting, with execution staying on your own infrastructure." + - "Workflows must live in version control, pass code review, and deploy through CI/CD." + - "You want cost to scale with infrastructure, not with connector volume or enterprise licensing." + - "Your engineers own the workflow layer and need observability, retries, and Git history." + competitor: + title: Choose Tray.ai When + list: + - "Your primary need is consolidating enterprise SaaS integrations across Salesforce, ServiceNow, Workday, and similar systems." + - "You are deploying AI agents at scale and need built-in MCP governance, guardrails, and identity controls." + - "Business and IT teams need to build and modify automations without engineering ownership." + - "Enterprise compliance and a managed cloud platform matter more than self-hosting flexibility." + - "You want a single platform for integration, AI agents, and API management under centralized governance." + shadowColor: "#D0DCF0" + bulletColor: "#1E3A8A" + +commonQuestions: + - question: How do I migrate from Tray.ai to Kestra? + answer: "Map each Tray.ai workflow step to the equivalent Kestra plugin. HTTP connectors, schedule triggers, Slack and email notifications, and webhook-based flows translate directly. For Tray.ai's 700+ pre-built connectors, Kestra's 1,200+ plugin library covers the most common enterprise targets: Salesforce, AWS, GCP, Azure, databases, and data warehouses. For systems without a native plugin, the HTTP plugin handles any REST API. Most teams migrate incrementally, starting with data and infrastructure workflows while keeping Tray.ai for complex enterprise SaaS integrations during the transition." + - question: Can Kestra handle the enterprise app integrations Tray.ai offers? + answer: "Kestra's 1,200+ plugins cover the most common enterprise integration targets: Salesforce, AWS, GCP, Slack, databases, data warehouses, and more. For systems without a native plugin, the HTTP plugin handles any REST API and Script tasks can call any SDK or CLI tool. Tray.ai's 700+ pre-built connectors are optimized for deep SaaS integrations with minimal custom configuration. For teams whose critical integrations involve common enterprise platforms, Kestra's coverage is sufficient. For teams that rely on Tray.ai's specific pre-built enterprise connectors for Workday, SAP, or ServiceNow, those reduce integration time." + - question: How does Tray.ai's AI agent capability compare to Kestra's approach? + answer: "Tray.ai's Merlin Agent Builder is purpose-built for creating and governing AI agents, with native MCP server support, identity controls, and enterprise guardrails. Kestra orchestrates AI workflows as part of broader pipelines: calling LLM APIs, processing outputs, routing results, and triggering downstream systems, all in deterministic YAML with full observability. If your primary goal is deploying governed conversational or autonomous AI agents across enterprise systems, Tray.ai is designed for that. If your AI workloads are steps inside data pipelines or infrastructure workflows that need reliable orchestration, Kestra handles that natively." + - question: How does Kestra handle compliance requirements that Tray.ai covers? + answer: "Kestra supports RBAC with namespace isolation, multi-tenancy, audit logs for every execution, SSO/SAML, and secrets management integration with AWS Secrets Manager, Vault, and Azure Key Vault. It is SOC 2 Type II and GDPR compliant. For teams that need self-hosting, Kestra runs in air-gapped environments and on-premise Kubernetes clusters. Tray.ai offers equivalent enterprise compliance controls as a managed cloud service. The difference is that Kestra's self-hosted deployment keeps all data on your infrastructure, while Tray.ai's compliance controls operate within their cloud." + - question: Can Kestra and Tray.ai run in parallel during a transition? + answer: "The two platforms operate independently. Most teams migrate in phases: data engineering and infrastructure workflows move to Kestra first, while complex enterprise SaaS integrations stay in Tray.ai until they can be re-expressed in Kestra plugins or HTTP calls. Kestra can trigger Tray.ai workflows via webhook during the transition if cross-platform orchestration is needed. The clean separation point is usually the data layer: anything that touches a data warehouse, runs a transformation, or needs version-controlled deployment moves to Kestra; anything that synchronizes enterprise SaaS state moves later." + - question: What does self-hosting Kestra look like compared to Tray.ai's cloud model? + answer: "Kestra deploys on Docker or Kubernetes with a single Compose file for local development and Helm charts for production. The database and queue are bundled, so there are no external dependencies to provision beyond your infrastructure. Execution logs, workflow definitions, and secrets all stay on your infrastructure. Tray.ai is fully managed, so there is no infrastructure to operate, but all workflow execution flows through Tray.ai's cloud. For teams where data residency is non-negotiable, the self-hosting trade-off is clear: you operate more infrastructure in exchange for complete control over where your data goes." diff --git a/src/contents/vs/workato.yaml b/src/contents/vs/workato.yaml new file mode 100644 index 0000000000..3cbb519bf6 --- /dev/null +++ b/src/contents/vs/workato.yaml @@ -0,0 +1,241 @@ +title: "Kestra vs. Workato: Universal Orchestration vs. Enterprise iPaaS" +description: "Compare Kestra vs Workato: Open-source workflow orchestration for engineering teams vs. enterprise integration platform for business automation. See features, deployment options, and use cases." +competitorName: Workato +category: Enterprise iPaaS +shortDescription: "Low-code enterprise SaaS integration vs. engineering-grade orchestration for data pipelines, infrastructure, and self-hosting." + +brandColor: + color: "#0055B3" + gradient: "linear-gradient(90deg, #0055B3, #00A3FF, #0078D4)" + +intro: + title: "Kestra vs. Workato: Universal Orchestration vs. Enterprise iPaaS" + description: "Workato is an enterprise integration platform built for connecting SaaS applications and automating business processes like order-to-cash and employee onboarding. Kestra is a workflow orchestration platform for engineering and data teams that need data pipelines, infrastructure automation, and business workflows running at production scale, with full version control and the option to self-host." + +philosophy: + mainTitle: Two Platforms, Two Approaches to Automation + kestra: + title: "Engineering-Grade Orchestration for Any Workflow" + description: "Declarative YAML orchestration platform for engineering and data teams. Define data pipelines, infrastructure automation, and business workflows in version-controlled YAML. Any event, any language, self-hosted or on Kestra Cloud, with GitOps and full audit trails." + subCardText: '"How do I build production workflows my engineering team can version, test, and deploy like code?"' + competitor: + title: Enterprise Integration and Business Process Automation + description: "Low-code iPaaS built for enterprise teams connecting SaaS apps and automating business processes. Visual recipe builder lets business and IT teams automate without writing code. Cloud-only, with thousands of pre-built connectors for Salesforce, Workday, ServiceNow, SAP, and more." + shadowColor: "#D1E9FF" + subCardBg: "var(--ks-background-blue-light)" + subCardText: '"How do I connect our enterprise apps and automate business processes without writing code?"' + +businessValue: + mainTitle: "Business Process Automation.
Engineering-Grade Orchestration." + kestra: + title: Production-Grade Workflow Orchestration + list: + - Automate data pipelines, infrastructure, and business processes in one platform + - Self-hosted or cloud, with full data residency control + - GitOps-native: version control, CI/CD, and Terraform for all workflows + - RBAC, audit logs, and multi-tenancy for enterprise compliance + - Handles 100,000+ concurrent tasks with no per-recipe pricing ceiling + competitor: + title: Enterprise Integration Platform (iPaaS) + list: + - Thousands of pre-built connectors for Salesforce, Workday, ServiceNow, SAP, and more + - Low-code visual recipe builder for business and IT teams + - Cloud-only, multi-region deployment (US, EU, APAC) + - Quote-based pricing tied to recipe volume and connector usage + - 8x Gartner Magic Quadrant Leader for iPaaS + shadowColor: "#D1E9FF" + bulletColor: "#0055B3" + footerText: "For enterprise teams connecting SaaS applications and automating business processes like order-to-cash or employee onboarding, Workato's connector library and visual builder are hard to match. When you need data pipelines, self-hosting for compliance, engineering-grade GitOps, or cost predictability at scale, Kestra is built for that scope." + +setupSpeed: + title: Time to First Workflow + subtitle: "Workato is cloud-only SaaS, so there is no infrastructure to provision. But workflows live exclusively in Workato's cloud, pricing scales with recipe volume, and migrating away means re-exporting everything manually. Kestra gives you the same fast start in two commands, with full portability." + kestra: + title: + one: "~5" + two: Minutes + description: "Download the Docker Compose file, spin it up, and you're ready (database and config included). Open the UI, pick a Blueprint, run it. No cloud account required, no per-recipe billing, no vendor lock-in." + command: | + curl -o docker-compose.yml \ + https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml + docker compose up + + # Open localhost:8080 + # Pick a Blueprint, run it. Done. + lang: sh + competitor: + title: + one: "~20" + two: Minutes + description: "Sign up at workato.com, connect your first app via OAuth, and build your first recipe in the visual editor. No infrastructure to manage, but all workflows run in Workato's cloud and pricing scales with the number of recipes and recipe runs." + shadowColor: "#D1E9FF" + command: | + # Sign up at workato.com + # Connect an app via OAuth + # Build a recipe in the visual editor: + + Trigger: Scheduler (daily at 8:00 AM) + + Step 1: HTTP action + URL: your-dbt-cloud-endpoint + Method: POST + + Step 2: Slack - Send message + Channel: #data-team + Text: "Daily report ready" + + # Recipes are stored in Workato's cloud. + # Version control requires manual JSON export. + lang: yaml + +easeOfUse: + title: Version-Controlled Workflows vs. Visual Recipe Builder + kestra: + title: "Kestra: Readable by Your Whole Team" + description: "YAML is readable on day 1. Our docs are embedded in the UI for easy reference, the AI Copilot writes workflows for you, or start with our library of Blueprints. Workflows live in Git and deploy through your existing CI/CD pipeline." + code: | + id: daily_report + namespace: analytics + + triggers: + - id: daily + type: io.kestra.plugin.core.trigger.Schedule + cron: "0 8 * * *" + + tasks: + - id: run_dbt + type: io.kestra.plugin.dbt.cli.DbtCLI + commands: + - dbt run --select reporting + + - id: notify + type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook + url: "{{ secret('SLACK_WEBHOOK') }}" + messageText: "Daily report ready" + lang: yaml + competitor: + title: "Workato: Visual Recipes for Business Teams" + description: "Workato recipes are built visually in the browser using a drag-and-drop editor. Recipe Copilot uses AI to generate automations from natural language descriptions. No code required for standard integrations. Complex logic uses Workato's proprietary formula language." + shadowColor: "#D1E9FF" + code: | + # Workato recipe (built visually in-browser) + # Conceptual structure: + + Trigger: Scheduler + schedule: daily at 8:00 AM + + Action 1: HTTP request + url: "#{dbt_cloud_endpoint}" + method: POST + headers: + Authorization: "Bearer #{dbt_token}" + + Action 2: Slack - Post message + channel: "#data-team" + message: "Daily report ready" + + # To version-control: export recipe as JSON manually. + # No native Git integration on standard plans. + lang: yaml + +visualPreview: + mainTitle: One Platform for Your Entire Technology Stack + kestra: + description: "Orchestrate data pipelines, infrastructure provisioning, business processes, and event-driven automations in one platform. Self-host with full control or use Kestra Cloud." + competitor: + description: "Connect enterprise SaaS apps and automate business processes with thousands of pre-built connectors and a visual builder. Excellent for IT and business teams automating Salesforce-to-Workday flows. Not designed for data pipeline execution or engineering-team workflows." + shadowColor: "#D1E9FF" + +featureGrid: + title: Kestra vs Workato at a Glance + tableData: + - feature: Primary use case + kestra: Universal workflow orchestration + competitor: Enterprise app integration and business process automation + - feature: Workflow definition + kestra: Declarative YAML (version-controlled) + competitor: Visual recipe builder (low-code, cloud-stored) + - feature: Deployment model + kestra: Self-hosted or Kestra Cloud + competitor: Cloud-only (no self-hosting) + - feature: Languages supported + kestra: "Agnostic (Python, R, Bash, Node.js, SQL & more)" + competitor: "Proprietary formula language for custom logic; no general-purpose code execution" + - feature: Data pipeline support + kestra: "✓ Native support (ETL, dbt, Spark, Airbyte)" + competitor: Data pipeline recipes available but not built for compute-heavy workloads + - feature: Infrastructure automation + kestra: "✓ Native support" + competitor: Not designed for this + - feature: Self-service for non-engineers + kestra: "✓ Kestra Apps" + competitor: "✓ Visual recipe builder for business teams" + - feature: GitOps and version control + kestra: "✓ Native Git sync, Terraform provider" + competitor: Manual recipe export; Git integration on higher plans + - feature: Multi-tenancy and RBAC + kestra: "✓ Enterprise namespace isolation" + competitor: "✓ Enterprise workspaces and role-based access" + - feature: Pricing model + kestra: Infrastructure cost (no per-recipe billing) + competitor: "Quote-based, scales with recipe volume and connector usage" + - feature: Open source + kestra: "✓ Open source (Apache 2.0)" + competitor: Closed source SaaS + +testimonials: + - quote: "With Kestra, orchestration stopped being a fragile point in the architecture and became a stable foundation for the business." + author: "Rafael Bartalotti, Engineering Manager @ Víssimo" + kpis: + - value: "90%" + name: Reduction in integration costs + - value: "40%" + name: Reduction in BI and ETL costs + - value: "0" + name: Black Friday 2025 incidents + storyLink: /use-cases/stories/31-modernizing-mission-critical-e-commerce-integrations-with-kestra + +platformStrengths: + title: Kestra Is Built for Engineering Teams, Not Just Business Users + features: + - title: Workflows in Git, not locked in the cloud + description: "Every Kestra flow is a YAML file that lives in your repository, deploys through CI/CD, and gets reviewed like any other code change. Workato recipes are stored in Workato's cloud. Moving them between environments or auditing change history requires manual export and re-import." + - title: Data pipelines as first-class workflows + description: "Kestra ships native plugins for dbt, Airbyte, Spark, Snowflake, BigQuery, Databricks, and 1,200+ more. Engineers define ETL pipelines alongside business workflows in the same declarative YAML, with DAG visualization and retry semantics for data-specific failures. Workato's data pipeline recipes can move data between systems but are not built for compute-intensive transformations or long-running analytical workloads." + - title: No per-recipe cost ceiling + description: "Per-recipe pricing makes cost projection difficult as automation scales. Kestra runs on your infrastructure with no such ceiling: costs scale with infrastructure, not workflow count. Teams that have replaced iPaaS platforms with Kestra have reported integration cost reductions of 90% or more, including one team that cut integration spend to roughly 10% of their previous iPaaS bill." + +decisionGuide: + mainTitle: The Right Tool for the Right Job + kestra: + title: Choose Kestra When + list: + - "Your team needs data pipelines, ETL, or infrastructure automation alongside business workflows." + - "Workflows must live in version control, pass code review, and deploy through CI/CD." + - "Self-hosting is required for data residency, compliance, or cost predictability." + - "You want cost to scale with infrastructure, not with the number of recipes you build." + - "Non-engineers need to trigger and monitor workflows, not build them from scratch." + competitor: + title: Choose Workato When + list: + - "Your primary use case is connecting enterprise SaaS apps: Salesforce, Workday, ServiceNow, SAP." + - "Business and IT teams need to build and maintain automations without engineering involvement." + - "You need a large pre-built connector library with minimal custom integration work." + - "Workflow governance is handled through Workato's platform rather than Git and CI/CD." + - "You want a recognized enterprise iPaaS with Gartner Magic Quadrant validation and dedicated enterprise support." + shadowColor: "#D1E9FF" + bulletColor: "#0055B3" + +commonQuestions: + - question: How do I migrate from Workato to Kestra? + answer: "Export your Workato recipes and map each trigger and action to the equivalent Kestra plugin. Scheduled triggers, webhooks, and HTTP actions translate directly. For Workato's pre-built SaaS connectors, Kestra's 1,200+ plugin library covers the most common targets including Salesforce, Slack, databases, and cloud storage. For connectors without a native Kestra plugin, the HTTP plugin handles any REST API. Most teams migrate incrementally, starting with data and infrastructure workflows while keeping Workato for complex SaaS-to-SaaS integrations." + - question: Can Kestra automate business processes the way Workato does? + answer: "Yes. Kestra handles business process automation through event triggers (webhooks, message queues, file arrivals), conditional logic, parallel branches, and human-in-the-loop steps via Kestra Apps. Kestra workflows are built in YAML by engineers, not visually by business users. If your business teams need to build and modify automations independently without writing YAML, Workato's visual builder gives them more direct control. If your engineering team owns the automation layer and business users only need to trigger and monitor, Kestra lets engineers apply the same review, test, and deploy practices to automation as to any other code." + - question: Does Kestra have the enterprise connectors Workato has? + answer: "Kestra's 1,200+ plugins cover the most common enterprise integration targets: AWS, GCP, Azure, Salesforce, Slack, databases, data warehouses, dbt, Airbyte, and more. For systems without a native plugin, the HTTP plugin handles any REST API and Script tasks can call any SDK or CLI tool. Workato's connector library is broader for niche SaaS applications, particularly in HR, finance, and ERP. For teams depending on deep Workday or SAP pre-built actions, Workato reduces integration time. For teams whose critical integrations involve common platforms, Kestra's plugin coverage is sufficient." + - question: How does version control work in Workato vs Kestra? + answer: "Kestra workflows are YAML files stored in Git. Every change is a commit, deployments are tracked, and rollbacks work like any other code change. Workato recipes are stored in Workato's cloud and can be exported as JSON for manual version control, with Git integration available on higher-tier plans. For teams with strict change management requirements or engineering workflows that go through code review, Kestra's Git-native approach removes the manual export step and keeps automation in the same workflow as application code." + - question: How does pricing compare between Kestra and Workato? + answer: "Kestra's open-source version is free to self-host; Kestra Cloud pricing is based on execution usage. Workato uses quote-based pricing tied to recipe volume and connector usage, which becomes difficult to predict as automation scales. Teams that have replaced iPaaS platforms with Kestra have reported integration cost reductions exceeding 90%. The trade-off is that Kestra requires infrastructure to operate, while Workato is fully managed with enterprise support included." + - question: Can non-technical users use Kestra the way they use Workato? + answer: "Kestra Apps let non-technical users trigger, monitor, and interact with workflows through a no-code interface without touching YAML or accessing the engineering UI. Business users in Kestra consume workflows built by engineers; they don't build them independently. Workato's visual recipe builder lets business teams create and modify automations without any engineering involvement. If self-service workflow creation for non-technical users is a primary requirement, Workato's model gives them more autonomy. If the engineering team owns the automation layer, Kestra Apps give those users a no-code interface to trigger and monitor without crossing into the engineering layer." diff --git a/src/contents/vs/zapier.yaml b/src/contents/vs/zapier.yaml new file mode 100644 index 0000000000..48f1d5628b --- /dev/null +++ b/src/contents/vs/zapier.yaml @@ -0,0 +1,239 @@ +title: "Kestra vs. Zapier: Universal Orchestration vs. No-Code App Automation" +description: "Compare Kestra vs Zapier: Open-source workflow orchestration for engineering and data teams vs. no-code app automation for individuals and small teams. See features, pricing, and use cases." +competitorName: Zapier +category: No-Code Automation +shortDescription: "No-code app-to-app automation with per-task billing vs. production-grade orchestration with no execution ceiling." + +brandColor: + color: "#FF4A00" + gradient: "linear-gradient(90deg, #FF4A00, #FF6B35, #FF8C00)" + +intro: + title: "Kestra vs. Zapier: Universal Orchestration vs. No-Code App Automation" + description: "Zapier connects over 7,000 apps with a visual, no-code builder and a free tier that lets anyone automate in minutes. Kestra is a workflow orchestration platform for engineering and data teams that need data pipelines, infrastructure automation, and business processes running at production scale, with version control and the option to self-host." + +philosophy: + mainTitle: Two Tools, Two Scales of Automation + kestra: + title: "Production Orchestration: Any Workflow, Any Scale" + description: "Declarative YAML orchestration platform for engineering and data teams. Define data pipelines, infrastructure automation, and business workflows in version-controlled YAML. Any event, any language, self-hosted or on Kestra Cloud, with no per-task billing ceiling." + subCardText: '"How do I build production workflows that run at scale without per-task billing cutting me off?"' + competitor: + title: No-Code App Automation for Individuals and Small Teams + description: "Visual automation platform built for connecting apps without writing code. Triggers and actions map to events in over 7,000 integrated apps. Free tier, fast setup, and a massive app library make it the default starting point for non-technical automation." + shadowColor: "#FFE0D0" + subCardBg: "var(--ks-background-orange-light)" + subCardText: '"How do I connect these two apps and automate this repetitive task without writing any code?"' + +businessValue: + mainTitle: "App Automation Connects Tools.
Orchestration Runs Your Business." + kestra: + title: Production-Grade Workflow Orchestration + list: + - Automate data pipelines, infrastructure, and business processes in one platform + - Self-hosted or cloud, with full data residency control + - GitOps-native: version control, CI/CD, and Terraform for all workflows + - RBAC, audit logs, and multi-tenancy for enterprise compliance + - Handles 100,000+ concurrent tasks with no per-task billing ceiling + competitor: + title: No-Code App Automation + list: + - 7,000+ pre-built app integrations (largest library in the category) + - Free tier limited to 100 tasks/month and 2-step Zaps only + - Multi-step Zaps and premium apps require the Professional plan ($19.99/month) + - Every successful action counts as one billable task + - Cloud-only, no self-hosting available + shadowColor: "#FFE0D0" + bulletColor: "#FF4A00" + footerText: "For individuals and small teams connecting SaaS apps and automating simple repetitive tasks without writing code, Zapier's app library and free tier are hard to beat. When workflows involve data pipelines, infrastructure automation, complex multi-step logic, or volumes that exceed per-task billing thresholds, Kestra is built for that scope." + +setupSpeed: + title: Time to First Workflow + subtitle: "Zapier is cloud-only SaaS, so there is no infrastructure to configure. The visual builder gets simple two-app Zaps running in minutes. The per-task billing model means cost scales with execution volume from day one." + kestra: + title: + one: "~5" + two: Minutes + description: "Download the Docker Compose file, spin it up, and you're ready (database and config included). Open the UI, pick a Blueprint, run it. No cloud account required, no per-task billing, no execution limits." + command: | + curl -o docker-compose.yml \ + https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml + docker compose up + + # Open localhost:8080 + # Pick a Blueprint, run it. Done. + lang: sh + competitor: + title: + one: "~10" + two: Minutes + description: "Sign up at zapier.com, choose a trigger app and action app, connect via OAuth, and map the fields. Free tier gives 100 tasks/month with 2-step Zaps. Multi-step Zaps require a paid plan." + shadowColor: "#FFE0D0" + command: | + # Sign up at zapier.com + # Choose trigger app + action app + # Connect via OAuth, map fields + + Trigger: Schedule by Zapier + Frequency: Daily at 8:00 AM + + Action 1: Webhooks by Zapier - POST + URL: https://cloud.getdbt.com/api/v2/.../run/ + Headers: Authorization: Token {token} + + Action 2: Slack - Send Channel Message + Channel: #data-team + Text: "Daily report ready" + + # 2 tasks per run. At daily frequency: ~62 tasks/month. + lang: yaml + +easeOfUse: + title: Version-Controlled Workflows vs. Visual Zap Builder + kestra: + title: "Kestra: Readable by Your Whole Team" + description: "YAML is readable on day 1. Our docs are embedded in the UI for easy reference, the AI Copilot writes workflows for you, or start with our library of Blueprints. Workflows live in Git and deploy through your existing CI/CD pipeline." + code: | + id: daily_report + namespace: analytics + + triggers: + - id: daily + type: io.kestra.plugin.core.trigger.Schedule + cron: "0 8 * * *" + + tasks: + - id: run_dbt + type: io.kestra.plugin.dbt.cli.DbtCLI + commands: + - dbt run --select reporting + + - id: notify + type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook + url: "{{ secret('SLACK_WEBHOOK') }}" + messageText: "Daily report ready" + lang: yaml + competitor: + title: "Zapier: Visual Zaps for Non-Technical Users" + description: "Zapier Zaps are built by selecting a trigger app, an action app, and mapping fields between them in the browser. No code required for standard connections. Multi-step Zaps with paths, filters, and delays require a paid plan. Zap logic lives in Zapier's cloud with no local files." + shadowColor: "#FFE0D0" + code: | + # Zapier Zap (built visually in-browser) + + Trigger: Schedule by Zapier + Frequency: Daily at 8:00 AM + + Action 1: Webhooks by Zapier - POST + URL: "https://cloud.getdbt.com/api/v2/accounts/{{id}}/jobs/{{job_id}}/run/" + Headers: {Authorization: "Token {{dbt_token}}"} + Data: {cause: "Zapier scheduled run"} + + Action 2: Slack - Send Channel Message + Channel: "#data-team" + Message: "Daily report ready" + + # No version control. No local files. + # Each action = 1 billable task. + lang: yaml + +visualPreview: + mainTitle: One Platform for Your Entire Technology Stack + kestra: + description: "Orchestrate data pipelines, infrastructure provisioning, business processes, and event-driven automations in one platform. No execution ceiling, no per-task billing. Self-host with full control or use Kestra Cloud." + competitor: + description: "Connect SaaS apps and automate repetitive tasks without writing code. Fast setup, massive app library, and a free tier make it the default starting point for simple automation. Not designed for data pipelines, infrastructure automation, or workflows that need version control." + shadowColor: "#FFE0D0" + +featureGrid: + title: Kestra vs Zapier at a Glance + tableData: + - feature: Primary use case + kestra: Universal workflow orchestration + competitor: No-code app-to-app automation + - feature: Workflow definition + kestra: Declarative YAML (version-controlled) + competitor: Visual Zap builder (cloud-stored, no files) + - feature: Deployment model + kestra: Self-hosted or Kestra Cloud + competitor: Cloud-only (no self-hosting) + - feature: Languages supported + kestra: "Agnostic (Python, R, Bash, Node.js, SQL & more)" + competitor: "No-code (Formatter and Code by Zapier for basic logic)" + - feature: Data pipeline support + kestra: "✓ Native support (ETL, dbt, Spark, Airbyte)" + competitor: Not designed for data pipelines or compute-heavy workloads + - feature: Infrastructure automation + kestra: "✓ Native support" + competitor: Not designed for this + - feature: Self-service for non-engineers + kestra: "✓ Kestra Apps" + competitor: "✓ Visual builder requires no engineering" + - feature: Multi-step workflows with logic + kestra: "✓ Native (conditionals, parallel branches, loops)" + competitor: Paths and filters available on Professional plan only + - feature: GitOps and version control + kestra: "✓ Native Git sync, Terraform provider" + competitor: No version control (Zap history only) + - feature: Pricing model + kestra: Infrastructure cost (no per-task billing) + competitor: "Per-task billing; free tier caps at 100 tasks/month" + - feature: Open source + kestra: "✓ Open source (Apache 2.0)" + competitor: Closed source SaaS + +testimonials: + - quote: "Kestra made the data mesh possible. We produce far more data now, and deliver it nearly 10 times faster." + author: "Julien Henrion, CDO @ Leroy Merlin" + kpis: + - value: "+900%" + name: In data production + - value: "+250" + name: Active users + - value: "+5000" + name: Workflows created + storyLink: /use-cases/stories/14-datamesh-at-scale-increased-its-data-production-by-900percent + +platformStrengths: + title: Kestra Is Built for Production, Not Just Point-to-Point Automation + features: + - title: No task ceiling, no billing surprises + description: "Zapier charges per task: every successful action counts against your monthly quota. At 100 tasks/month on the free tier, a single daily Zap with two actions consumes 62 tasks before accounting for anything else. Kestra runs on your infrastructure with no per-task billing. A workflow that runs 10,000 times a day costs the same to execute as one that runs once." + - title: Data pipelines run alongside everything else + description: "Native plugins for dbt, Airbyte, Spark, Snowflake, BigQuery, Databricks, and 1,200+ more let data engineers define ETL pipelines in the same YAML they use for event-driven workflows and infrastructure automation. Zapier can POST to a dbt Cloud API endpoint, but there are no native data plugins, no DAG visualization, and no retry semantics for transformation failures." + - title: Workflows in Git, not locked in a browser + description: "Every Kestra flow is a YAML file that lives in your repository, deploys through CI/CD, and rolls back like any other code change. Zapier Zaps are stored in Zapier's cloud with no local representation. Reviewing a change, rolling back a broken Zap, or auditing what ran last Tuesday all require navigating Zapier's UI rather than reading a commit history." + +decisionGuide: + mainTitle: The Right Tool for the Right Job + kestra: + title: Choose Kestra When + list: + - "Your workflows involve data pipelines, ETL, or infrastructure automation beyond app-to-app connections." + - "Execution volume makes per-task billing impractical: hundreds of workflows running daily." + - "Workflows must live in version control, pass code review, and deploy through CI/CD." + - "Self-hosting is required for data residency, compliance, or cost predictability." + - "Your team needs multi-step logic, parallel branches, and error handling without paying for a higher plan tier." + competitor: + title: Choose Zapier When + list: + - "Your automation needs are simple: connect two apps, trigger on an event, take an action." + - "Non-technical users need to build and maintain automations independently, without engineering help." + - "You need a specific app integration from the 7,000+ library with no custom development." + - "Low execution volume fits within a task quota without hitting billing ceilings." + - "You want the fastest possible path from idea to working automation with no setup required." + shadowColor: "#FFE0D0" + bulletColor: "#FF4A00" + +commonQuestions: + - question: How do I migrate from Zapier to Kestra? + answer: "Map each Zap trigger and action to the equivalent Kestra plugin. Scheduled Zaps become Schedule triggers; webhook Zaps become Webhook triggers; HTTP actions use the HTTP plugin. For Zapier's pre-built app connectors, Kestra's 1,200+ plugin library covers Slack, Gmail, databases, cloud storage, Salesforce, and most common targets. For anything not in the plugin library, the HTTP plugin handles any REST API. Most teams migrate incrementally, starting with Zaps that have grown beyond their task quota or that need multi-step logic unavailable on lower Zapier plans." + - question: Can Kestra handle simple app-to-app automation like Zapier does? + answer: "Yes. Kestra supports webhook triggers, HTTP actions, Slack notifications, email sending, and connections to virtually any API through its plugin library. The difference is that Kestra workflows are written in YAML rather than built visually. For a non-technical user who needs to connect Gmail to Slack with no engineering support, Zapier's visual builder is faster. For an engineering or data team that already works in YAML and Git, Kestra's approach fits naturally into existing workflows without adding a separate tool to manage." + - question: What happens when I hit Zapier's task limits? + answer: "Zapier automatically switches to pay-per-task billing at 1.25x the base task rate once you exceed your monthly quota. For teams with growing automation needs, this creates unpredictable costs. Upgrading to higher Zapier plans increases the task quota but does not eliminate per-task pricing. Kestra runs on your infrastructure with no task-based billing: a workflow that executes a thousand times costs the same to run as one that executes ten times." + - question: How does pricing compare between Kestra and Zapier at scale? + answer: "Zapier's Professional plan starts at $19.99/month for a task quota, then bills per additional task. At higher volumes, that adds up quickly. Kestra's open-source version is free to self-host; Kestra Cloud pricing is based on execution resources rather than per-task counting. For teams running dozens of scheduled workflows daily, the infrastructure cost of running Kestra typically comes out below Zapier's task-based pricing." + - question: Does Kestra support multi-step workflows with conditional logic? + answer: "Yes, without requiring a paid plan upgrade. Kestra supports conditional branching, parallel task execution, loops, subflows, error handling, and retry logic as first-class YAML constructs available in the open-source version. Zapier's Paths feature (conditional routing) and multi-step Zaps both require the Professional plan at $19.99/month or above. On Zapier's free tier, automations are limited to two-step trigger-plus-action sequences." + - question: Can non-technical users use Kestra the way they use Zapier? + answer: "Kestra Apps let non-technical users trigger, monitor, and interact with workflows through a no-code interface without touching YAML or accessing the engineering UI. Kestra's business users consume workflows built by engineers; they don't create them independently. Zapier's visual builder lets a non-technical user build an entire automation themselves in minutes. If the primary requirement is self-service automation creation for non-technical users with no engineering involvement, Zapier's builder has a lower floor. Kestra Apps work best when engineering owns the workflow layer and business users need a no-code interface to trigger and monitor without crossing into the engineering UI." diff --git a/src/pages/vs/gitlab.astro b/src/pages/vs/gitlab.astro new file mode 100644 index 0000000000..5670714aa7 --- /dev/null +++ b/src/pages/vs/gitlab.astro @@ -0,0 +1,131 @@ +--- +import { getEntry } from "astro:content" +import VsLayout from "~/components/versus/VsLayout.astro" +import Intro from "~/components/versus/Intro.astro" +import Philosophy from "~/components/versus/Philosophy.astro" +import BusinessValue from "~/components/versus/BusinessValue.astro" +import SetupSpeed from "~/components/versus/SetupSpeed.astro" +import EaseOfUse from "~/components/versus/EaseOfUse.astro" +import VisualPreview from "~/components/versus/VisualPreview.astro" +import FeatureGrid from "~/components/versus/FeatureGrid.astro" +import VsTestimonial from "~/components/versus/VsTestimonial.astro" +import PlatformStrengths from "~/components/common/PlatformStrengths.astro" +import DecisionGuide from "~/components/versus/DecisionGuide.astro" +import SeeHow from "~/components/common/SeeHow.astro" +import Faq from "~/components/common/Faq.vue" + +// TODO: replace with gitlab.svg?raw once logo SVG is added +const gitlabLogo = "" +// TODO: replace with gitlab-monograme.svg?raw once monogram SVG is added +const gitlabMonogram = "" +import data1 from "~/components/versus/assets/data-1.svg" +import data2 from "~/components/versus/assets/data-2.svg" +import data3 from "~/components/versus/assets/data-3.svg" +import kestraImg from "~/components/versus/assets/kestra-img.svg" +import gitlabImg from "~/components/versus/assets/gitlab-img.svg" +// TODO: replace with hero_ui_gitlab.webp once created +import heroUI from "~/components/versus/assets/hero_ui.webp" +import lmfrImage from "~/components/versus/assets/lmfr.png" + +const entry = await getEntry("vs", "gitlab") +if (!entry) throw new Error("Could not find vs/gitlab collection entry") + +const { + title, + shortDescription, + competitorName, + + intro, + philosophy, + businessValue, + setupSpeed, + easeOfUse, + visualPreview, + featureGrid, + testimonials, + platformStrengths, + decisionGuide, + commonQuestions, +} = entry.data +--- + + + + + + + + + + + ({ + ...f, + image: { src: [data1, data2, data3][i] }, + }))} + /> + + + + + Getting Started with Declarative Orchestration + + See how Kestra can simplify your workflows—and scale beyond repository-scoped pipelines. + + diff --git a/src/pages/vs/make.astro b/src/pages/vs/make.astro new file mode 100644 index 0000000000..bcfda92265 --- /dev/null +++ b/src/pages/vs/make.astro @@ -0,0 +1,131 @@ +--- +import { getEntry } from "astro:content" +import VsLayout from "~/components/versus/VsLayout.astro" +import Intro from "~/components/versus/Intro.astro" +import Philosophy from "~/components/versus/Philosophy.astro" +import BusinessValue from "~/components/versus/BusinessValue.astro" +import SetupSpeed from "~/components/versus/SetupSpeed.astro" +import EaseOfUse from "~/components/versus/EaseOfUse.astro" +import VisualPreview from "~/components/versus/VisualPreview.astro" +import FeatureGrid from "~/components/versus/FeatureGrid.astro" +import VsTestimonial from "~/components/versus/VsTestimonial.astro" +import PlatformStrengths from "~/components/common/PlatformStrengths.astro" +import DecisionGuide from "~/components/versus/DecisionGuide.astro" +import SeeHow from "~/components/common/SeeHow.astro" +import Faq from "~/components/common/Faq.vue" + +// TODO: replace with make.svg?raw once logo SVG is added +const makeLogo = "" +// TODO: replace with make-monograme.svg?raw once monogram SVG is added +const makeMonogram = "" +import data1 from "~/components/versus/assets/data-1.svg" +import data2 from "~/components/versus/assets/data-2.svg" +import data3 from "~/components/versus/assets/data-3.svg" +import kestraImg from "~/components/versus/assets/kestra-img.svg" +import makeImg from "~/components/versus/assets/make-img.svg" +// TODO: replace with hero_ui_make.webp once created +import heroUI from "~/components/versus/assets/hero_ui.webp" +import lmfrImage from "~/components/versus/assets/lmfr.png" + +const entry = await getEntry("vs", "make") +if (!entry) throw new Error("Could not find vs/make collection entry") + +const { + title, + shortDescription, + competitorName, + + intro, + philosophy, + businessValue, + setupSpeed, + easeOfUse, + visualPreview, + featureGrid, + testimonials, + platformStrengths, + decisionGuide, + commonQuestions, +} = entry.data +--- + + + + + + + + + + + ({ + ...f, + image: { src: [data1, data2, data3][i] }, + }))} + /> + + + + + Getting Started with Declarative Orchestration + + See how Kestra can simplify your workflows—and scale beyond operation-credit limits. + + diff --git a/src/pages/vs/microsoft-fabric.astro b/src/pages/vs/microsoft-fabric.astro new file mode 100644 index 0000000000..706c45d022 --- /dev/null +++ b/src/pages/vs/microsoft-fabric.astro @@ -0,0 +1,131 @@ +--- +import { getEntry } from "astro:content" +import VsLayout from "~/components/versus/VsLayout.astro" +import Intro from "~/components/versus/Intro.astro" +import Philosophy from "~/components/versus/Philosophy.astro" +import BusinessValue from "~/components/versus/BusinessValue.astro" +import SetupSpeed from "~/components/versus/SetupSpeed.astro" +import EaseOfUse from "~/components/versus/EaseOfUse.astro" +import VisualPreview from "~/components/versus/VisualPreview.astro" +import FeatureGrid from "~/components/versus/FeatureGrid.astro" +import VsTestimonial from "~/components/versus/VsTestimonial.astro" +import PlatformStrengths from "~/components/common/PlatformStrengths.astro" +import DecisionGuide from "~/components/versus/DecisionGuide.astro" +import SeeHow from "~/components/common/SeeHow.astro" +import Faq from "~/components/common/Faq.vue" + +// TODO: replace with microsoft-fabric.svg?raw once logo SVG is added +const fabricLogo = "" +// TODO: replace with microsoft-fabric-monograme.svg?raw once monogram SVG is added +const fabricMonogram = "" +import data1 from "~/components/versus/assets/data-1.svg" +import data2 from "~/components/versus/assets/data-2.svg" +import data3 from "~/components/versus/assets/data-3.svg" +import kestraImg from "~/components/versus/assets/kestra-img.svg" +import fabricImg from "~/components/versus/assets/microsoft-fabric-img.svg" +// TODO: replace with hero_ui_microsoft-fabric.webp once created +import heroUI from "~/components/versus/assets/hero_ui.webp" +import lmfrImage from "~/components/versus/assets/lmfr.png" + +const entry = await getEntry("vs", "microsoft-fabric") +if (!entry) throw new Error("Could not find vs/microsoft-fabric collection entry") + +const { + title, + shortDescription, + competitorName, + + intro, + philosophy, + businessValue, + setupSpeed, + easeOfUse, + visualPreview, + featureGrid, + testimonials, + platformStrengths, + decisionGuide, + commonQuestions, +} = entry.data +--- + + + + + + + + + + + ({ + ...f, + image: { src: [data1, data2, data3][i] }, + }))} + /> + + + + + Getting Started with Declarative Orchestration + + See how Kestra can simplify your workflows—and orchestrate beyond the Azure ecosystem. + + diff --git a/src/pages/vs/simplyask.astro b/src/pages/vs/simplyask.astro new file mode 100644 index 0000000000..8b6471d772 --- /dev/null +++ b/src/pages/vs/simplyask.astro @@ -0,0 +1,131 @@ +--- +import { getEntry } from "astro:content" +import VsLayout from "~/components/versus/VsLayout.astro" +import Intro from "~/components/versus/Intro.astro" +import Philosophy from "~/components/versus/Philosophy.astro" +import BusinessValue from "~/components/versus/BusinessValue.astro" +import SetupSpeed from "~/components/versus/SetupSpeed.astro" +import EaseOfUse from "~/components/versus/EaseOfUse.astro" +import VisualPreview from "~/components/versus/VisualPreview.astro" +import FeatureGrid from "~/components/versus/FeatureGrid.astro" +import VsTestimonial from "~/components/versus/VsTestimonial.astro" +import PlatformStrengths from "~/components/common/PlatformStrengths.astro" +import DecisionGuide from "~/components/versus/DecisionGuide.astro" +import SeeHow from "~/components/common/SeeHow.astro" +import Faq from "~/components/common/Faq.vue" + +// TODO: replace with simplyask.svg?raw once logo SVG is added +const simplyaskLogo = "" +// TODO: replace with simplyask-monograme.svg?raw once monogram SVG is added +const simplyaskMonogram = "" +import data1 from "~/components/versus/assets/data-1.svg" +import data2 from "~/components/versus/assets/data-2.svg" +import data3 from "~/components/versus/assets/data-3.svg" +import kestraImg from "~/components/versus/assets/kestra-img.svg" +import simplyaskImg from "~/components/versus/assets/simplyask-img.svg" +// TODO: replace with hero_ui_simplyask.webp once created +import heroUI from "~/components/versus/assets/hero_ui.webp" +import lmfrImage from "~/components/versus/assets/lmfr.png" + +const entry = await getEntry("vs", "simplyask") +if (!entry) throw new Error("Could not find vs/simplyask collection entry") + +const { + title, + shortDescription, + competitorName, + + intro, + philosophy, + businessValue, + setupSpeed, + easeOfUse, + visualPreview, + featureGrid, + testimonials, + platformStrengths, + decisionGuide, + commonQuestions, +} = entry.data +--- + + + + + + + + + + + ({ + ...f, + image: { src: [data1, data2, data3][i] }, + }))} + /> + + + + + Getting Started with Declarative Orchestration + + See how Kestra can simplify your workflows—and scale beyond no-code business process automation. + + diff --git a/src/pages/vs/tray-ai.astro b/src/pages/vs/tray-ai.astro new file mode 100644 index 0000000000..60a5c4d50b --- /dev/null +++ b/src/pages/vs/tray-ai.astro @@ -0,0 +1,131 @@ +--- +import { getEntry } from "astro:content" +import VsLayout from "~/components/versus/VsLayout.astro" +import Intro from "~/components/versus/Intro.astro" +import Philosophy from "~/components/versus/Philosophy.astro" +import BusinessValue from "~/components/versus/BusinessValue.astro" +import SetupSpeed from "~/components/versus/SetupSpeed.astro" +import EaseOfUse from "~/components/versus/EaseOfUse.astro" +import VisualPreview from "~/components/versus/VisualPreview.astro" +import FeatureGrid from "~/components/versus/FeatureGrid.astro" +import VsTestimonial from "~/components/versus/VsTestimonial.astro" +import PlatformStrengths from "~/components/common/PlatformStrengths.astro" +import DecisionGuide from "~/components/versus/DecisionGuide.astro" +import SeeHow from "~/components/common/SeeHow.astro" +import Faq from "~/components/common/Faq.vue" + +// TODO: replace with tray-ai.svg?raw once logo SVG is added +const trayAiLogo = "" +// TODO: replace with tray-ai-monograme.svg?raw once monogram SVG is added +const trayAiMonogram = "" +import data1 from "~/components/versus/assets/data-1.svg" +import data2 from "~/components/versus/assets/data-2.svg" +import data3 from "~/components/versus/assets/data-3.svg" +import kestraImg from "~/components/versus/assets/kestra-img.svg" +import trayAiImg from "~/components/versus/assets/tray-ai-img.svg" +// TODO: replace with hero_ui_tray-ai.webp once created +import heroUI from "~/components/versus/assets/hero_ui.webp" +import lmfrImage from "~/components/versus/assets/lmfr.png" + +const entry = await getEntry("vs", "tray-ai") +if (!entry) throw new Error("Could not find vs/tray-ai collection entry") + +const { + title, + shortDescription, + competitorName, + + intro, + philosophy, + businessValue, + setupSpeed, + easeOfUse, + visualPreview, + featureGrid, + testimonials, + platformStrengths, + decisionGuide, + commonQuestions, +} = entry.data +--- + + + + + + + + + + + ({ + ...f, + image: { src: [data1, data2, data3][i] }, + }))} + /> + + + + + Getting Started with Declarative Orchestration + + See how Kestra can simplify your workflows—and scale beyond enterprise iPaaS. + + diff --git a/src/pages/vs/workato.astro b/src/pages/vs/workato.astro new file mode 100644 index 0000000000..776da11694 --- /dev/null +++ b/src/pages/vs/workato.astro @@ -0,0 +1,131 @@ +--- +import { getEntry } from "astro:content" +import VsLayout from "~/components/versus/VsLayout.astro" +import Intro from "~/components/versus/Intro.astro" +import Philosophy from "~/components/versus/Philosophy.astro" +import BusinessValue from "~/components/versus/BusinessValue.astro" +import SetupSpeed from "~/components/versus/SetupSpeed.astro" +import EaseOfUse from "~/components/versus/EaseOfUse.astro" +import VisualPreview from "~/components/versus/VisualPreview.astro" +import FeatureGrid from "~/components/versus/FeatureGrid.astro" +import VsTestimonial from "~/components/versus/VsTestimonial.astro" +import PlatformStrengths from "~/components/common/PlatformStrengths.astro" +import DecisionGuide from "~/components/versus/DecisionGuide.astro" +import SeeHow from "~/components/common/SeeHow.astro" +import Faq from "~/components/common/Faq.vue" + +// TODO: replace with workato.svg?raw once logo SVG is added +const workatoLogo = "" +// TODO: replace with workato-monograme.svg?raw once monogram SVG is added +const workatoMonogram = "" +import data1 from "~/components/versus/assets/data-1.svg" +import data2 from "~/components/versus/assets/data-2.svg" +import data3 from "~/components/versus/assets/data-3.svg" +import kestraImg from "~/components/versus/assets/kestra-img.svg" +import workatoImg from "~/components/versus/assets/workato-img.svg" +// TODO: replace with hero_ui_workato.webp once created +import heroUI from "~/components/versus/assets/hero_ui.webp" +import lmfrImage from "~/components/versus/assets/lmfr.png" + +const entry = await getEntry("vs", "workato") +if (!entry) throw new Error("Could not find vs/workato collection entry") + +const { + title, + shortDescription, + competitorName, + + intro, + philosophy, + businessValue, + setupSpeed, + easeOfUse, + visualPreview, + featureGrid, + testimonials, + platformStrengths, + decisionGuide, + commonQuestions, +} = entry.data +--- + + + + + + + + + + + ({ + ...f, + image: { src: [data1, data2, data3][i] }, + }))} + /> + + + + + Getting Started with Declarative Orchestration + + See how Kestra can simplify your workflows—and scale beyond enterprise iPaaS. + + diff --git a/src/pages/vs/zapier.astro b/src/pages/vs/zapier.astro new file mode 100644 index 0000000000..1d9dd417a5 --- /dev/null +++ b/src/pages/vs/zapier.astro @@ -0,0 +1,131 @@ +--- +import { getEntry } from "astro:content" +import VsLayout from "~/components/versus/VsLayout.astro" +import Intro from "~/components/versus/Intro.astro" +import Philosophy from "~/components/versus/Philosophy.astro" +import BusinessValue from "~/components/versus/BusinessValue.astro" +import SetupSpeed from "~/components/versus/SetupSpeed.astro" +import EaseOfUse from "~/components/versus/EaseOfUse.astro" +import VisualPreview from "~/components/versus/VisualPreview.astro" +import FeatureGrid from "~/components/versus/FeatureGrid.astro" +import VsTestimonial from "~/components/versus/VsTestimonial.astro" +import PlatformStrengths from "~/components/common/PlatformStrengths.astro" +import DecisionGuide from "~/components/versus/DecisionGuide.astro" +import SeeHow from "~/components/common/SeeHow.astro" +import Faq from "~/components/common/Faq.vue" + +// TODO: replace with zapier.svg?raw once logo SVG is added +const zapierLogo = "" +// TODO: replace with zapier-monograme.svg?raw once monogram SVG is added +const zapierMonogram = "" +import data1 from "~/components/versus/assets/data-1.svg" +import data2 from "~/components/versus/assets/data-2.svg" +import data3 from "~/components/versus/assets/data-3.svg" +import kestraImg from "~/components/versus/assets/kestra-img.svg" +import zapierImg from "~/components/versus/assets/zapier-img.svg" +// TODO: replace with hero_ui_zapier.webp once created +import heroUI from "~/components/versus/assets/hero_ui.webp" +import lmfrImage from "~/components/versus/assets/lmfr.png" + +const entry = await getEntry("vs", "zapier") +if (!entry) throw new Error("Could not find vs/zapier collection entry") + +const { + title, + shortDescription, + competitorName, + + intro, + philosophy, + businessValue, + setupSpeed, + easeOfUse, + visualPreview, + featureGrid, + testimonials, + platformStrengths, + decisionGuide, + commonQuestions, +} = entry.data +--- + + + + + + + + + + + ({ + ...f, + image: { src: [data1, data2, data3][i] }, + }))} + /> + + + + + Getting Started with Declarative Orchestration + + See how Kestra can simplify your workflows—and scale beyond per-task billing. + + diff --git a/src/schemas/vs.ts b/src/schemas/vs.ts index 741c3002f3..5cfe0017bd 100644 --- a/src/schemas/vs.ts +++ b/src/schemas/vs.ts @@ -36,7 +36,7 @@ export const vsSchema = z.object({ title: z.string(), description: z.string(), competitorName: z.string(), - category: z.enum(["Data Orchestration", "Infrastructure Automation"]), + category: z.enum(["Data Orchestration", "Infrastructure Automation", "CI/CD and Workflow Automation", "Enterprise iPaaS", "No-Code Automation", "Data Analytics Platform"]), shortDescription: z.string(), brandColor: z.object({ color: z.string(),