Skip to content

Commit

Permalink
Update Main.vue
Browse files Browse the repository at this point in the history
  • Loading branch information
anna-geller committed Sep 13, 2023
1 parent 47dbef4 commit c715679
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions components/vs/prefect/Main.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,50 @@
<div>
<h2>About Kestra & Prefect</h2>
<p>Kestra is an open-source orchestrator designed to bring Infrastructure as Code (IaC) best practices to all workflows — from those orchestrating mission-critical operations, business processes, and data pipelines to simple Zapier-style automations. Built with an API-first philosophy, Kestra enables users to define and manage data pipelines through a simple YAML configuration file. This approach frees you from being tied to a specific client implementation, allowing for greater flexibility and easier integration with various tools and services.</p>
<p>While Prefect provides a flexible API, the orchestration logic is currently tied to Python only. Any change to your workflow configuration requires redeploying container images, leading to complex deployment patterns and slow feedback loops. Additionally, Prefect requires you to manage complicated infrastructure with workers and queues before you can schedule any workflow. Kestra is more lightweight — you can get to a scheduled workflow in less than 5 minutes without having to manage any complex infrastructure components. Kestra offers worker groups only when you need more control for advanced use cases.</p>
<p>While Prefect provides a flexible API, the orchestration logic is currently tied to Python only. Any change to your workflow configuration requires redeploying container images, leading to complex deployment patterns and slow feedback loops. Additionally, Prefect requires you to manage complicated infrastructure with workers and queues before you can schedule any workflow. Kestra is more lightweight — you can get to a scheduled workflow in less than 5 minutes without having to manage any complex infrastructure components. Kestra offers dedicated infrastructure provided with worker groups only when you need more control for advanced use cases.</p>
</div>

<div clas="mt-5">
<h3>Similarities</h3>
<ul>
<li>Both tools allow incremental adoption of the product — you can start simple and build more complex workflows over time.</li>
<li>Both are focused on building flexible API-first abstractions.</li>
<li>Both allow event-driven workflows and subflows to allow modular and decoupled workflow design.</li>
<li>Both offer flexible API-first abstractions.</li>
<li>Both allow modular and decoupled workflow design using subflows and event-driven triggers.</li>
</ul>
</div>

<div clas="mt-5">
<h3>Differences</h3>
<ul>
<li>Prefect can orchestrate Python, while Kestra is language-agnostic.</li>
<li>While Kestra’s event-driven capabilities are available in the open-source version, Prefect only offers event-driven features as part of the paid product, Prefect Cloud.</li>
<li>Kestras event processing is unlimited — even in the open-source version. In contrast, Prefect allows you to add no more than 10 event-driven automation on their SaaS offering. To orchestrate more events, you need to be on the Enterprise tier.</li>
<li>Kestras event triggers are easier to configure than Prefect events. In Prefect, you have to click through multiple UI steps to configure event-driven automation. In contrast, Kestra allows you to manage that with code in a single YAML file.</li>
<li>Kestras syntax and deployment patterns are simpler. All tasks, triggers, orchestration, and deployment logic can be defined in a single YAML file. In Prefect, you define your workflow in Python and then you also need a YAML file for deployment definition.</li>
<li>While Kestra’s event-driven capabilities are available in the open-source version, Prefect only offers event-driven features as part of Prefect Cloud.</li>
<li>Kestra's event processing is unlimited — even in the open-source version. In contrast, Prefect allows no more than ten event-driven automations on the self-served tier. To orchestrate more events, you need to be on the Enterprise tier.</li>
<li>Kestra's event triggers are more accessible than Prefect's events. In Prefect, you must click through multiple UI steps to configure event-driven automation. In contrast, Kestra allows you to manage that with code in a single YAML file.</li>
<li>Kestra's syntax and deployment patterns are simpler. A single YAML file defines all tasks, triggers, orchestration, and deployment logic. In Prefect, you express your workflow in Python and need a YAML file for deployment and schedule definition and then other steps from a Cloud UI to define event triggers, effectively accomplishing the same what Kestra offers out-of-the-box but with a slower and more complicated setup, making the deployment process challenging to implement and maintain over time.</li>
</ul>
</div>

<div class="mt-5">
<h2>Installation and Setup</h2>
<p>Kestra offers a Docker-based installation that simplifies the onboarding process, requiring just a few commands to get up and running. In the Open source version of Prefect, the architecture is divided into a control plane (Server) and an execution plane (Agent), each requiring separate installations. This separation adds complexity to the setup, as users have to ensure coordination between server components and agents.</p>
<p>Kestra offers a Docker-based installation with a simple onboarding process. You can get up and running in a single command. The architecture in Prefect is more complex, requiring separate server, worker, and queue components, a dedicated workflow deployment process, and more infrastructure maintenance.</p>
</div>

<div class="mt-5">
<h2>Modular, Scalable Architecture</h2>
<p>Kestra's architecture, built on microservices and technologies like Postgres and Kafka, is engineered for high scalability and can handle large volumes of work simultaneously.</p>
<p>Kestra's architecture is built for high availability and can handle a large volume of work simultaneously.</p>
<p>Prefect, on the other hand, relies on Python, which limits its scalability due to issues with dependency management and concurrent processing.</p>
</div>

<div class="mt-5">
<h2>Approach to Workflow Definitions</h2>
<p>Kestra offers a language-agnostic, API-first, and YAML-based workflow definition interface. This design choice opens the door for engineers from diverse programming backgrounds, and it fosters easier integration with various tools and systems. By being language-agnostic, Kestra removes the learning curve often associated with adopting new technology, as engineers can use languages they are already comfortable with. The API-first architecture makes it simple to interface Kestra with existing systems.</p>
<p>At the time of writing, Prefect can only orchestrate Python, narrowing its utility mainly to Python engineers. It imposes a barrier to entry for engineers who are not well-versed in managing Python dependencies and working with that language, thereby limiting cross-team collaboration.</p>
<p>Kestra offers a language-agnostic, API-first, and YAML-based workflow definition interface. This design choice opens the door for engineers from diverse programming backgrounds and makes building integrations more manageable. By being language-agnostic, Kestra removes the learning curve often associated with adopting new technology, as engineers can use languages they are already comfortable with. The API-first architecture makes it simple to interface Kestra with existing systems.</p>
<p>At the time of writing, Prefect can only orchestrate Python, narrowing its utility mainly to Python engineers. It imposes a barrier to entry for engineers who are not well-versed in managing Python dependencies and working with that language, thereby limiting cross-team collaboration.</p>
</div>

<div class="mt-5">
<h2>Workflow Deployment</h2>
<p>Kestra's deployment process is compatible with tools like Terraform, GitHub Actions, or GitLab CI, leveraging the principles of Infrastructure as Code (IaC). This integration with existing CI/CD pipelines allows for rapid deployments and iterations.</p>
<p>Prefect's deployments require packaging Python code into container images, leading to slow feedback loops and heavy deployment processes. Imagine having to manage thousands of container images as you scale the number of workflows to thousands. It adds significant storage and maintenance costs.</p>
<p>You can add new workflows in Kestra directly from the code editor built into the UI. To manage production workflows with Git, Kestra offers a Terraform provider and integrations with CI/CD systems, including GitHub Actions, BitBucket, GitLab CI, and Azure DevOps.</p>
<p>Prefect deployments require packaging Python code into container images, leading to slow feedback loops and heavy deployment processes. As you scale the number of workflows to thousands, you'll also have to manage thousands of container images. It adds significant storage and maintenance costs.</p>
</div>

<div class="mt-5">
Expand All @@ -57,7 +57,7 @@

<div class="mt-5">
<h2>Cross-role Collaboration and Accessibility</h2>
<p>Kestra's user-friendly interface is designed for cross-role collaboration, inviting not just engineers but also business stakeholders. Prefect is a developer tool — it doesnt offer features for non-technical team members. Prefect can orchestrate Python, while Kestra can orchestrate your entire business.</p>
<p>Kestra's user-friendly interface is designed for cross-role collaboration, inviting not just engineers but also business stakeholders. Prefect is a developer tool — it doesn't offer features for non-technical team members. Prefect can orchestrate Python Kestra can orchestrate your entire business.</p>
</div>
</Section>

Expand All @@ -78,7 +78,7 @@
<table class="table table-bordered mb-0">
<thead>
<tr>
<th>Feature/Capability</th>
<th>Capability</th>
<th>Kestra</th>
<th>Prefect</th>
</tr>
Expand Down

1 comment on commit c715679

@vercel
Copy link

@vercel vercel bot commented on c715679 Sep 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

kestra-io – ./

kestra-io-git-main-kestra.vercel.app
kestra-io-kestra.vercel.app
kestra-io.vercel.app

Please sign in to comment.