The highest level of isolation for an application can be achieved by raising a new physical machine or bare metal server. So there is a server with its own operating system running on top of it and managing all system resources. This was regular stuff in legacy applications. But it is not practical for modern applications. Modern applications are massive systems. Some examples of these systems are Amazon, Netflix, and Nike, or even traditional financial banks, such as ING. These systems are hosted on tens of thousands of servers. These kinds of modern applications demand ultra-scalability to serve to their millions of users. For a microservice architecture, it does not make any sense to set up a new server just to run a small service on top of it.
With the new CPU architectural breakthroughs, one of the options that emerged is virtual machines. Virtual machines abstract...