云计算技术 (Cloud Computing Technologies)

        现在,我们来看看云计算系统背后的一些高层次技术。这些技术如下:

  • 虚拟化
  • 面向服务的架构
  • 网格计算
  • 实用计算

        虚拟化:我们在上一个模块中已经对虚拟化有了一些了解。虚拟化是云计算的关键。这项技术创建多个“虚拟”的(模拟的)实际物理资源实例,使这些实例可以被多个用户使用。它是一个将应用程序的物理实例的许可证密钥在企业的不同用户之间共享的过程。这项技术的主要目的是向所有客户提供云应用程序的标准版本。它因其灵活性和即时运行过程而广受欢迎。

        面向服务的架构(SOA):SOA是一种软件开发方法,它使用称为服务的软件组件来创建业务应用程序。每个服务提供一个业务功能,并且服务可以在不同平台和语言之间进行通信。开发者使用SOA在不同系统中重用服务或组合几个独立服务来执行复杂任务。

        网格计算:网格计算是一种计算基础设施,它结合了分布在不同地理位置的计算资源以实现共同目标。所有未使用的资源都被汇集在一起,用于单一任务。组织使用网格计算来执行大型任务或解决单一计算机难以完成的复杂问题。

        实用计算:实用计算模型基于传统公用事业,并源于使IT资源像传统公共事业(如电、气、水和电话服务)一样容易获得的过程。这一过程依赖于按使用付费模型。它按需提供计算服务,收益计量。它主要通过减少初期投资来帮助削减成本。随着企业的计算需求变化,计费也相应变化,不会产生任何额外成本。如果客户使用量减少,则计费成本也相应减少。

        商业考量:传统的商业系统设计为在局域网(LAN)上运行,为许多商业方面提供管理保证。移动用户和现在的云系统的引入极大地复杂化了性能、安全性、可靠性等问题。技术一直在进化,以解决这些问题,并因此支持了移动和云技术。

云计算-云系统背后的技术 (Technologies Behind Cloud Systems)-LMLPHP

        网络性能通过不断提高电信公司提供的网络性能来解决,无论是陆上还是无线。加密技术、防火墙和其他安全技术已得到改进,并降低了购买和管理成本。随着时间的推移,互联网服务的可靠性也有所提高。

云计算-云系统背后的技术 (Technologies Behind Cloud Systems)-LMLPHP

        这一进步引发了如何设计一个组织的网络以利用这些技术为云和移动用户服务的问题。有两种一般设计。第一种是保持组织的互联网连接后的企业IT资源,如图3.1所示。

        带宽和延迟:带宽是通信容量,延迟是端到端传递时间(有时称为“滞后”)。这是通信链路性能的两个重要指标。例如,如果一个组织正在考虑云服务,他们必须确保组织的通信链路能够处理组织和云提供商之间额外的通信流量。内部通信链路在成本低时可以具有高容量。一旦这些内部用户需要访问远程基于云的系统,他们必须通过企业互联网连接,这不仅可能昂贵,而且可能有带宽限制。

        延迟也是云系统需要考虑的问题。互联网服务的延迟由几个因素引起。如果云服务的任何链接具有容量限制,则流量将排队,从而引入延迟。路由设备的数量——即用户与云资源之间的路由设备的数量也会引入延迟。另一个因素是云资源与云用户的地理分离。这在澳大利亚或其他亚洲用户使用位于美国或欧洲的云服务时尤其明显。在任何链接上,数据都以光速传输。这是澳大利亚与美国或欧洲通信的一个因素。您可以在电视上的卫星视频连接中看到,两端的发言者之间有一个小延迟。此外,许多海底链接必须在一定间隔设有信号中继器,这也会引入延迟。

        转向云服务涉及许多性能决策。随着技术的进步,一些云用户的担忧正在消散,但这需要仔细考虑云服务和通信技术是否足够先进,以满足您的要求。如前所述,云提供商通常会有一个服务级别协议(SLA),其中将为您考虑的服务参数进行说明。如本节所讨论的,内部通信网络以及组织和云提供商之间的通信网络也必须考虑。

活动1

  • 网格计算与实用计算的区别是什么?

    • 网格计算:网格计算是一种计算模型,通过连接分散在不同地理位置的多台计算机的资源,共同解决大规模或复杂的问题。网格计算把这些资源整合起来,形成一个强大的“虚拟计算机”,以执行大型任务或科学计算。
    • 实用计算:实用计算更类似于传统的公用事业(如电力或水务),按需提供计算资源,并根据消费进行计费。实用计算模型使得计算资源像电一样易于获取和使用,企业可以根据需要支付其使用的计算资源,从而降低前期投资和运营成本。
  • 为什么虚拟化对云计算很重要?

    • 虚拟化技术允许在单一物理服务器上运行多个虚拟机(操作系统和应用程序的实例)。这对云计算至关重要,因为它提高了资源的利用率,降低了成本,提供了更高的灵活性和可扩展性。通过虚拟化,云服务提供商可以快速部署、管理和扩展各种计算资源,以满足客户的不断变化的需求。此外,虚拟化支持多租户架构,确保不同客户的应用和数据在云环境中彼此隔离,增强了安全性。
  • 企业在迁移到云时应考虑哪些因素?

    • 成本:评估迁移到云的总成本,包括初始迁移成本、长期运营成本以及潜在的成本节省。
    • 安全性和合规性:确保云服务提供商能够满足企业的安全标准和行业合规要求。
    • 技术兼容性:分析现有的应用和数据是否适合云平台,以及需要进行哪些修改。
    • 性能需求:确定哪些应用和服务对性能有特殊要求,并评估不同云服务提供商的性能以确保它们可以满足这些需求。
    • 供应商锁定风险:选择云服务提供商时要考虑未来可能的迁移和互操作性问题,避免过度依赖单一供应商。
    • 扩展性和灵活性:考虑云服务的可扩展性和灵活性,确保它能够随着企业需求的变化而轻松调整。
    • 业务连续性和灾难恢复:制定有效的业务连续性计划和灾难恢复策略,确保在云环境中数据和应用的可靠性和可用性。

数据中心技术 (Data Centre Technology)

        云消费者通常使用的资源,一般是某些物理资源的虚拟形式。你可能会好奇这些物理资源位于哪里。数据中心是一个存储计算机和相关硬件设备(即物理资源)的物理位置。数据中心还包含计算基础设施,如服务器、数据存储驱动器和网络设备。它是存放所有物理资源和数字数据的物理设施。

        现代数据中心必须跨多个现场(包括本地和云端)进行通信。即使是公共云,也是由多个数据中心组成的。当应用程序托管在云端时,它们使用云提供商的数据中心(物理)资源。

重要性 数据中心带来了几个好处,如:

  • 备用电源
  • 数据复制
  • 温度控制设施
  • 更容易实施的安全措施

数据中心包括的内容 数据中心主要有三种类型的物理资源 - 计算、存储和网络资源。

  • 计算资源 - 包括以机架、刀片或大型机服务器的形式的处理和内存单元。每个机架式服务器都有自己的电源、冷却风扇、网络交换机和端口,以及常规的处理器、内存和存储。每个刀片包含处理器、网络控制器、内存,有时还包括存储;它们被设计成可以适配于一个可以容纳多个刀片并包含所有刀片所需电源、网络管理及其他资源的机箱中。大型机是具有多个处理器的高性能计算机,可以完成一个机房的机架式或刀片服务器的工作。

  • 存储资源 - 大多数服务器包括一些本地存储,称为直接附加存储(DAS)。这种类型的存储使得最常用的数据能够靠近CPU。这种存储类型更类似于缓存内存。其他存储配置包括网络附加存储(NAS)和存储区域网络(SAN)。NAS通过标准以太网连接为多个服务器提供数据存储和数据访问。NAS设备通常是一个专用服务器,拥有多种存储介质,即硬盘或固态驱动器。

  • 像NAS一样,SAN支持共享存储,但SAN使用单独的网络进行数据传输,由多个存储服务器、应用服务器和存储管理软件组成更复杂的混合体。一个数据中心可能同时使用DAS、NAS、SAN。

  • 网络资源 - 数据中心涉及大量的网络设备,包括电缆、交换机、路由器和防火墙,这些设备将数据中心的其他组件以及终端用户位置连接在一起。它们提供系统内无缝的数据移动和连接性。数据中心的网络服务通常是虚拟化的。这使得可以创建基于网络物理基础设施之上的软件定义的覆盖网络,以适应特定的安全控制。

        除这些组件外,数据中心还包含其他关联组件,包括电源供应管理、冗余和故障转移管理、环境控制管理(控制火灾、温度、湿度)。

活动2

                进行一些研究并尝试回答这些问题:

  1. 为什么服务器、存储设备和网络技术的标准化对于数据中心很重要?
  2. “热插拔”与“冷插拔”硬件有什么区别?它需要软件支持吗?
  3. SAN设备和NAS设备有什么区别?
  4. 提到硬件的过时性,需要每五年更换一次。为什么,正如读物所说,这会导致不兼容的问题?

虚拟化

        虚拟化的思想是将一个物理设备抽象为可以用软件操作的虚拟设备。我们可以虚拟化服务器、存储、网络和电源。后者通常适用于不间断电源供应(UPS),其中备用电源可以按机器管理。数据中心中的虚拟网络通常称为虚拟局域网或VLANs。

        虚拟服务器(也称为虚拟机或VMs)是虚拟化思想中最重要的部分。软件允许我们创建一个从行为上无法与物理服务器区分的虚拟服务器。我们可以在虚拟服务器上安装和运行软件,就像在物理服务器上安装一样。运行的软件应该与在物理服务器上运行的软件无法区分。虚拟化的优势在于我们可以在一个物理服务器上安装多个虚拟服务器,并在需要时将虚拟服务器移到其他物理系统上。

        实现虚拟化的软件,在物理计算机上运行,被称为虚拟机管理程序或hypervisor。它通过模拟和管理物理服务器的所有物理特性来工作。因为它将支持一个物理服务器上的多个虚拟服务器,它必须能够管理CPU使用、内存使用、多个网络地址和端口(每个虚拟机不同),分隔的辅助存储等。它必须让每个虚拟服务器上的软件认为它在自己的物理服务器上运行,并确保一个虚拟服务器上的软件不会干扰另一个虚拟服务器上的软件。

        虚拟化的明显优势是,如果我们有多个虚拟服务器在一个物理机上运行,我们就不需要多个物理机器 - 我们需要更少的服务器硬件。这被称为服务器整合。

        我们还注意到,虚拟服务器上的软件无法区分虚拟服务器和物理服务器。这并不意味着每个虚拟服务器需要运行相同的软件。我们可以在同一物理机上托管具有不同操作系统和不同应用软件的虚拟机。

        对于主机机器来说,虚拟服务器是包含虚拟镜像的简单文件。要移动一个虚拟服务器,我们只需要复制文件,无论是在同一物理服务器上还是移到另一个服务器上。要备份一个虚拟服务器,我们只需要备份虚拟镜像文件。这个功能允许进一步的管理优势:

  • 创建一个标准的虚拟镜像,可以在必要时部署。标准镜像可以用来重新启动服务器,或部署多个并行执行的服务器。
  • 移动虚拟镜像的能力允许轻松扩展或缩小规模,无论是到不同容量的物理服务器还是到较不拥挤的物理服务器(与竞争的虚拟服务器一起)。
  • 能够将服务器状态回滚到之前的备份。备份镜像有时被称为快照,可以定期或在预定的检查点进行。
  • 能够轻松备份和恢复服务器提高了业务系统的可靠性(业务连续性)。

操作系统和硬件基础的虚拟化

        两种服务器虚拟化类型:操作系统级和硬件级。我们将分别总结每一种:

操作系统基础虚拟化: 操作系统基础虚拟化是在操作系统之上完成的。这意味着主机系统可以为各种服务器硬件组件安装驱动程序,而虚拟服务器不必直接与硬件互动。

        在这种方法中,虚拟化软件(即虚拟机管理程序)像其他程序一样安装在系统的操作系统中,并利用这个应用程序来操作和生成各种虚拟机。这里,虚拟化软件允许用户直接访问创建的任何虚拟机。由于宿主操作系统可以为硬件设备提供必要的支持,操作系统虚拟化可能会影响硬件的兼容性问题,即使硬件驱动程序没有分配给虚拟化软件。

        操作系统基础虚拟化有一定的性能成本。宿主操作系统消耗CPU、内存、磁盘空间和其他资源。宿主的虚拟操作系统可能需要访问硬件,这必须由宿主软件拦截和处理,以消除与其他虚拟机的冲突。

硬件基础虚拟化: 硬件和虚拟化是两个不同的概念。硬件虚拟化是硬件资源的抽象。硬件基础虚拟化涉及直接在硬件上(代替操作系统)安装虚拟机管理软件。这种软件被称为虚拟机管理程序(或有时称为虚拟机管理器)。与操作系统相比,虚拟机管理程序是一小块非常高效的软件,具有许多性能优势,超过基于操作系统的虚拟化。

        在这种方法中,硬件充当宿主,软件是客体。虚拟机管理程序用于创建虚拟环境,并允许在单台计算机上有效运行不同的操作系统。创建这种机制的唯一目的是在单一的大型服务器上使用多个较小的服务器。虚拟机管理程序实现了软件,使硬件在多个虚拟机之间共享。问题是,托管的虚拟机中的操作系统是否与虚拟机管理程序接口兼容。这是因为虚拟机管理程序软件位于硬件和虚拟操作系统硬件驱动程序之间。

参考

https://blog.resellerclub.com/os-virtualization-vs-hardware-virtualization/

Operating system based Virtualization - GeeksforGeeks

活动3

1.操作系统基础虚拟化与硬件基础虚拟化的区别

  • 操作系统基础虚拟化运行在宿主操作系统之上,共享宿主OS的内核。
  • 硬件基础虚拟化通过虚拟机监视器(hypervisor)直接在硬件上运行,每个虚拟机有独立的操作系统。

2.优势和劣势比较

  • 操作系统基础虚拟化优势在于部署快速、成本较低;劣势是性能损失较大,安全性较低。
  • 硬件基础虚拟化优势在于提供更好的隔离和安全性,性能接近物理硬件;劣势是成本更高,设置更复杂。

3.Docker容器与虚拟机的区别

  • Docker容器共享宿主机的操作系统内核,启动快,资源占用少,适合密集的应用部署。
  • 虚拟机为每个实例提供完整的操作系统,提供更强的隔离,但启动慢,资源占用高。

多租户技术

        多租户意味着有多个租户(消费者)。在云计算中,它指的是一个架构,其中多个客户或终端用户共享公共或私有云解决方案的IT资源。然而,不必担心隐私,因为每个租户的数据都与其他租户隔离且不可见。在这样的系统中,每个租户或客户都有他们的数据存储和处理的独立个人空间。多租户云网络的每个部分在允许用户访问其隔离数据之前必须处理复杂的权限。

        这意味着您只能在服务提供商的许可下访问您的数据,而这些数据对其他所有租户都是不可访问的。

        为了设计多租户应用程序,设计者必须考虑许多特性:

  • 使用隔离 - 一个租户不能影响另一个租户的应用程序行为。
  • 数据安全 - 一个租户不能访问属于另一个租户的数据。
  • 数据恢复 - 租户必须能够分别备份和恢复数据。
  • 升级 - 开发者必须知道软件升级会影响所有租户,因此应考虑所有租户。
  • 可扩展性 - 必须管理租户数量的增加或某些租户的使用量增加。
  • 使用 - 租户只应为他们自己的系统使用付费,而不是其他租户的活动。
  • 数据隔离 - 设计者必须决定如何为不同的租户分隔数据。例如,是每个租户使用单独的数据库表,还是每个租户在同一个数据库表中有单独的行。这些决定需要考虑性能问题以及不同的实施策略。

参考:

Multitenancy in Cloud Computing Explained in 5 Minutes or Less - Geekflare

活动4

        阅读关于多租户的部分并回答以下问题:

1.单独虚拟机与多租户版本应用程序的区别

  • 单独虚拟机中的应用程序为每个用户或客户提供一个独立的虚拟机实例,每个实例运行自己的操作系统和应用程序副本,提供完全隔离的环境。
  • 多租户版本的应用程序在同一个应用实例上服务多个客户或用户,共享应用程序和数据库实例,通过数据隔离确保安全性和私密性。

2.如果云提供商管理不善,一个租户的使用如何可能影响另一个租户的使用?

  • 资源争夺:一个租户过度使用资源(如CPU、内存、带宽)可能导致资源不足,影响其他租户的性能和响应时间。
  • 安全隔离失败:不恰当的安全措施可能导致一个租户访问或干扰到另一个租户的数据。

3.为什么多租户应用程序的备份和恢复需要为每个租户单独执行?

  • 数据隔离:保证数据隔离安全,避免数据泄露给不相关的租户。
  • 定制恢复需求:不同租户可能有不同的备份和恢复需求,单独执行可以满足各自的业务要求和合规性需求。

4.为什么在多租户应用程序中的应用升级比为每个用户在单独的虚拟机中提供应用更困难?

  • 影响范围广:升级动作影响所有租户,必须确保升级过程中所有功能对所有租户都兼容,避免中断服务。
  • 复杂的依赖性管理:需要管理不同租户可能的不同依赖和配置,确保升级不会引入错误或配置问题。

5.根据你对数据库的了解,共享表格和每个租户单独表格可能会带来什么后果?

  • 共享表格
    • 优点:节省存储空间,简化数据库维护。
    • 缺点:数据隔离和安全性更难管理,性能问题更易发生因为所有租户的查询和事务可能互相影响。
  • 每个租户单独表格
    • 优点:提高数据隔离和安全性,减少租户间的性能干扰。
    • 缺点:增加数据库的复杂性和存储成本,维护更为复杂。
05-25 01:57