Fermyon Cloud's First Birthday - Year in Review đ
MacKenzie Olson
cloud
announcement
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
.
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!
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"
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.
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!