\author{Jack Henschel\\\texttt{jack.henschel@aalto.fi}}% Author name and email address
\date{\textit{Supervisors:}\\ Prof. Mario di Francesco, Aalto University, Finland\\ Prof. Raja Appuswamy, EURECOM, France\\\vspace{1em}\textit{Thesis instructor:}\\ Yacine Khettab, Ericsson, Finland}% University, school and/or department name(s) and a date
\date{\textit{Supervisors:}\\ Prof. Mario Di Francesco, Aalto University, Finland\\ Prof. Raja Appuswamy, EURECOM, France\\\vspace{1em}\textit{Thesis instructor:}\\ Yacine Khettab, Ericsson, Finland}% University, school and/or department name(s) and a date
Cloud computing is the latest incarnation of a continuous trend to make computing resources more flexible.
This trend began with the introduction of the transistor in 1949, which allowed to make highly integrated processing chips, such as the Intel 4004, instead of having large, single-purpose computing machines based on vacuum tubes.
At the end of the 20th century, the trend is reflected in the shift from specialized server (\textit{mainframes}) to using commodity hardware at a large scale.
The introduction of multi-tasking (also known as \emph{time-sharing}) operating systems allowed simultaneously running multiple different applications on the same physical hardware.
This trend is also reflected in the shift from specialized servers (\textit{mainframes}) to using commodity hardware at a large scale.
Finally, virtualization even abstracts away this commodity hardware such that only a computing substrate, an abstract platform for performing computations, is left.
System administrators and operators no longer need to decide on which specific machine an application will run and worry about if there will be enough resources available.
System administrators no longer need to decide on which specific machine an application will run and worry about if there will be enough resources available.
This is the promise of ``the cloud'': full elasticity of computing resources.
In the cloud, one can dynamically request the amount of resources, unlike buying a fixed amount of physical servers, and only needs to pay for the exactly these resources.
In the cloud, one can dynamically request the amount of resources, unlike buying a fixed amount of physical servers, and only needs to pay for exactly these resources.
Currently, the most widely used platform that provides such a computing substrate is Kubernetes.
This is evident by the fact that all major public cloud platforms offer a managed Kubernetes service (AWS EKS, GCP GKE, Azure AKS, IBM Cloud Kubernetes, AlibabaCloud ACK).