Sergiy, we can both agree that the popular conception of microservices is flawed. If it were not for the advent of containers and container orchestration, I would have probably continued using SOA with JAX-RS. But containers, container orchestration and the multi-cloud world change everything.
The automated deployment, scaling, reliability, and failover capabilities possible in the multi-cloud can only be achieved using an effective component model. How components communicate is critical to that model. I believe that the Actor Model with message passing is an appropriate microservice pattern to use.
If I understood your nanoservices article, you are also seeking a finer grained component model. All fine-grained models will increase complexity exponentially [c = n(n-1)/2] if they are not self-organizing. That issue and its solutions are discussed in Multi-Cloud Apps: Part 1. I encourage you to read it.
https://medium.com/nerd-for-tech/building-cloud-native-apps-part-1-393d250cf107)