Wasmer: The future of cloud computing
07 Jan 2021This post originally appeared under the title “The Next Generation of Cloud Computing: Our Investment in Wasmer” on January, 6th 2021 at speedinvest.com with contributions from Namratha Kothapalli.
Similar to how Node.js allowed Javascript to run outside of the browser, Wasmer enables server-side execution of WebAssembly code, fulfilling Java’s 1990s “Write once, run anywhere” — at near-native performance and requiring a lot less disk space, unlike traditional containers.
Let’s journey back in time when the concept of containers first emerged.
1st generation: Computing has come a long way since the early days of single-purpose applications on dedicated hardware. The emergence of general-purpose computers was quickly followed by the ability to isolate processes from each other, allowing many users to run multiple applications on the same hardware simultaneously.
2nd generation: Virtual machines (VMs) supported not just multiple applications, but multiple operating systems on the same hardware. This advance made it easier to migrate guest operating systems from one host hardware to another.
3rd generation: Containers (i.e. Docker) and container-orchestration (i.e. Kubernetes) took this even further. Unlike VMs, containers only package applications, their dependencies, and a small part of the operating system. Applications in containers not only require less disk space but also work anywhere the container runtime is available. Despite advancements in container technologies, even tiny microservices with few dependencies incur an overhead of several hundred megabytes of disk space. It may not sound like much but, on top of the disk space overhead, starting a container may take several hundred milliseconds — an order of magnitude slower than launching the same application natively. On top of that, building and orchestrating container infrastructure can be challenging for most organizations.
This is where WebAssembly (or Wasm for short) comes into play.
What is WebAssembly?
WebAssembly is a new type of code that can be run in modern web browsers — it is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides programming languages with a compilation target so that they can run on the web. It is also designed to run alongside JavaScript, allowing both to work together. It’s an open standard that was first announced in 2015 and is now supported in all major browsers on desktop and mobile.
What does WebAssembly have to do with microservices?
WebAssembly was originally developed for client-side applications, but it is also perfectly suited to run server-side code. Similar to containers, applications can be packaged into WebAssembly files and are sandboxed. Unlike containers, however, WebAssembly files are binaries and contain just the applications and their dependencies.
WebAssembly binaries are portable like containers, much smaller because they contain the application and its dependencies, without the overhead of an operating system, and can run code at near-native speed. On top of that, starting WebAssembly applications is instantaneous, which comes in handy for all sorts of PaaS, FaaS, and serverless use-cases. Last but not least, since WebAssembly is portable, it enables completely new types of distributed applications.
“WebAssembly will be a key piece for the future of software execution and containerization — not only inside the browser but also outside.” — Syrus Akbary, Founder & CEO, Wasmer
Solomon Hykes (Co-Founder & former CTO, Docker), who is also an investor in Wasmer, believes that WebAssembly is a faster and more secure alternative to containers.
“If Wasm […] existed in 2008, we wouldn’t have needed to create Docker. That’s how important it is. WebAssembly on the server is the future of computing.” — Solomon Hykes, Co-Founder & former CTO, Docker
WebAssembly is still in its infancy, but there is lots of activity and enthusiasm among developers. Just like containers changed how software is built and deployed, WebAssembly has the potential to start a similar tectonic shift.
Wasmer is at the forefront of WebAssembly
Wasmer makes WebAssembly accessible to developers and enterprises. The open-source WebAssembly tool and server-side runtime make it possible to package applications written in other programming languages (including C/C++, C#, Go, Java, PHP, Ruby, Rust, and many others) into WebAssembly applications and enables execution at near-native speed anywhere: from Desktop to the Cloud and IoT devices.
With Wasmer, enterprises can run ultra-lightweight containerized software with blazing-fast startup times (~20ns), almost no overhead (near-native speed) anywhere — be it on servers, edge, and IoT devices or in serverless environments.
After humble beginnings and two years of hard work, Wasmer just released version 1.0 of their software. It brings a vastly improved and simpler to use API, massive performance improvements -despite already being blazing fast before-, support for Apple Silicon, a pluggable infrastructure for easy customization, support for “Headless Wasmer” a new ultra-lightweight runtime, ideal for IoT, and many additional features and improvements.
Wasmer has quickly established itself as a leader in the WebAssembly space. Founder and CEO Syrus Akbary has built a team of world-class engineers and WebAssembly experts.
We couldn’t be more excited to back Wasmer, along with Florian Leibert at 468 Capital, Aneel Ranadive at Soma Capital and an incredible group of angels, such as Solomon Hykes (Co-Founder & former CTO, Docker), Olivier Pomel (Co-Founder & CEO, Datadog), Jason Warner (CTO, GitHub), Marco Palladino (Co-Founder & CTO, Kong), Beyang Liu (Co-Founder & CTO, Sourcegraph), Christopher Golda (Co-Founder and former CEO, BackType), Yuri Sagalov (Co-Founder & former CEO, AeroFS), Pete Soderling (Founder, DCF), Ramnik Arora (Head of Product, FTX), Lingtong Sun (Engineer, AngelList), Michael Münnix (GP, Target Partners), and Micha Hernandez van Leuffen (Founder & former CEO, Wercker). We look forward to the mission ahead to make the next generation of cloud computing a reality! 🚀✨
For more, visit Wasmer (and follow them on Twitter). Learn more about Speedinvest Deep Tech.
Any comments? Ping me on Twitter. 👉🏻 Get my newsletter for occasional updates. ✌🏻