Introducing Fermyon, the Frictionless WebAssembly Platform
Today we are excited to announce the preview release of Fermyon, the frictionless WebAssembly platform for writing microservices and web apps. To get you started, we’ve got an installer GitHub repo to provide a couple of ways to get Fermyon installed.
We’ve been talking for a long time about how WebAssembly enables the next wave of cloud computing. And we’d like to show you why. Finicky Whiskers, our DockerCon presentation, and our WasmDay talk about running a WebAssembly CMS have all covered various aspects of how we run multiple WebAssembly microservices in production (often alongside containers). Now you can install our platform on your own system.
For the last few months, we’ve been quietly at work assembling the tools necessary for you to install Fermyon into your own environment. And today, we’ve released an installable version along with a complete set of documentation. Let’s take a look at what is included with Fermyon.
Fermyon's Values: The How and Why
One of the first efforts we undertook when starting Fermyon was setting for ourselves a core set of values. Values function for us as a critical component of company culture. We want our values to be meaningful virtues that we genuinely aspire to enact. This post talks about how we decided on our values, why we picked the ones we did, and how we use our values in day-to-day life.
Finicky Whiskers (pt. 4): Spin, Containers, Nomad, and Infrastructure
Finicky Whiskers is a fast-paced game about feeding a picky kitty. It’s also the world’s most adorable manual load generator. It showcases how WebAssembly modules can be started, executed, and shut down in the blink of an eye. In a typical game of Finicky whiskers, where a player scores 100 points, 260+ WebAssembly modules are started, run, and terminated. Contrast that with current container technology, and you’ll quickly understand why we believe WebAssembly is critical for the next wave of cloud computing.
This is the fourth and final part of our Finicky Whiskers series. We started our series with an overview of the world’s most adorable manual load generator. Next, we looked at how Finicky Whiskers serves static files quickly and easily. From there, we dove into code, taking a look at the five microservices that drive Finicky Whiskers. In this post, we’re going to dive into the Finicky Whiskers infrastructure.
Writing Webhooks with Spin
Webhooks provide a simple tool for integrating with services like GitHub, Trello, Slack, and Discord. The system is a simple way of linking a service event (a new issue being opened, a card being moved…) with an action on a remote URL. In this article, we’ll create a Spin application that uses webhooks to link two services together:
- Trello sends an event when a card is moved
- Spin accepts the event, and then sends a message to a Slack channel
- Slack receives and displays the message
We’ll be building a simple Spin app called “Bookhook” to track a reading list. Bookhook will receive a notification from Trello any time I change my reading list, and then will send a notification to Slack to keep my friends updated on what I am reading. In the process, we’ll see an example of an inbound webhook (where we write the listener) and an outbound webhook (where we call someone else’s endpoint). While we’ll be writing some simple Rust code, the principles are the same in any programming language.
Before diving into this tutorial, you may prefer to check out this short video that shows the code in action. Then read on for the details of how we built the “Bookhook” webhook application.
Finicky Whiskers (pt. 3): The Microservices
In the first part of this series, we introduced Finicky Whiskers, the world’s most adorable manual load generator. In this game, you must click as fast as you can to feed Slats the Cat whatever food that she currently desires. The problem is, she keeps changing her mind. Can you feed this fickle feline before the timer runs out?
In the second part, we looked at the Spin Fileserver microservice and got a better understanding for how the Spin Framework executes microservices. We also looked at how generic microservices like Spin Fileserver can be re-used within other applications.
For the third part, we now focus on a few of the microservices that manage the gameplay of Finicky Whiskers.