文章目录
- 云计算基本概念
- 云计算发展历程
- 云计算计算模式
- 云计算商业模式
- 云计算部署模式
- 私有云部署
- 公有云部署
- 混合云部署
- 云计算虚拟化技术
- 虚拟机模式虚拟化
- 容器模式虚拟化
- 容器VS虚拟机
- 常见虚拟化工具和技术
- 虚拟化工具
- “轻量级”虚拟化工具
- 云计算供应商
- 云计算三要点(云管端)
云计算基本概念
- 云计算是一种基于互联网的计算方式。通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。云计算依赖资源的共享以达成规模经济,类似基础设施(如电力网)
- 形象化理解
云计算发展历程
云计算的发展历程可以分为以下三个阶段:
-
大型机时代:
在计算机发展的早期阶段,大型机占据主导地位。大型机通常由大型硬件和复杂的操作系统组成,用于处理大规模的数据和复杂的计算任务。用户需要购买昂贵的硬件设备,并自行维护和管理系统。 -
PC时代:
随着个人计算机(PC)的兴起,计算机变得更加普及和个人化。PC的出现使得普通人可以轻松购买和使用计算机,从而推动了信息技术的普及和发展。人们可以在自己的电脑上进行办公、娱乐和学习,这极大地改变了人们的生活方式和工作方式。 -
云计算时代:
随着互联网和虚拟化技术的快速发展,云计算逐渐兴起并成为新的计算模式。云计算通过网络提供各种计算服务,包括存储、计算、数据库等,用户可以根据需要灵活选择和使用这些服务,而无需关心底层的硬件和软件。云计算为用户提供了更加便捷、灵活和经济高效的计算方式,已经成为当今信息技术领域的主流趋势。
大型机和超级计算机的区别:
- 超级计算机本质上也是分布式计算,只是各个节点是通过Infiniband这种通信背板、各种企业级内部互联架构,节点之间的传输速率和稳定性更高。
- 大型机则采用的是单机模式,一般一两个机柜,体积并不一定很大,但是硬件架构大、扩展性大
云计算计算模式
计算模式 | 定义 | 联系 | 区别 |
---|---|---|---|
并行计算 | 多个处理器同时处理同一个任务,加快计算速度 | 与分布式计算、网格计算、云计算都可以利用并行计算的概念 | 主要用于单个任务的加速,通常在专门的高性能计算环境中使用 |
分布式计算 | 将一个大任务分解成多个小任务,由多台计算机协同完成 | 与并行计算、网格计算、云计算都涉及到多个计算资源的协同工作 | 主要用于解决大规模计算问题,通常在局域网或广域网中进行协同计算 |
网格计算 | 将分布在不同地理位置的计算资源整合起来,形成一个虚拟的超级计算机 | 与并行计算、分布式计算、云计算都涉及到资源整合的概念 | 主要用于解决分布在不同地理位置的计算资源协同工作问题,通常用于科学计算等领域 |
云计算 | 通过网络将计算资源、存储资源、应用程序等提供给用户使用 | 与并行计算、分布式计算、网格计算都是计算模式的一种 | 主要用于提供计算服务、存储服务、应用服务等,通常是按需提供、按使用量计费的 |
- 并行计算、分布式计算、网格计算、云计算都是不同的计算模式,它们之间存在联系,同时又有各自的特点和应用场景。
- 并行计算:一种多条指令能同时执行的计算方式,一个设备中的多个计算单元(CPU)可以同时完成不同的计算任务,偏向计算方法,如并行矩阵算法、并行比特币挖矿算法
- 分布式计算:不同设备同时来完成不同的计算任务,偏向软件框架,如分布式MySQL、分布式Hadoop、分布式Redis、分布式DNS
- 并行计算和分布式计算也可以一起用,如分布式的并行运算比特币挖矿机,就是分布式的电脑用比特币协议交换信息,每台电脑内部计算用的是并行算法
- 网格计算:按照地理上的区域将设备进行划分,譬如亚洲区、欧洲区等不同的地理范围。将距离比较接近的,位于同一个地理范围内的计算资源,整合在一起,作为一台超级计算机,处理某一个任务。很多资源整合在一起,拥有的计算能力也是很强大的。
- 并行计算、分布式计算和网格计算都是把资源整合,整合之后资源集中到少数人手里,进行单个/少量目标的计算。经历前三个的阶段后,再把资源进一步融合,就是云计算。将大量的计算资源整合在一起,面向全球范围内给用户提供计算服务就是云计算。
云计算商业模式
- 软件即服务(SaaS)
- 平台即服务(PaaS)
- 基础设施即服务(laaS)
云计算部署模式
私有云部署
- 私有云建设部署在自己的机房,所有资产属于个人
- 成本:建设成本较高
- 安全性:安全性高,大部分业务部署在私有云来保证企业内部安全,比如政务外网的云目前都是自建
- 出于安全性及自主可控性,用户会选择自建私有云平台
公有云部署
- 使用第三方建设的云平台,用户直接租用云上的资源,部署自己的业务,开箱即用、按需付费
- 成本:支持按需购买、按时长购买,投入成本低,购买灵活等。
- 安全性:虽然云上有各种安全防护及等保认证,但是毕竟云服务属于第三方,存在数据泄露风险
- 中小型企业,尤其互联网公司常采用公有云,大型企业会把部分非核心业务,比如软件测试之类选择公有云
混合云部署
- 把不同的云融合起来使用,比如私有云+公有云混合使用、不同公有云混合使用,不同私有云混合使用等
- 成本:企业把核心业务放到私有云,把非核心业务放到公有云上,降低成本。
- 安全性:鸡蛋不放在一个篮子,业务部署在不同的云平台(不同的公有云或私有云);保证业务高可用
- 应用场景:企业创新业务模式,开展大量互联网业务(电商、游戏);应对类似双11爆发式增长的业务,把web服务放到公有云 上,核心业务放到私有云上;实现容灾备份,保证业务持续运行。
云计算虚拟化技术
虚拟机模式虚拟化
- 它通过软件层的封装,提供和物理硬件相同的输入输出表现,实现操作系统和计算机硬件的解耦,将OS和计算机间从1对1变成了多对多(1对多)的关系。
虚拟机虚拟化技术特点
优点:
- 软硬件解耦: 虚拟机虚拟化技术实现软件与硬件的解耦,使得应用程序不再受限于特定硬件平台。
- 虚拟操作系统完整性好: 虚拟机中的操作系统完整性好,可以提供独立的运行环境,增强了安全性和隔离性。
缺点:
- 占用空间较大: 虚拟机需要占用一定的存储空间,特别是在部署多个虚拟机时,会占用较多的存储资源。
- 便携性差: 虚拟机在不同平台间迁移时需要考虑兼容性和配置调整,相对来说便携性较差。
- 需要的资源较多: 虚拟机需要一定的计算资源和内存资源来运行,相对于物理机会消耗更多的资源。
- 性能较差: 虚拟机的性能通常会受到一定程度的损失,相较于物理机可能会表现出较差的性能。
容器模式虚拟化
- 容器是没有GuestOS的轻量级“虚拟机”,多个容器共享一个OS内核,容器中包含需要部署的应用和它依赖的系统环境,容器大小通常只有几十到几百MB。
- 由于共享操作系统内核,所以容器依赖于底层的操作系统,各个操作系统大都有自己的容器技术和容器工具。
基于容器的虚拟化技术特点
优点 | 缺点 |
---|---|
资源占用较少 | 安全性相对较低 |
启动速度快 | 不适用于需要完全隔离的应用 |
易于部署和管理 | 不支持不同操作系统的容器化 |
可扩展性强 | 性能受限于宿主机硬件 |
- 基于容器的虚拟化技术(如Docker)相比传统虚拟机虚拟化技术具有资源占用少、启动速度快、易于部署和管理等优点,但安全性相对较低,不适用于需要完全隔离的应用,且不支持不同操作系统的容器化,性能受限于宿主机硬件。
- Docker是目前应用比较广泛的一种Linux容器管理工具。
容器VS虚拟机
容器和虚拟化的区别:
- 两者都是为了创造“隔离环境”
- 虚拟机是操作系统级别的资源隔离
- 容器实质上是进程级的资源隔离
常见虚拟化工具和技术
虚拟化工具
- 虚拟化工具:VMware、KVM、Xen、Virtual Box
VMware
-
特点:VMware是一家知名的虚拟化技术提供商,旗下有多种虚拟化产品,包括VMware Workstation、VMware vSphere等。VMware提供了强大的虚拟化功能,支持多种操作系统和硬件平台,并且具有丰富的管理和监控功能。
-
优点:易于使用,性能稳定,支持广泛的操作系统,提供丰富的管理工具和功能,适用于企业级和个人用户。
-
缺点:商业软件,部分功能需要付费许可证。
KVM(Kernel-based Virtual Machine)
-
特点:KVM是Linux内核中的一个虚拟化模块,通过利用硬件虚拟化扩展(如Intel VT或AMD-V)来实现虚拟化。KVM通常与QEMU配合使用,提供了强大的虚拟化功能。
-
优点:性能较高,集成在Linux内核中,免费开源,支持广泛的硬件平台,适用于服务器虚拟化。
-
缺点:配置和管理相对复杂,需要一定的Linux系统知识。用户交互并不好,不方便使用
Xen
-
特点:Xen是一种基于类型的虚拟化技术,可以实现高性能的虚拟化。Xen通常作为hypervisor运行,支持多个虚拟机同时运行在一台物理服务器上。
-
优点:性能较高,安全性好,支持广泛的硬件平台,适用于服务器虚拟化。
-
缺点:部署和管理相对复杂,不如KVM那样直接集成在Linux内核中。
VirtualBox
-
特点:VirtualBox是一款免费的开源虚拟化软件,由Oracle公司开发。它支持多种操作系统,包括Windows、Linux、macOS等,提供了丰富的虚拟化功能。
-
优点:易于使用,支持多种操作系统,免费开源,适用于个人用户和开发者。
-
缺点:性能相对较低,适用于个人用户和小规模部署,不如VMware那样适用于企业级部署。
OpenStack:虚拟机的云管理平台
- OpenStack是一个开源的云计算管理平台,它包含一系列用于构建和管理公有云和私有云的组件。这些组件提供处理计算、存储和网络资源的功能,在各种不同的虚拟化技术(如KVM、Xen)上运行,还支持容器等技术。OpenStack通过其各种服务模块,比如Nova(计算服务)、Swift(对象存储服务)、Cinder(块存储服务)、Neutron(网络服务)等,提供一个灵活且可扩展的云平台,可以用来部署和管理大规模云环境。
“轻量级”虚拟化工具
- “轻量级”虚拟化工具:容器、Docker、K8S
容器
-
特点:容器是一种轻量级的虚拟化技术,允许将应用程序及其依赖项打包为一个独立的运行环境。容器共享宿主机的操作系统内核,因此启动速度快,资源消耗低,适合部署和运行单个应用程序。
-
优点:启动速度快,资源消耗低,易于部署和管理,适用于微服务架构。
-
缺点:容器之间共享宿主机内核,安全性相对较低,隔离性不如传统虚拟化技术。
Docker
-
特点:Docker是一种流行的容器管理工具,提供了简单易用的容器打包、部署和管理功能。Docker容器可以在任何支持Docker的环境中运行,帮助开发者快速构建和部署应用程序。
-
优点:简单易用,社区支持广泛,生态系统丰富,适用于开发、测试和生产环境。
-
缺点:安全性需要加强,跨主机网络配置相对复杂,不适用于需要高度隔离的应用场景。
Kubernetes (K8S)
-
特点:Kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。Kubernetes提供了强大的调度、自愈、负载均衡等功能,帮助用户构建高可用、高可扩展的容器化环境。
-
优点:强大的自动化管理功能,支持多种部署模式,可扩展性好,适用于大规模容器部署。
-
缺点:学习曲线较陡,部署和配置相对复杂,需要一定的专业知识和经验。
- 容器、Docker和Kubernetes都是轻量级的虚拟化工具,适用于构建和管理容器化应用环境。
- 容器提供了快速部署和资源隔离的优势,Docker简化了容器的管理和部署过程,而Kubernetes则提供了强大的容器编排和管理功能,适用于构建复杂的容器化环境。
云计算供应商
云计算三要点(云管端)
- 云(数据中心):
- “云”的安全措施:用户数据放在云端,需要数据加密、身份认证、用户参与数据的删除(比特清零)等措施保证用户数据的安全。
- 管(中间传输的管道,即网络):
- “管”的安全措施:VPN技术,数据在公网上传输的是加密数据,而不是明文传输。
- 端(终端设备):
- “端”的安全措施:用户名、密码认证,以及U-key、指纹等二次认证,或者限制用户必须使用指定终端登录;设置组策略,限制USB只能读不能写,避免拷贝数据;或者防止截屏,避免数据泄露等