Once in a lifetime you get the opportunity to work on something unique, something so innovative that you know it will set the future of computing.
TL;DR: Today we are presenting a new paradigm that will revolutionize the clouds that is ready for you to use today. Simpler to scale, more affordable and without requiring any changes to existing projects that work in the cloud.
But before I dig more into how we are making that future a reality at Wasmer, let me start with a tale of software development today.
If you embark on the journey of creating a website with the current state of affairs in tech, you’ll need to spend uncountable time (and money) to put it into your customers hands. In fact, its likely that you’ll spend more time on figuring out how to deploy your website at scale than writing the code of your app.
In 2006 I created Medinalia, a Linux/Apache/MySQL/PHP website (and Flash/AS3) that became quite popular. The website was built on PHP4/5 – and yet it was able to handle 20M page views/month (~400k monthly visitors) on a single OVH server for 70 EUR/month without breaking a sweat.
Now, I dare you to try running this on current cloud infrastructure and be amazed with your Cloud bill. But, why you think is that?
The current state of art for deployment in the Cloud is overly complex
- Schedulers and Orchestrators (Kubernetes),
- Service Meshes (Istio)
- Service Proxies (Envoy)
- Service Discovery (etcd)
All this complexity deepens your dependency on the cloud, it ties you to the big tech providers. The few companies that are trying to mitigate the cloud complexity on the users and eating the complexity themselves are now seeing the repercussions that the Cloud architecture causes.
Complexity is rewarded in the bills nowadays, and as such big-tech Cloud companies have little incentive to improve this. This is their piggy bank. And almost any other startup that is built upon the current cloud infrastructure will just relay the Cloud bills to you, their customer, with an extra fee (this is to those who wondered why Vercel is so expensive).
Many companies are already realizing the high-intensity costs of the cloud and are trying to find alternatives. Companies like BaseCamp/Hey announced a projected $7M in savings (over 5 years) by avoiding cloud infrastructure all together:
We stand to save $7m over five years from our cloud exit.
Even at Wasmer, the SVB fiasco pushed us to migrate away from Google Cloud to reduce costs. Stay tuned for an upcoming post about how much we saved… you will be surprised!
These realizations led us to a simple conclusion: your code should dictate your infrastructure (IaaC). Otherwise the abstractions leak and everything becomes bloated. There’s no one to blame, as the state of the art tech was not as advanced then as it is today. However, thanks to the introduction of WebAssembly in 2016 new possibilities have emerged…
Now, let me ask you… seeing all these issues, don’t you think is time for something better?
If I had asked people what they wanted, they would have said faster horses –
Today we are not presenting a faster horse. We are announcing an unicorn that can fly.
Today we are incredibly happy to announce Wasmer Edge.
We have been working on it for more than a year non stop, and now it’s time for the big reveal.
What is Wasmer Edge?
Wasmer Edge is a decentralized-first infrastructure that allows running applications at the Edge thanks to the power of WebAssembly and Wasmer.
Here are the main principles behind it:
- Simplicity. Intuitive, developer-friendly design enhances productivity and hides complexity (Heroku like)
- Power. Wasmer Edge provides robust features for complex deployment scenarios, rivalling Kubernetes and large cloud providers.
- Security. WebAssembly allows secure execution of untrusted code with precise, defined permissions.
- Scalability: Applications scale seamlessly, all the way from zero up to serving millions of requests per second. The platform can scale from a single server to large globally distributed clusters.
- Resilience. With a shared nothing architecture, each server operates independently, protecting workloads from larger outages.
- Cost-Effectiveness. WebAssembly ensures resource-effective operation, translating to competitive pricing for users.
Wasmer Edge is so affordable, that you no longer need to think about splitting your static assets into a CDN, because you will get CDN-like costs for serving a static website and CDN-like costs for serving your normal website. Both running at the Edge.
Any HTTP/s TCP WebAssembly application will work and automatically scale.
Right now you can run static websites, any Rust server using tokio (such as Axum).
You can run a TCP video server such as Mediasoup or even a DNS server!
Soon you will be able to run Flask, Django, WordPress, Ruby on Rails, Node, …
Imagine if Cloudflare Workers (price), Heroku (ease) and AWS (powerful) were mixed all together: that’s Wasmer Edge. The affordability of Cloudflare Workers with the abilities of a very lightweight container ecosystem based on Wasmer.
We all need a better, cheaper and more scalable Heroku for the Edge. Wasmer Edge is here to deliver.
All without tying yourself into proprietary SDK such as AWS Lambda, or tying you the JS ecosystem with Service Workers API. Just packaging your same application code you normally use, and deploying it to the Edge.
Wasmer Edge scales your HTTP applications automatically, so you don’t have to worry about devops any longer.
Just pay for what you use. It’s. That. Simple.
No fine print.
Is Wasmer Edge ready for prime time?
Wasmer has been using the Wasmer Edge infrastructure for a few months straight, without users noticing. In fact, wasmer.io previous static website appeared multiple times in Hacker News frontpage (giving us an interesting load), and all the load was gracefully managed by Wasmer Edge.
Most of our frontend projects have been migrated from Vercel and Cloudflare Workers into Wasmer Edge. And it’s been working really great. More than 1M requests handled in the last month and it can scale to way beyond that.
The magic of it is how everything fits together.
Don’t believe me? You can run docs.wasmer.io locally…
wasmer run wasmer/docs --net -- --port 3000 # Wasmer docs
Now you should have the wasmer docs running locally at http://localhost:3000/
Or you can continue reading more and learn how to deploy it to Wasmer Edge…
How to deploy to Wasmer Edge
Using Wasmer Edge is incredibly easy. Once you are logged in (via
wasmer login), you should be able to deploy an http website (we’ll use
wasmer/docs, but you can use your own package):
$ wasmer app create wasmer/docs --name wasmer-docs
✅ App wasmer-docs was successfully deployed!
Admin dashboard: https://wasmer.io/apps/wasmer/wasmer-docs
Versioned URL: https://qvl3ijt9f68v.id.wasmer.app
App URL: https://wasmer-docs.wasmer.app
This command will also create a
app.toml config file that will remember where the site is deployed, so next time you can just type
wasmer deploy and things will magically work.
And here we go, the website is now fully running on Wasmer Edge infrastructure, with HTTPs automatically handled for you!
The Cloud is dead, long live the Cloud!
We are planning to open-source the engine behind Wasmer Edge in the future, but first we need to make sure the base is well set.
Try Wasmer Edge and let us know what you think!
Or visit the docs if you want to learn more about the architecture and principles behind Wasmer Edge: https://docs.wasmer.io/edge
Don’t wait for the future of Cloud Computing to pass you by.
Join the waitlist to try Wasmer Edge today and experience the difference for yourself.
One last thing…
Before finishing the article I wanted to thank personally all the team at Wasmer that has been working non-stop to make Wasmer Edge a reality.
Thanks to their dedication and effort Wasmer Edge is now an incredible product that aims to challenge the foundations of Cloud Computing.
Thanks John, Christoph, Ayush, Michael, Rudra, Sebastien, Ismael, Wayne & Tesi.
I’m incredibly proud of what we are accomplishing together ❤️.
Let the stars be our horizon, and ambition our guide.