云计算

软件(程序)是什么?

软件必须包含输入/输出语句和计算语句,没有包含输入/输出语句的软件没有任何用途。

实时输入/输出和批量输入/输出

  • - 实时输入/输出是指CPU执行输入/输出步骤时,即刻完成输入/输出动作。
    - 批量输入/输出是一次性输入全部的信息,一次性输出全部的计算结果。
    

可进一步划分为强交互软件和弱交互软件两种。

强交互软件是指在运行时需要实时的进行大量输入/输出操作,期额输入之后马上能看到输出结果
弱交互软件是指软件运行时实时的进行少量的输入操作,然后就源源不断的输出了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0BOxGfEB-1599276235548)(笔记.assets/1.PNG)]

计算机设备就是程序运行时需要使用的资源——计算资源

计算机的组成

完整的计算机系统包括硬件、软件和数据资料。
软件可分为平台软件和应用软件,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mY243aAn-1599276235551)(笔记.assets/2.PNG)]

现在有两个趋势:第一个趋势是操作系统固化,用户自己不能安装和更改操作系统,只能在线对操作系统进行升级。应用软件也不能随便安装,只能从官方应用软件库中在线安装,如平板电脑、智能手机、老年机等。第二个趋势是云计算,后面会提到。

**由此可以说,准计算机系统(硬件、操作系统、应用软件)是手段,数据资料是目的。 **

计算机网络(因特网)

**如果两台计算机之间要通信,那么同样每台计算机要定义一个唯一的地址——32 个由 0 和 1 组成的二进制数字。 **

消息的打包和传递都是由计算机网络自动完成的,而且以电或光的速度传播,所以速度非常快。传递路径上转发机构(通常是路由器)的多少决定了一条消息到达对方计算机所消耗的时间(术语称延时)。

计算机网络的另一个指标是带宽,定义为每秒钟能传递的数据量。带宽越大,则每秒钟传递的数据量就越大。如果把计算机网络比喻为布满收费站的高速公路(车子从一个收费站开到另一个收费站的时间可以忽略不计,但是收费站交钱时要消耗时间),那么带宽就与车道数直接相关,延时就是从出发点到目的地经过收费站交钱时所消耗的时间之和。

**计算机网络的第三个指标是丢包率(或称为掉包率),是指在一定时间内被丢掉的数据包数目占总发送数据包数目的百分比。 **

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3OkUYZ7y-1599276235553)(笔记.assets/3.PNG)]

接下来再来谈谈**叠加网络(Overkay Networks)**技术

顾名思义,就是在一张网络平面上叠加出更多层的网络平面,手法无非就是"包中之包"——把叠加协议和信息数据打包作为底层网络平面传递的应用层数据。

实现叠加的最新技术有 VXLAN、NVGRE 和 STT,这些技术主要用来解决在大规模、多机房、跨地区的云计算中心部署多租户环境问题。叠加网络技术非常类似于在邮政系统上建立一个情报网络,利用现有的邮局来收发间谍情报。为了防止未经授权的人获取情报信息,需要先做加密处理,然后再放入信封,当然对方事先要知道解密方法。

叠加网络与虚拟局域网有着本质的不同,虚拟局域网通过分割一张大的局域网来减少广播风暴,本质是“分割”网络;而叠加网络是把“局域网”延伸到底层网络平面的任何地点,本质是“连通”。这里的“局域网”是虚拟的概念,对用户是透明的。

IT系统的组成

一个典型的 IT 系统从逻辑上分为九层,施工时也是严格按照从第 1 层到第 9 层的顺序进行的,这就是所谓的“竖井”式施工。其中,第 1~4 层可归并为基础设施层,第 5~7 层可归并为平台软件层。

九层归并之后形成四层结构,分别是基础设施层、平台软件层、应用软件层和数据信息层,IT 系统的四层结构是最为普遍并被广泛接受的划分方法。

基础设施层、平台软件层、应用软件层可以进一步归并到 T(Technology 的首字母,表示技术),而数据信息层就是 I(Information 的首字母,表示信息),这就是 IT 的含义——信息技术。

IT 就是信息(Information)与技术(Technology),其中 I 是目的,T 是手段,T 是用来加工处理 I 的。T 广义上还包括企业中的计算机技术人员。

云计算是什么?有哪些形式?

在 IT 行业,存在一个 15 年周期现象,从 1966 年开始到可预知的未来若干年,可分为 6 个周期,每个周期的技术热点分别如下:

  • 1966—1980 年为大型机时代;
  • 1981—1995 年为个人计算机时代;
  • 1996—2010 年为互联网时代;
  • 2011—2025 年为云计算时代;
  • 2026—2040 年为人工智能时代;
  • 2041—2055 年为机器人时代。

软件就是程序员写的需要 CPU 来执行以便完成某项任务的步骤,这些步骤包括输入/输出步骤和计算步骤。而 CPU 在执行输入/输出步骤时需要使用输入/输出设备,在执行计算步骤时需要使用计算设备。

计算机特征

  • 计算资源就在本地。
  • 计算资源不易扩展或收缩。
  • 其他人无法共享你的计算资源。
  • 既是计算资源的所有者,又是计算资源的使用者。

计算资源包括 CPU、内存、硬盘和网络。而在机房中,磁盘只是存储大类中的一种,存储还包括磁带库、阵列、SAN、NAS 等,这些统称为存储资源。

云终端与云端之间是标准的 C/S 模式,即客户端/服务器模式——客户端通过网络向云端发送请求消息,云端计算处理后返回结果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DPruNirZ-1599276235556)(笔记.assets/4.PNG)]

云计算的5个基本特征

  • 自助服务
  • 广泛的网络访问
  • 资源池化
  • 快速弹性
  • 计费服务

云计算的4种部署模式

  • 私有云
  • 社区云
  • 公共云
  • 混合云

云计算的3种服务

  • 软件即服务(software as a service SaaS)
  • 平台即服务(Plantform as a Service PaaS)
  • 基础设施即服务(Infrastructure as a Service laaS)

云计算的精髓就是把有形的产品(网络设备、服务器、存储设备、各种软件等)转化为服务产品,并通过网络让人们远距离在线使用,使产品的所有权和使用权分离。

云计算的3种服务模式

云计算是一种新的计算资源使用模式,云端本身还是 IT 系统,所以逻辑上同样可以划分为这四层。

云服务提供商出租计算资源有 3 种模式,满足云服务消费者的不同需求,分别是 IaaS、PaaS、SaaS,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sqD6WGjE-1599276235558)(笔记.assets/5.PNG)]

laaS

laaS意思是基础设备即服务,即把it系统的基础设施层作为服务出租出去。由云服务提供商把it系统的基础设施建设好,并对计算设备进行池化,然后直接对出租硬件服务器、虚拟主机、存储或网络设施。所以laaS云服务的消费者一般是掌握一定技术的系统管理员。

IaaS 云服务提供商计算租赁费用的因素包括 CPU、内存和存储的数量,一定时间内消耗的网络带宽,公网 IP 地址数量及一些其他需要的增值服务(如监控、自动伸缩等)等。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PTUPQOwe-1599276235559)(笔记.assets/6.PNG)]

IaaS 云端的基本架构模型逻辑上分为三层:第一层管理全局,第二层管理计算机集群(一个集群内的机器地理位置上可能相距很远),第三层负责运行虚拟机。

第一层的云管理器与第二层的集群管理器之间一般通过高速网络连接,当增加数据中心为云端扩容时,就能体现网速的重要性。而集群内的计算机之间倾向于采用本地局域网(如 10Gbit/s 以太网)或者超高速广域网,如果采用局域网,则灾难容错差;如果跨广域网,则网络带宽会成为瓶颈。

云管理器

云管理器是云端对外的总入口,在这里验证用户身份,管理用户权限,向合法用户发放票据(然后用户持此票据使用计算资源)、分配资源并管理用户租赁的资源。

集群管理器

集群管理器接受上层的资源查询请求,然后向下层的计算机管理器发送查询请求,最后汇总并判断是部分满足还是全部满足上层请求的资源,再反馈给上层。如果接下来收到上层分配资源的命令,那么集群管理器指导下层的计算机管理器进行资源分配并配置虚拟网络,以便能让用户后续访问。

计算机管理器

每台计算机上都有一个计算机管理器,它一方面与上层的集群管理器打交道,另一方面与本机上的虚拟机软件打交道。它把本机的状态(如正在运行的虚拟机数、可用的资源数等)反馈给上层,当收到上层的命令时,计算机管理器就指导本机的虚拟机软件执行相应命令。这些命令包括启动、关闭、重启、挂起、迁移和重配置虚拟机,以及设置虚拟网络等。

PaaS

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0KzFJoOX-1599276235560)(笔记.assets/7.PNG)]

PaaS 云服务的费用计算一般根据租户中的用户数量、用户类型(如开发员、最终用户等)、资源消耗量及租期等因素计算。

半平台PaaS

最为流行的半平台 PaaS 应用是开启操作系统的多用户模式,为每个租户创建一个系统账号,并对他们做权限控制和计算资源配额管制。半平台 PaaS 更关注租户的类型,如研发型、文秘型等,针对不同类型的租户做不同的权限和资源配置。

全平台PaaS

全平台 PaaS 安装了应用软件依赖的全部平台软件(操作系统、数据库、中间件、运行库)。不同于半平台 PaaS,全平台 PaaS 是针对应用软件来做资源配额和权限控制的,尽管最终还需要通过账号实现。

SaaS

就是软件部署在云端,让用户通过因特网使用它,即云服务提供商把it系统的应用软件层作为服务出租出去,而消费可以使用任何云终端设备介入计算机网络,然后通过网页浏览器活着编程接口使用云端的软件。

SaaS应用软件的几个特点

  • 复杂
  • 主要面向企业用户
  • 模块化结构
  • 多租户
  • 多币种,多语言,多时区支持
  • 非强交互性软件

数据记录包括软件的配置信息和业务数据,配置信息指租户选择的语言、设置的时区、指定的币种、定义的面板参数等;而业务数据就是日常业务处理产生的数据,一般保存在数据库中,而数据库保存在云端的存储中。

适合SaaS模式交付给用户的软件

  • 企事业单位的业务处理类软件
  • 协同工作类软件
  • 办公类软件
  • 软件工具类

不适合作为SaaS云服务出租的软件

  • 实时处理软件
  • 实时产生并大量消费者数据的软件
  • 关键软件

SaaS的优点

  • 云终端少量安装或不用安装软件
  • 有效使用软件许可证
  • 数据安全性得到提高
  • 有利于消费者拜托it运维的技术泥潭而专注于自己的核心业务
  • 消费者能节约大量前期投资

云计算的4种部署模型

私有云

私有云的核心是云端资源只提供一个企事业单位内的员工使用,其他的人和机构都无权租赁并使用云端计算资源。

一是部署在单位内部,称为本地私有云;二十托管在别处,称为托管私有云。

企业私有云比传统的计算机办公的好处

  • 员工可在任何云终端登录并办公,可实现移动办公。
  • 有利于保护公司文档资料。
  • 维护方便。终端是纯硬件,不用维护,只要维护好云端即可。
  • 降低成本。购买费用低,使用成本低,终端使用寿命长,软件许可证费用降低。
  • 稳定性高。对云端集中监控和布防,更容易监控病毒、流氓软件和黑客入侵。

社区云

社区云的核心特征是云端资源只给两个或者两个以上的特定的单位组织内的员工使用,除此之外的人和机构都无权租赁和使用云端计算资源。参与社区云的单位组织具有公同的要求,具备业务相关性或者隶属于关系的单位组织建设社区云 的可能性更大一些,i那位一方面能降低各自的费用,另一方面能共享信息。

公共云

公共云的核心特征是云端资源面向社会大众开放,符合条件的任何个人或者单位组织都可以租赁并使用云端资源。公共云的管理比私有云要复杂的多,尤其是安全范围,要求更高。

混合云

混合云是由两个以上不同类型的云组成的,其对外呈现出来的计算资源来自两个或两个以上的云,只不过增加了一个混合云管理层,云服务消费者通过混合云管理层租赁和使用资源。。

混合云属于多云这个大类,是多云大类种最主要的形式,而公/私有云优势混合云中最主要的形式,因为它同时具备了公共云的资源规模和私有云的安全特征。

公/私混合云的优势

  1. 架构更灵活:可以根据负载的重要性灵活分配最适合的资源,例如将内部重要数据保存在本地云端,而把非机密功能移动到公共云区域。
  2. 技术方面更容易掌控。
  3. 更安全:具备私有云的保密性,同时具有公共云的抗灾性(在公共云上建立虚拟的应急灾备中心或者静态数据备份点)。
  4. 更容易满足合规性要求:云计算审计员对多租户的审查比较严格,他们往往要求云计算服务提供商必须为云端的某些(或者全部)基础设施提供专门的解决方案。而这种混合云由于融合了专门的硬件设备,提高了网络安全性,更容易通过审计员的合规性检查。
  5. 更低的费用:租用第三方资源来平抑短时间内的季节性资源需求峰值,相比自己配置最大化资源以满足需求峰值的成本,这种短暂租赁的费用要低得多

公/私混合云的构成

  1. 私有云:这是混合云的主要组成部分,企业部署混合云的步骤一般是先“私”后“公”。
  2. 公共云。
  3. 公/私云之间的网络连接:一般为公共云提供商提供的高速专线,或者是第三方的 VPN。
  4. 混合云管理平台:是用户的统一接入点,实现资源的自动化、费用结算、报表生成、云端日常操作及 API 调用等,可以进一步细化为数据管理、虚机管理、应用管理等几个层面的软件。目前混合云管理平台产品有 VMware vRealize、Microsoft System Center、RightScale 等。

公/私混合云的功能

  1. 数据备份:将私有云的数据备份到更便宜和可靠的公共云上。
  2. 灾备:在私有云出现故障时,由公共云上的灾备环境提供服务。
  3. 负载延伸:当私有云无法提供新增负载所需要的资源时,在公共云上创建虚拟主机来支持新的负载,当负载下降后再删除这些虚拟主机回到纯私有云。
  4. 使用公共云作为开发测试云。

云计算架构参考模型

NIST 云计算架构参考模型定义了 5 种角色,分别是云服务消费者、云服务提供商、云服务代理商、云计算审计员和云服务承运商。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bK4G2qKd-1599276235561)(笔记.assets/8.PNG)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BVF0WeSP-1599276235562)(笔记.assets/9.PNG)]

云服务提供商需要做什么?

云服务提供商是个人或者单位组织,他们负责搭建云端并对外提供云服务产品。支撑云服务的 IT 层可以由云服务提供商自己组建,也可以租赁其他人的云服务。

服务编排

服务编排是指把各种系统组件合理的整合在一起,一边向云服务消费者提供云服务产品。

全部的系统组件分为3种类型,分别对应云服务编排模型种的3个叠加层,从下至上依次是屋里资源层、资源抽象与控制层、服务器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LuQW7uNb-1599276235562)(笔记.assets/10.PNG)]

顶部的服务层定义了云服务消费者访问计算资源的接口——laas、PaaS、SaaS。

SaaS 应用程序可以(但不是必须)搭建在 PaaS 组件上,PaaS 组件可以(但不是必须)搭建在 IaaS 组件上,这三者层叠在一起是组合方式的一种。

中间层是资源抽象与控制层,包括两类系统组件:

  • 抽象组件

    • 主要用于对屋里计算资源进行虚拟化,虚拟化之后的资源就可以放入资源池中,一边将来提供云服务消费者弹性租赁。抽象组件包括虚拟机管理平台(Hypervisor)、虚拟机软件(VM)、软件定义存储(SDS)、软件定义网络(SDN)等。其中虚拟机技术是最常见的资源抽象组件,抽象组件必须能确保高效、安全和可靠的运用底层的屋里资源。
  • 控制组件

    • 主要负责资源分配、访问控制和监控资源等。总之,本层的主要功能是把屋里资源池化并有效管理被池化后的资源。
    • 底层是屋里资源层,包含所有的屋里计算资源——屋里服务器、网络设备、存储设备、以及其他物理的计算设施;也包含基础设施资源等。
    • 三层叠加在一起,上层依赖直接下层。资源抽象与控制层利用下层的物理资源,向上层暴漏资源池,而顶部的服务层利用下层的资源池向云服务消费者暴漏服务接口,而云服务消费者不能直接操作底层的物理资源。

云服务管理

云服务管理是指云服务提供商必须履行的一套流程和任务,以便圆满的把云服务交付给消费者。这些流程和任务分为三大类:业务支持、交付与配置、可移植性和互操作性。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oG1TElQZ-1599276235563)(笔记.assets/11.PNG)]

  • 业务支持

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j6XKEeYq-1599276235564)(笔记.assets/12.PNG)]

云服务代理商

  • 服务中介

云服务代理商处于云服务提供商和云服务消费者之间,他是云服务提供商的客户,又充当云服务消费者的云服务提供商。云服务代理商尽可能地改善一些云服务产品并给消费者提供增值服务,这些改善措施包括但不限于强化安全、完善性能报告、优化身份管理、做好本地化(语言、本地人的习惯、本地法律法规等)以及增强用户的交互体验等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XjN5Mx12-1599276235565)(笔记.assets/14.PNG)]

  • 服务聚合

云服务代理商把多个服务整合成一个或几个新的服务,以满足用户复杂的需求,同时提供数据集成,使得云服务消费者和多个云服务提供商之间的数据移动是安全的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7zg9TSMP-1599276235566)(笔记.assets/15.PNG)]

  • 服务套利

套利”意为快速买卖以赚取差价。这里的服务套利类似于服务聚合,但是被聚合的服务是不固定的,云服务代理商可随时在多个云服务提供商的产品中筛选最好的服务。

OCP(开源计算项目)

开源计算项目(Open Compute Project,OCP)是一套开源硬件,它是由 Facebook 公司主导,众多 IT 巨头公司参与的针对数据中心定制的硬件设计规范,包括机房、机柜、服务器、存储、网络设备的定制设计规范,以及云端硬件的管理规范。

开源计算项目针对的是 IT 架构的第一层——基础设施层,目前大型的云服务提供商或者社交网站热衷于定制自己数据中心的硬件,包括机柜、服务器、存储和网络设备。由于这种硬件是针对应用软件的特点定制的,所以计算效率非常高;完成相同的计算任务,相比其他硬件,能源消耗要低很多。云端硬件发展的另一个趋势是云设备提供商提供的云计算一体机 。

开源计算项目中的主板和服务器设计规范包括针对 ARM、AMD、INTEL 的 CPU 的主板的设计规范,高可用性服务器、片上系统和电源的设计规范,同时提供了物理结构的 CAD 设计图纸。

服务器虚拟化组件有哪些

虚拟化属于基础设施层,集体包括服务器虚拟化、网络虚拟化和存储虚拟化,虚拟的目的是为了池化物理资源。

XenServer

基于Xen的虚拟平台,直接安装再物理的计算节点上,然后在上面创建更多的虚拟机。

XenCenter把通过计算节点池来管理服务器,属于同一个池的服务器共享存储,而且最好是相同配置的机器,池里的虚拟机保存在共享存储中,一个虚拟机允许在池中的任何一台服务器上运行。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XYi7bO82-1599276235567)(笔记.assets/1598591326725.png)]

Red Hat Virtualization(RHV)

RHV包含虚拟化管理工具、虚拟化软件和虚拟化存储三个主要组件。其中,RHVH直接安装在物理计算节点上,然后可在RHVH上运行虚拟机。

逻辑上,现有数据中心(DataCenter),数据中心包含多个集群(Cluster)\存储池和网络。一个集群由多台安装了RHVH的服务器组成,虚拟机创建在集群上,一台虚拟机允许运行在集群中的任何一台服务器上,存储时基于数据中心层面的,“数据中心是一个逻辑概念,不一定是局限在地理位置上的机房,也可能跨机房,或者在一个机房里存在多个数据中心。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FD8xDbbD-1599276235567)(笔记.assets/1598591756731.png)]

用户通过 SPICE 协议连接到虚拟机(需要安装 SPICE 客户端软件),访问格式是 SPICE://<计算节点 IP>:端口,这里的 IP 是虚拟机的宿主服务器的 IP 地址,每台虚拟机在宿主机上对应一个端口。

Oracle VM Server

Oracle VM Server 是由 Oracle 公司发行的、集成 Linux 内核和 Xen 的服务器虚拟软件,因此与 XenServer 大同小异。配套发行的 Oracle VM Manager 云管理工具采用 Java 语言开发,不过其视野中的云端架构相对而言比较复杂。

OpenVZ

OpenVZ 容器是一个轻量级虚拟机,容器里是一个完整的操作系统环境,它的主要用途是充当虚拟私有服务器,即 VPS。OpenVZ 是在 Linux 操作系统上(修改了宿主机上的 Linux 内核)创建隔离的运行环境,每个运行环境拥有自己的 IP、Root 用户、根目录和运行库,但是共享操作系统内核,即容器中不能再安装操作系统,允许安装更多的应用软件 。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qs0bTNbM-1599276235568)(笔记.assets/1598591934238.png)]

VirtualBox

这是 Oracle 发布的虚拟机软件,单机版,是 VMware Workstation 的替代品,能安装在 Windows、Linux、Mac OX X 和 Solaris 操作系统上。在由 VirtualBox 创建的虚拟机上,可以安装 Windows、Linux、FreeBSD 操作系统。VirtualBox 支持虚拟机快照、睡眠和分组、虚拟机导入导出、虚拟机克隆等。

常用开源操作系统

开源的意思是系统的源代码是面向用户开放的,可以遵循开源协议(GNU)进行使用、编译和再发布。在遵守 GNU 协议的前提下,任何人都可以免费使用,随意控制软件的运行方式。最著名的开源操作系统是 linux。

开源操作系统最大的特点就是开放源代码和自由定制,但也会因为使用者的技术水平等关系出现很多不可预知的情况及维护问题,并且由于多数硬件和软件厂商并不支持开源软件。所以在驱动和软件源方面有很大困难,这就要求个人用户在选择系统时需要注意根据自己的实际情况来选择,这也是目前个人使用开源操作系统较为困难的最主要原因。

Linux内核

Linux 操作系统开源免费、稳定可靠、病毒少、性能高,作为平台软件,被广泛应用在云端、数据中心。目前除微软外,全部云中心都采用 Linux 操作系统。CentOS 是 RedHat 的克隆版,应用比较广泛,网上具有丰富的资料和社区人气,现已被红帽收购。

FreeBSD

FreeBSD 是由美国加州大学伯克利分校开发的免费开源的操作系统,号称世界上最稳定、最高效、最安全、版权限制最少的操作系统。

FreeBSD 是最理想的网络服务器操作系统之一,可以从 http://www.freebsd.org/zh_CN/where.html 网站下载。鼎鼎有名的开源 NAS 项目 FreeNAS 就是采用了这个操作系统。

illumos内核

常用数据库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EKyRRLYZ-1599276235568)(笔记.assets/1598592325398.png)]

中间件

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。

执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。

中间件是介于操作系统和应用软件之间,为应用软件提供服务功能的软件,有消息中间件,交易中间件,应用服务器等。由于介于两种软件之间,所以,称为中间件。

为什么使用中间件

具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。

中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。

中间件的分类

  1. Hadoop

Hadoop 就是一个分布式计算平台,用 Java语言开发

  • Common 为 Hadoop 的其他项目提供了一些常用工具,主要包括系统配置工具 Configuration、远程过程调用 RPC、序列化机制和 Hadoop 抽象文件系统等。
  • MapReduce 是处理海量数据的计算模型。
  • 而 HDFS 用于存储海量数据,它具备高度容错性,能在低成本的通用硬件机器上稳定运行。

Hadoop 实现了分布式计算中的基础算法(如一致算法、选举算法、故障检测、快照等),同时为用户提供了编程和命令接口。程序员调用这些函数能轻松写出分布式应用程序,我们都知道,如果一切从头开始,要完成一个分布式程序的编写是异常艰难的。

Hadoop 在海量非结构化数据处理方面能充分展示它的优势,如消费者购买行为分析、商品推荐、关键词检索、信贷风险评估等。

基于 Hadoop 平台衍生出来的开源项目主要有 Yarn、HBase、Hive、ZooKeeper、Avro、Sqoop、Mahout、Crossbow 等。

以 Hadoop 为基础的生态目前已经成为大数据的标准方案,被广泛用于金融、市场、电信、交通等行业的海量数据分析,在即将到来的大数据时代,它将会发挥更大的作用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5wzgCI0O-1599276235569)(笔记.assets/1598592772449.png)]

用 Hadoop 构建的应用实例对于计算资源的消耗具备两个明显的特征:

  • 资源需求大:表明 Hadoop 需要大量的存储、计算和网络带宽。
  • 资源需求具备季节性:表明除存储需求是经常性占用外,在运行 Mapreduce 时才需要大量的计算和网络资源,而分析大量数据的工作并不是经常性的——称为季节性
  1. LVS

    LVS 就是一个由软件实现的负载均衡器,工作在网络 OSI 的第四层(应用层),是中国人章嵩开发的,代码已经并入了 Linux 内核。利用它,再加上一台廉价的计算机,就能构建一台企业级的负载均衡器。而那些外国大公司的负载均衡器。

    另外,两个较为流行的第七层负载均衡器是 Nginx 和 HAProxy,

  2. Linux-HA

集成故障转移集群软件的核心思想是,实时检测故障机器并及时让好的机器接管工作,对外提供高可用性。Linux-HA 意为 Linux 高可用性项目,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fM8QjIlF-1599276235570)(笔记.assets/1598593015316.png)]

  1. 静态网站服务器
  2. 动态网站服务器

云计算基础软件服务

基础服务组件包括 DNS、DHCP、用户管理、身份鉴别、权限管理、事后审计、域控等。

1.DNS

DNS 是一个倒树形结构的分布式数据库,里面存储的信息主要有 IP 地址到域名的映射记录、域名到 IP 地址的映射记录、邮件路由记录等。Bind 就是用于实现这个数据库并且允许人们通过域名查询 IP、通过 IP 查询域名或者查询邮件服务器的信息等,我们在配置计算机网卡参数时要指定多个 DNS 服务器 IP 地址。

BIND(Berkeley Internet Name Domain)是一款开源的 DNS 服务器软件,是目前互联网上使用最广泛的 DNS 服务器软件,能在各种流行的操作系统上运行。现由互联网系统协会负责开发与维护,可从该组织的官方网站 http://www.isc.org/ 下载源代码,然后编译安装 。

  1. DHCP

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)允许一台计算机通过 DHCP 服务器自动获取网络配置参数,如网卡的 IP 地址、网关、掩码和主机名字等,这样只要启动计算机就能上网,而不用手工去配置计算机的网络参数。

    DHCP 服务器的第二个功能是定义一些与自动安装操作系统有关的参数,比如一台计算机设置从网卡启动,只要 DHCP 服务器配置了 PXE 启动有关的参数,那么用户的计算机就能自动根据配置参数来启动或者安装操作系统,而不管原来有没有安装操作系统。这一点在可伸缩云端和零存储云终端的环境下非常有用,服务器随时加入随时启用,云终端启动就自动下载统一的操作系统内核并运行统一的登录程序。

  2. kerberos

    Kerberos 又指麻省理工学院为这个协议开发的一套计算机软件(参见官方网站 http://web.mit.edu/kerberos/),软件设计上采用客户机/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证,可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥机制进行密钥管理的系统。Kerberos 的扩展产品也使用公开密钥加密方法进行认证。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U5foGD50-1599276235570)(笔记.assets/1598593390292.png)]

    OpenAM 提供集中认证、授权、单点登录,以及与其他单位建立联邦治理的全面解决方案,它是完全开源的,其前身是 Sun 公司的 OpenSSO。OpenAM 具有高度可扩展的、模块化的、易于部署的架构,

    • 身份认证

      允许通过使用者的周边信息实现动态的身份识别,使用者的周边信息包括地理位置、时区、IP地址、接入设备、一天的特定时点等,当然也支持密码认证。

    • 权限管理

    • 联邦和单点登录

    • 外围系统认证集成

    • 自适应风险评估

      OpenDJ 是一款遵循 LDAPv3 协议的目录服务器,采用 Java 语言开发,完全开源。它的前身是太阳微系统公司的 OpenDS 项目,现在由 ForgeRock 公司接手。用 OpenDJ 可以搭建高性能、高可用性和高安全性的企业级目录服务系统,处理上千万条数据记录,响应时间均在毫秒级以内。

      OpenDJ 允许多主/复制部署(Multi-Master),数据可以集中式存储,也可分布式存放,这一点要优于另一个目录服务开源项目——OpenLDAP。另外,OpenDJ 消耗很少的计算机资源(CPU、内存等),由于是纯 Java 开发,所以 OpenDJ 可以在任何平台上运行。

    1. Redius

      Radius 是指局域网接入认证,用于解决一台计算机需要认证才能接入和使用局域网的问题。

      FreeRadius 是一款开源的实现局域网接入认证的软件,可从网站 http://freeradius.org/ 下载源代码, 具体的认证示意图如图 所示。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oTIgeCIW-1599276235571)(笔记.assets/1598593746968.png)]

云计算管理工具简介

云端最核心的部分就是虚拟化软件、中央存储设备和虚拟机管理工具(有的人喜欢称云管理平台,甚至直接称云计算操作系统)。称其为“云计算操作系统”是有一定道理的,与计算机操作系统(如 Windows、Linux 等)类似,计算机操作系统的核心功能是管理进程,只有进程才能申请资源(CPU、内存、打印机等);而在云端,虚拟机是申请资源(计算、存储、网络等)的基本主体,管理虚拟机是云计算操作系统最核心的功能。但是云计算操作系统远没有计算机操作系统那么复杂,称其为操作系统有点夸大其词。

云管理工具分为 IaaS、PaaS 和 SaaS 3 种类别,SaaS 类别的云管理工具与网店差不多,主要是租户注册、自助、购买、结算等,与业务关联性大,所以目前没有统一的标准版产品。比如,针对一款大型可靠性软件系统的云化项目,SaaS 云管理软件包含两大部分:一是 SaaS 业务门户,二是 SaaS 管理门户,

OpenStacke

OpenStack 是当今最具影响力的云计算管理工具——通过命令或者基于 Web 的可视化控制面板来管理 IaaS 云端的资源池(服务器、存储和网络)。它最先由美国国家航空航天局(NASA)和 Rackspace 在 2010 年合作研发,现在参与的人员和组织汇集了来自 100 多个国家的超过 9500 名的个人和 850 多个世界上赫赫有名的企业,如 NASA、谷歌、惠普、Intel、IBM、微软等。

OpenStack 系统或其演变版本目前被广泛应用在各行各业,包括自建私有云、公共云、租赁私有云及公私混合云,用户包括思科、贝宝(Paypal)、英特尔、IBM、99Cloud、希捷等,

OpenStack 采用 Python 语言开发,遵循 Apache 开源协议,因此相比 CloudStack 来说,更轻量化,效率更高。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EvzQAv3h-1599276235572)(笔记.assets/1598684334570.png)]

OpenStack 的各个组件都是对外暴露 REST API 接口,以便于其他程序调用,调用时都要进行身份验证和权限管理,这由 Keystone 组件完成。跟踪用户消耗的资源并计费的任务由 Ceilometer 组件完成(需要 Aodh 和 CloudKitty 组件的配合)。

OpenStack 组件的主要作用是充当“中间人”,它不履行具体的实际任务,而由各种第三方软件来完成,比如虚拟机软件由 KVM 承担,网站任务由 Apache 承担,虚拟网络任务由 iptables、DNSmasq、Linux vSwitch、Linux 网桥承担或者统一由 OpenContrail 承担,结构化数据存储任务由 MySQL 或者 PostgreSQL 承担,中央存储任务由 Ceph 承担(也可采用其他产品)。当然,OpenStack 中也有实现具体功能的组件,比如 Swift 做中央存储,我们也可以选择相对发展多年并且被大量使用的第三方产品,如 Ceph。

在同一个 Region,还可能包含成千上万台机器,如果用一套 OpenStack 中的组件来管理,势必会导致这些组件本身成为瓶颈(随着集群规模的不断增大,消息系统和数据库系统很可能最先成为瓶颈),所以人们又引入了 Cell 功能,以便增强 OpenStack 集群的扩展性,即把一个 Region 划分成多个 Cell,这些 Cell 组成树形结构,父 Cell 主要用于服务通信,它不包含计算节点,子 Cell 具有自己的消息队列、数据库和 Noval-cell 服务。

“主机集”其实就是根据计算节点的某些属性对计算节点进行逻辑分组的方法,比如可以分成如下几个“主机集”:万兆网卡的机器、拥有两路 CPU 的机器、惠普机器、自组装的机器、A 机柜里的机器、由 UPS 供电的机器等。然后我们创建一台虚拟机,指明在上海云端分部的惠普机器上运行,这样只要全部的惠普机器不同时坏,那么虚拟机就能一直正常运行(但每一时刻只能在一台机器上运行,只有当运行的那台机器出故障时,才会“漂移”到其他惠普机器上继续运行)。

最小系统具备基本的 IaaS 功能,能通过命令来进行管理,这一步只需安装 OpenStack 的 Keystone、Neutron、Nova 和 Glance 四个组件;此后再安装 Horizon 就成了小系统,这时可通过 Web 图形化界面来执行管理;继续安装 Swift 和 Cinder 就成了准系统,这时能给虚拟机附加磁盘块设备,并能满足大规模的存储需求;再加上计费组件 Ceilometer,就上升为一般系统,一般系统具备公有 IaaS 的功能。但是由一般系统跨到生产系统,需要完成的工作就特别多,其中性能和安全是两个不得不面对的棘手问题。

CloudStack

整个云端包含若干个 Region(地区,可以理解为地理位置上的一个城市、一个省份等),默认情况下只有一个 Region。每个 Region 包含多个 Zone(大致相当于数据中心,也允许一个实际的数据中心划分为多个 Zone),每个 Zone 又包含若干个 Pod(相当于机柜,一个 Pod 中的机器位于同一个子网中)和若干个二级存储,每个 Pod 又包含若干个 Cluster(集群),每个集群又包含若干台 Host(服务器)和若干主存储。

一个集群不能跨越多个 Pod。每个 Zone 的 Secondary Storage(二级存储)存放与该 Zone 相关的虚拟机模板、操作系统的 ISO 安装镜像文件和磁盘卷快照。

Cluster 中的 Primary Storage(主存储)存放虚拟机镜像文件,这些虚拟机可在集群中的任一台 Host 上运行,当一台 Host 发生故障时,其上的虚拟机将被转移到同一集群中的其他 Host 上,并一直保持运行状态,这叫作热迁移;相反,冷迁移要求先关闭虚拟机,然后再在其他计算机启动虚拟机,所以在冷迁移过程中,用户是无法使用虚拟机的。

CloudStack 采用 Java 语言开发,采用 Tomcat 做应用服务器,采用 MySQL 开源数据库存储配置信息。CloudPlatform 自带了一个安装脚本,利用它安装云端管理工具比较方便,即通过“点菜(单)”方式。云计算管理工程师通过工作台式机或者笔记本、平板电脑使用网站浏览器打开管理服务器上的 Web 页面:http://<管理服务器IP地址>:8080/client,即可登录管理页面。

CloudPlatform 能管理私有云、公共云和公私混合云,在生产环境中,建议采用 CloudPlatform,而不要采用 CloudStack。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DC5BWM34-1599276235572)(笔记.assets/1598686222082.png)]

Eucalyptus

桉树是一个基于 Linux 的模块化的软件架构,在企业现有的 IT 基础架构中部署可扩展的高效私有云或混合云,属于本地 IaaS 云。为了隔离不同用户的网络流量及允许多个集群同属于一个局域网,桉树提供了一种虚拟叠加网络技术。另外,桉树提供的 API 兼容亚马逊的 EC2、S3、IAM、ELB、EC2 资源自动伸缩和云监控服务,这些都便于人们使用桉树部署混合云。 桉树(Eucalyptus)云管理工具被慧与公司收购后改名为 Helion Eucalyptus

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c8ajzBZe-1599276235573)(笔记.assets/1598686351521.png)]

  1. 云控制器(CLC)

  2. 面向用户的服务(UFS)

  3. 管理控制台

    是基于 Web 的可视化的管理桉树云的界面,直观、易用。管理控制台一般与 UFS 部署在同一台服务器上,一个桉树云实例允许存在多个管理控制台服务器。

  4. 对象存储网关(OSG)

    一方面负责把用户的请求传递给对象存储提供者,另一方面和持久存储层(数据库)合作完成身份认证。

  5. 对象存储提供者(OSP)

    可以是桉树自带的 Walrus 组件,也可以是第三方的 Riak S2。Riak S2 兼容亚马逊 S3 和 OpenStack 的 Swift,能灵活扩展并存储数 P 级的数据,数据对象类型包括图片、文本、视频、文档、数据库备份以及二进制程序。

  6. 集群控制器(CC)

  7. 存储控制器(SC)

  8. 计算节点控制器(NC)

与云计算相关的开源软件

  1. OpenSSH

    用于安全远程登录的软件。在云端,常用它来建立服务器之间的信任关系

  2. Netfilter/Iptables

    防火墙软件。在云端,常用它来建立服务器上的安全屏障。

  3. Snort

    入侵检查软件。如果防火墙是门卫,那么 Snort 就是巡逻队,配合蜜罐,Snort 效果更佳

  4. Postfix

    开源邮件系统。配合其他一些反垃圾和病毒软件,可以搭建一个非常出色的邮件系统,快速部署脚本 iRedMail 能在几分钟内自动部署一个全功能的企业级邮件系统。

  5. Squid

    代理和反向代理软件 ,可同时用来做用户上网行为管理

  6. Zabbix

    是一个基于 Web 界面的提供分布式系统监视及网络监视功能的企业级开源解决方案,它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制,让系统管理员快速定位和解决存在的各种问题。

  7. Odoo

    最初是一个 ERP 软件。现在几乎涵盖了企业的所有应用,具备数千个功能模块。采用它开发应用软件就像搭积木一样,直接安装需要的模块即可。

云端技术

本节开始重点介绍组建云端的技术、云端与终端的通信协议,末后顺带简单介绍一下云终端设备。

云端、通信协议(加上网络)和云终端简称为云计算的“云”、“管”、“端”。在建设具体的云端时到底采用什么技术,这与终端用户的类型密切相关,终端用户的类型间接决定了云服务的模式,以及需要在云端运行的软件种类。

云端是云计算的核心,必须紧贴用户需求,同时应具备水平伸缩性——在需要的时候可随时增加服务器,从而扩充云端计算能力;在不需要的时候可自动让多余的机器睡眠,以达到节能减排的目的。

云端采用的技术与任务的大小有关,大型任务(如核爆模拟、天气预报)和小型任务(如四则运算计算器、文字编辑等)采用的技术明显不同,前者很难用一台物理计算机按时完成任务,所以需要联合多台计算机(称为集群)共同完成任务;而后者占用一台物理计算机就浪费了资源,所以需要对单台物理计算机进行分割(称为虚拟化)。

云技术中心如何选址

目前云化实时强交互性软件的途径有两条:

  • 采用网页浏览器(可参考《什么是软件》教程)。
  • 在人口密集区建立云端分部,从而降低网络延时。

降低延时的方法就是减少终端与云端的网络路径上的转发节点数目或者提高网络设备的转发速度,但我们不能直接修改广域网的网络,唯一能做的事情就是尽量把云端建在离用户最近的地方,这就是“让计算离用户最近”的原则。这里的“近”不是指地理位置上的近,而是指网络延时小。

各个计算云与存储云之间的数据传输是在后台批量进行的,而计算云与终端之间是前台的、批量的或者实时的。对租户来说,实现了就近计算,从而可以大大降低网络延时。如果有国外租户,则可能还要在国外建立云端。

相比于“让计算离用户最近”的原则,目前有一个类似的概念,叫作“内容分发网络”,可以理解为“让内容离用户最近”,全称是 Content Delivery Network,简称为 CDN。用户就近访问网络内容(如网站、流媒体等)有两个好处:一是用户体验好,二是传输成本低。

云计算中心如何存储数据

前面讲过,云计算的精髓就是把有形的产品(如网络设备、服务器、存储设备、各种软件等)转化为服务产品,并通过网络让人们远距离在线使用。而计算资源主要是指服务器(CPU、内存)、存储和网络,存储一方面是虚拟内存的组成部分,另一方面也是软件、数据的存放场所

CPU 和内存通过主板紧密地捆绑在一起,二者利用主板上的高速并行总线进行通信,目前的技术还不能做到使它们分离,而且也没有这个必要。但是如果存储与 CPU 分离(不直接通过主板连在一起),就会有很多好处,比如可以共享存储、计算机可以无状态、便于计算资源横向伸缩等。

  1. 外部存储

    存储和 CPU 不在同一台计算机上,如 SAN 和 NAS 存储是单独的存储设备,它们通过以太网线或者光纤与计算机连接。

  2. 直接存储

    存储直接接插到主板上,通过 PATA、SATA、mSATA、SAS、SCSI 或者 PCI-E 接口总线通信。传统的机械硬盘一般采用 PATA、SATA、SAS、SCSI 接口,相对于外部存储,直接接插主板的机械硬盘的速度优势越来越不明显,但是固态硬盘(如 mSATA、PCI-E)的速度优势还是比较明显的,尤其是 PCI-E 的固态硬盘,代表着业界顶尖的存储技术。

  3. 分布式存储

    通过分布式文件系统把各台计算机上的直接存储整合成一个大的存储,对参与存储的每台计算机来说,既有直接存储部分,也有外部存储部分,所以说分布式存储融合了前面两种存储方案。由于需要采用分布式文件系统来整合分散于各台计算机上的直接存储,使之成为单一的名字空间,所以所涉及的技术、概念和架构非常复杂,而且还要消耗额外的计算资源。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tbn8DZxV-1599276235574)(笔记.assets/1598688078118.png)]

存储的评价指标有容量、速度、每秒读写次数(IOPS)、可用性。“容量”比较容易理解,就是能存储的数据总量。

IOPS 是最重要的指标,定义为每秒钟能响应的读(或写)操作的次数,体现的是并发性和随机访问能力。

云计算虚拟化技术和容器技术

虚拟化技术是云计算的重要技术,主要用于物理资源的池化,从而可以弹性地分配给用户。物理资源包括服务器、网络和存储。但是计算资源的池化不一定要用虚拟化技术,金属裸机也能池化,比如 IBM 的 Softlayer 就是直接使用物理机来实现云计算的。

主机虚拟化的思想可以追溯到 IBM 机器的逻辑分区,即把一台 IBM 机器划分成若干台逻辑的服务器,每台逻辑服务器拥有独占的计算资源(CPU、内存、硬盘、网卡),可以单独安装和运行操作系统。IBM 机器价格昂贵,相对于当时的计算任务来说,机器的计算能力太过强大,所以需要划分为更小的计算单元。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VQoKtMLU-1599276235575)(笔记.assets/1598688379251.png)]

电力使用效率(Power Usage Effectiveness,PUE)是目前国际上通行的用于衡量云端和云计算一体机能源效率的指标,它等于总能耗与 IT 设备能耗的比值。比值越小,表明能源利用率越高,绿色程度越高。

目前国外先进的数据中心机房 PUE 值通常小于 2,而我国的大多数数据中心的 PUE 值为 2~3。在云端,IT 设备主要指服务器、存储设备、网络设备,其他的诸如制冷设备、UPS、安防设备等属于非 IT 设备,其中制冷设备功耗几乎占到总功耗的一半。

出租虚拟机属于 IaaS 云服务,IaaS 的另一种产品是出租裸机,即直接把硬件服务器出租出去,通过服务器上的远程管理卡可以把配置、安装操作系统、开关机等功能整合到租户自助网站上。

使用桌面环境与应用程序分离的好处

  1. 可以根据应用程序来专门定制服务器硬件
  2. 节约更多的资源
  3. 提高生产效率

VDI(远程桌面)

远程桌面协议是实现远程桌面应用的关键技术之一,协议规定终端与云端桌面如何通信。

实现远程桌面的3种方法

  1. 基于 IaaS 云服务的虚拟机或裸机,租户租用云服务提供商的虚拟机或裸机,然后自己安装操作系统、应用软件并开启远程桌面,我们称这种远程桌面为 IaaS 云桌面。
  2. IaaS 云服务的应用软件容器,租户共享底层的操作系统内核,单独安装应用软件和一些基础运行库,我们称这种远程桌面为 IaaS 容器桌面。比如 OpenVZ 和 Virtuozzo Containers 实现 Linux 的容器桌面,Windows Server Container、Hyper-V Container 和 Virtuozzo Containers 实现 Windows 的容器桌面。
  3. 基于半平台 PaaS 云服务,并为每个租户创建一个系统账户,其实就是利用了现代操作系统的多用户特点,即同时让许多人登录并使用计算机,我们称这种远程桌面为 PaaS 云桌面。

负载均衡(Load Balance)

负载就是任务,即租户要在云端完成的任务。把众多租户要完成的任务如何合理地分配给云端的各个服务器并能快速处理完,就是负载均衡技术所要解决的问题。

理想的使用情景描述如下:

早上 8:30 前,微算公司云端只有 1 号服务器在开启状态,其他众多的服务器都处于睡眠状态。处于睡眠状态的服务器耗电极少,唤醒一台服务器的时间大概是 1 分钟。然后员工陆续到岗,最先来的 20 名员工登录到云端的 1 号服务器上的远程桌面,1 号服务器还可以接入 5 台终端,此时 1 号服务器唤醒 2 号服务器,接下来的 5 人仍然接入 1 号服务器,后面来的 30 人接入 2 号服务器。2 号服务器配置高一些,所以能接入 30 台终端,2 号服务器在适当的时候唤醒 3 号服务器,此后其他服务器的行为与 2 号服务器相同。

下午 18:00,员工陆续下班。下班时员工有两种做法:一是从云端注销出来,二是不注销而直接关闭终端。没有注销的远程桌面保留全部的工作任务状态,比如正在编辑的 PPT、打开的 QQ、还在播放的《少年派》等继续保持,第二天员工再登录时看到的桌面还是昨天下班前的状态,他可以继续编辑未完成的 PPT、浏览别人发过来的大量 QQ 消息,不过昨天还没看完的《少年派》快播放完了。由于云端检测到终端 30 分钟内没有输入,于是把其桌面转为睡眠,视频播放暂停。现在该员工需要倒回 30 分钟并继续观看。

云端没有活跃桌面的服务器在延时 10 分钟后主动睡眠。下午 19:00,还有员工在加班,云端还有 11 台服务器在工作,但是每台服务器只接了 1~5 个不等的活跃桌面。此时云端启动了活跃桌面合并程序,采用热迁移技术,把 32 个活跃桌面合并到 1 号和 2 号服务器上,其他服务器转为睡眠状态。云端服务器的唤醒、睡眠和活跃桌面合并都是自动完成的。
LVS 是开源软件,已经集成到了 Linux 内核,其性能优越,结合一台通用的物理计算机,完全可以搭建一台能与 F5 媲美的负载均衡器。直接采用 DNS 轮询或者 iptables 也可以实现简单的负载均衡任务。

容错计算

容错计算,也有人称为高可用性计算和高可靠性计算,就是在系统存在故障的情况下,仍能正确地执行给定的算法。为了实现这一点,必须使系统具有故障检测与诊断、功能切换与系统重组(reconfiguration)、系统恢复与重新运行、系统的重构(reintegration)与可扩展等功能,而且这些功能不能影响系统的正常运行或至少不能使系统的性能下降到不能容忍的程度。

容错计算的重点是保证任务在被处理的过程中不会异常终止,以及任务完成后输出结果的正确性。

严格来讲,容错计算也属于集群的范畴,只不过参与集群的计算机处理同样的任务——并行或者接力。容错计算需要投入更多的计算资源,所以造价较高。对于一些非关键的任务,人们出于成本的考虑,一般较少采用容错集群系统。

接力容错

接力容错又叫串行容错,由若干台计算机参与同一个任务的计算,但是同一时刻只由一台计算机处理任务,只有当这台计算机出现故障时,才由下一台计算机接力处理;类似,如果此台计算机又出现故障,那么继续由其他计算机接力;只有当全部计算机都出现故障时,任务处理才会被中断

两台服务器都与磁盘阵列相连,同时通过心跳线互联,用来完成任务的软件和软件处理的数据放在磁盘阵列上,这样每台服务器都能访问这个软件,同时双方通过心跳信号感知对方的状态。

并行容错

并行容错是指,参与容错的计算机同时处理相同的任务,输出相同的结果。可以在服务器内部的部件层次做并行,也可以在服务器层次做并行,前者主要由服务器生产厂商设计和完成。

云计算终端技术

云终端是用户操作的主要设备,也是用户接入云端的入口。追求完美的用户体验是终端厂商和云服务提供商唯一的选择,也是云计算成败的关键因素。为了使得一款终端实现“用之赏心、观之悦目”的目标,需要从功能、外观、操作、质量几方面入手。

终端分类

按功能分类

  1. 人/机交互终端
  2. 机/机交互终端
  3. 输入终端
  4. 输出终端

按移动性分类

  1. 移动终端
  2. 固定终端
  3. 固定/移动两用终端

质量控制

云终端是用户直接携带和操作的设备,使用环境千变万化,所以质量非常重要。云终端要做成纯硬件设备,终端上用到的软件要全固化或者半固化。

全固化是指软件根本无法修改和删除;半固化是指不允许用户自己更改和删除软件,但是允许在线升级、打补丁,并提供出厂配置一键恢复功能。这样就可以大大降低产品的故障率,延长折旧期。

终极方法是连下载程序都不要,直接采用网卡的网络启动技术,开机时由终端上的网卡直接获取需要的软件并启动终端。

终端项目

  1. RPTC

    RPTC 的全称是 Raspberry Pi Thin Client project,意为树莓派瘦客户机项目。结合树莓派 ARM 小主板 ,就能定制一台全功能的低功耗云终端,项目网站为 http://rpitc.blogspot.com/。

  2. PiNet

    PiNet 项目是一个基于树莓派的电子教室项目,用一台普通计算机做教师机,里面安装 PiNet,树莓派采用 SD 卡启动。 功能:

    • 集中管理学生账号。学生可以在任意终端上输入自己的账号并登录。
    • 网络启动终端。终端启动时自动从服务器上下载操作系统并启动。
    • 师生共享文件夹。
    • 作业发放与提交。
    • 广播教学等。
  3. windows 10 iOC Core

    这是微软的物联网版本的 Windows 10 操作系统,经过定制可以运行在各种低功耗、资源受限的设备上,支持 ARM 和 X86 架构,如树莓派 2 代和 3 代。

云计算通信协议

  1. HTTP/HTTPS协议

    这是网站采用的通信协议,HTTP 的默认端口为 80,明文通信;而 HTTPS 的默认端口为 443,密文通信。

    密文通信是指,通信双方先加密内容然后再发出去,收到对方的信息后需要先解密。本协议常用于 PaaS、SaaS,以及未安装操作系统前的 IaaS。比如租赁了一台裸机(属于 IaaS),通过浏览器打开裸机的远程管理卡网页,然后通过这个网页给裸机安装操作系统。

  2. RDP协议

    这是微软的远程桌面协议,最新版本为 RDP10,这个版本改进很大,具备这些特征:

    • 支持最大 32 位色彩。
    • 采用 128 位的 RC4 加密算法。
    • 远/近端电脑共享剪贴板。
    • 允许远程应用使用本地端口(端口重定向)。
    • 本地文件系统重定向到远程计算机。
    • 远程声音重定向到本地播放。
  3. PCoip协议

    这是 EMC 公司(收购 VMware)和 Teradici 公司共同开发的基于 UDP 的远程桌面协议,意为 IP 上的个人计算机(PC-Over-IP),在低带宽的广域网上也能流畅使用。

    PCoIP 在主机上做图形渲染,终端只负责解码,因此减少了一些传输量,是专门为瘦终端而设计的。针对 Windows、Linux、MacOS、Android 和 iOS 操作系统,都发布了相应的客户端软件。

    利用此协议搭建的云计算系统结构较复杂,软件许可种类多,这是一个缺陷。

    第二个缺陷是目前还不支持微软的远程桌面服务,但是 Teradici 公司的产品 Teradici Arch 弥补了这个缺陷,该公司同时还推出了 PCoIP 的硬件加速卡。

    必需的组件包括:AD、Connector、VD 和 View Client。VD 可以是虚拟机桌面,也可以是物理机桌面,被 vCenter 管理的桌面为受管桌面,否则称为非受管桌面,VD 里都要安装 View Agent。vSphere Client 是用来管理 ESXi 或者 vCenter 的,如果没有这些,那么 vSphere Client 也可省掉。客户机上必须安装 View Client。vSphere Web Client 只能访问 vCenter。连接的路径是 View Client←→Connector←→View Agent。

  4. HD X/ICA协议

    这是思杰公司发布的远程桌面协议,采用 TCP,这一点与 PCoIP 采用 UDP 不同。思杰是最早做远程访问的公司,所以其技术积淀比较雄厚,在非常低的网络上(10Kb 左右)也有良好的表现。但不管怎样,采用此协议搭建的云计算系统还是要混合微软的产品的(操作系统、AD 域控等),相比微软的 RDP 协议,其架构较复杂。

    主要组件包括:外网访问网关(Access Gateway)、桌面交付控制器(Desktop Delivery Controller)、资源池(XenServer Resource Pool)、文件服务器(File Share)、应用控制器(XenApp Controller)、虚拟机镜像供应服务器(Provisioning Server)

    在局域网里面,最简化的采用 HDX/ICA 协议搭建的云计算系统为:终端(安装客户端软件)←→ Desktop Delivery Controller ←→ 虚拟机(安装 Agent),虚拟机的基础架构可以是 XenServer 6.x、ESXi 6.0 或 Hyper-V。不过,针对远程虚拟桌面市场,思杰公司特别推出了端到端的解决方案包 XenDesktop

  5. SPICE协议

    SPICE 首先尝试将渲染的工作交给终端,利用终端的硬件资源来加速,再根据协商的结果考虑是否将渲染工作交给主机来处理,这时可以用软件或者 GPU 来渲染。SPICE 的双向音频流技术支持软件拨号和 IP 电话。SPICE 客户端支持 Android、Linux、Windows 和 Mac OS 操作系统

    SPICE 协议包括三部分,分别安装在物理机、虚拟机和终端中,如图 2 所示。在图 2 中,通过终端的 SPICE 客户端软件打开 spice://10.1.50.102:5903,即可连接到云端的虚拟机 2,如果虚拟机里安装了 Windows 7 操作系统,那么在终端上就可以看到 Windows 7 桌面了。

  6. RFB协议

    RFB 协议即远程帧缓冲(Remote Frame Buffer)协议,它直接把控制台的底层屏幕帧的内容实时同步到终端,所以能适应所有的操作系统。但是其传输信息量大,所以一般只在局域网内做点到点连接(一台计算机只与一台终端连接),以便远程协助解决计算机问题。

    RealVNC 既发布商业版,也发布免费版,不过免费版的功能太弱,而 UltrVNC 和 TightVNC 则完全免费。三款软件的功能旗鼓相当,

  7. X协议

    X 协议这是由麻省理工大学开发的开源网络图形显示协议,采用的是客户机/服务器架构。基于这个协议开发的软件有 XFree86 及其继任者 Xorg,被类 UNIX 操作系统广泛采用,作为其图形桌面组件的一部分,比如 Linux 操作系统大多数采用 Xorg。

    X协议的客户机/服务器模式与传统的客户机/服务器不同,传统的客户机/服务器是针对用户而言的,即用户操作的计算机为客户机,远方的计算机为服务器;而X协议的客户机/服务器是针对程序而言的,即程序运行的那台计算机叫客户机,把结果输出到服务器上,服务器就是用户操作的那台计算机。

  8. HP RGS

    惠普远程图形软件(Remote Graphic Software,RGS)是一款高性能的远程图形系统,它允许用户通过标准 TCP/IP 网络访问和共享远程计算机桌面,在远程计算机上完成图形渲染,然后把渲染结果发给客户端。RGS 为客户机/服务器模式,服务器称为 Sender,客户机称为 Receiver。

    RGS 的一些重要特性如下:

    • 流畅支持 3D 图形。

    • 先进的视频压缩技术(Windows 和 Linux 有效)。

    • 支持 Windows、Linux 和 Mac OS 操作系统。

    • 允许多个 Receiver 同时连接到相同的 Sender,轻松实现协同办公或教学。

    • 运行同一个 Receiver 同时连接到多个 Sender。

    • 采用惠普 Velocity 技术增强跨广域网的用户体验。

    • 服务器上的高保真音频能通过本地喇叭播放。

    • 本地 USB 设备能挂载到远程机器上。

    • 本地设备允许触摸和手势输入。

    • RGS 发送像素而非数据,因此,无论你在使用什么应用,RGS 都可正常运行。

    • 可自动进行分辨率和多显示屏设置,以匹配客户端设备。

云计算的安全性

从云计算架构、数据生命周期和数据安全3个方面介绍

云计算架构

  1. 原始块存储

    存放数据的物理介质,如磁盘、光盘、磁带等。在一些特定的私有云中,这些物理介质能被直接访问。

  2. 卷存储

    包括被附加到 IaaS 实例的卷(如虚拟硬盘驱动器)。在存储后端,卷通常被打散存储以增强可靠性和安全性。卷不同于磁盘分区,磁盘分区是对一块基本的磁盘进行逻辑划分。

  3. 对象存储

    通常指文件存储。

  4. 内容分发网络

    对象存储中的内容被分发到离用户最近的地方,以便增强终端用户的网络体验。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tVkvjGZx-1599276235576)(笔记.assets/1598765327957.png)]

PaaS 云服务在对外提供存储服务的同时也要消耗存储空间。PaaS 能提供的存储服务主要有数据库服务、Hadoop/MapReduce 大数据服务,以及应用存储(被整合到 PaaS 应用平台且通过 APIs 访问的其他存储)服务。而 PaaS 消耗的存储空间包括:

  • 数据库:信息内容被直接存储在数据库中(作为文本或二进制对象)或者被数据库表字段所引用的文件中,而数据库本身可能是共享后端存储的 IaaS 实例集合。
  • 对象/文件存储:只能通过 PaaS API 访问。
  • 卷存储:数据被存储在附加给 IaaS 实例的卷中,但这些数据专门供应 PaaS 云服务。
  • 其他存储:不属于上述三类的其他存储。

SaaS 云服务可能提供的存储服务包括:

  • 信息存储和管理。比如现在流行的网络硬盘就是这类存储。
  • 内容/文件存储。专门存储基于文件的内容,如网络相册等。

而 SaaS 云服务消耗的存储包括:

  • 数据库。类似于 PaaS 云服务,绝大多数 SaaS 应用程序要依赖后端的数据库服务,甚至是文件存储服务。
  • 对象/文件存储。文件和数据被保存在对象存储中,专门供应 SaaS 应用程序。
  • 卷存储。数据被存储于附加在 IaaS 实例的卷中,并且专门供应 SaaS 应用程序

数据打散存储

数据打散存储是一种增强数据安全性的技术,它与加密技术不同,通过对数据分片,每个分片以多个副本的形式分散存储在不同的服务器上,以冗余存储换取数据的高可用性和高可靠性。

数据安全生命周期

数据安全生命周期从创建到销毁共六个阶段,如图 3所示。一旦被创建,数据可处于任何一个阶段,也允许跨到任何一个阶段,也可能不经过全部的六个阶段(比如,并不是所有的数据最后都要销毁)。准确跟踪你的数据处于数据安全生命周期的哪个阶段,是进行敏感数据保护的前提,同时能帮助你确定在哪里应用安全控制措施。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Gj2eH4p-1599276235576)(笔记.assets/1598765513400.png)]

  1. 创建

    在第一阶段,人们创建结构化或非结构化的数据,如微软办公电子文档、PDF 文件、电子邮件、数据库中记录或者图片文件。通常在此阶段,根据企业的数据安全策略对新产生的数据进行密级分类。

  2. 存储

    一旦创建了一个文件,它就被保存在某个地方。此时,你要确保存储的数据受到保护,同时应用了必要的数据安全控制措施。通过有效保护你的敏感数据,可以减少信息泄露的风险。本阶段通常与创建动作几乎同时发生。

  3. 使用

    一旦一个文件被创建并存储,那么随后可能将被使用。在这个阶段,数据被查看、处理、修改并保存。此时,在使用数据的过程中需要施加安全控制——你要能够监控用户活动并应用安全控制措施,以确保数据不被泄露。

  4. 共享

    数据经常在员工、客户和合作伙伴之间共享,因此必须要持续监控存储中的敏感数据信息。数据在各种公共的和私有的存储、应用程序和操作环境之间移动,并且被各个数据所有者通过不同的设备访问,这些情况可能会发生在数据安全生命周期的任何一个阶段,这就是为什么要在正确的时间引用正确的安全控制的真正原因。

  5. 归档

    数据离开生产活动领域并进入长期离线存储状态。

  6. 销毁

    采用物理或者数字手段永久销毁数据,物理手段如硬盘消磁,数字手段如加密切碎。

数据安全

  1. 数据完整性方面

    云端通过采用服务器集群、异地容灾和容错等技术,可保证数据万无一失,采用数据快照回滚技术,能最大程度降低用户误删数据的损失,所以云端的数据丢失的概率极低;相反,如果数据保存在本地(计算机硬盘、U 盘、光盘、SD 卡、磁带等),这些存储介质都很容易损坏,另外没有任何措施可防止用户误删数据,现在的数据恢复公司业务火爆就充分说明了本地数据丢失的普遍性。

  2. 数据泄密方面

    使用密码是目前最常用的防止数据泄密的方法,无论是云计算,还是使用本地计算机,都是如此。比如打开计算机,输入账号和密码登录,然后再输入密码登录 QQ、输入密码登录微博、输入密码登录邮箱、输入密码登录云等。另外,也有采用密码加密文档的,如密码保护的 Word 文档、压缩包等。

    云服务提供商会采取各种防范网络泄密的措施,如防火墙过滤、入侵检测、用户行为异常分析、泄密预测等高精尖技术,个人用户计算机是不可能花费巨资购买这些设备和技术的。

    常用的加密工具有 VeraCrypt、AxCrypt、BitLocker、7-Zip 等,也可以对 IaaS 存储产品(如虚拟机硬盘)全部加密处理。

  3. 数据一致性方面

    数据没有错乱,没有遭到破坏,能正常打开和使用,这一点很关键。用过计算机的人应该都有过这样的经历:不正常关机(如突然停电、不小心按下计算机的电源开关或复位开关等)后重新启动计算机,报告硬盘文件遭到破坏需要修复,好不容易修复并启动完毕,发现之前辛苦几天编辑的 Word 文档打不开了,这就是各种干扰因素破坏了数据的一致性。

    放在云端的数据一致性遭到破坏的概率要远远小于本地计算机,原因很简单,云端环境更可靠:机房恒温恒湿、多级电力保障、阵列存储系统、异地灾难备份中心、安全防范措施全面、计算机专业人员维护等,这些措施使得数据不一致的概率几乎为零。

云计算的互操作与可移植性

不同于传统的位于单位组织内部的 IT 基础设施,云计算的诞生给单位组织的 IT 资源供给带来了前所未有的灵活性——可以瞬时增加、转移或者减少计算资源来快速响应动态的资源需求变化,能在几个小时而不是几周内部署一个新的应用来满足业务需求。

为了达到这种更具弹性的计算能力,在设计任何云系统时必须要考虑互操作性与可移植性。

  • 互操作性规定,IT 系统中应用软件层以下各层采用开放的通用型组件,杜绝使用云服务提供商各自内部的封闭组件。
  • 可移植性规定,IT 系统中应用软件层和数据信息层应采用开放的通用数据格式和软件运行环境,保证同一个应用和数据能随意迁移到其他地方。

一方面,互操作性与可移植性能让你把服务扩充到多个由不同云服务提供商提供的云端,在操作层面就像一个系统;另一方面,互操作性与可移植性能在不同平台或者不同云端之间轻松移动数据和应用。

互操作性与可移植性不是随云计算出现而产生的新概念,也不只是在云计算环境中人们才考虑互操作性与可移植性,只不过与传统 IT 系统相比,具备开放和共享处理能力的云计算更需要考虑互操作性与可移植性。多租户意味着多个单位组织的数据和应用并存,并且不排除能通过共享平台、共享存储和共享网络访问(有意或无意)他人机密数据的可能性。

互操作性

互操作性是云计算生态系统中各个协同工作的组件应具备的特征,这些组件可能来自各种云端和传统 IT 系统。互操作性使得我们可以随时使用新的或者来自不同云服务提供商的组件来替换已有的组件,而不会中断云中的任务,也不影响数据在不同系统之间进行交换。

一个云端互操作性的优劣程度往往取决于该云服务提供商是否使用开放的或者公开发布的架构和标准协议及标准的 API 接口。许多云服务提供商(如 Eucalyptus)喜欢在标准组件的基础上添加非公开的钩子和扩展,以及一些增强功能,显然这些都会降低互操作性与可移植性。

可移植性

可移植性是指能把应用和数据迁移到其他地方而不用理会云服务提供商、平台、操作系统、基础设施、地点、存储、数据格式或者 API 接口如何。

如果未能妥善解决云迁移中的可移植性与互操作性,那么可能会无法实现迁移到云计算后的预期效益,并可能导致成本上升或项目延期,这是因为本该避免而未能避免的如下因素:

1)云服务代理商或提供商锁定——一个特定的云解决方案的选择可能会限制以后转移到另一个云服务提供商。

2)处理不兼容和冲突造成服务中断——云服务提供商、云平台和应用的差异可能会引发不兼容性,这种不兼容性会导致应用系统在不同的云基础架构中发生不可预料的故障。

3)不可预料的应用系统重新设计或者业务流程更改——当迁移到一个新的云服务提供商时,可能需要重新审视程序的功能或者要求修改代码,以确保其最初的执行行为。

4)高昂的数据迁移或数据转换成本——由于缺乏互操作性与可移植性,当迁移到新的云服务提供商时,可能会导致计划外的数据变化。

5)数据或应用程序安全的丧失——不同的云服务提供商可能采用不同的安全控制、密钥管理或者数据保护策略,当迁移到一个新的云服务提供商或云平台时,可能会暴露原先未被发现的安全漏洞。

把应用迁移到云端是外包的一种形式,而外包的金科玉律是“了解前期并做好如何退出合同的计划”。因此,可移植性(和在一定程度上互操作性)应该是任何单位组织计划迁入云端时必须考虑的关键标准,同时开发好一个切实可行的退出方案。

关于互操作性方面的建议

1)物理计算设备

同一个云服务提供商在不同时期的硬件或者同一时期不同云服务提供商的硬件差别很大,如果直接让消费者访问硬件设备(如物理服务器),则会存在巨大的互操作性鸿沟。建议:

  • 尽可能采用虚拟化来屏蔽底层硬件的差异,但是要注意虚拟化并不能屏蔽全部的硬件差异,特别是目前的系统。
  • 如果消费者必须要直接访问硬件,那么从一个云服务提供商迁移到另一个云服务提供商时,选择相同或更好的物理硬件和管理安全控制就显得至关重要。

2)物理网络设备

不同的云服务提供商使用的网络设备(包括安全设备)也不尽相同,包括它们的 API 和配置流程也不尽相同。为了保证互操作性,网络硬件设备应该虚拟化,并尽可能使得 API 具备相同的功能。
虽然虚拟化有助于消除物理硬件的差异,但是常用的虚拟机管理程序(如 Xen、VMware、KVM 等)之间存在明显的差异。建议:

4)框架

不同的平台提供商提供了不同的云应用程序框架,而且这些框架之间确实存在影响互操作性的差异。建议:

  • 在迁移到一个新的云服务提供商时,先搞清楚API的不同之处,然后拟定修改应用系统的计划。
  • 使用公开发布的API以保证各组件之间具备最佳的互操作性,为了便于迁移应用和数据,有时很有必要变更云服务提供商。
  • 云端的应用系统一般通过因特网交互,可能随时发生各种故障(如组件运行失败、网络中断等)。

我们要做的是,确定一个组件发生故障(或反应慢)将如何影响其他组件,而且当一个远程组件出现故障时,要尽量避免可能会破坏系统的数据完整性的状态依赖——依赖另一个组件对数据的修改。

5)存储

数据类型不同对存储的要求也不同,结构化数据通常保存在关系数据库系统中,非结构化数据通常是按照应用程序(如微软的 Word 文字处理程序、Excel 表格程序和 Powerpoint 程序)所要求的格式存放。为了无缝地在不同云服务提供商之间移动数据,建议如下:

  • 以一个被广泛接受的可移植的格式存放非结构化数据。
  • 评估数据在传输过程中是否需要加密。
  • 检查各种兼容的数据库系统,如果需要,再评估不同数据库之间进行数据移植的难易程度。

关于可移植方面的建议

1)服务水平

不同云服务提供商的SLA也不同,所以有必要了解清楚SLA会如何影响你将来更换云服务提供商。

2)不同的架构

云中的应用系统可以驻留在不同的平台架构中。通过了解应用与平台的依赖性,我们就能搞清楚这些(包括API、虚拟机管理程序、应用程序逻辑等)将如何影响可移植性。
在维护安全性方面,云系统引入了独特的可移植性担忧,具体包括: API、虚拟机管理程序、应用程序逻辑等)将如何影响可移植性。

3)安全集成

在维护安全性方面,云系统引入了独特的可移植性担忧,具体包括:

  • 现在云系统中的所有组件都会使用认证和身份机制,使用诸如SAML这种开放标准的身份机制将有助于提高可移植性,开发遵循SAML协议的内部IAM系统有助于系统将来移植到云中。
  • 加密密钥应该托管在本地,并尽可能地在本地维护。
  • 元数据是数据信息的一部分,但经常容易被忽视,因为我们在操作文件和文档时不能直接看到元数据。在云端,我们必须重视元数据,因为元数据随着文件一起移动,当移动文件和文件的元数据到一个新的云端时,要确保安全地删除了源文件元数据的全部副本,否则遗留下来的元数据可能会成为一个安全隐患。

用户自由度

1)用户可以自由地迁入、迁出云计算,不花或者花费很少的时间和金钱成本。

2)用户能自由访问其他云应用:每个云端都是开放的,在这个云端中的用户能访问其他云端中的应用和资料。坚决杜绝运营商出于利益的考量封闭自身的云应用来黏住用户。

3)用户能自由选择云服务提供商:买方能自由选择卖方是完全竞争市场的一个重要特征。为了保证自由度,政府应该努力营造完全自由竞争的云计算市场,坚决打击运营商“捆绑”用户的不正当竞争行为。

4)用户能自由地把应用和数据从一个云服务提供商迁移到另一个云服务提供商:云端保存了用户的资料并安装用户需要的软件,当用户想更换云服务提供商时不应该存在障碍。扫除人为的障碍,杜绝不兼容性。所以,政府应该制定合理的云计算标准,并提供简单易用的迁移工具。

5)云服务提供商能自由选择云组件:云服务提供商搭建云端,涉及很多技术和软/硬件产品,规划之初就要充分考虑伸缩性、开放性、标准性,杜绝被组件产品厂商捆绑。现在的很多云服务提供商热衷于采用开源的软/硬件产品,这是对的。

6)云终端可以自由接入任何云端:一台终端设备成为人们的云计算总出入口。

云计算的加密与密钥管理

加密介绍

关于云端的数据加密,以下因素必须慎重考虑:

1)不单单在传输过程中需要加密保护,在云端存储和使用数据的过程中也依然需要加密保护。
2)存储在云端并被共享的非结构化数据文件保护方法有以下两种:

3)加/解密的密钥的管理期限就是数据的整个生命周期,在数据被销毁之前如果密钥丢失,则会导致数据无法解密。另外,对于密钥的保护和正当使用,要尽可能避免依赖云服务提供商。

5)云端的加密密钥应具备足够的强度(如 AES-256),且与同一单位组织内部的加密密钥一致。提倡使用开放的且经过验证的加密格式,尽可能避免使用特有的加密格式。

云计算数据库加密

数据加密是以提高复杂度和降低性能为代价的,下面是一些替代的方法。

1)使用数据库本身的对象安全机制

数据库中的表、视图、存储过程、函数等统称为对象,对这些对象的访问,数据库管理系统本身提供了一套权限管理机制,诸如账号、分组、角色、授权、撤权等。要严格控制那些被授权的账号,确保这些账号只分配给正确的人。

2)存储安全哈希值

只存储数据的哈希值,而不直接存储数据本身。这使得你的应用程序能证明持有正确哈希值的人就是持有正确数据的人,因为数据与哈希值是一一对应关系,即 hash(data)=x,把 x 存储在数据库中,而 data 存储在另外一个私密的地方,从 x 是无法反算出 data 的。

密钥管理

无论是采用对称加密算法还是采用非对称加密算法,密钥的管理都是重中之重,尤其是对于多租户模式的公共云端来说,密钥管理是一个比较繁重的任务。

最简单的案例是应用在云端运行,而只在企业内部使用密钥对迁移到云端的数据进行加密——在企业的网络安全边界部署一个加密引擎,只要通过这个加密引擎,那么离开企业的数据就会自动加密,而进入企业的数据则会自动解密。

为了管理众多的实体密钥,最简便的方法是部署一个基于身份的密钥管理中心,从而使得为一个具体实体加密的任何数据只对该实体本身有效。如果同一个组的成员确实需要共享数据,那么可以给该组分配组级的密钥,同组成员共享组级密钥。正如前面所提到的那样:密钥的管理必须局限在企业内部。

如果数据存储在公共云环境中,那么在退出这个环境时,需要确保所有的数据(特别是 PII、SPI 数据或受到监管的数据)已经从公共云环境中删除,其中包括其他存储介质(如备份磁带)上的数据。本地管理密钥的做法很容易实现这个目标:只要从本地密钥管理中心删除相应的密钥即可,从而保证残留在公共云的任何数据再也不能被解密。

如果云服务提供商和消费者不严格执行各自的密钥管理流程,那么数据加密就没有什么实际意义。比如云服务提供商,如果职责混乱,大家可以随意访问密钥服务器和存储了加密数据的服务器,或者 DBA 能随意访问数据库中的个人密钥,那么数据加密就形同虚设。

围绕如何保护密钥本身,方案设计师通常的做法是采用密钥来加密密钥,只在内存中产生有效密钥,并且只存储加密过的密钥。这理解起来有点绕,其实就是把密钥当作普通的数据再次进行加密。

云应用

云应用不同于云产品,云产品一般是由软硬件厂商开发和生产出来的,而云应用是由云计算运营商提供的服务,这些运营商需要事先采用云产品搭建云计算中心,然后才能对外提供云计算服务。在云计算产业链上,云产品是云应用的上游产品。

云计算的目的是云应用,离开应用,搭建云计算中心没有任何意义。

云应用的第二个特点就是具备某种程度的智能性,在一定的基础数据上做大数据分析,从而表现为一定程度的人文关怀,而不是冷冰冰的机器。我们只有俯视它,才能很好地理解各种云应用,如果仰视,你就落入世俗的套路了。

企业私有云简介

与传统的以计算机为主的办公环境相比,私有办公云具备更多的优势,比如:

  • 建设成本和使用成本低。
  • 维护更容易。
  • 云终端是纯硬件产品,可靠、稳定且折旧周期长。
  • 由于数据集中存放在云端,从而更容易保全企业的知识资产。
  • 能实现移动办公,员工能在任何一台云终端上使用自己的账号登录云端办公。

园区云简介

园区内的企业经营的产品具有竞争关系或者上下游关系,企业的市场营销和经营管理具有很大的共性,且企业相对集中,所以在园区内部最适合构建云计算平台。由园区管委会主导并运营云端,通过光纤接入区内各家企业,企业内部配备云终端。云端应该“飘着”这样几朵云:

1)企业应用云

ERP(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)等企业应用软件是现代企业的必备软件,代表着企业研发、采购、生产、销售和管理的流程化和现代化。如果园区内每家企业单独购买这些软件,则价格昂贵、实施困难、运维复杂、二次开发难度大,但经过云化后部署于云端,企业按需租用,价格低廉,则所有难题迎刃而解。
为了覆盖尽量长的产业链条,引入电子商务云,一方面对内可以打通上下游企业的信息通路,整合产业链条上的相关资源,从而降低交易成本;另一方面对外形成统一的门户和宣传口径,避免内部恶意竞争,进而形成凝聚力一致对外,这对于营销网络建设、强化市场开拓、整体塑造园区品牌形象具有重大意义。

3)移动办公云

在园区内部署移动办公云,使得园区内企业以低廉的价格便可达到如下目的:使用正版软件、企业知识资产得以保全、随时随地办公、企业 IT 投入大幅度下降、应用部署快速、从繁重的IT运维中解脱出来并专注于自己的核心业务。
如果关键数据丢失,则 80% 的企业要倒闭,这已经是业界的共识。在园区部署数据存储云(必要时建立异地灾备中心),以数据块或文件的形式通过在线或离线手段存储企业的各种加密或解密的业务数据,并建立数据回溯机制,可以规避如下事故导致的企业数据丢失或泄密风险:存储设备毁坏、计算机被盗、发生火灾、发生水灾、房子倒塌、地震、战争、雷击、误删数据等。

5)高性能计算云

新产品开发、场景模拟、工艺改进等往往涉及模拟实验、数学建模等需要大量计算的子项目,如果只靠单台计算机,则一次计算过程往往会耗费很长时间,而且失败率居高不下。因而,园区统一引入高性能计算云和 3D 打印设备,出租给需要的企业,从而加快产品迭代的步伐。
抽取当前各个企业培训的共性部分,形成教育培训公共云平台,实现现场和远程培训相结合,一方面能最大限度地减少教育培训方面的重复建设,降低企业对新员工和新业务的培训投入,加强校企合作,集中优良师资和培训条件,使教育培训效果事半功倍;另一方面又能通过网络快速实现“送教下乡”。

6)教育培训云

抽取当前各个企业培训的共性部分,形成教育培训公共云平台,实现现场和远程培训相结合,一方面能最大限度地减少教育培训方面的重复建设,降低企业对新员工和新业务的培训投入,加强校企合作,集中优良师资和培训条件,使教育培训效果事半功倍;另一方面又能通过网络快速实现“送教下乡”。
构建园区云能够大幅度提升园区服务管理水平,积极影响潜在入园企业,提高入园企业满意度,促进孵化企业成长步伐,达到“企业进得来、留得住、发展快”的目的。

医疗云简介

医疗云的核心是以全民电子健康档案为基础,建立覆盖医疗卫生体系的信息共享平台,打破各个医疗机构信息孤岛现象,同时围绕居民的健康关怀提供统一的健康业务部署,建立远程医疗系统,尤其使得很多缺医少药的农村受惠

依托医疗云,可以在人口密集居住区增设各种体检自助终端,甚至可以使自助终端进入家庭。建立医疗云利国利民,其重大意义归纳如下 :

1)对于国家公共卫生服务管理部门

有利于公共卫生业务联动工作;有利于疾病预防与控制管理;有利于突发公共卫生事件处理;便于开展公共卫生服务;有利于资源整合、减少重复投资,甚至可以把检查检验功能独立开来,专门成立第三方机构;便于实现跨业务、跨系统的数据共享利用。
有利于提高医疗服务的质量;有利于节省患者支出,缓解群众看病贵的问题;便于争抢生命绿色通道的“黄金时间”;有利于充分共享医疗资源;有利于开展远程医疗业务。有利于开展“六位一体”业务;有利于开展健康干预跟踪服务。

4)对于个人

能减少重复的检查检验开支;便于“移动”(如转院、跨地区等)治病;通过远程医疗系统便于享受优质的医疗服务;医疗云结合大数据能预测个人疾病,所以能提高预防重大疾病的发生。

教育云简介

构建教育云是一个庞大的系统工程,由一个国家层面的公共教育云和成千上万的学校私有教育云组成,而且私有教育云建设要先行启动,教育管理部门制定标准,由各个学校自己主导建设。

公共教育云应该由中央政府牵头完成,承载共性教育资源和标杆教育资源,同时作为连接各个私有教育云的纽带。各个学校的私有教育云承载各种特色资源,履行“教”与“学”的具体任务。

每个学校运营自己的私有云端,而云终端发放到每个老师和学生的手上,形态上可以是固定云终端(放置在老师办公室、机房、多媒体教室、图书馆的多媒体阅览室等)、移动云终端(给老师和学生)、移动固定两用云终端及多屏云终端。云端和云终端通过校园高速光纤互联在一起

学校采用私有教育云有如下好处:

  • 移动教学。无论师生在哪里,都能登录自己的云端桌面。
  • 延续实验。由于每个学生都有自己独有的虚拟机,所以跨节次的实验不会被中断。
  • 远程教学。老师能选择云端的任何学生的云桌面并广播课件。
  • 规范学生用机行为。能轻松控制学生可以安装和使用的软件,杜绝学生沉迷游戏。
  • 便于资源共享。
  • 便于学生积淀学习笔记和素材。
  • 便于计算机学生云中开发。
  • 轻松实现高性能计算,如科学研究、动漫渲染、游戏开发、虚拟现实模拟等。
  • 便于因材施教。在掌握一定的基础知识后因材施教,最大限度地发挥每个学生的特长,这是最理想的教育方法。利用虚拟现实技术产生学生喜爱的“老师”,利用大数据分析为每个学生制订教学计划,然后给每个学生分配一个“老师”,按照制订的计划来一对一教学。

高性能计算云

高性能计算云,即把云端成千上万台服务器联合起来,组成高性能计算集群,承载中型、大型、特大型计算任务。比如:

1)科学计算,解决科学研究和工程技术中所遇到的大规模数学计算问题,可广泛应用于数学、物理、天文、气象、化学、材料、生物、流体力学等学科领域。

2)建模与仿真,包括自然界的生物建模和仿真、社会群体建模和仿真、进化建模和仿真等。

3)工程模拟,如核爆炸模拟、风洞模拟、碰撞模拟等。

4)图形渲染,应用领域有3D游戏、电影电视特效、动画制作、建筑设计、室内装潢等可视化设计。

解群众看病贵的问题;便于争抢生命绿色通道的“黄金时间”;有利于充分共享医疗资源;有利于开展远程医疗业务。有利于开展“六位一体”业务;有利于开展健康干预跟踪服务。

4)对于个人

能减少重复的检查检验开支;便于“移动”(如转院、跨地区等)治病;通过远程医疗系统便于享受优质的医疗服务;医疗云结合大数据能预测个人疾病,所以能提高预防重大疾病的发生。

教育云简介

构建教育云是一个庞大的系统工程,由一个国家层面的公共教育云和成千上万的学校私有教育云组成,而且私有教育云建设要先行启动,教育管理部门制定标准,由各个学校自己主导建设。

公共教育云应该由中央政府牵头完成,承载共性教育资源和标杆教育资源,同时作为连接各个私有教育云的纽带。各个学校的私有教育云承载各种特色资源,履行“教”与“学”的具体任务。

每个学校运营自己的私有云端,而云终端发放到每个老师和学生的手上,形态上可以是固定云终端(放置在老师办公室、机房、多媒体教室、图书馆的多媒体阅览室等)、移动云终端(给老师和学生)、移动固定两用云终端及多屏云终端。云端和云终端通过校园高速光纤互联在一起

学校采用私有教育云有如下好处:

  • 移动教学。无论师生在哪里,都能登录自己的云端桌面。
  • 延续实验。由于每个学生都有自己独有的虚拟机,所以跨节次的实验不会被中断。
  • 远程教学。老师能选择云端的任何学生的云桌面并广播课件。
  • 规范学生用机行为。能轻松控制学生可以安装和使用的软件,杜绝学生沉迷游戏。
  • 便于资源共享。
  • 便于学生积淀学习笔记和素材。
  • 便于计算机学生云中开发。
  • 轻松实现高性能计算,如科学研究、动漫渲染、游戏开发、虚拟现实模拟等。
  • 便于因材施教。在掌握一定的基础知识后因材施教,最大限度地发挥每个学生的特长,这是最理想的教育方法。利用虚拟现实技术产生学生喜爱的“老师”,利用大数据分析为每个学生制订教学计划,然后给每个学生分配一个“老师”,按照制订的计划来一对一教学。

高性能计算云

高性能计算云,即把云端成千上万台服务器联合起来,组成高性能计算集群,承载中型、大型、特大型计算任务。比如:

1)科学计算,解决科学研究和工程技术中所遇到的大规模数学计算问题,可广泛应用于数学、物理、天文、气象、化学、材料、生物、流体力学等学科领域。

2)建模与仿真,包括自然界的生物建模和仿真、社会群体建模和仿真、进化建模和仿真等。

3)工程模拟,如核爆炸模拟、风洞模拟、碰撞模拟等。

4)图形渲染,应用领域有3D游戏、电影电视特效、动画制作、建筑设计、室内装潢等可视化设计。

云计算基础(纯理论)相关推荐

  1. Cloud Computing 云计算基础

    文章目录 Cloud Computing 云计算基础 1.云计算概述 1.1 IT发展趋势 1.1.1 什么是IT 1.1.1.1 我们身边的IT 1.1.1.2 IT的核心 1.1.2 传统 IT ...

  2. 云计算HCIA学习笔记-云计算基础概念

    第1章 云计算基础概念 1.1 云计算课程安排说明 (IA-虚拟化-FC / IP-Linux OpenStack 桌面云/IE-备份容灾迁移) 1.2 为什么云计算IA讲虚拟化? 提前告知学员,为什 ...

  3. 微型计算机最早提出于,大学计算机基础知识理论题及解答.doc

    大学计算机基础知识理论题及解答.doc 大学计算机基础知识练习题及解答目录一. 计算机基础知识 101题二. PC操作初步与操作系统 86题三. Word 2000 45题四. Excel 2000 ...

  4. 云计算基础教程(第2版)笔记——基础篇与技术篇介绍

    文章目录 前言 第一篇        基础篇 一 绪论 1.1 云计算的概念以及特征 1.1.1云计算的基本概念 1.1.2云计算的基本特征 1.2 云计算发展简史 1.3 三种业务模式介绍 1. 基 ...

  5. OpenCV(22)SIFT尺度不变特征变换(纯理论)

    SIFT算法(纯理论) 1.引言 前面介绍了Harris和Shi-Tomasi角点检测算法,这两种算法具有旋转不变性,但不具有尺度不变性.以下图为例,在左侧小图中可以检测到角点,但是图像被放大后,在使 ...

  6. 华为云计算基础-华为云计算套件

    华为云计算基础-华为云计算套件 一.FusionSphere虚拟化套件 1.FusionSphere虚拟化套件详细讲解链接 2.FusionSphere虚拟化套件图示 3.FusionCompute在 ...

  7. 计算机高职考理论知识,考计算机基础知识理论试题

    天水事业单位招考计算机基础知识理论试题 事业单位招考计算机基础知识理论试题 (一)单选题(选择最佳答案) 1.在Windows98 中,单击___ D _____按钮,可以使窗口缩小成图标,位于任务栏 ...

  8. 无线电波的入侵第1部分——无线电频率基础与理论

    本文讲的是无线电波的入侵第1部分--无线电频率基础与理论, 在本系列中,我将了解射频(RF)理论,各种调制技术以及如何分析它们. 由于这个话题很大,我将在本文只介绍RF的基础知识和理论.而且,为了方便 ...

  9. 计算机中常用术语CAD是指,计算机基础知识理论复习题及答案

    计算机基础知识理论复习题及答案 基础知识复习题及答案 一. 选择题 1. 第三代计算机所使用的电子器件是( ). A)晶体管 A)科学计算 A)存储记忆 A)计算机辅助设计 A)体积大 A)8位 A) ...

  10. 云计算教程学习入门视频课件:云计算基础服务组件讲解

    云计算服务,即 云服务 . 中国云计算服务网 的定义是:指可以拿来作为服务提供使用的云计算产品.包括云主机.云空间.云开发.云测试和综合类产品等.在本文中和大家讲解下云计算基础服务组件内容,基础服务组 ...

最新文章

  1. 人工智能 有信息搜索 (启发式)
  2. mysql是如何管理数据_【MySQL】如何管理数据库
  3. 需求分析说明书(四)
  4. Mysql数据字典导出
  5. MATLAB禁用!!MATLAB教程对高校全免费!!
  6. html+css+javascript之间的关系与作用
  7. dart系列之:你的地盘你做主,使用Extension对类进行扩展
  8. 编程语言的发展趋势及未来方向(4):动态语言
  9. snmp 获取设备类型_SNMP开发系列(三)SNMP Agent的实现
  10. 记忆集、卡表、G1垃圾收集器简介
  11. 重新分析connection reset by peer, socket write error错误原因
  12. 图论--最小生成树总结(PrimKruskal)
  13. 2020家用千兆路由器哪款好_千兆路由器哪个好 2020年值得入手的家用千兆路由器推荐...
  14. 大班科学电子计算机,计算器教案
  15. python led点阵_(十三)nodemcu初级:LED点阵(8×8)屏幕
  16. cad.net cad启动慢? cad2008启动慢? cad启动延迟? cad卡住? cad98%卡? 默认打印机!!
  17. 汽车诊断工程师的黎明:并行刷写策略与实现
  18. linux磁盘文件大小排序,Linux中查看磁盘大小、文件大小、排序方法小结
  19. 景点接口 查询携程旅游门票景点详情
  20. Java中线程池拒绝策略——代码讲解

热门文章

  1. 自适应直方图均衡化matlab 程序,直方图均衡化程序 matlab
  2. Proe/Creo元件替换的方法
  3. 加载项目的时候提示:需要缺少的web组件才能进行加载
  4. 教你流程化梳理外贸工作(附18个全流程邮件模板分享)
  5. matlab psf点扩散函数,什么是点扩散函数PSF?-ZEMAX,OpticStudio-光行天下-国内光电行业门户-光学,光电,光机技术及其软件运用专业网站!...
  6. 能领拼多多优惠券的app
  7. 轴承后缀ce和ca_轴承cc和ca与cde4有什么区别
  8. 干货分享!手机中不可或缺的5个APP神器
  9. 详解如何运用技术手段查处公车私用和超速行驶
  10. android四级联动机制,小程序四级联动(wepy)