1) lightweight isolated computation - VMs, containers and the lot.
2) asynchronous io - user space green threads, epoll, event loops and the likes to have single OS process handle 1000s of connections
3) distributed - scale up compute + have it run close to user. Cloudflare workers, edge@lambda, fly.io. They’re all moving to this direction.
4) polyglot micro services - rather than one big thing written in a single language, many small things that talk to each other via HTTP & grpc. They can be independently changed and scaled up without having to restart the whole system.
Erlang + webassembly are a great fit for this paradigm.
Seeing the success of fly.io, Cloudflare workers and other cloud providers, this definitely has legs and I would love to try it out.