原数据:描述数据的数据,不可分割。
7.1 Google云计算技术
7.1.1 GCP
Google 将这些技术组合在一起,运用这些从自身业务需求出发,逐步发展起来的一系列云计算技术和工具搭建起了其面向商业的云计算解决方案Google Cloud Platform ( GCP )。
GCP主要提供涉及计算资源存储资源网络资源在内的一系列laas、PaaS 产品,以及面向大数据和机器学习的一系列服务产品。
7.1.2 GFS
GFS 是一个为 Google 云计算提供海量存储的大型分布式文件系统,并MapReduce 及Bigtable 等技术结合十分紧密,处于所有核遗憾的是它并没有弃源,而是一项专利软件。
目前云计算存储采用的集群文件系统通常分为两类: 共享存储文件系统( Shared Disk File System ) 和分布式文件系统( Distributed File.System)。GFS便属于后者的范畴,它通过文件系统的形式想上层应用提供存储服务,不允许对存储进行块级别的直接访问。
Google GFS 的新颖之处在于它采用廉价的商用机器构建分布式文件系统,将容错的任务交由文件系统来完成,利用软件的方法解决系统可靠性问题这样可以使存储的成本成倍下降。
7.1.3 并行数据处理MapReduce
MapReduce是Google提出的一个软件架构行,是一种处理海量数据的并行编程模式,用于天规模数据集(通常大于1TB)的并行运算。
Map( 映射)、Reduce(化简)的概念和主要思想都是从函数式编程语言和矢量编程语言借鉴来的,这种编程模式特别适合于非结构化和结构化的海量数据的搜索、挖掘、分析与机器智能学习等
目前比较流行的MapReduce架构是Apache基金会的Apache Hadoop。
7.1.4 分布式锁服务Chubby
Chubby是Google设计的提供粗粒度的一种锁服务,它基于松耦合分布一种建议性的锁式系统,解决了分布的一致性问题。但是Chubby提供的只是(Advisory Lock )而不是强制性的锁( Mandatory Lock ),如此选择的目的是使系统具有更大的灵活性。
GFS使用Chubby来选取GFS主服务器; Bigtable使用Chubby指定主服。除了最常用的锁服务之外务器并发现、控制与其相关的子表服务器。Chubby还可以作为一个稳定的存储系统存储包括元数据在内的小数据。
同时 Google 内部还使用 Chubby 进行名字服务( Name Server )。
7.1.5 分布式结构化数据表Bigtable
Bigtable是Google开发的基于GFS和Chubby的分布式存储系统。
Bigtable是种通过Key/Value磁盘存储方式实现的Nosql数据库,在很多方面和数据库类似,但它并不是真正意义上的数据库(传统的关系型数据库)
目前,包括Google Analytics、Google Earth和个性化搜索在内的几十个项目都使用了 Bigtable。这些应用对Bigtable的要求及使用的集群机器数量都是各不相同的,但是从实际运行来看,Bigtable 完全可以满足这些不同需求的应用。与此同时,Google还在不断地对Bigtable进行一系列的改进通过技术改良和新特性的加入提高系统的运行效率及稳定性。同时Bigtable如今也作为Google Cloud Platform旗下的一项数据库产品Cloud Bigtable推出。
Google的新一代全球级分布式关系数据库管理系统Spanner的底层也是采用的Bigtable。
7.2 Amazon云计算方案
7.2.1 简介
Amazon公司作为计算机系统的应用者,其打造的云平台是开放的。它提供了弹性虚拟平台,采用Xen虚拟化技术作为核心,提供了包括EC2 ( Elastic Compute Cloud)、S3(Simple Storage Service)simpleDB、sQs(Simple Queue Service)在内的企业服务,系统是开源的。
7.2.2 AWS
Amazon Web Services,通常简称为AWS。最初只是一组服务,它们允许通过程序访问Amazon的计算基础设施。Amazon多年来一直在构建和调整这个健壮的计算平台,现在任何能够访问互联网的人都可以使用它,并且提供了满足用户各种需求的云服务产品。
通过在AWS提供的可靠且经济、其中的企业应用程序。AWS目前提供了大量不同规格和功能的云计算服务,包括满足大多数系统的核心需求的基本服务:存储、计算、消息传递和数据集。Amazon推出AWS已经超过10年,该服务可以为用户提供远程计算能力和存储空间,Amazon 也因此成为云计算领域的先驱。
目前AWS按实际使用量付费,针对 70 多种云服务提供了即用即付的定价模式,在使用 AWS 时,只需为需要的个别服务付费,具体根据使用时间计费,且无需签订长期合同或复杂的许可协议,与支付水电费的方式类似。
7.2.3 弹性计算云
弹性计算云( Elastic Compute Cloud,简称EC2 )是亚马AWS云计算平台的核心组成部分。用户可以通过这项服务来租赁虚拟机(VMs)或者容器(Container)来运行所需的应用程序。由于是IaaS服务,用户可通过叫做Amazon Machine Image(AMD的虚拟设备来提供自己所需的运行环境。AMI主要是由一个含有特定操作系统(如Linux、Windows等)和其他用户所需的应用只提供了一个星序的只读文件系统构成,它并不包含内核镜像 ( kernelimage)指针指向默认的内核id。用户也可以选择其他由亚马逊公司和其合作商提供的全内核。
弹性计算云EC2可提供 : laaS服务支持虚拟机的使用;用户根据需要设置虚拟机的硬件配置;提供弹性的与用户账号绑定IP地址,当正在使用的实例出现故时,用户只需将弹性IP地址重新映射到一个新的实例即可。
7.2.4 Amazon简单存储服务
S3全名为Simple Storage Service,是AWS所提供的网络线上储存服务,经由Web服务界面(包括REST、SOAP、BitTorrent)提供给用户的能够轻松把档案储存到网络服务器上的服务。
使用S3的用户能获得在亚马逊网站上运行自己的网站所使用的系统。简单存储服务允许上载、存储和下载5GB大小的文件或对象没有限制用户可存储的项自的数量。数据存储在多个数据中心的冗余服务器上个简单的基于 Web的界面并且使用密匙来验证用户身份。用户可以选择保密自己的数据或公开数据。如果愿意的话,用户还可以对数据进行加密。当用户的数据存储在S3,AWS会跟踪其使用,以便进行计费,但并不以其他方式获取数据,除非法律要求这样做。
S3架构在Dynamo之上,提供一个字节到数GB字节的支持,大概有520亿对象,它采用桶-对象两级模式结构,可手动或编程自动增加桶中的对象数量具有究余存储、数据监听回传等容错能力,使用身份认证和访问控制列表保证安全性,并采用负载均衡和数据恢复技术保证系统的可靠性。
7.2.5 数据库服务SimpleDB
SimpleDB是一个分散式数据库,属于非关系型数据库,以Erlang编写,属于Amazon网络服务的一部分。如同EC2和S3一样,SimpleDB的按照存储量夺互联网上的传输量和吞吐量收取费用。2008年12月1日,Amazon推出了新的定价策略,提供了免费1 GB的数据和25机器小时的自由层( Free Tire),超过之后按每小时机器时间0.154美元,每GB每月0.276美元的数据存储,将其中的数据转移到其他Amazon网络服务是免费的。
SimpleDB的主要宗旨就是读取速度快。虽然并非全部的网站都需要快速进行资料检索,但至少绝大部分的网站有这样的需求,而且它们对资料检索速度的要求远远高于对资料存储的要求。
simpleDB 支持域-条目-属性-值四级模式的系统结构,支持有限的 SOLay具有很强的可扩展性,查询结果只包含条目名称不包括相应的属性值,相应时间不能超过5秒,否则报错:没有事务(Transaction)的概念,不支持Join操作作C际存储的数据类型单一(所有的数据都以字符串形式存储)。
7.3 阿里云云计算方案
7.3.1 简介
经过讨十年发展和实践,阿里云已经发展成为中国云计算市场的绝对领导者,为200多个国家和地区的企业、开发者和政府机构提供着服务。截至2016年第三季度,阿里云客户超过230万,付费用户达76.5万。阿里云致力子以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。
2017年1月,阿里巴巴成为奥运会“云服务”及“电子商务平台服务”的官方合作伙伴,阿里云将为奥运会提供云计算和人工智能技术。
阿里云目前提供着弹性计算、云数据库产品、云存储以及CDN等一系列云计算、大数据和人工智能服务。
7.3.2 飞天操作系统
飞于(Ansara)是由阿里云白主研发、服务全球的超大规模通用计算操作系,证生千2009年2自。随着阿单云业务向全球的扩展,飞天自前为全球200多个国家和地区提供着服务,它将遍布全球的百方级服务器连成一台超级计算机,以在线公共服务的方式为社会提供计算能力,以期解决人类计算的规模、效率和安全问题。
阿里云使用飞天管理着其互联网规模的基础设施。最底层是遍布全球的几十公数据中心,数百个PoP节点飞关内核跑在每个数据中心里面,负责统一管理数据中心内的通用服务器集群,调度集群的计算、存储资源,支撑分布式应用的部署和执行,并自动进行故障恢复和数据冗余。安全管理根植在飞天内核最底层。飞天内核提供的授权机制,能够有效实现“最小权限原则(Principle of leastprivilege)" 。同时,还建立了自主可控的全栈安全体系。
内核层的上面是飞天的元服务层,包括了账号管理、认证授权、计量和结算等一些最基础的服务,这一层其实对应了传统操作系统里的系统调用层。在往上杯有着对应子传统操作系统输入输出子系统的接入层,负责着数据传输、内容分发以及混合云网络接入等服务。
7.3.3 盘古分布式文件系统
飞天平台上负责存储管理的是盘古分布式文件系统,它是负责数据存储的基石性服务,和分布式任务调度系统一伏羲一起承载了阿里云的一系列云服务。
在盘古的上层服务中,既有要求高吞吐量,希望I/0能力能随集群规模线性增长特开放存储服务,又有要求低时延的弹性计算服务。因此盘古的设计目标便是将大量道用机器的存储资源聚合在一起,为用户提供大规模、高可用、高吞吐量、低时延和有良好扩展性的存储服务。
盘古在内部架构设计上采用的是Master/ChunkServer/Client结构,由Master负责管理元数据,Master之间则采用Primary-Secondaries模式,设胃个Primary和多个Secondary,基于PAXOS协议来保障服务的高可用性;实际的数据读写则有~hunkServer负责,通过余副本来实现数据的安全由Client对外提供类POSIX的专有API,系统地提供丰富的文件形式,已满足离线场景对高吞吐量的要求,同时提供在线场景下对低延迟的要求,以及虚拟机等特殊场景下随机访问的要求。
7.3.4 伏羲分布式调度系统
伏羲是阿里云在飞天计算平台中的分布式调度系统,负责管理集群的机器资源和调度并发的计算任务,同时支持离线数据处理和在线服务,能够为上层布式应用提供稳定、高效和安全的资源管理和任务调度服务。
伏羲在系统设计上采用了Master/Slaves的主从结构,在系统上有一个被称为“Fuxi Master”的集群控制中心,负责分配资源:集群中的每台机器上会运行一个叫做“Fuxi Agent”的守护进程,负责管理节点上运行的任务,以及收集节点上的资源使用情况并反馈到控制中心,这些机器被称作Tubo
伏羲在架构上采用资源调度和任务调度分离的两层架构。这样的两层架构设计将问题进行了分解,Fuxi Master和Tubo解决了资源调度的问题,AppMaster和App Worker解决了任务调度的问题。
FuxiMaster和Tubo之间彼此有心跳通信,当用户通过Fuxi Master向系统提交任务时,Fuxi Master会通过调度选择一台Tubo启动App Master。
App Master启动后会联系FuxiMaster将其需求发送给FuxiMaster触发调度FuxiMaster经过资源调度并将结果返回给App Master,App Master与相关资源上得p asteRykerhaster共Instance。App Master和App Worker一起称之为计算框架伏羲系统是多任务系统,可以同时运行多个计算框架。
7.4 Oracle云计算方案
7.4.1 简介
Oracle在云计算领域可谓煞费苦先后收购了多家知名企业。通过BEA获取了先进的中间件( WebLogic技术,通过Sun获取了先进的服务器和存储技术。加上自家的Oracle数据库这样Oracle云计算的雏形就出来了。
Oracle的云计算战略广泛而全面为客户采用云计算提供选择和实用的规划。Oracle为私有云和公有云提供企业级软/硬件产品和服务。
Oracle还支持将公有云和私有云集成的方案,支持跨公有云和私有云集成的一系列身份和访问管理。
7.4.2 Oracle云计算战略
私有云
公有云
云之间的集成
7.4.3 Oracle PaaS
7.4.4 Oracle IaaS
7.5 微软云计算Microsoft Azure方案
微软的云计算战略为自己的客户和合作伙伴提供了3种不同的云计算运营模用户自建的私有云、合作伙伴运营的云平台以及微软自己构建和运营的公共威:云应用和服务。