Node.js and Deno founder Ryan Dahl’s “JavaScript Containers” article published yesterday presents a vision of a future in which new container-like abstractions will emerge to simplify servers. Most Web services can be simplified by JavaScript containers rather than Linux containers. In this emerging server abstraction layer, JavaScript replaces the Shell.

JavaScript Containers

He proposed a vision to make JavaScript the standard language for containers. This way, containers could be standardized, and developers would not have to build their own container image files, but just throw JS scripts into the standardized containers.

RD argues that the kind of container he proposes is not intended to solve the same wide range of problems that Linux containers target. It minimizes the sampling of business logic for Web services and reduces the number of concepts that programmers need to understand (e.g., when writing Web services, it is likely that any systemd configuration is just an unnecessary sample). Shell is an interpreted scripting language for invoking Unix programs. It can write conditional statements, loop statements, it has variables …… But unfortunately it has limited capabilities and is difficult to program. Whereas in JavaScript container, JavaScript sandbox can call Wasm instead of calling Linux executables like Shell does.

Finally RD said that he wasn’t saying that Linux containers were disappearing, because that level of abstraction certainly has its value. But for most of the “business logic” that developers write, it’s pretty low-level. When a developer builds a site, things like systemd configuration are prototype files. As a result, most Web services can be simplified with JavaScript containers rather than Linux containers. They are exploring these ideas in Deno, trying to simplify the server abstraction from the ground up.

The Deno team last year released the first Beta version of Deno Deploy, a modern serverless cloud built from the ground up by the Deno team that users can use to very quickly deploy JavaScript, TypeScript and WASM services to data centers around the world.