知识框架(2-1)一遍搞定云计算——基础 #面试常见 #教科书式整理

文章目录

    • 第一章:大数据与云计算
      • 1. 公有云,私有云,混合云,社区云
      • 2. 云计算的优缺点,特点
      • 3. Iass,Paas,Saas ,CaaS,FaaS
      • 4. 云计算领域的代表
      • 5. 由于数据在云端传输,你如何确保数据安全?云在安全方面的措施有哪些?
      • 6. 云计算的关键技术
    • 第二章:Google 云计算原理与应用
      • 1. Google三大云计算技术包括
      • 2. GFS 的存储方式是什么?它有什么特点,它是如何提高可靠性的?
      • 3. MapReduce 是什么?它如何对中间结果进行合并?
      • 4. BigTable 是并行运算软件架构还是软件模式?它是干什么的?它与其他传统的数据库有什么区别?
    • 第三章:Amazon 云计算 AWS
      • 1. EC2 【Elastic Compute Cloud】了解【IaaS】
      • **2. S3 【Simple Storage Service】了解【IaaS】**
      • 4. 亚马逊SQS是什么东东?
      • 5. 缓冲器如何用于亚马逊网络服务?
    • 其他
      • **1. OpenStack 的组件有哪些?**
      • 2**. 主流商业云计算解决方案与开源方案之间的比较**
      • **3. 传统数据库在云计算下横向拓展表现较差的原因?**
      • 4. 用户如何得益于公用计算(utility computing)?
      • 5. 云计算系统集成商的角色是什么?
      • 6. 可否列举几个开源云计算平台数据库?大型云提供商的数据库名称?
      • 7. API在云服务中有何用途?
      • 8. 云架构有什么样的业务好处?
      • 9. 在云架构中,经历的不同阶段有哪些?
      • 10. 在云架构中,基本的构建模块有哪些?
  • 参考资料

云计算服务的提供(包括服务器、存储、数据库、网络、软件、分析和智能)- 通过 Internet(云)提供快速创新、弹性资源和规模经济

第一章:大数据与云计算

云计算:通过网络提供可动态伸缩的廉价的计算和存储能力

1. 公有云,私有云,混合云,社区云

  1. 公有云
    • 公有云是部署云计算最常见的方式。公有云资源(如服务器和存储空间)由第三方云服务提供商拥有和运营,这些资源通过 Internet 提供。Microsoft Azure 是公有云的一个示例
      • 在公有云中,所有硬件、软件和其他支持性基础结构均为云提供商所拥有和管理。在公有云中,你与其他组织或云“租户”共享相同的硬件、存储和网络设备。 你可以使用 Web 浏览器访问服务和管理帐户。公有云部署通常用于提供基于 Web 的电子邮件、网上办公应用、存储以及测试和开发环境。
      • 优势:
        • 成本更低 — 无需购买硬件或软件,仅对使用的服务付费
        • 无需维护 — 维护由服务提供商提供
        • 近乎无限制的缩放性 — 提供按需资源,可满足业务需求
        • 高可靠性 — 具备众多服务器,确保免受故障影响
  2. 私有云
    私有云由专供一个企业或组织使用的云计算资源构成。私有云可在物理上位于组织的现场数据中心,也可由第三方服务提供商托管。但是,在私有云中,服务和基础结构始终在***私有网络上***进行维护,硬件和软件专供组织使用。
  3. 混合云
    混合云通常被认为是“两全其美”,它将本地基础架构或私有云与公有云相结合,组织可利用这两者的优势。在混合云中,数据和应用程序可在私有云和公有云之间移动,从而可提供更大灵活性和更多部署选项。可以是多个服务商
  4. 社区云
    社区云是由几个组织共享的云端基础设施,它们支持特定的社群,有共同的关切事项,例如使命任务、安全需求、策略与法规遵循考量等。 管理者可能是组织本身,也能是第三方;管理位置可能在组织内部,也可能在组织外部。

2. 云计算的优缺点,特点

  • 优点:
    • 降低软件、硬件投资成本
    • 强大的服务器功能
    • 提高performance,生产力
    • 降低软件成本
    • 迅速的软件更新
    • 备份数据和存储数据
    • 信息技术沙盒功能
    • 具有成本效益,并节省时间
  • 缺点:
    • 平台角度:没有统一的标准
    • 计算角度:对于不容易分解为众多互相独立子任务的紧耦合型计算任务,效率较低
    • 数据角度:
      • 目前云计算征集数据的方式过于原始,没有结合网络技术,直接从网络中获取数据。
      • 数据丢失风险与数据隐私管理
    • 资源集成角度:将各类资源和应用迁移到云计算平台的成本过高
      • vender lock-in 锁定于某一供应商
      • 提供商会有downtime issue停工期
        • 不一定是更便宜的选择
    • 信息安全角度:失去了绝对控制权
    • 需要持续、高速的网络连接
    • 可能会慢
    • 服务的稳定性
  • 特点:对资源的整合和动态配置
    • 弹性和可扩展性
    • 自助式配置和自动取消配置
    • 标准化界面
    • 自助计费的使用模式
    • 超大规模
    • 虚拟化
    • 高可靠性
    • 通用型
    • 高可伸缩性
    • 按需服务
    • 极其廉价

3. Iass,Paas,Saas ,CaaS,FaaS

  • 名词:基础设施(infrastructure)、平台(platform)和软件(software)
  • 将云计算按照服务类型可以分为三类:Iaas,Paas,Saas
    1. IaaS:【unit=VM】基础设施即服务,将硬件设备等基础资源(如processing storage, network capacity, 场外服务器server)封装成服务供用户使用,节省维护成本和办公场地
      • Amazon EC2 弹性云计算服务;Amazon S3 简单存储服务;Google Compute Engine;Amazon Web Services
      • (如上,都是底层的硬件环境,提供的只是基本硬件环境,云计算或者存储所需要的高性能CPU计算和大容量硬盘)
    2. CaaS:【unit=container】容器即服务,允许用户通过基于容器的虚拟化来管理和部署容器,应用程序和集群,而不必担心底层细节
      • 容器化架构为您提供所需的灵活性和控制权,它允许您在任何类型的系统中使用任何技术。而容器技术能确保你的应用在每个主机上具有相同的行为,无论是开发(Dev),测试(Testing/QA),预发布(Staging)还是生产(Production)环境
      • Google Kubernetes;Docker Swarm;Amazon Elastic Container Service(ECS)
    3. PaaS:【unit=application】【有时也叫中间件】平台即服务,提供用户(App developers)应用程序的运行环境
      • 它负责提供基础设施层的全面虚拟化,让它运行起来如同单一的服务器
      • Amazon EMR Elastic MapReduce (仿 Google MapReduce);Amazon SimpleDB(仿 Goggle BigTable);GAE Google App Engine;Microsoft Windows Azure;
      • (如上,都是基本的操作系统平台、引擎、数据库系统,类似于一个空白的 IDE )
    4. FaaS:函数即服务,服务商提供一个平台,允许客户开发、运行和管理应用程序功能,而无需构建和维护通常与开发和启动应用程序相关的基础架构的复杂性。
      • 按照此模型构建应用程序是实现“无服务器”体系结构的一种方式,通常在构建微服务应用程序时使用。
      • AWS的Lambada
    5. SaaS:软件即服务,只提供某些专门用途的服务供应用调用
      • Salesforce online CRM 在线客户关系管理服务;Amazon FPS 电子商务服务;Amazon DevPay;Amazon Alexa Web 网站访问统计服务
      • (如上,提供的都是专门的针对某一服务的特定制作的应用解决方案,类似于 App)
      • 两个模式:
        • 简单的多租户模式:在该模式中,每个用户有独立的资源,与其他用户分开来,这是一种高效的模式
        • 细粒度的多租户模式:在这种模式中,资源由许多租户共享,但功能仍然一样

4. 云计算领域的代表

  • 国外:Amazon,Google,Microsoft,VMware,Salesforce,Facebook,YouTube,Myspace
  • 国内:阿里云、腾讯、华为云

5. 由于数据在云端传输,你如何确保数据安全?云在安全方面的措施有哪些?

  • 数据从一个地方传输到另一地方的过程中想确保数据安全,就要确保针对你发送的数据所使用的加密密钥没有泄露
  • 云在安全方面的措施:
    • 身份管理:授权应用程序服务
    • 访问控制:将权限授予用户,那样用户可以控制进入到云环境的另一个用户的访问
    • 验证和授权:只允许通过授权和验证的用户访问数据和应用程序

6. 云计算的关键技术

  1. 虚拟化
    • 虚拟化技术是云计算架构的基石,是指将一台计算机虚拟为多台逻辑计算机,在一台计算上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率
  2. 分布式存储
    • HDFS(分布式文件系统),采用了简单的“一次写入,多次读取”文件模型,文件一旦创建、写入并关闭了,之后就只能对它执行读取操作,而不能执行修改操作
    • HDFS基于Java实现
  3. 分布式计算
    • MapReduce(并行编程模型),它允许开发者在不具备开发经验的前提下也能够开发出分布式的并行程序,并让其运行在数百台机器上,在短时间完成海量数据的计算
    • MapReduce把复杂的、运行于大规模集群上的并行计算过程抽象为两个函数—Map和Reduce,并把一个大数据切分成多个小的数据集,分部到不同的机器上进行并行处理,极大的提高了数据处理速度

第二章:Google 云计算原理与应用

1. Google三大云计算技术包括

  • Google文件系统GFS
  • 分布式计算编程模型 MapReduce
  • 分布式结构化数据表 Bigtable

2. GFS 的存储方式是什么?它有什么特点,它是如何提高可靠性的?

  • Google文件系统( Google File System,GFS)是一个闭源的大型分布式文件系统。它为 Google云计算提供海量存储,处于所有核心技术的底层。
  • GFS 的系统结构:
    • 整个系统的节点分为三类角色: Client、 Master和 Chunk Server
    • Client(客户端)是GFS提供给应用程序的访问接口,以库文件的形式提供应用程序直接调用这些库函数,并与该库链接在一起
    • Master(主服务器)是GFS的管理节点,在逻辑上只有一个,它保存系统的元数据,负责整个文件系统的管理,是GFS文件系统中的“大脑”
    • Chunk Server(数据块服务器)负责具体的存储工作。
      • 数据以文件的形式存储在 Chunk Server上, Chunk Server的个数可以有多个,它的数目直接决定了GFS的规模
      • GFS将文件按照固定大小进行分块,默认是64MB,每一块称为一个 Chunk(数据块),每个 Chunk都有一个对应的索引号
  • GFS 的存储方式:
    • GFS 将文件以的形式存储在 Chunk Server 上
    • 在 Chunk Server 内部,数据又以文件的形式进行存储
  • GFS 的特点:
    • 采用中心服务器模式:使用 Master 管理分布式文件系统中的所有元文件。便于增加新的 Chunk Server,但是也使得 Master 成为了 GFS 的主要瓶颈
    • 不缓存数据:对于需要频繁读取的数据直接保存到内存中,而不是进行缓存。避免了缓存与实际数据不一致的问题,减少了缓存对系统资源的耗费。提高了操作的效率
    • 在用户态下表现:提高了通用性和稳定性
    • 只提供专用接口:主要面向 Google 自身的应用程序提供服务,所以使用专业接口,可以降低实现难度、对某些应用提供特殊支持、提高效率
  • GFS 可靠性的保证 —— Master 容错机制
    • 对 GFS 的 命名空间 和 Chunk与文件名的映射表,GFS 通过操作日志来提供容错功能。
    • 对于 GFS 的 Chunk副本的位置信息,则一式三份直接保存到各个 Chunk Server 上。(所以,当 Master 故障时,可以迅速恢复这些数据。)
    • Chunk Server 容错机制:每一个 Chunk 有多个存储副本,分布存储在不同的 Chunk Server 上。当某个相应的副本受损时, Master 自动将该副本复制到其他 Chunk Server 上。

3. MapReduce 是什么?它如何对中间结果进行合并?

  • MapReduce 是 Google 提出的一个软件架构,是一种处理海量数据的并行编程模式,用于大规模数据集的并行运算
  • 主要思想: Map(映射) 和 Reduce(化简)。它具有函数式编程语言和矢量编程语言的共性,非常适合于非结构化和结构化的大数据运算环境(搜索、挖掘、分析、机器学习)
  • MapReduce 的编程模型:
    • 一个 Map 函数对应一部分原始数据,对这部分的原始数据进行映射操作
    • Map 之间是互相独立的,使得它们可以充分并行化
    • 一个 Reduce 操作是对每个 Map 所产生的一部分的中间结果进行合并操作
    • Reduce 之间是互相独立的,其产生过的最终结果简单的连接就形成了完成的结果集

4. BigTable 是并行运算软件架构还是软件模式?它是干什么的?它与其他传统的数据库有什么区别?

  • BigTable 是一个 Google 开发的基于 GFS 和 Chubby 的结构化的分布式存储系统
  • BigTable 的基本目标:
  • BigTable 的数据模型:
    • BigTable 是一个分布式多维映射表,表中的数据通过一个行关键字、列关键字以及一个时间戳进行索引
  • BigTable 与传统数据库之间的区别:
    • 从系统架构的角度来说,互联网应用更加看重系统性能以及伸缩性,而传统企业级应用都是比较看重数据完整性数据安全性
    • 传统数据库是面向行存储的,适合于事务性要求严格场合。但是云计算的数据库 BigTable,HBase 等都是面向列存储的,可以实现高性能的并发读写操作,有较好的水平伸缩性。

第三章:Amazon 云计算 AWS

1. EC2 【Elastic Compute Cloud】了解【IaaS】

  • EC2 是亚马逊的弹性计算云服务,它可以提供大小可调节的计算容量。具有低成本、灵活性、安全性、易用性和容错性的特征。用户可以借助 EC2 在不需要硬件投入的情况下,快速开发和部署应用开发,并方便的配置和管理。

  • EC2 的基本架构主要包括了 Amazon机器映像(AMI)实例存储模块等组成部分,并能够与 S3 等其他 Amazon 云计算服务结合使用。

    • Amazon机器映像(AMI)用于在EC2里面创建VM

    知识框架(2-1)一遍搞定云计算——基础 #面试常见 #教科书式整理_第1张图片

  • EC2 的关键技术:

    • 地域区域和可用区域:地域区域是按照实际的地理位置进行划分的,目前亚马逊总共划分了10个地理区域;可用区域是地理区域的一个个更细划分的子集,是根据有没有独立的供电系统和冷却系统进行划分的。
    • EC2 的通信机制:EC2 中的 IP 地址总共有三大类:公共 IP 地址私有 IP 地址 和 **弹性 IP 地址;**IP分配基于账户,不是创建的instance
    • 弹性负载平衡:弹性负载平衡可以识别出应用实例的状态,当一个应用运行不佳时,它会自动将流量路由到状态较好的实例资源上,当前者恢复正常后才会重新分配流量到其实例上。
    • 监控服务
    • 自动缩放:用户可以自定义 EC2 的计算能力
    • 服务管理控制台:它是一种基于 Web 的控制环境,可用于启动、管理 EC2 实例和提供各种管理工具和 API 接口。
  • EC2 的安全及容错机制:

    • 安全组技术:在保障用户可以随时更新实例的基础上,对实例能够接受的网络流量进行过滤。
    • 使用 SSH 密钥实现用户的登陆服务
    • 使用弹性 IP ,使用户在实例发生故障时可以快速的新实例进行连接

2. S3 【Simple Storage Service】了解【IaaS】

  • S3 是亚马逊的基于 Dynamo 基础存储架构的简单存储服务,它可以用于提供任意类型文件的临时或永久性存储。S3 具有可靠、易用和低成本的特征。

  • S3 的基本概念:

    • :桶是用于存储对象的容器(但是不能像文件夹一样进行嵌套的建立),其名称在整个 Amazon S3 服务器中是唯一的。
    • 对象:对象是 S3 的基本存储单元,由 数据元数据 组成。**每个对象在桶中有唯一的 键 ,**一但建立后便不能再修改。
    • 数据可以是任意类型的,但大小受到对象最大容量的限制。
    • 元数据是数据内容的附加描述信息,通过 名称-值 集合的方式定义。
      知识框架(2-1)一遍搞定云计算——基础 #面试常见 #教科书式整理_第2张图片
  • S3 的基本操作:

    • S3 支持对桶和对象的操作,主要包括 Get 、 Put 、 List (对象不支持)、 Delete 、Head(桶不支持)
  • S3 的安全措施:

    • 身份认证
    • 访问控制列表:访问控制列表规定了 S3 的三大授权用户(所有者、个人授权用户、组授权用户)

4. 亚马逊SQS是什么东东?

为了在不同的连接件之间联系,就要使用亚马逊SQS消息;它在亚马逊的不同组件中充当“联络者”

5. 缓冲器如何用于亚马逊网络服务?

为了让系统更高效地应对流量或负载突增的情况,提供商使用缓冲器。缓冲器可同步不同的组件。组件始终以一种不平衡的方式接收和处理请求。不同组件之间的平衡由缓冲器来负责管理,好让它们以同样的速度来工作,从而提供更快的服务。

其他

1. OpenStack 的组件有哪些?

  • OpenStack 是一个管理 计算存储网络资源 的数据中心云计算开放平台。易于构建虚拟计算或存储服务的云,既可以为公有云、私有云,也可以为大云、小云提供可扩展、灵活的云计算。
  • OpenStack 有三个主要的成员:Nova(计算服务)Swift(存储服务)Glance(镜像服务)

2**. 主流商业云计算解决方案与开源方案之间的比较**

提供:计算,储存,管理
知识框架(2-1)一遍搞定云计算——基础 #面试常见 #教科书式整理_第3张图片

  • Google、Amazon、Microsoft三家公司云计算体系架构的共同点:
    • 整个云计算平台对外提供统一的 Web 接口
    • 后台实现的细节对用户透明
  • 主要的区别:
    • Amazon 、 微软 的云计算服务都是由多种服务组成,需要为不同的服务提供不同的入口。Google 的云计算服务实现相对简单,没有实现多个服务的单独入口
    • 微软的云计算服务不仅支持云端应用程序,还支持本地的应用程序,这是微软云计算和其他三种方案的最大不同之一,反应了微软的 “云+端” 的策略

3. 传统数据库在云计算下横向拓展表现较差的原因?

传统的关系型数据库中都存在着扩展问题和性能问题。可扩展性主要表现在表空间不足的问题,如果要对表空间进行扩容,这需要新增机器,需要将这些数据库中的数据同步等问题。支持的关系数据库服务器数量有限;只能向上扩展不能横向扩展。

4. 用户如何得益于公用计算(utility computing)?

公用计算让用户可以只需要为使用的资源付费。它是由决定从云端部署哪种类型的服务的企业组织管理的一种插件。大多数企业组织青睐混合策略。

5. 云计算系统集成商的角色是什么?

在云计算中,系统集成商负责为用来设计云平台的复杂过程制定策略。集成商需要构建更准确的混合云和私有云网络,因为集成商拥有数据中心构建方面的全部知识。

6. 可否列举几个开源云计算平台数据库?大型云提供商的数据库名称?

  • 开源云计算平台数据库:MongoDB;CouchDBLucidDB
  • 大型云提供商的数据库名称:Google bigtable;Amazon simpleDB;基于云的SQL

7. API在云服务中有何用途?

  • API(应用编程接口)在云平台中非常有用
    • 不需要编写功能完备的程序
    • 提供了在一个或多个应用程序之间进行联系的指令
    • 易于构建应用程序,并将云服务与其他系统联系起来

8. 云架构有什么样的业务好处?

  • 云架构具有的好处包括:
    • 无需基础设施投入
    • 适时的基础设施
    • 更高效地利用资源

9. 在云架构中,经历的不同阶段有哪些?

  • 启动、监测、关闭、清理阶段

10. 在云架构中,基本的构建模块有哪些?

  • 参考架构
  • 技术架构
  • 部署操作架构

参考资料

  1. Cloud Computing Course Material
  2. 云计算知识点梳理 https://zhuanlan.zhihu.com/p/38532674
  3. 云计算知识点 https://blog.csdn.net/Gosick_Geass_Gate/article/details/92979971
  4. 【云计算与大数据】知识点总结 https://blog.csdn.net/qq_41035588/article/details/92003786

你可能感兴趣的:(知识框架(2-1)一遍搞定云计算——基础 #面试常见 #教科书式整理)