It’s somewhere in between. Like Elastic Beanstalk, in Cloud Run you bring a server in a container and the service performs routing and load balancing for you. But Elastic Beanstalk doesn’t keep track of how many requests your containers are handling, or have a contract with the server inside the container; it does load balancing based on the containers’ usage of host resources. In these respects, Cloud Run is closer to Cloud Functions (and Lambda).