Skip to main content

Open Source Alternative to Airplane for Internal Tools

Airplane is great for building internal tools. Windmill does it too, but makes it easier to deploy and maintain them at scale.

Although being a tool similar to Airplane, Windmill adopts radically different approaches.

Windmill Airplane

Airplane is a developer platform to build internal UIs and workload automation.

Open Source

Windmill is fully open source. This implies that Windmill can be self-hosted with just a few commands, providing cost-effective and secure solutions.

Windmill offers a clean slate, allowing you to fully explore its platform before committing to the product. Windmill's open-source nature ensures that the platform is tested, approved, and continuously enhanced to meet the community's needs.

Finally, Windmill provides and integrates into its platform a public Community Hub where users share useful and proven scripts, flows, and applications.

Windmill Github

Airplane

Airplane is a proprietary software and closed source.

Performance at scale & cold start

Given Airplane's architecture, tasks are run on fresh fargate containers. This has pros and cons. The biggest cons is that one is subject to the cold-start of Amazon fargate that routinely can go as high as 2 minutes.

Windmill's architecture is different and each task is run on the current fleet of worker (which you can auto-scale automatically) and hence do not suffer from cold start. Isolation and creating dedicated dependency environment is the secret sauce that makes Windmill the fastest execution runtime for scripts (10ms cold start).

Thus Airplane cannot run to the scale of millions of tasks because of this design choice and require a much costlier and heavier infrastructure than windmill. Windmill can run 26M tasks a month on a single worker costing 5$. Airplane does not provide figures on its average runtime and performance.

Also, Windmill has a transparent API, on which you could imagine launching 1m simulateously by API.

This inability to scale, inefficient architecture and high cold-start is the most common reasons for users to migrate from Airplane to Windmill.

Trust but verify: to ensure the performance of Windmill's workers and measure their capabilities, we provide a benchmarking tool. This tool allows you to benchmark the execution of jobs and flows, providing insights into the performance metrics.

Building and Deploying

Windmill's strength lies in its ability to run scripts without having to deal with separate dependency files. This is achieved by automatically parsing the imports and resolving the dependencies. Therefore, all dependencies can be handled from within the script.

Deployments in Windmill can be done from the web UI in a matter of seconds, or from Windmill's CLI. Before deployment and at any point, you can test what you are building directly from the editors.

The videos below show how to:

  • build
  • manage dependencies
  • deploy

the same script on Windmill vs Airplane (all loading times are at 100% speed).


On Windmill, write and test your script from the editor. Deploy it with web UI and it's ready for running & sharing.


For Airplane, it implies:

  • Creating the file from the web UI (or CLI).
  • Editing it on a separate code editor.
  • Testing on the web UI.
  • Adding dependencies on a separate package.json file.
  • Running npm install.
  • Deploying from terminal.
  • Running the actual script on another web UI page.

Low-Code Editors

Windmill embedds a web IDE and low-code builders to create endpoints, flows and apps.

Scripts in Airplane

Building scripts in Airplane involves transitioning from the web UI to a separate code editor and eventually employing the terminal.

Windmill has a Script Editor with an integrated Monaco Editor. Only if you prefer, you can also use our CLI and VSCode, and write your code concurrently with your team.

Flows in Airplane

The workflow engine of Airplane is built upon Temporal, which is incredibly complex. This complexity results in a lack of efficiency and intuitiveness.


Airplane also embeds an equivalent feature called Runbooks that allows to compose multiple tasks together. Airplanes's Runbooks are a good fit for small series of succint simple tasks executing one after each other.


Runbooks will hardly support complexity as the Airplane does not provide a graphical view, or built-in ways to create conditional branches or loops. At last, editing and deployment will be cumbersome since the low-code builders are highly limited and do not allow dynamically choosing the inputs & outputs of each step, or editing and writing scripts directly from the flow builder.

Windmill's Flow Editor allows you to compose steps together to build workflows and ETLs, represented as DAGs. As the flow editor has a dedicated web UI and relies on scripts, it is the perfect fit between code and low code.

Apps in Airplane

Building apps in Airplane implies going 100% through code using React, with limited available components.

Windmill's App Editor works on a drap-and-drop basis, with code where it matters. If you prefer, you can also import apps in React/Vue/Svelte and link them to your scripts and flows.

Pricing

Windmill has a transparent pricing policy, with clear steps for implementation.

Windmill is cheaper at scale and can be used for free at any scale thanks to its open source nature.

Integrations

Windmill has dozens of integrations initiated by the community and approved by the Windmill team.

Anyone can create an integration with just a few clicks.

Everything else

For everyting else, it's comparable: you can develop locally and source control, use VSCode, generate webhooks, etc.

To conclude, Airplane is excellent for executing scripts within a familiar framework for developers.

Windmill goes a step further, allowing less technical profiles to develop scripts. This experience is complemented by Flow and App editors, as well as easier deployment and dependency management.