You know, I think some of you may be familiar with IaaS or infrastructure as a service, which is kind of what AWS defined. And so I think kind of Clouds in the past decade have mainly been defined by AWS, Azure, JCP and kind of those- the commodification of primitives such as compute and storage. And, you know, I think in the coming decade, we'll see infrastructure as a service become isolated as a service. And I'll get a little bit- I'll dive into what I think that means in a few slides.
You know, if we take a step back and kind of look at hypervisors that are used in the Cloud, you know, traditionally we would have VM hypervisors. And VMs are- they're extremely flexible. You can run any operating system, but they're quite expensive. They take seconds to boot, right? You know, and in recent years we've seen, for example, firecracker VMs, which are also technically VMs, but they're much lighter weight. They don't try to emulate a full machine. They still build off KVM and other key technology. We've also, obviously, seen the emergence of technology like, you know, LXCs and Docker, essentially containers, right? And so the hypervisor there, the dominant hypervisor is Kubernetes. And so, you know, containers are less secure than VMs, but there's a ton of improvements in DXs and kind of, you know, boot performance that make these appealing. And I, you know, and I think the last evolution in these kind of hypervisors is- that we're getting to now is these isolate hypervisors. You know, instead of having hypervisors that juggle VMs, we're getting hypervisors that will manage isolates, and these are much, much, much, much more lightweight. You know, they boot an order of magnitude faster than both containers and VMs. And there's a lot of interesting primitives that we can- and things that we can enable if we embrace isolates first.
And so, you know, if we take a step back at one of the things, for example, that can- if you think about isolate hypervisors and modern isolate executables, I think there's this interesting idea of declarative entry points. And so, for example, we've seen Cloudflare ship this, and this is something we're actively thinking about at Deno with Deno Deploy. You know, this essentially allows you to declare a program declaratively. So, instead of having essentially all these declarative imports, you will have- and then having an entry point that is imperative, that, you know, extracts arguments from argv or sets up a listener. You essentially export functions, and that has a lot of interesting benefits. You get- you can expose multiple entry points in a JavaScript file, so a single JavaScript file is now self-sufficient to describe a full program. And then it encourages kind of, you know, this JavaScript first, and it's composable all the way down via imports and exports. Like, this doesn't have to be an entry point. You can just re-import some of these functions and rewrap them again, so you can get this nice pure JavaScript composability. Another thing that's enabled by, you know, these isolate hypervisors is you get these things such as, like, for example, when we build traditional clouds we often have multiple services called microservices and we'll have to talk to them, and these- that will often happen over the network, right? It will be a HTTP call or a TCP call. And I think one of the interesting things is when you have the isolate hypervisor that manages all these run times it can actually, you know, instead of sending these calls over the network, it can send them directly through memory. And so you get these really interesting gains in efficiency and things that aren't really possible in these classical abstractions because, you know, we were- in the classical VM setup or container setup we're still working with IP stack as first class citizens. Whereas here, you know, you have essentially got a fat hypervisor that profoundly understands these isolates and knows how to route between them. So, yeah, when we think about isolate hypervisors, I think the main argument is there's these extreme efficiency gains.
Comments