Introducing Reactr, the next generation function scheduler
Today I would like to introduce Reactr, the next generation of Suborbital's core scheduler. Reactr is an all-in-one function scheduler with support for Go and WebAssembly. Reactr is a culmination of almost 2 years of work, so let's start with some quick history.
The very first repository created under the Suborbital name was Hive. It was a simplified version of a former project that had become large and bloated. Hive's goal was originally to be an easy to use job scheduler for Go apps, nothing more. Since Hive was created about 2 years ago, it evolved in many ways. It became the core of Atmo, and gained an extremely powerful multi-tenant WebAssembly execution environment with a great API for app development.
With all of that change brought complexity. Today, Hive has been refactored, reworked, and re-imagined to become Reactr. Firstly, there’s the small matter of “Reactr” fitting better with Suborbital's branding, as we do love our space flight motif. More importantly, Hive's Wasm support was provided via the external
hive-wasm project, which made it feel bolted on. It is now included in the box with Reactr, which makes it easier to integrate and test alongside the core scheduler. A lot about the developer experience from Hive remains the same. It's still a super simple scheduler, and is a joy to use in your Go applications. Oh, and upgrading from Hive to Reactr shouldn't take more than 10 minutes, some find-and-replace will do the trick.
One of the main changes is the updated internal WebAssembly runtime. Taking advantage of the recently released version 1.0, Reactr contains the latest that Wasmer has to offer. This increases the performance of WebAssembly execution immensely, and also greatly simplified the codebase, making future development much easier. New capabilities for the Runnable API will now come faster and with less effort. Atmo will soon undergo a transition from Hive to Reactr, just as soon as a few more features have been added. This will likely be the catalyst for Atmo Beta-1, so stay tuned!
Oh, and can we take in that snazzy new logo? Hot damn.
If you’re interested in working with WebAssembly on the server, please consider taking the Suborbital survey so we can build tools you’d love to use! It will take less than 5 minutes.
I'm extremely pleased with the feedback that Suborbital projects have received over the past year, and I'm so excited about everything planned for 2021 and beyond! As always, please reach out on Twitter, or via the Suborbital discussions if you have any questions, and sign up for the Suborbital Launch Pad newsletter below to stay in the loop!