Software Alternatives, Accelerators & Startups

Run e2e tests 10x faster using firecracker VMs

Buildkite Fly.io Bazel
  1. Buildkite is a platform for running fast, secure, and scalable continuous integration pipelines on your own infrastructure.
    Pricing:
    • Open Source
    A few issues I have with this blog post: 1. It doesn't show off the unique capabilities of firecracker very well. 2. The comparison not very fair fair. 2a. GitHub Action is run without any caching, just by adding 2 lines to your build-push-action, "cache-from: type=gha, cache-to: type=gha,mode=max" you can make it a lot faster. 2b. ~1m20s of the time is just "VM start". GitHub Actions has had a rough time recently, but you should never wait that long to get your CI running in day-to-day operation. 2c. The tests are unrealistically short at 20s which allows the author to get to their 10x faster number. Let's say the GitHub Action starts in 5 seconds, the GitHub Actions cache reduces the build time to 1 minute and the tests take 10 minutes to run. Now Firecracker is 10% faster ... You can also get comparable performance out of https://buildkite.com/ which lets you self-host runners on AWS meaning you're almost guaranteed to get a hot docker cache (running against locally attached SSDs), which means you can start running your tests (almost) as fast with much more mature tooling.

    #Continuous Integration #DevOps Tools #CI 11 social mentions

  2. 2
    Edge computing is the new frontier.

    #Cloud Computing #Developer Tools #Cloud Hosting 443 social mentions

  3. 3
    Bazel is a tool that automates software builds and tests.
    Pricing:
    • Open Source
    > Why do you need to snapshot live processes? Often times there are long-living processes which rarely change but take a long time to warm up. The Bazel [1] agent for C++ projects, the buildkit [2] state for docker, or the running Postgres or Redis server for a cloud native app for example. It's why running "docker build" twice on your laptop is so fast, but running "docker build" in CI seems glacially slow. > why is docker-in-docker a requirement, and how is that easier than qemu in qemu or qemu in docker or whatever? The example given was running "docker-compose build", so you'd need either docker-in-firecracker (this post), docker-in-docker, or docker-in-qemu. You'd almost never run docker-compose build on bare metal in practice, because you'd immediately need to push the images you built somewhere to use them. [1] https://bazel.build/.

    #Front End Package Manager #DevOps Tools #JavaScript Package Manager 62 social mentions

Discuss: Run e2e tests 10x faster using firecracker VMs

Log in or Post with