Cloud Computing知识架构

Cloud Platform Architecture

云计算的主要架构区分为,Private,Public 以及 Hybrid。

Private (私有云) 架构:适合重视数据安全风险的,有合规要求的,希望将数据完全把握在自己手里的客户,例如金融机构,或自有数据中心的。同样这部分架构往往适用于开发环境测试环境。利于在开发和测试过程中精准定位问题,最终推送到位于公有云上的生产环境

Public(公有云)架构:适合于初创公司,并不持有大型规模化数据中心的公司,个人开发者,对于性能需求变化较大的公司。问题需要考虑数据安全,建议本地至少留一份冷备份。

混合云架构:

Virtualisation 虚拟化

实现虚拟化的主要技术是 Hypervisor。Hypervisor 提供了一种运行在物理硬件和操作系统之之间的中间层,允许多个系统访问系统硬件,并对其做出合理的调配。Hypervisor也可以叫做Virtual Machine Manager/Monitor (VMM)

我们可以理解,Hypervisor 是 操作系统 的 操作系统,相较于操作系统拥有更低的层级,为操作系统提供服务。

虚拟化的实现层级

截屏2023-05-24 16.41.01

Hypervisor 的虚拟化级别

  • Full Virtualisation (完全虚拟化) Type-1:

    完全虚拟化允许未经修改的客操作系统(Guest OS)隔离运行。硬件虚拟化对客操作系统隐藏了真实的硬件,虚拟机运行在一个架设在硬件或主机操作系统(Host OS)之上的Virtual Machine Monitor中。拥有完全虚拟化能力的Hypervisor,将真实的硬件特征映射到虚拟机上,并且映射出了完整的指令集,I/O, 中断/内存管理等。Guest OS并不需要知道是否运行在虚拟机内,仅需按照正常在裸机上运行的那样即可。虚拟机发出的指令需经过Hypervisor捕获并处理。这带来了一个问题:过大的开销。

    但是,Full Virtualisation 允许任何未经修改的操作系统和客户端程序直接在其上运行。在这里,Hypervisor实质上成为了比操作系统优先级更高的Super OS。

    代表: VMWare, Microsoft Virtual Server

  • Para-Virtualisation(半虚拟化) Type-2:

    半虚拟化要求操作系统进行了适应性修改: 将会拥有于Hypervisor交互的API,服从Hypervisor的调度。同时,经过修改的Host OS使得非虚拟化指令被 HyperCalls(超调用) 代替,这允许Applications直接调用系统底层资源,无需经过Hypervisor翻译。由于虚拟化的开销减少了,性能也提高了

    截屏2023-05-24 17.30.10

    Supported by Xen, KVM, VMware ESX

  • Hardware-Assisted Virtualisation(硬件辅助的虚拟化) Type-3 :

目前,硬件设备生产商往往为虚拟化在硬件设备中增加了虚拟化功能。这些功能允许一些来自 Guest OS 的 privilege calls 直接交由CPU处理,从而越过Hypervisor的翻译过程。

Supported by Intel-VT AMD-V

虚拟化架构的运行模式

截屏2023-05-24 17.42.07

​ a) 操作系统在特权模式下执行

​ b) VMM在特权模式下运行

​ c) 受信任的主机操作系统在托管的虚拟机系统中以特权模式执行。客户操作系统驻留在虚拟机 中,以较低的特权级别运行。

​ d) VMM的一部分在特权模式下运行。

References

  • Cloud Computing for Science and Engineering. I. Foster and D.B. Gannon. MIT Press, 2017
  • S. Bhowmik, Cloud computing. Cambridge University Press, Chapter 7, 2017