November 01, 2022

Happy 1st Birthday Fermyon

Matt Butcher

fermyon spin java dotnet javascript cloud platform

Happy 1st Birthday Fermyon

Hello Fermyon Friends!

One year ago, eleven of us started our first day of work at a new job—and a new company. We each signed some paperwork, and then dove into our first project. Project One was both mundane and ambitious. The goal: Get our website up and running. The catch: It had to be running on our own WebAssembly-based technology. And not all of that technology had been created yet.

Three months later, we finished Project One. Early in February of 2022, we launched Fermyon.com. The site ran on Bartholomew, a weekend project that grew into a full-fledged Content Management System (CMS). Backed by Wagi and orchestrated by Nomad, our newly launched website demonstrated to ourselves and others that cloud-based WebAssembly could be used in production.

Several of the people behind Fermyon came from DeisLabs. Wagi was a DeisLabs experimental project to bring a CGI style of programming to the WebAssembly world. In short, it used only WebAssembly and the WASI extensions, allowing users to create simple web applications. Requiring only core WebAssembly tooling, Wagi was able to accommodate a wide variety of languages.

But Wagi could have been more sophisticated. We needed something better. The engineering team began working on a WebAssembly runtime powered by the emerging WebAssembly Component Model.

Spin

Using event-based triggers, our Spin runtime provided an elegant tool for creating HTTP apps as well as Redis pubsub subscribers. Not wanting to release anything on April Fools Day, we released on the last day of March. As seasoned open source veterans, we were shocked to see Spin take off, gaining a thousand GitHub stars in its first few days.

With Spin done, we turned our attention from development to operations. We wanted to build a platform that anyone could install on their own infrastructure and be able to execute Spin WebAssembly applications. Using Terraform, we packaged up the pieces of our own website’s infrastructure: Nomad, Bindle, Hippo, Traefik, and Spin. In June, while we were attending the Open Source Summit NA in Austin, we released Fermyon Platform.

WebAssembly is a great technology—a binary format that many languages could, in theory, compile to. Languages like C, Rust, Swift, and Go have been supported for a long time. However, some of the other top 20 programming languages had not yet seen WebAssembly compile targets. We decided to get involved in the language ecosystem. We took the emerging .NET WebAssembly and WASI support and built a Spin SDK. Then we began with the TeaVM and added Spin support to Java as well. Most recently, we have worked on JavaScript. One great thing about being in an emerging ecosystem is that others often surprise us with the work they are doing. Ruby and Python both announced support for WebAssembly and WASI, with each likely reaching stability this year.

Fermyon Cloud

Now in the last quarter of this year, we have released one more thing. One of the first pieces of feedback that we received, in relation to Spin, was that individuals wanted to be able to run their applications right away without having to manage the infrastructure. And we, as developers, understood this desire. After all, we feel the same way. So we created Fermyon Cloud, a free environment for deploying and managing Spin WebAssembly applications. At some point in the future, we’ll add a paid tier to that service, but with today’s Fermyon Cloud you can run your own applications on a publicly accessible (and TLS-secured) endpoint. If you would like to take Fermyon Cloud for a test drive, please go ahead and check out our announcement bloglong-form introductory video (and related blog),  as well as our Fermyon Cloud quick-start video & documentation.

Fermyon turns 1

Today is November 1st. One year ago, we started Fermyon. Our team has grown from eleven to the mid-twenties. As a fully distributed company, we’re still a little surprised to realize that we have Fermyon boffins working on five continents. (No, Antarctica is not one of them, though we did have an employee volunteer to move there.) In one year, we have accomplished a lot. But this is just the beginning. WebAssembly is the next wave of cloud computing, and that wave is still building momentum. We’re looking forward to year two.


🔥 Recommended Posts


Quickstart Your Serveless Apps with Spin

Get Started