25 lines
2.7 KiB
Markdown
25 lines
2.7 KiB
Markdown

|
||
## 互联网业务部署大致分为三个时代
|
||
|
||
1. 传统部署时代(托管时代):早期将业务程序直接部署在物理服务器中,这种部署方式的优点是部署和运维都很简单。同样缺点也很致命, 如:每个应用程序都运行在不同的物理服务器上, 但可能会因为部分应用程序资源利用率不足而浪费资源。为了提高资源利用率,在同一台物理服务器上运行多个应用程序, 则可能会出现一个应用程序占用大部分资源的情况,从而导致其他应用程序的性能下降。在这个时代里服务器租赁、托管业务快速发展。
|
||
2. 虚拟化部署时代(云时代):为解决托管时代服务器利用率问题,IBM研发出虚拟化技术,虚拟化技术允许用户在一台物理服务器中同时运行多台虚拟服务器,每台虚拟服务器都有自己独立的操作系统,且操作系统内的应用程序互不干扰。虚拟化技术提升了服务器资源利用率及进程安全性,但也存在一定的缺点,如业务程序难部署、启动速度慢、操作系统占用空间等。在这个时代里云厂商业务快速发展。
|
||
3. 容器部署时代(云原生时代):为了解决难部署、操作系统占用空间等问题、docker公司研发了容器技术。容器相较于云服务器具有更宽松的隔离特性,多容器共享主机的操作系统、内核等。目前互联网即处于云原生时代,各个互联网巨头业务已经容器化。
|
||
|
||
Kubernetes 就是目前主流的容器管理平台。(曾经还存在过很多容器管理平台,但是最后还是被谷歌的K8S打败了)
|
||
|
||
## 容器和虚拟机对比
|
||
|
||
- VM之间共享硬件,而容器之间共享硬件和内核,启动容器就相当于启动一个进程,速度更快。
|
||
- VM需要安装操作系统镜像及依赖等,占用GB级别磁盘空间,而容器不需要,通常为MB
|
||
- 单机支持几千个容器,几十个VM
|
||
| **虚拟机** | **容器** |
|
||
| --- | --- |
|
||
| 重量级 | 轻量级 |
|
||
| 性能有限 | 本机性能 |
|
||
| 每个VM都在自己的OS中运行 | 所有容器共享主机操作系统 |
|
||
| 硬件级别虚拟化 | 操作系统虚拟化 |
|
||
| 启动时间(分钟级别) | 启动时间(秒级别) |
|
||
| 分配操作系统需要的内存 | 分配较少的内存 |
|
||
| 完全隔离,更安全 | 进程级别隔离,安全性相对较差 |
|
||
|