October 24, 2023

Fermyon Cloud's First Birthday - Year in Review 🎂

MacKenzie Olson MacKenzie Olson

cloud announcement

Fermyon Cloud's First Birthday - Year in Review 🎂

Wow, time sure does fly by! Exactly one year ago we announced the open beta of Fermyon Cloud, our fully managed platform for serverless developers. In that time, we’ve gone from supporting simple, event-driven functions to hosting full stack applications with our SQLite Database, Key Value Store, Custom Domain Support, and of course our latest, “batteries-included” Serverless AI feature. It’s been a rewarding journey filled with exploration and innovation, largely thanks to you, the Fermyon community.

Let’s take a quick walk through some of our highlights from the past year, and at the end, we’ll unwrap a birthday present for you, dear Fermyon Cloud user, as a thank you for being a member of our community and helping build the next wave of cloud computing.

A Year in Review: Fermyon Cloud’s Serverless Full Stack

We’ve been busy this year, to say the least, with ambitions of taking our Fermyon Cloud users from a blinking cursor to a deployed application in 66 seconds or less. Not only did we want to build a seamless onboarding experience to introduce developers to the joys of WebAssembly development, but we also wanted to give them a rich feature set to build full-stack applications that would solve real world problems. On top of that, we aimed to build a joyful developer experience, which we define as one that involves more time spent building interesting application logic and less time battling infrastructure operations or the infamous statement: “Well, it works on my machine.”

With that context set, let’s take a look at our Serverless Full Stack - a feature set designed to empower developers as they build full-stack applications, readily available within milliseconds, without having to provision or manage supporting infrastructure thanks to Fermyon Cloud.

SQLite Database and Key Value Store - Taking the Hassle Out of Ops

Spin applications are inherently stateless workloads. When their endpoint is triggered, they “spin up” in a matter of milliseconds and execute a task in a matter of seconds. Once that task is complete, the business logic often necessitates that the state be preserved somewhere. Spin offers several helpful SDKs to connect to external, customer-managed Postgres or SQLite databases. Still, we wanted to take things a step further on Fermyon Cloud and run completely managed databases and Key Value stores on the user’s behalf.

With Fermyon Cloud’s SQLite Database and Key Value stores, users can persist their application data without worrying about the storage object’s lifecycle management. Simply inputting the need for a specific Spin component to access Fermyon Cloud provisioned and managed stores. There is no need to worry about handling authentication strings or transferring credentials; only the components with manifest permissions can access the stores.

## Component manifest
sqlite_databases = ["default"]
key_value_stores = ["default"]

Serverless AI - No GPU? No Problem

At Fermyon, we view AI as another tool that will eventually be considered foundational in the modern, serverless developer’s toolbox. That being said, getting up and running with an AI-enlightened workload isn’t always all it’s cracked up to be. You’re either handing over a large amount of data to a company to run inferencing on your behalf, or you’re left with setting up expensive, hefty GPU machines with models you’re responsible for downloading and maintaining from an OSS community. With Fermyon Serverless AI, we’re providing the best of both worlds - we’ll install the OSS model on your behalf on GPUs we run and manage; the data, however, is safely and securely all yours. In the same way, you augment your application manifest with storage, you can request AI inferencing support be accessible to a particular Spin component.

## Component manifest
ai_models = ["codellama-instruct"]

Custom Domains - Go From finicky-whiskers-diary.fermyon.app To finickywhiskersdiary.com

A common characteristic of a full-stack application often involves a front-end website for users to interact with. To optimize for the best SEO, brand recognition and integrity, custom domain names are considered foundational. Therefore, Fermyon Cloud supports custom domains. Even better, we provision and manage name servers on your behalf. Simply bring your custom domain to Fermyon Cloud, and we’ll handle the rest… including that sub-10 millisecond cold start time to serve your website just in time, providing you with the cost savings and the performance characters you’ve been looking forward to.

Don’t have a domain but looking for a human-readable domain name? Then custom Fermyon subdomains are for you! For every Spin application on Fermyon Cloud, you can rename its assigned domain to <something-friendly-you-like>.fermyon.app.

Screenshot of a custom domain on Fermyon Cloud

Custom Fermyon subdomains are first come, first service so we recommend you hop on your favorites while you can.

What’s Next? A Birthday Present Of Course

Lastly, we wanted to gift two presents to the Fermyon Cloud users as we celebrate this one year anniversary together. Let’s open ‘em up!

fermyon cloud first birthday

SQLite Database Is Now Open Beta!

You heard us right - no more private beta gate on our SQLite Database feature. Developer, growth, and enterprise users alike will all have access to SQLite Databases using SQLite, and we can’t wait to hear what you think.

In addition to tearing down the gate, we’ve added a thing or two to improve your experience based on your feedback.

SQLite Explorer

Like the Key Value Explorer component, which many of you have grown to know and love, the SQLite Explorer has been created to help you explore data from your SQLite database and provide an out-of-the-box shell experience. After downloading the template, simply add the SQLite Explorer component (spin add spin-sqlite-explorer) to the Spin application where you’d like to explore the data, set the authentication credentials appropriately using Fermyon Cloud’s secrets and variables feature, and you’re good to go.

spin templates install --upgrade --git https://github.com/karthik2804/spin-sqlite-web-cli/

When running spin add spin-sqlite-explorer the component will try add its config variables to the spin.toml, if you already have a [variables] section, consolidate the values.

// --snip --

[variables]
sqlite_username = { required = true }
sqlite_password = { required = true }

[[component]]
id = "sqlite-explorer"
source = { url = "https://github.com/karthik2804/spin-sqlite-web-cli/releases/download/v0.0.1/spin-sqlite-web-cli.wasm", digest = "sha256:e0fb024ffaa68e53118a6b45636161d2a43543cf2bd0b6d027d01a34f4ee56e4" }
sqlite_databases = ["default"]
[component.trigger]
route = "/internal/sqlite/..."
[component.config]
sqlite_username = "example_username"
sqlite_password = "example_password"

View of SQLite Explorer

Linking Spin Applications to SQLite Storage With Labels

Users have also requested the ability to connect multiple Spin applications to the same SQLite Database. Now, with Fermyon Cloud’s link functionality, you can! Simply install the spin cloud plugin v0.4.0 or greater, and you will be prompted to link your Spin application to a SQLite Database any time you run spin cloud deploy.

If you’re new to Cloud (welcome), you can install with the following command:

spin plugins install cloud

Otherwise, if you’re an existing you can upgrade your plugin using:

spin plugins upgrade cloud

Going forward, that Spin application will use the text provided in the application manifest (aka a label) to link to the storage object. You can manage links with the following command.

spin cloud link sqlite

To learn more, check out our conceptual article that deep dives into how you can link your Spin application to SQLite Databases. Also, in our developer documentation, see the Cloud Command Reference section.

Fermyon Cloud Dashboard Refresh

We’re also excited to announce the Fermyon Cloud Dashboard has been refreshed - giving you more space to interact with your application! Check out your application’s logs, request count, and recent events from the past 24 hours with a dedicated application page.

Fermyon Cloud Dashboard opened to the cloud-start sample appplication

Pssst, what would you like to see next on Fermyon Cloud dashboard? Let us know.

Conclusion

As always, if you have any questions or feedback, please drop us a note on Discord. Hope to see you virtually at Fermyon Cloud Office Hours and in person at Cloud Native Wasm Day and KubeCon North America 2023 next month!


🔥 Recommended Posts


Quickstart Your Serveless Apps with Spin

Get Started