Cloud Computing
Virtualization and Containers
In 2013 Docker released its first version and the industry changed forever. Before Docker, deploying an application looked like: 'it works on my machine, but not on the server.' After Docker: one image works the same everywhere - on a laptop, in CI, in production. How did the industry go from gigabyte VMs to containers that start in milliseconds?
- **Google** runs 4 billion containers per week - every search query is handled inside a container
- **Spotify** migrated 1,200 microservices to Kubernetes - deployment time dropped from hours to minutes
- **AWS Lambda** handles trillions of invocations per month - from IoT sensors to mobile app APIs
From Mainframe to Containers: 60 Years of Isolation
1966, IBM CP/CMS - the first virtualization system for mainframes. One expensive computer was shared among dozens of users, each thinking they were on a dedicated machine. 1979: Unix chroot - the first file system isolation primitive for processes. 2000: FreeBSD jails - full process isolation. 2008: Linux LXC (Linux Containers) - native containers in the kernel. 2013: Docker abstracts LXC and makes containers accessible to everyone. Sixty years later the same mainframe idea - one container costs USD 0.0001 per second.
Предварительные знания
Hypervisor: the virtual machine manager
2006, Amazon Web Services launches EC2. For the first time in history, renting a server takes one minute and billing is per-second. The technology that made this possible - the **hypervisor**: a program that allows multiple operating systems to run on a single physical server. Each OS receives virtualized resources and thinks it owns real hardware.