Future distributed systems on Kubernetes will be composed of multiple runtimes. The business logic forms the application’s core, and sidecar “mecha” components offer robust out-of-the-box distributed primitives.
What about what comes after microservices?
Probably multi-runtime, or Mecha architecture, where you have your business logic in one container and all the infrastructure-related concerns as a separate container.
You get all the benefits of microservice. You still have all your domains and bounded contexts in one place. You have all the infrastructure and distributed application needs in a separate container, and you combine them at runtime.
The closest thing that’s getting to that right now is Dapr. But if you’re only interested in networking, using Envoy is also getting close to this model.