Introducing Fermyon Cloud
The Fermyon Team
spin
cms
wasm
webassembly
cloud
rust
microservices
fermyon
In March of this year we introduced Spin, our tool for building WebAssembly applications for the cloud. We were pleasantly surprised at how quickly Spin gained your interest. Three days after its release, it had already garnered over 500 GitHub stars. A few weeks ago we passed 6,000 Spin installations. Today, we’re excited to release one of the earliest requested features: You can now deploy apps directly from Spin to our Fermyon Cloud platform. All it takes is a spin deploy
. (And yes, it’s free.)
Spin
Spin is an open source framework, that you can use on your infrastructure, to build and run fast, secure, and composable cloud microservices with WebAssembly. The day we released Spin, one of the first questions on Hacker News was:
Do you offer any hosted services? Spin looks amazing but I don’t want to manage my own server.
Fermyon Cloud
This got us thinking. Developers would definitely have a more enjoyable experience if they did not have to set up their own infrastructure just to try out and deploy an app. And we’d been talking for a long time about how economical we believe WebAssembly to be. We got to work building a platform that we knew would be cheap to operate, but full of features.
Fermyon Cloud is a platform for running Spin web applications and microservices. Build a web app and have it running on our services within minutes. Log into the Fermyon Cloud dashboard to see your applications, view the log files, and manage deployments. Whether you’re in the initial stages of app development or ready to test out the finished product, we want the Fermyon Cloud to be the easiest way for you to get it done.
The Building Blocks of Fermyon Cloud
Fermyon Cloud is built on top of many of the open source tools you can find in the installer for Fermyon Platform. We use Bindle for managing releases and Nomad for scheduling. But instead of using Spin to execute applications, we are testing out a highly scalable execution environment that, in our tests, has been able to run thousands of applications on a five-worker Nomad cluster. This, we hope, will even further exhibit the performance and cost benefits of WebAssembly.
When you first log into Fermyon Cloud with spin login
, you will be prompted to authenticate via GitHub. Currently, this is our only authentication source. We will add more in the future. But once your GitHub account is linked with Fermyon, you will have a Fermyon Cloud account into which you can deploy up to five applications. You can directly deploy code from the Spin command line or from the VS Code extension for Spin. The brief video below shows you how to do exactly that; create and build a new application and then deploy it to Fermyon Cloud (using VS Code).
Fermyon Cloud is in open beta. For that reason, we’re currently limiting developers to five Spin apps each.
Deploying applications to Fermyon Cloud works the same as deploying apps to a Fermyon Platform installation: spin deploy
. For example, you can get your first Rust “hello world” written and running in under two minutes by running:
$ spin new http-rust hello
$ cd hello
$ spin build
$ spin login
$ spin deploy
Fermyon Cloud will deploy your application and respond with a secure URL to your application. And that application will stay running as long as you want it.
Ready to get going? Head over to the Fermyon Cloud QuickStart guide to build and deploy your first app.
Open beta and the Future
Right now, Fermyon Cloud is in open beta. What does that mean? In the most practical sense it means that we are not yet ready to guarantee that Fermyon Cloud should run production applications. Like all good software developers, we love our new platform but recognize that we need to learn more before we can make guarantees. So during this open beta window we are asking you to partner with us (in the easiest possible way) by building and deploying applications. We’ll be checking on server load and performance, tweaking and tuning until we are satisfied that Fermyon Cloud is ready.
There are a few things that cannot yet be done on Fermyon Cloud even though they can be done on Fermyon Platform. In the initial launch, Fermyon Cloud supports HTTP trigger sources, though in the future we will add more. Persistence is offered via Redis key/value storage. You will need to bring your own Redis instance for that. Similarly, we are supporting PostgreSQL database connections to your own database service. You only need to pass the connection info to your app. Other Spin features work as expected (and if they don’t please file an issue!). To stay up to date with the latest features, keep an eye on the Fermyon developer home.
How You Can Help
We have been asked how folks can get involved with Fermyon Cloud. Firstly, we would be overjoyed to see you try it out and then provide some feedback on Discord. Tell your friends, family and co-workers; they too can ask questions and give feedback. This type of engagement will help us understand what work we should do next i.e. what features, bug fixes and documentation improvements we need to act on for you.
Ultimately, we’d love to have y’all contribute to our code and docs as well. Here are the key GitHub repositories:
Finally, the Fermyon team would like to end with a thanks. We are grateful for your support as we got started not even a year ago, and we are so honored that you would come along with us on this adventure creating the next wave of cloud compute.