红酒 网站 模板,加州网络公司排名,知道内容怎样让别人做网站,页面开发1 虚拟化
虚拟化是为一些组件#xff08;例如虚拟应用、服务器、存储和网络#xff09;创建基于软件的#xff08;或虚拟#xff09;表现形式的过程。它是降低所有规模企业的 IT 开销#xff0c;同时提高其效率和敏捷性的最有效方式。
1.1 虚拟化用于程序跨平台兼容
要…1 虚拟化
虚拟化是为一些组件例如虚拟应用、服务器、存储和网络创建基于软件的或虚拟表现形式的过程。它是降低所有规模企业的 IT 开销同时提高其效率和敏捷性的最有效方式。
1.1 虚拟化用于程序跨平台兼容
要实现程序跨平台兼容的方法其实很简单只要操作系统或者物理硬件所提供的接口调用方式一致程序便不需要兼容不同硬件平台的接口而只需要针对这一套统一的接口开发即可。
虚拟化技术正是通过其本身适配不同平台的硬件而加以抽象成统一的接口来实现程序跨平台运行这一目的的。
1.2 虚拟化用于资源管理
通过虚拟化技术来管理计算机资源的方式不但让我们对计算机资源的控制变得更加灵活也大幅提高了计算机资源的使用率。
虚拟化技术能够提高计算机资源的使用率是指利用虚拟化我们可以将原来程序用不到的一些资源拿出来分享给另外一些程序让计算机资源不被浪费。
虽然我们能够在操作系统里同时运行多个程序但前提得是这些程序本身不存在冲突。这里的冲突体现在很多的方面例如不同的程序同时使用了同一个端口不同程序依赖于同一个工具库的不同版本程序本身限制了同时开启的进程数等。虚拟化技术通过资源隔离的方式无形地也可以把这些程序隔离在不同的虚拟环境中既然虚拟环境不同自然运行在不同环境中的程序就不会互相干扰或争抢资源了。
1.3 虚拟化的分类 硬件虚拟化 所谓硬件虚拟化指的是物理硬件本身就提供虚拟化的支持。举个例子来说某个平台的 CPU能够将另外一个平台的指令集转换为自身的指令集执行并给程序完全运行在那个平台上的感觉。例如Intel VT、AMD-V 软件虚拟化 而软件虚拟化则指的是通过软件的方式来实现虚拟化中关键的指令转换部分。依然用 CPU 的例子来说话在软件虚拟化实现中通过一层夹杂在应用程序和硬件平台上的虚拟化实现软件来进行指令的转换。
1.4 平台虚拟化分类
完全虚拟化原来运行在物理硬件上的操作系统和软件完全不用修改就可以直接运行在虚拟机中。
全虚拟化(FullVirtualization)也称为原始虚拟化技术该模型使用虚拟机协调Guest操作系统和原始硬件VMM在Guest操作系统和裸硬件之间用于工作协调一些受保护指令必须由Hypervisor虚拟机管理程序来捕获处理。
半虚拟化是一种修改Guest OS部分访问特权状态的代码以便直接与VMM交互的技术。
在虚拟客户操作系统中加入特定的虚拟化指令通过这些指令可以直接通过Hypervisor层调用硬件资源免除有hypervisor层转换指令的性能开销。 半虚拟化需要Guest操作系统做一些修改使Guest操作系统意识到自己是处于虚拟化环境的但是半虚拟化提供了与原操作系统相近的性能。
操作系统虚拟化是一种轻量级的虚拟化技术让内核通过创建多个虚拟的操作系统实例来隔离不同的进程不同实例中的进程完全不了解对方的存在。这些实例也被称之为容器。 1.5 虚拟机
一种叫虚拟机监控程序的软件会把资源与物理机分隔开以便进行分区并专门用于虚拟机。通常来说就是通过一个虚拟机监视器 ( Virtual Machine Monitor ) 的设施来隔离操作系统与硬件或者应用程序和操作系统以此达到虚拟化的目的。这个夹在其中的虚拟机监视器常常被称为 Hypervisor。
当用户发出需要从物理环境中获取更多资源的虚拟机指令时虚拟机监控程序就会将该请求转发到物理系统并将更改放到缓存中。
从作用上来看虚拟机就像物理服务器它会成倍放大应用依赖项和大量 OS 占用空间而运行单个应用或微服务往往并不需要这么大的占用空间造成的弊端。 2. 容器
所谓容器技术指的是操作系统自身支持一些接口能够让应用程序间可以互不干扰的独立运行并且能够对其在运行中所使用的资源进行干预。由于应用程序的运行被隔离在了一个独立的运行环境之中这个独立的运行环境就好似一个容器包裹住了应用程序这就是容器技术名字的由来。
容器中包含了微服务或应用及运行所需的一切要素。容器中的所有内容都保存在镜像一个基于代码且包含所有库和依赖项的文件上。我们可以将这些文件视为 Linux 发行版的一个安装实例因为镜像中包含 RPM 软件包和配置文件。由于容器是如此之小因此通常会有数百个容器松散地耦合在一起所以要使用容器编排平台例如红帽 OpenShift 和 Kubernetes来置备和管理它们。
3. 虚拟机 VS 容器
由于没有了虚拟操作系统和虚拟机监视器这两个层次大幅减少了应用程序运行带来的额外消耗。
更准确的来说所有在容器中的应用程序其实完全运行在了宿主操作系统中与其他真实运行在其中的应用程序在指令运行层面是完全没有任何区别的。 相比虚拟机容器最适合用于
构建云原生应用封装微服务拓展 DevOps 或 CI/CD 实践在共享同一操作系统的多样化 IT 环境中移动可扩展的 IT 项目
与单个容器相比虚拟机能够运行更多的操作因而它们一直是现在也是封装单体式工作负载的惯用方式。但是由于对操作系统、应用和库的依赖性这种扩展功能也令虚拟机的可移植性大大降低。相比容器虚拟机最适合用于
存放传统的单体式工作负载隔离存在风险的开发周期置备基础架构资源如网络、服务器和数据在另一个操作系统内运行不同的操作系统例如在 Linux 上运行 Unix
参考资料
《开发者必备的 Docker 实践指南》