The highest level of isolation for an application can be achieved by adding a new physical machine or bare metal server, so there is a server with its own operating system 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 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 new CPU architectural breakthroughs, one of the options that emerged was virtual machines. Virtual machines abstract out...