• 云起云落:揭秘云计算基础内功心法


    云计算基本概念

    • 云计算是一种基于互联网的计算方式。通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。云计算依赖资源的共享以达成规模经济,类似基础设施(如电力网)
    • 形象化理解
      在这里插入图片描述

    云计算发展历程

    在这里插入图片描述
    云计算的发展历程可以分为以下三个阶段:

    1. 大型机时代:
      在计算机发展的早期阶段,大型机占据主导地位。大型机通常由大型硬件和复杂的操作系统组成,用于处理大规模的数据和复杂的计算任务。用户需要购买昂贵的硬件设备,并自行维护和管理系统。

    2. PC时代:
      随着个人计算机(PC)的兴起,计算机变得更加普及和个人化。PC的出现使得普通人可以轻松购买和使用计算机,从而推动了信息技术的普及和发展。人们可以在自己的电脑上进行办公、娱乐和学习,这极大地改变了人们的生活方式和工作方式。

    3. 云计算时代:
      随着互联网和虚拟化技术的快速发展,云计算逐渐兴起并成为新的计算模式。云计算通过网络提供各种计算服务,包括存储、计算、数据库等,用户可以根据需要灵活选择和使用这些服务,而无需关心底层的硬件和软件。云计算为用户提供了更加便捷、灵活和经济高效的计算方式,已经成为当今信息技术领域的主流趋势。


    大型机和超级计算机的区别:

    • 超级计算机本质上也是分布式计算,只是各个节点是通过Infiniband这种通信背板、各种企业级内部互联架构,节点之间的传输速率和稳定性更高。
    • 大型机则采用的是单机模式,一般一两个机柜,体积并不一定很大,但是硬件架构大、扩展性大

    云计算计算模式

    计算模式定义联系区别
    并行计算多个处理器同时处理同一个任务,加快计算速度与分布式计算、网格计算、云计算都可以利用并行计算的概念主要用于单个任务的加速,通常在专门的高性能计算环境中使用
    分布式计算将一个大任务分解成多个小任务,由多台计算机协同完成与并行计算、网格计算、云计算都涉及到多个计算资源的协同工作主要用于解决大规模计算问题,通常在局域网或广域网中进行协同计算
    网格计算将分布在不同地理位置的计算资源整合起来,形成一个虚拟的超级计算机与并行计算、分布式计算、云计算都涉及到资源整合的概念主要用于解决分布在不同地理位置的计算资源协同工作问题,通常用于科学计算等领域
    云计算通过网络将计算资源、存储资源、应用程序等提供给用户使用与并行计算、分布式计算、网格计算都是计算模式的一种主要用于提供计算服务、存储服务、应用服务等,通常是按需提供、按使用量计费的
    • 并行计算、分布式计算、网格计算、云计算都是不同的计算模式,它们之间存在联系,同时又有各自的特点和应用场景。
    • 并行计算:一种多条指令能同时执行的计算方式,一个设备中的多个计算单元(CPU)可以同时完成不同的计算任务,偏向计算方法,如并行矩阵算法、并行比特币挖矿算法
    • 分布式计算:不同设备同时来完成不同的计算任务,偏向软件框架,如分布式MySQL、分布式Hadoop、分布式Redis、分布式DNS
    • 并行计算和分布式计算也可以一起用,如分布式的并行运算比特币挖矿机,就是分布式的电脑用比特币协议交换信息,每台电脑内部计算用的是并行算法
    • 网格计算:按照地理上的区域将设备进行划分,譬如亚洲区、欧洲区等不同的地理范围。将距离比较接近的,位于同一个地理范围内的计算资源,整合在一起,作为一台超级计算机,处理某一个任务。很多资源整合在一起,拥有的计算能力也是很强大的。

    • 并行计算、分布式计算和网格计算都是把资源整合,整合之后资源集中到少数人手里,进行单个/少量目标的计算。经历前三个的阶段后,再把资源进一步融合,就是云计算。将大量的计算资源整合在一起,面向全球范围内给用户提供计算服务就是云计算。

    云计算商业模式

    在这里插入图片描述

    • 软件即服务(SaaS)
    • 平台即服务(PaaS)
    • 基础设施即服务(laaS)
      在这里插入图片描述

    云计算部署模式

    在这里插入图片描述

    私有云部署

    • 私有云建设部署在自己的机房,所有资产属于个人
    • 成本:建设成本较高
    • 安全性:安全性高,大部分业务部署在私有云来保证企业内部安全,比如政务外网的云目前都是自建
    • 出于安全性及自主可控性,用户会选择自建私有云平台

    公有云部署

    • 使用第三方建设的云平台,用户直接租用云上的资源,部署自己的业务,开箱即用、按需付费
    • 成本:支持按需购买、按时长购买,投入成本低,购买灵活等。
    • 安全性:虽然云上有各种安全防护及等保认证,但是毕竟云服务属于第三方,存在数据泄露风险
    • 中小型企业,尤其互联网公司常采用公有云,大型企业会把部分非核心业务,比如软件测试之类选择公有云

    混合云部署

    • 把不同的云融合起来使用,比如私有云+公有云混合使用、不同公有云混合使用,不同私有云混合使用等
    • 成本:企业把核心业务放到私有云,把非核心业务放到公有云上,降低成本。
    • 安全性:鸡蛋不放在一个篮子,业务部署在不同的云平台(不同的公有云或私有云);保证业务高可用
    • 应用场景:企业创新业务模式,开展大量互联网业务(电商、游戏);应对类似双11爆发式增长的业务,把web服务放到公有云 上,核心业务放到私有云上;实现容灾备份,保证业务持续运行。

    云计算虚拟化技术

    虚拟机模式虚拟化

    在这里插入图片描述

    • 它通过软件层的封装,提供和物理硬件相同的输入输出表现,实现操作系统和计算机硬件的解耦,将OS和计算机间从1对1变成了多对多(1对多)的关系。

    虚拟机虚拟化技术特点

    优点:

    1. 软硬件解耦: 虚拟机虚拟化技术实现软件与硬件的解耦,使得应用程序不再受限于特定硬件平台。
    2. 虚拟操作系统完整性好: 虚拟机中的操作系统完整性好,可以提供独立的运行环境,增强了安全性和隔离性。

    缺点:

    1. 占用空间较大: 虚拟机需要占用一定的存储空间,特别是在部署多个虚拟机时,会占用较多的存储资源。
    2. 便携性差: 虚拟机在不同平台间迁移时需要考虑兼容性和配置调整,相对来说便携性较差。
    3. 需要的资源较多: 虚拟机需要一定的计算资源和内存资源来运行,相对于物理机会消耗更多的资源。
    4. 性能较差: 虚拟机的性能通常会受到一定程度的损失,相较于物理机可能会表现出较差的性能。

    容器模式虚拟化

    在这里插入图片描述

    • 容器是没有GuestOS的轻量级“虚拟机”,多个容器共享一个OS内核,容器中包含需要部署的应用和它依赖的系统环境,容器大小通常只有几十到几百MB。
    • 由于共享操作系统内核,所以容器依赖于底层的操作系统,各个操作系统大都有自己的容器技术和容器工具。

    基于容器的虚拟化技术特点

    优点缺点
    资源占用较少安全性相对较低
    启动速度快不适用于需要完全隔离的应用
    易于部署和管理不支持不同操作系统的容器化
    可扩展性强性能受限于宿主机硬件
    • 基于容器的虚拟化技术(如Docker)相比传统虚拟机虚拟化技术具有资源占用少、启动速度快、易于部署和管理等优点,但安全性相对较低,不适用于需要完全隔离的应用,且不支持不同操作系统的容器化,性能受限于宿主机硬件。
    • Docker是目前应用比较广泛的一种Linux容器管理工具。
      在这里插入图片描述

    容器VS虚拟机

    容器和虚拟化的区别:

    1. 两者都是为了创造“隔离环境”
    2. 虚拟机是操作系统级别的资源隔离
    3. 容器实质上是进程级的资源隔离
      在这里插入图片描述

    常见虚拟化工具和技术

    虚拟化工具

    • 虚拟化工具: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只能读不能写,避免拷贝数据;或者防止截屏,避免数据泄露等
  • 相关阅读:
    什么是杠杠炒股平台
    SMOGN算法Python实现:解决回归分析中的数据不平衡
    选择从众,还是唯一?
    Binder
    IDEA文件UTF-8格式控制台输出中文乱码
    oracle 错题汇总
    后台项目Gradle打包jar,不包含依赖jar并放到外部路径
    为何开发需要更多地考虑运维便利性
    docker 笔记10:Docker轻量级可视化工具Portainer
    【Java SE】类和对象
  • 原文地址:https://blog.csdn.net/yang2330648064/article/details/136662097