webapp.io vs CircleCI
CircleCI is a popular and well established Continuous Integration service.
Price comparison
webapp.io charges a flat fee per developer, whereas CircleCI has a usage-based “credit” system.
For a team with:
- 10 developers
- 50 commits per day
- 8 parallel CI tasks per commit
- 10 minutes of compute per task
- 4 vCPUs per runner
- Docker Layer Caching (docker builds)
CircleCI would charge:
- 125,000 credits for seats
- 80,000 credits for docker layer caching
- 1,760,000 credits for runners (Linux VM large, 50 commits * 22 work days * 80 minutes * 20 credits/min)
In total, CircleCI would charge $1160/mo on the performance plan.
Webapp.io would charge:
- 490/mo on the team plan.
CircleCI price ~490/mo on the team plan ($390/mo/year on an annual subscription)
When would you choose Webapp.io over CircleCI?
Webapp.io is specifically built for full-stack webapps, so it comes with features which aren’t included in CircleCI.
Skipping steps automatically with our file watcher
Webapp.io has a powerful caching system which automatically makes builds faster:
- As your build progresses, webapp.io monitors which files are used by which build steps at the hardware level.
- For example, you don’t have to micromanage cache keys for steps like
npm install
ordocker build
, because we’ll know which files are used by those steps. - This would often mean 2x - 10x faster builds for common webapp workloads like starting databases and installing dependencies with no extra configuration.
- For more information, see the webapp.io tuning performance documentation
Share docker build state with RUN REPEATABLE
Instead of pushing/pulling docker images to a registry like CircleCI’s docker layer caching, webapp.io has a directive to completely share the state of a build to a subsequent build with the RUN REPEATABLE directive.
In general, this means significantly faster Docker builds at no extra cost, since the runner can share all of its images and build cache from previous builds.
Always-available debug terminal
If a CircleCI build fails, you can re-run it with instrumentation enabled using the Rerun job with SSH feature. The instance will run for two hours billing at the usual rate, and then shut off.
In contrast, when a webapp.io build fails, the VM is hibernated and kept around - a button to “view debugging terminal” is available below the run logs, and will automatically wake up the instance and set up a SSH connection via your browser.