云计算:概念、技术、架构 学习笔记
前言
读研的研究课题是边缘计算,先学习云计算基础。
一、每章关键知识点总结
第三章 理解云计算
云计算的定义:
云计算是分布式计算的一种特殊形式,它引入效用模型来远程供给可扩展和可测量的资源。
云计算的商业驱动力:
- 容量规划,三种策略:领先策略,滞后策略,匹配策略。
- 降低成本,节省运营成本和初期购买设备的成本,企业无需为了建设大规模计算基础设施花费巨额初期投资。
- 组织灵活性,便捷的IT资源扩展与收缩。
云计算的前期技术创新
- 集群化:将一组互联的独立IT资源以整体形式工作。
- 网格计算:相比集群更加松耦合(集群一般都属于同一个子网),网格计算系统可以包含异构的,且处于不同地理位置的计算资源。
- 虚拟化:用于创建IT资源的虚拟实例。虚拟化软件层允许物理IT资源提供自身的多个虚拟映像。
云是什么
云指一个独特的IT环境,设计目的是为了远程供给可扩展和可测量的IT资源。
云和Internet的区别
Internet提供了对多种Web资源的开放接入,而云通常是私有的,需要计量。
Internet主要提供万维网发布的内容访问(不涉及IT资源内部细节),而云提供后端处理能力且允许用户访问这些能力。
IT资源是什么
指一个与IT相关的物理的或虚拟的十五,可以是硬件的或软件的,比如定制程序,虚拟服务器,硬盘等。
“内部的(on-premise)”是什么
处于一个组织边界(不是特指云)中的IT企业内部承载的IT资源被认为是位于IT企业内部的。“内部的”指在一个不基于云的,可控的IT环境内部。即外部不能远程访问到的特定组织边界内的IT资源。
※云的可扩展性
可扩展指IT资源可以处理增加或减少的使用需求的能力。有两种类型:
- 水平扩展。包括分配和释放IT资源,比如增加一个虚拟服务器。
- 垂直扩展。现有的IT资源被具有更大或者更小容量的资源代替。例如加两个CPU,为向上扩展,反之为向下扩展。
相比之下,水平扩展更便宜(商品化的套件),且IT资源即加即用;而垂直扩展通常需要停机。
云服务是什么
云服务是指任何可以通过云远程访问的IT资源。
云服务的可靠性和可用性
可靠性:避免出现意外情况的能力,或者更快从故障恢复的能力。
可用性:具有更长的可访问时间。
为什么不同云提供商之间不易迁移
公有云存在不同程度的私有化,如果迁移项目时,涉及不同厂商的环境配置问题,很可能会失败。
第四章 基本概念与模型
组织边界:是一个物理范围,包括由一家组织拥有和管理的IT资源的集合。
信任边界:是一个逻辑范围,通常跨越物理边界,表明IT资源受信任的程度。
※云特性
- 按需使用。给云用户自助使用IT资源的自由,无需云提供者介入。
- 泛在接入,云服务可以被广泛访问的能力。
- 多租户,一个IT资源的一个实例可以同时透明的服务多个云用户。通常依赖虚拟化技术,比如一个物理磁盘实际有多个用户分别用一部分。
- 弹性。云自动透明地扩展IT资源。
- 可测量使用。云平台对IT资源使用情况的记录。
- 可恢复。云内在的故障转移形式,比如可以在多个物理位置分放IT资源的冗余实现。
云交付模型
- 基础设施作为服务(IAAS)。提供以基础设施为中心的IT资源组成,通过基于云服务的接口和工具访问和管理这些资源。相对来说比较原始(raw)。在阿里租的裸ECS云服务器就属于这类。
- 平台作为服务(Paas)。一般由已经部署、配置好的IT资源组成。例如,租用带有Python的服务器。
- 软件作为服务(Saas)。一般是一个可重用的云服务,向大多数云用户开放。比如阿里上的定制WEB网站,傻瓜式的购买即用。
越往上层,用户的自主控制性越差,平台占据主导。
云部署模型
- 公有云。第三方云提供者拥有的可公共访问的云环境。云提供者负责维护公有云和IT资源。
- 社区云。类似于公有云,但是访问被限制为特定的云用户社区。
- 私有云。由一家组织单独拥有的,特定部门作为云提供者。
- 混合云。由两个或更多不同云部署模型组成的云环境。
第五章 云使能技术
这章涉及当代云计算的关键功能和特点。例如,宽带网络、数据中心技术、虚拟化技术、Web技术、多租户技术等。
宽带网络
所有的云都需要连接到网络,才能让用户远程访问。因此,云完全依赖于网络。大多数云允许Internet访问,但部分只允许私有的/专用的网络连接接入。
云用户和云提供者通常利用Internet通信。(涉及计算机网络的基础知识,比如Internet的三层结构,传输协议等)
网络带宽和延迟是影响QoS的因素。对于与云之间有大量数据传输需求的应用来说,带宽(每秒传输数据量)非常重要;对需要快速响应要求高的,则时延非常重要。
QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要的,特别是对于流多媒体应用,例如VoIP和IPTV等,因为这些应用常常需要固定的传输率,对延时也比较敏感。
数据中心技术
彼此邻近的IT资源更容易提高效率(集群)。现代数据中心指一种特殊的IT基础设施,用于集中放置IT资源,包括服务器、数据库、网络与通信设备以及软件系统。
自动化
将供给、配置、补丁和监控等任务自动化,减少运维人员的成本。
※虚拟化技术是什么
虚拟化是将物理IT资源转换为虚拟IT资源的过程。虚拟化平台将物理计算和网络IT资源抽象为虚拟化部件,以便资源分配、操作、释放、监视、控制等。
服务器、存储设备和网络等可以被虚拟化。
- 服务器➡虚拟服务器
- 存储设备➡虚拟存储设备或虚拟磁盘
- 网络➡逻辑网络VLAN
虚拟化技术的关键特性
硬件无关性
运行虚拟化软件的物理服务器是主机,底层硬件可以被虚拟化软件访问。虚拟化本质是对IT硬件仿真,解决硬件不兼容问题,便于迁移。
服务器整合
通过虚拟化软件,可以在一个虚拟主机上同时创建多个虚拟服务器。允许不同的虚拟服务器共享一个物理服务器。这样提升了硬件利用率。这一特性直接支持着按需使用、资源池、可扩展和可恢复性等特性。
创建虚拟服务器本质是生成虚拟磁盘映像,而主机操作系统可以访问虚拟磁盘映像。因此,可以非常简单的实现迁移备份。
基于操作系统的虚拟化
基于操作系统的虚拟化指在一个已存在的操作系统上安装虚拟化软件。宿主操作系统可以提供对硬件设备的支持,所以即便虚拟化软件无法兼容硬件驱动,也可以使用。
基于操作系统的虚拟化的缺点在于,来自客户操作系统的硬件调用可能需要穿越多个层次,会降低整体性能。并且宿主操作系统自身也消耗CPU、内存等资源。
基于硬件的虚拟化
指直接将虚拟化软件按章在物理主机硬件上,绕过宿主操作系统。
缺点在于与硬件设备的兼容性。所有相关的设备驱动程序和支撑软件都要与虚拟机管理程序兼容。
虚拟化管理
虚拟化IT资源的管理通常由虚拟化基础设施管理(Virualization Infrastructure Management, VIM)实现。
对于虚拟化而言,性能开销是必须考虑的问题。如果一个任务是高工作负载且较少使用资源共享和复制,虚拟化可能不是好的选择。
Web技术
WWW(万维网)是由通过Internet访问的互联IT资源构成的系统。Web技术架构的三个基本元素:
- 统一资源定位符(URL),用于指向Web资源的标识符。
- 超文本传输协议(HTTP),通过WWW交换内容和数据的基本通信协议。
- 标记语言(HTML)。
多租户技术
概念:使得多个用户在逻辑上同时访问一个应用。每个租户对其使用、管理和定制,都有自己的视图,是软件的一个专有实例。例如ChatGpt
多租户应用的特点:
- 使用隔离,一个租户的行为不影响其他租户的可用性和性能。
- 数据安全,租户不能访问其他租户的数据。
- 可扩展性,根据租户数量或需求扩展应用。
- 数据层隔离,租户拥有独立的数据库。
多租户和虚拟化的区别是什么
区别主要在于在物理服务器上多倍化的是什么。
虚拟化:一个物理服务器上,虚拟出多个可以容纳服务器环境的虚拟副本,每个副本可以提供给不同用户,用户可以配置,安装操作系统等。(IaaS)
多租户:一个物理或虚拟服务器上运行一个应用程序,该程序允许被多个不同用户共享。(SaaS)
第六章 云安全
保密性、完整性、真实性和可用性是衡量安全性的特征。
- 保密性:事务只有被授权才能访问。
- 完整性:数据未被篡改的特性。
- 真实性:事物是由经过授权的源提供的。
- 可用性:可以访问和可以使用的特性。
威胁作用者
简单来说有四种,分别是:
- 匿名攻击者:在云中无权限,不被信任的云服务用户。
- 恶意服务作用者:截取网络通信,恶意使用或篡改数据。
- 授信的攻击者:经过授权的云服务用户,具有合法证书,可以访问基于云的IT资源。(披羊皮的狼)
- 恶意的内部人员:滥用云资源范围内访问特权。(窝里横)
云安全威胁
流量窃听和恶意媒介都涉及数据截获,后者会篡改数据。
拒绝服务供给(Dos,Denial – of – Service Attack)攻击,使得目标IT资源由于请求过多而负载过重,于是IT资源性能陷于瘫痪。
授权不足攻击,原因是给予了攻击者访问权限或者权限设置太宽泛,还可能是弱密码。
虚拟化攻击,授信的攻击者接入虚拟服务器,获得了对底层硬件未授权的访问,破坏底层物理服务器,进而可能破坏该物理服务器上所有的虚拟资源,给其他共享云用户带来损失。
DOS和DDOS的区别
DoS (阻断服务攻击)是 Denial – of – Service Attack 的缩写,由攻击方大量产生封包或请求,使目标系统资源耗尽,最终让服务中断或停止,导致其他正常用户无法存取。 这通常会用来攻击网站,最终导致网页无法回应并且关闭,原本可以提供的任何服务都会被阻断,因而得名。
与 DDoS 攻击不同,DoS 攻击的来源单一,具体来说就是由一台与网络连接的电脑发送大量请求,目的是使目标系统崩溃。 由于 DoS 攻击往往规模较小,因此它们通常针对小型的网站和个人,因为他们的资源比 Amazon 或 Google 等大型企业网站更有限。 好消息是,由于它的来源单一,只要识别出 DoS 来源,即可阻止它的攻击(通常通过 IP 阻挡),比起 DDoS 攻击容易处理。
DDoS(分布式阻断服务攻击)全名是Distributed Denial–of–Service Attack,虽然与DoS攻击的目的相同,但它利用连网的计算机网络从多点进行来针对目标服务器,其流量比典型的DoS攻击能做的事情要多得更多。 DDoS 攻击通常通过僵尸网络执行,通过恶意软件或病毒感染使别人的电脑主机为攻击者所用。 随着时间推移,攻击者会攻击多台电脑,建立一个僵尸网络,然后在有足够的运算能力后从该网络发起 DDoS 攻击。
由于 DDoS 攻击比起 DoS 攻击的能量更大,因此也常被恶意人士结合勒索软件使用,在收到赎金之前,目标系统无法运行。 同时,DDoS 因为使用多个设备,而这些设备可能位于世界各地任何有网络连接的地方,更难以追踪源头,因此 DDoS 被认为是比典型 DoS 攻击更棘手的网络威胁。
第七章 云基础设施机制
这章讲了云技术架构基础的主要构件。
逻辑网络边界
定义:将一个网络环境和通信网络的其他部分隔离开,形成虚拟网络边界,它包含并隔离了一组相关的基于云的IT资源,这些资源在物理上可能是分布式的。
该机制可以用于实现:
- 将云中的IT资源与非授权用户隔离
- 将云中的IT资源与非用户隔离
- 将云中的IT资源与云用户隔离
- 控制被隔离IT资源的可用带宽
逻辑网络边界的构建
逻辑网络边界通常由提供和控制数据中心连接的网络设备建立,作为虚拟化IT环境部署。包括
- 虚拟防火墙,可以主动过滤被隔离网络的网络流量,控制与Internet的交互。
- 虚拟网络,一般通过VLAN形成,用来隔离数据中心基础设施内的网络环境。VLAN一般通过子网构建。VLAN可以看这个博客
利用各种防火墙和虚拟网络,可以建立多个逻辑网络边界,进而构建逻辑网络布局。
虚拟服务器
定义:是一种模拟物理服务器的虚拟化软件。向云用户提供独立的虚拟服务器实例,云提供者使多个云用户共享同一个物理服务器。一个给定物理服务器可以共享的实例数量由其容量决定。
通过虚拟映像文件(VM)可以快速进行虚拟服务器的实例化,通过该技术,可以实现快速且按需的资源分配。
一般来说,虚拟化层会有一个中心(VIM)用于协调与虚拟服务器实例创建有关的物理服务器。
※云用户创建虚拟服务器实例的过程
- 通过入口选择一个样板服务器
- 在云用户控制的云存储设备中生成相应VM映像的副本
- 入口启动虚拟服务器
- 入口与VIM交互,通过底层硬件生成虚拟服务器实例
- 用户通过管理入口定制虚拟服务器
云存储设备
定义:专门为基于云配置所设计的存储设备。这些设备的实例可以被虚拟化,支持计费机制,固定增幅的容量分配等。
云存储等级
- 文件,数据集合存放在文件系统中。
- 块,存储的最低等级,存放到数据块中。
- 数据集,基于表格的、以分隔符分割的数据集。
- 对象,将数据组织成基于Web的资源。
云使用监控
定义:轻量级的自治软件程序,用于收集和处理 IT资源的使用情况。
有如下形式:
- 监控代理,是中间的事件驱动程序,作为服务代理驻留在通信路径上,监控和分析数据流。通常用来计量网络流量。
- 资源代理,通过与资源软件进行事件驱动的交互来收集数据,主动监控虚拟服务器。监控预定义的且可观测事件的使用指标,如启动、暂停、恢复和垂直扩展。
- 轮询代理,通过轮询IT资源收集云服务使用数据,通常用于周期性监控,比如正常运行时间和停机时间。
资源复制
定义:对同一个IT资源创建多个实例,通常在需要加强IT资源可用性和性能时执行。依赖于虚拟化技术。
加强性能时,从云存储设备查找虚拟映像,通过虚拟服务器映像,创建多个虚拟服务器即可。
提高可用性案例可见书P93。简单来说,当某个物理服务器上的虚拟服务器宕机时,可以将虚拟服务器映像复制到其他数据中心。然后,重新进行虚拟化,使虚拟服务器再次可用。涉及协调和传输问题,由各个数据中心的VIM协作完成。
已就绪环境
定义:预定义的基于云的平台,由一组已安装的IT资源组成。典型的已就绪环境包括已安装的IT资源,如数据库、中间件、开发工具等。
中间件
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了只有用于分布式系统中才能叫中间件,同时也把它与支撑软件和实用软件区分开来。
中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务监控器和消息队列软件。——来源于百度百科
第八章 特殊云机制
云技术架构分别应对IT资源和解决方案的不同要求而设计。每个机制都会专注于一个主要问题。
自动伸缩监听器
定义:机制是一个服务代理,监控和追踪云服务用户和云服务之间的通信,用以动态自动伸缩。它会追踪云服务的负载状态信息,进而对IT资源进行伸缩。
可能的响应类型如下:
- 根据云用户定义的参数,自动伸缩IT资源
- 当负载超过阈值或者低于已分配资源时,自动通知云用户,让云用户调整IT资源的分配
参考DTGOV案例,如果在垂直增大虚拟服务器时,出现物理服务器资源不足问题,那么VIM会将虚拟服务器在线迁移到满足要求的另一个物理服务器。
当缩小IT资源时,虚拟服务器仍然驻留在同一物理主机上,但是性能缩小。
负载均衡器
定义:机制是运行时代理,逻辑是把工作负载在两个及以上的IT资源上做均衡,提升性能和容量。这样的扩展一般是水平扩展。
目的:优化IT资源的使用,避免过并最大化吞吐量。
分配算法举例:
- 非对称分配,较大的工作负载送到计算能力强的设备。
- 负载优先级,根据优先级排队调度。
- 上下文感知分配,根据请求内容的指示分配。
负载均衡器可以是多层网络交换机、硬件、专门的基于软件的系统、服务代理。通常位于产生负载的IT资源(如云服务实例)和处理负载的IT资源(上述)之间的通信路径。
SLA监控器
定义:用来专门观察云服务的运行时性能,确保它们履行了SLA中的QoS需求。当异常发生时,SLA监控器会检查到事件,主动告知系统需要修复或转移故障云服务。
SLA监控器一般通过发送轮询请求消息来轮询云服务,收到信息的服务器做出响应,报告在线,那么该轮询周期,云服务被确认在线,记录到日志数据库。
SLA监控轮询代理可以部署在外部网络,这样可以获取外部是否可以访问云服务的信息。如果部署在内部网络,则无法探测到外部网络是否存在故障。
什么是SLA?
服务品质协议(service-level agreement)(SLA)是服务提供者和客户之间的一个正式合同,用来保证可计量的网络性能达到所定义的品质。SLA 为服务提供者提供了一种在当今多变而又竞争激烈的市场中胜过对手的方法。
按使用付费监控器
定义:按照预先定义的定价参数,测量基于云的IT资源的使用,生成使用日志并计算费用。
监控变量有:
- 请求/响应消息数量
- 传送的数据量
- 带宽消耗
显然,该监控器会放置在云服务用户和云服务之间的通信路径上,拦截信息。
审计监视器
定义:用来收集网络和IT资源的审计记录数据,满足管理需要或合同义务。
典型审计数据:
- 登录认证
- 用户IP地址
- 用户所属国家
例如GPT不允许中国地区访问,那么可以利用一个审计监视器,排除从中国IP请求服务的用户。
故障转移系统
定义:通过使用现有的集群技术提供冗余的实现来增加IT资源的可靠性和可用性。当活跃的IT资源突然不可用时,会自动切换到冗余的或者待机的IT资源实例上。
故障转移系统有两种基本配置
- 主动——主动。IT资源的冗余实现会主动同步服务工作负载。系统在活跃的实例之间做负载均衡。简单来说,所有冗余实例也是处于活跃状态。如果有一个IT资源失效,活跃的IT资源就会接管处理。
- 主动——被动。一个IT资源出问题后,待机或非活跃的实现会被激活,从变得不可用的IT资源处接管工作,相应的工作负载会重定向到该实例上。
故障转移系统被实现为一个事件驱动的代理,截获SLA监控器的不可用通知。作为响应,故障转移系统与VIM需要和网络管理工具交互,才能将网络流量做重定向,这可能是跨越数据中心的。
虚拟机监控器
定义:它是虚拟化基础设施是的最基础部分,用与在物理服务器上生成虚拟服务器实例。一般来说,虚拟机监控器与物理服务器一对一,只能创建那台服务器的虚拟映像。VIM可以控制多个虚拟机监控器。
资源集群
定义:把多个IT资源的实例分为一组,像一个IT资源那样操作。
这种架构依赖于IT资源实例之间的高速专用网络或者集群节点,以便在工作负载分布、任务调度、数据共享和同步时进行通信。
资源集群的两种基本类型:
- 负载均衡集群。它通常需要实现一个负载均衡机制。
- 高可用(HA,High availability)集群。它需要实现一个故障转移系统机制。
虚拟化集群需要带集群功能的虚拟机监控器部署,要保证物理服务器持续同步。
多设备代理
定义:用来帮助运行时的数据转换,使得云服务能够被更广泛的云服务用户程序和设备使用。
基于上述定义,多设备代理通常作为网管存在。比如将不同客户端设备传入数据标准化,将云服务的响应信息转换到源设备所需格式等。
状态管理数据库
定义:一种存储设备,用来暂时持久化软件程序的状态数据。
目的:把状态数据缓存在内存中的替代方法,允许软件程序把状态数据卸载到数据库,以降低程序占用的运行时内存。非常适合长时间运行时活动的服务。
当云服务把状态数据卸载到状态仓库后,云服务就能转入无状态情况,暂时释放系统资源。
当租用多台虚拟服务器时,用户登出后,一直保持所有虚拟服务器活跃,显得资源存在浪费(或者说成本高了)。可以使用状态管理数据库,减少虚拟服务器的数量,把状态数据保存,留一个保持活跃,供用户下次登录。登录后,再增加虚拟服务器的数量,并把状态信息读出,复原。
第九章 云管理机制
这章主要内容是对基于云IT资源的建立、配置、管理等问题,建立了一系列管理系统。
远程管理系统
定义:向外部云资源管理者提供工具和用户界面来配置和管理基于云的资源。
远程管理系统是云用户进行管理操作的第一道门户,它建立一道入口,连接各种底层系统的控制和管理功能,比如资源管理、SLA管理和计费管理。
主要入口类型:
- 使用与管理入口,集中管理不同的基于云的IT资源,提供资源使用报告。
- 自助服务入口,即购买门户,可以租赁最新的云服务与IT资源。
用户通过远程管理系统可以使用的服务:
- 配置建立云服务
- 提供或释放IT资源
- 监控云服务状态
- 监控QoS
- ……
拥有多家云服务供应商产品面临的管理问题
远程管理系统提供的用户界面通常由云提供者设计,如果拥有多家的IT资源。那么管理起来显得麻烦。如果打算更换云供应商也是同理。
因此,云提供商最好能够提供标准API的远程管理系统,由云用户自己设计前端,这样云用户就能统一管理。
资源管理系统
定义:帮助协调IT资源,以响应管理操作。
核心是虚拟基础设施管理器(VIM),外加一个VM映像库,构成资源管理系统。
前面学习过,VIM管理同一个数据中心的所有虚拟服务器监控器。因此,它能够跨多个物理服务器创建虚拟实例。
通过资源管理系统,可以:
- 管理构建实例的虚拟IT资源模板
- 分配和释放虚拟IT资源
- 在其他机制帮助下,协调IT资源
- ……
SLA管理系统
定义:包含一系列商品化的可用云管理产品,例如SLA数据的管理、收集、存储、报告等。
这个系统用于监控云服务质量,收集云服务请求、运行数据,以查验其是否满足云供给合同的要求。
计费管理系统
定义:收集和处理使用数据,设计对云用户的计费,云提供者的结算。
该系统包含定价与合同管理器以及按使用付费测量数据库,通过这两者计算云用户消费方案的费用。
第十章 云安全机制
用来对抗云安全威胁,设计的一系列措施。
加密
默认情况下,数据按照可读的形式编码,这种格式为明文。以明文传输,容易被窃取信息。
加密机制是一种数字编码系统,用来保护数据的保密性和完整性,将明文数据编码成受保护的、不可读的格式。
加密依赖于加密部件的标准算法,把原始的明文数据转化为加密数据,称为密文。加密时,数据和“密钥”字符串结成对,密钥时由被授权的各方建立和共享的秘密。密钥可以把密文解密回原始的明文格式。
加密的两种形式
对称加密
对称加密。对称加密在加密和解密使用相同的密钥。以一个特定密钥加密的信息只能用相同的密钥解密。需要鉴定原来的加密是有权拥有密钥的一方执行的,以确保数据保密性。但是,对称加密没有不可否认性,因为如果密钥为多人拥有,就无法确定哪方执行了加密解密。
非对称加密
非对称加密。非对称加密依赖于使用两个不同的密钥,称为私钥和公钥。只有所有者才知道私钥(不能暴露),公钥一般是可以获得的。一份用某个私钥加密的信息只能由相应的公钥解密。以某个公钥加密的文档只能用相对应的私钥解密。
因为用了两个密钥加密解密,所以计算速度会慢于对称加密。
※用私钥还是公钥加密代表安全性等级。有以下两种情况:
- 用私钥加密。以私钥加密的信息,可以由任意拥有公钥的用户解密。因此,该方法没有数据保密性,但是有真实性、不可否认性和完整性保护。
- 用公钥加密。以公钥加密的信息,只能由合法的私钥拥有者解密。因此,该方法有保密性保护。相应的,因为公钥可以被任意人员拥有,他们都能产生密文,于是无法保证数据完整性和真实性保护。
HTTPS加密
在用于安全的基于Web的数据传输时,加密机制通常是用HTTPS实现。HTTPS表示用SSL/TLS作为HTTP的底层加密协议。TLS(transport layer security)是SSL(secure socket layer)技术的后继。
因为非对称加密比对称加密更加耗时,所以TLS通常把前者作为交换密钥的方法。交换完毕后,切换到对称加密。
哈希
适用于单向的、不可逆的数据保护形式。对消息进行哈希,则消息被封锁,没有密钥可以打开该消息。常见于密码存储。
哈希技术可以用来获得消息的消息摘要,通常是固定长度,小于原始信息大小。发送者把消息摘要附在信息后面。接收者对收到的消息使用同样的哈希函数,验证本地生成的和接收到的消息摘要是否一致。任何修改会导致哈希函数巨变,说明发生篡改。
数字签名
是通过身份验证和不可否认性来提供数据真实性和完整性的手段。
发送信息之前,赋予信息一个数字签名,如果信息发生了未被授权的修改,那么数字签名会变得非法。数字签名可以证明收到的消息是否和发送者创建的消息一致。
数字签名的创建涉及哈希和非对称加密,先用哈希获取消息摘要,再用私钥加密,附加到原始信息中。
接收者要用相应的公钥解密数字签名,得到消息摘要,再对原始信息应用哈希得到本地计算的消息摘要。比对一致后,说明信息保持完整性。
公钥基础设施
公钥基础设施(PKI)用来管理非对称密钥颁发,使大规模的系统能够安全使用公钥密码技术。
该系统用来把公钥和相应的密钥所有者联系起来。
PKI依赖于数字证书,数字证书和公钥一起验证证书拥有者的身份。数字证书一般由CA(Certificate Authority)发放。
申请数字证书流程:
- 云用户向CA提供个人数据和公钥。
- CA对云用户数据和公钥进行哈希,获取消息摘要。
- 用CA的私钥加密消息摘要,生成CA(认证的)数字签名,代表了用户的身份。
接受方,收到CA数字签名,用CA公钥解密出消息摘要。然后在对云用户公钥和数据哈希,比对消息摘要是否一致,就能确定公钥和所有者是否一致。
单一登录
实际问题:跨越多个云服务为云用户传播认证和授权信息比较困难。
单一登录(SSO)让一个云服务用户能够被一个安全代理认证,这个安全代理必须能够建立起一个安全的上下文,当云服务用户访问其他云服务或者基于云的IT资源时,上下文应能够持久化。否则,云用户后续的每个请求都要一次认证自己。
本质上,SSO允许相互独立的云服务和IT资源产生并流通运行时认证和授权证书。云服务用户提供证书,在整个Session期间都有效,安全上下文信息是共享的。
一个实现案例就是令牌系统,云服务用户先向安全代理发送登录证书,申请到认证令牌。然后,云用户使用这个令牌获取运行时认证。
基于云的安全组
根据不同的网络安全需求,在IT资源之间设置隔离以保护数据。对云资源进行分割,为不同的用户和组创建各自的物理和虚拟IT环境。
通过网络的逻辑分划,可以创建基于云的安全组,形成逻辑网络边界。每个基于云的IT资源至少属于一个逻辑的基于云的安全组,安全组有不同的通信规则。
基于云的安全组可以帮助限制对IT资源未授权的访问,因为权限更为严格,通信规则更为复杂了。
强化的虚拟服务器映像
强化指把不必要的软件从系统中删除,限制漏洞,关闭不必要的服务器端口(最重要!),关闭不用的服务等。
云提供商可以提供强化过的虚拟服务器映像,它更为安全。
第十一章 基本云架构
讲了现代基于云的环境的常见用法和特性。
负载分布架构
定义:通过增加一个或多个相同的IT资源及进行IT资源水平扩展,通过负载均衡器在可用IT资源上均匀分配工作负载。
目的:减少IT资源的过度使用和使用率不足。
负载分布架构依赖于负载均衡算法和运行时逻辑。
通常用于支持分布式虚拟服务器、云存储设备和云服务。可以应用于任何IT资源,对特殊IT资源的负载均衡系统实现会产生特殊的架构变化。
负载分布架构包含了很多之前学习过的机制,例如:
- 审计监控器
- 虚拟机监控器
- 逻辑网络边界
- 资源集群
- 资源复制
- ……
资源池架构
为什么要用池
池化技术指的是提前准备一些资源,在需要时可以重复使用这些预先准备的资源。
在系统开发过程中,我们经常会用到池化技术。通俗的讲,池化技术就是:把一些资源预先分配好,组织到对象池中,之后的业务使用资源从对象池中获取,使用完后放回到对象池中。这样做带来几个明显的好处:
资源重复使用, 减少了资源分配和释放过程中的系统消耗。比如,在IO密集型的服务器上,并发处理过程中的子线程或子进程的创建和销毁过程,带来的系统开销将是难以接受的。所以在业务实现上,通常把一些资源预先分配好,如线程池,数据库连接池,Redis连接池,HTTP连接池等,来减少系统消耗,提升系统性能。
可以对资源的整体使用做限制。这个好理解,相关资源预分配且只在预分配是生成,后续不再动态添加,从而限制了整个系统对资源的使用上限。类似一个令牌桶的功能。
池化技术分配对象池,通常会集中分配,这样有效避免了碎片化的问题。
池化技术简单点来说,就是提前保存大量的资源,以备不时之需。池化技术有两个特点,提前创建和重复利用。
资源池
资源池架构以使用一个或多个资源池为基础,其中相同的IT资源由一个系统进行分组和维护,保证同步。
资源池有:
- 物理服务器池。由联网的物理服务器组成。
- 虚拟服务器池。一般配置为使用一个可用模板。
- 存储池。
- 网络池。由不同预配置的网络互联设备组成,可以用来创建虚拟防火墙,逻辑网络边界。
- CPU池。
- 内存池。用于物理服务器的新供给或垂直扩展。
资源池可以建立层次结构,形成父子兄弟关系,有利于构建符合不同需求的资源池。
同级资源池一般来自于物理上分为一组的IT资源,彼此相互隔离,云用户只能访问自己的资源池。
资源池定义完成后,可以创建IT资源的多个实例(例如虚拟服务器、云服务),成为活的资源池。
动态可扩展架构
定义:基于预定义扩展条件的系统,触发条件就会导致从资源池动态分配IT资源。
自动扩展监听器配置了负载阈值,决定何时添加新IT资源,添加多少IT资源。
有如下动态扩展类型:
- 动态水平扩展。向内/外扩展IT资源实例,由自动扩展监听器请求资源复制,发信号启动资源复制
- 动态垂直扩展。向上/下扩展单个IT资源实例,比如加内存、CPU。
- 动态重定向。将IT资源重放置到更大容量的主机上。
弹性资源容量架构
目的:满足虚拟服务器的动态供给,利用分配和回收CPU和RAM资源系统,响应IT资源的变化请求。
虚拟机监控器对虚拟服务器的运行时处理进行监控,在达到容量阈值前,动态分配资源等待扩展。这里虚拟服务器一般是垂直扩展的。虚拟服务器需要重启才能使动态资源分配生效。
流程:
- 云服务用户增加访问请求
- 自动扩展监听器向智能自动化引擎发送执行脚本信号
- 脚本运行,向虚拟监控器发送扩展请求
- 虚拟监控器向资源池发送分配请求
- 虚拟监控器向虚拟服务器分配更多资源
服务负载均衡架构
目的:针对扩展云服务实现。添加负载均衡系统,创建云服务的冗余部署。
云服务的实例被组织成一个资源池,负载均衡器作为外部或者内置组件(前者更加低耦合),进行通信工作,将工作负载的处理水平扩展。
云爆发架构
定义:一种动态扩展形式,达到预设的容量阈值,就从企业内部的IT资源“爆发”到云中(像火山爆发一样)。基于云的IT资源是冗余性的预部署,保持非活跃状态,直到云爆发。当不需要这些资源后,云上的资源会被释放。
目的:应对较高的使用需求,企业内部资源不够用时,暂时拓展到云资源救火。
该架构依赖于自动扩展监控器和资源复制。自动扩展监控器用于将请求重定向到基于云的IT资源;资源复制机制维护企业内部和云上资源的状态信息同步。
弹性磁盘供给架构
目的:确保云用户按照实际使用的磁盘存储量准确计费。利用自动精简供给技术,实现存储空间自动分配,准确计费。
自动精简供给软件装在虚拟服务器上,由虚拟机监控器处理动态存储分配。
冗余存储架构
问题:云存储设备可能会遇到故障,例如网络问题或硬件故障。一个组合的云存储设备具有连锁反应,可能会导致依赖该服务的所有云服务、应用程序故障。(很像阿里云全球崩了那件事)
目的:引入复制的辅云存储设备作为故障系统的一部分,与主云存储设备的数据保持同步。主设备失效后,存储设备网关把云用户的请求重定向到辅设备。
主云存储和辅云存储设备是不会放在同一地理地区的。
该架构依赖于存储复制系统。存储复制是资源复制的变体,用于将数据从主存储设备同步或异步的复制到辅存储设备。
存储设备网关
这是一个组件,是连接到云存储设备的外部接口。当云用户请求的数据地址发生变化时,它可以自动重定向。
LUN
逻辑单元号(Logical Unit Number)是逻辑驱动器,代表物理驱动器的一个分区。
第十二章 高级云架构
虚拟机监控器集群架构
遇到的问题:虚拟机监控器负责创建和管理多个虚拟服务器。如果监控器出现故障,会波及它管理的所有虚拟服务器。
虚拟机监控器集群架构,建立了跨多个物理服务器的高可用虚拟机监控器集群。当一个虚拟机监控器或者其底层物理服务器宕机,那么其托管的虚拟机服务器可以迁移到另一物理服务器或虚拟机监控器上,保持运行。
流程:
- VIM向虚拟机监控器发送心跳来确认虚拟机监控器是否在运行。
- 心跳消息未被应答(说明出现故障)。
- VIM启动VM在线迁移程序
- 受影响的虚拟机监控器移动到新的主机
VM在线迁移
是一个具有在运行时将虚拟服务器或虚拟服务器实例重新放置能力的系统。需要VIM,虚拟机监控器和共享云存储设备协作。
心跳
是虚拟机监控器之间,监控器和服务器之间,监控器和VIM之间相互交换的系统级信息。
负载均衡的虚拟服务器实例架构
遇到的问题:保持物理服务器之间的工作负载均衡困难,因为每个物理服务器运行和管理是相互隔离的。长时间后,某些服务器可能会承载更多的虚拟服务器/工作负载。
解决问题:建立容量看门狗系统,在分配任务前,动态计算虚拟服务器实例和其的工作负载。
主要部件:云使用监控器,VM在线迁移程序,容量计划器
流程:
- 云使用监控器追踪物理和虚拟服务器的使用,向容量计划器报告。
- 容量计划器动态计算物理服务器计算能力。
- 发信号给VM在线迁移程序。
- VM在线迁移程序移动虚拟服务器。
不中断服务重定位架构
遇到的问题:云服务不可用,原因可能是超负载、维护更新和迁移等。云服务用户的请求被拒绝,不希望发生拒绝的情况。
解决问题:通过这个系统,预先定义的事件触发云服务实现的运行时复制或迁移,避免中断。具体是在新主机上增加一个复制的实现,不是利用冗余的实现对云服务伸缩。然后将用户访问重定向到复制的实现上。
关键要求:保证原始的云服务实现在被删除前,新的云服务已经可以接受和响应云服务用户。
零宕机架构
遇到的问题:物理服务器宕机造成服务失效,对云用户的SLA无法保证。
解决问题:设计故障转移系统,在虚拟服务器原始的物理服务器失效时,允许动态的迁移到其他物理服务器主机。
关键要求:所有的虚拟服务器要存储在共享的介质(要有持久的虚拟网络配置),这样其他物理服务器就可以访问他们的文件。
资源预留架构
遇到的问题:IT资源有限,并发访问可能导致运行时异常,称为资源受限。进而导致云用户被拒绝服务或性能下降。
解决问题:专门为给定的云用户保留部分资源,避免资源受限和资源借用。
IT资源预留系统可以定义对每个IT资源和资源池的使用阈值,预留锁定每个池需要保留的IT资源量,剩余的可以用来共享或借用。
快速供给架构
遇到的问题:需要配置大规模的虚拟服务器,并且配置类似,属于重复性劳动。人力操作麻烦又容易出现错误。
解决问题:设计自动化IT资源供给,由自动供给程序、快速供给引擎和模板组成的系统。
简单来说,就是通过自动化脚本,存储的服务器模板来快速批量生成虚拟服务器,并且根据用户需求部署云服务。
存储负载管理架构
遇到的问题:过度使用云存储设备,存储上分配了过多的云用户LUN。
解决问题:存储容量监控器对存储设备监控,通知存储容量系统,协调平衡存储集群的LUN。LUN迁移需要LUN迁移程序。
第十三章 特殊云架构
架构很多,用于解决特定场景下的问题,挑选几个有意思的记录。
动态数据规范化架构
遇到的问题:冗余数据存储在基于云的环境,会
- 增加索引时间
- 增加备份时间
- 增加成本
- …
相同的数据不必多次存储(用户可能并未意识到)。
动态数据规范化架构,建立了一个重复删除系统,侦测和消除云存储设备上的冗余数据,阻止云用户保留冗余数据副本。
具体方法:每个被处理和存储的数据块会分配一个哈希码,并维护哈希和数据块的索引。
跨存储设备垂直分层架构
遇到的问题:云存储设备无法满足云用户的性能需求,需要更多的数据处理能力或带宽来增加IOPS。
解决方法:在容量不同的存储设备之间垂直扩展。LUN可以自动进行向上向下扩展,选择合适的存储设备层。
例如,从磁盘迁移到SSD,以满足用户的大规模数据处理需求。
多路径资源访问架构
遇到的问题:某些IT资源智能通过超链接访问,这个路径可能丢失,或者被云提供者修改,从而变得不可用。导致IT资源不可用会影响该资源的稳定性。
解决方法:建立多路径系统,为IT资源提供可替换的路径。文章来源:https://www.toymoban.com/news/detail-764561.html
具体来说,为特定的IT资源产生可替换的物理或虚拟超链接。多路径系统需要驻留在服务器或监控器中,确保多个路径都是访问相同的IT资源。文章来源地址https://www.toymoban.com/news/detail-764561.html
到了这里,关于云计算:概念、技术、架构 学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!