This mode of scaling is also suitable for multiple services per host deployment. As you can probably imagine, this isn't the most efficient method. Scaling an entire set of services based only on a reduced throughput of a single one is similar to scaling monoliths.
If you're using this pattern, a better way to scale your microservices is to use an orchestrator. If you don't want to use containers, Nomad is a great choice that works with a lot of different execution drivers. For containerized workloads, either Docker Swarm or Kubernetes will help you. Orchestrators are a topic that we'll come back to in the next two chapters.