2 - Virtualization

The first technology that we present here is Virtualization, one of the most important software technologies for Cloud but for the whole Information Technology. The process of making hardware "soft" is one that actually has allowed the (apparently) limitless growth of computation into a global, hyperscale environment where the physical limitations are not a problem anymore.
We will introduce the principles and the foundation of virtualization, trying to categorize the different type of virtualization, emphasizing advantages and disadvantages of each type of virtualization, and in general, of virtualization. Then we will present Popek/Goldberg theorem whose constructive proof is an abstract easy and didactic way of explaining how virtualization can work and (most important) under which assumptions (on the Instruction Set Architecture) it can work. Finally we will conclude with some real examples of virtualization environments.