第一章云计算概论
1.1什么是云计算
1.1.1云计算的定义:
定义:指按需使用IT资源和应用程序,通过互联网、按使用量付费。
像水电煤(资源性产品)一样利用你的IT资源,计算存储网络资源。
有三个关键词:按需使用、超大规模、高弹性
四种云:(1)公有云:提供公共的IT资源
缺点:保密性较低
(2)私有云:提供给政府、学校等地
优点:保密性高
(3)社区云:研究人员使用
(4)混合云:包含以上任意两种
举例:出行:自己买车(私有)开车(开车)是混合云
吃饭:在餐厅是公有云;在家做饭是私有云;在家+厨师做饭是混合云;在酒店是公有云
1.1.2云计算的概念模型:
多层含义:(1)用户的公共性(2)设备的多样性(3)商业模式的服务性(4)提供方式的灵活性
1.1.3云计算的特点:(1)虚拟化技术(2)动态可扩展性(3)按需部署(4)灵活性高(5)可靠性高(6)性价比高(7)地理分布(8)先进安全技术
1.2云计算技术发展背景
1、云计算的发展背景:
(1)20世纪60年代,计算机革命
(2)20世纪90年代,互联网革命
1994年weblo单向传递;2004年weblo双向传递
(3)2010年,移动互联网革命
(4)1983年提出“云计算”名词;2006年提出“云计 算概念及基础架构”;2008年进入中国;2009年首届云计算大会在中国召开;2012年中国提出定义
2、世界第一个网站:http://info.cern.ch
3、云计算的基本特征:(1)资源无限量供应
(2)提供自助式服务
(3)远程提供服务
(4)资源可控
(5)按使用量付费
1.3典型的云计算基础架构
1、Google的云计算基础架构(包括三个相互独立又紧密结合在一起的系统):
GFS建立在集群之上的分布式文件系统:默认把超大文件分成64MB的块,分布在集群的机器上,使用Linux的文件系统存放,同时每块文件至少有3份以上的冗余,从而解决结点失效问题。
MapReduce编程模型(分布式并行):简化分布式系统的编程,用户仅需提供Map函数和Reduce函数就可在集群上进行大规模的分布式并行数据处理。
BigTable数据库管理系统(分布式大规模):处理大量半结构化数据,是一个巨大的表格用来存储半结构化数据;它是稀疏的、分布式的、持久化的、多维排序的,并以Key/Value键值对形式存储的数据模型。
2、其他云计算组件:领域描述语言、分布式程序调度器、分布式锁服务Chubby机制等。
1.4云计算的主要服务模式
1.4.1基础设施即服务Iaas(第一层)(租用):
关键技术:虚拟化技术
1.4.2平台即服务Paas(第二层)(编程):数据库服务、Web应用
关键技术:(1)分布式并计算(2)分布式存储
特点:(1)简化开发人员
(2)提供PC端或软件端的开发套件
(3)丰富的开发环境
(4)完全可托管的数据库服务
(5)可配置式的应用程序的构建
(6)支持多语言的开发
(7)面向市场
1.4.3软件即服务Saas(第三层)(用户):
关键技术:多租户技术
1.4.4三种服务模式之间的关系:
Iaas最底层;Paas提供软件(部署平台);Saas拿来即用
举例:(1)云计算服务=做饭做菜;云计算服务提供商=饭店
Iaas提供厨房锅具等不提供食材和技术;
Paas提供厨房和切好的食材不提供技术;
Saas提供厨房食材技术
(2)Iaas=租车
Paas=租车+司机
Saas=坐公交
从用户体验角度分析:Saas面对普通用户;Paas面对开发人员;Iaas面对具有专业知识的系统管理员。
从技术角度分析:有继承关系或某一层次可以单独完成一项用户的请求而不需要其他层次为其提供必要的服务和支持。
1.5云计算的主要部署模式
1、(1)公有云:面向互联网大众的云计算服务;
(2)私有云:面向企业内部的云计算平台;
(3)混合云:混合了私有云和公有云,吸纳二者优点,给企业带来真正意义上的云计算服务。
(4)联合云:联合多个云计算服务提供商的云基础设施,向用户提供更加可靠、优惠的云服务,主要针对公有云平台。
1.6云计算是商业模式的创新
1.7典型的云计算产品
1.7.1 Amazon的AWS
Amazon是第一个将云计算作为服务出售的公司,亚马逊的云计算产品总称为Amazon Web Service(亚马逊网络服务,英文简称:AWS)
1.7.2 Windows Azure Platform
Windows Azure Platform是由微软发展的一套云计算操作系统,用来提供云在线服务所需要的操作系统与基础存储和管理的平台,是微软的云计算的第一步以及微软在线服务策略的一部分,属于Paas云计算服务模式。
1.7.3 IBM蓝云解决方案
IBM是商业数据计算的龙头和传统超级计算机的绝对者
云计算方面,IBM成功案例:(1)无锡云计算中心——软件开发测试云
(2)i-Tricity云计算中心——IDC云(3)越南技术和电信协会
1.7.4 阿里云
阿里云作为云计算领域的独角兽企业,是全球领先的云计算及人工智能科技公司,致力于以在线公共服务的方式,提供安全可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。
1.8云计算技术的新发展
1.9我国的云计算产业现状
1.9.1政府推动云计算产业发展
1.9.2我国云计算产业高速发展
2.1大数据技术的产生
2.1.1大数据的基本概念
2.1.2大数据产生的原因
经典案例:啤酒与尿布、谷歌与流感
2.1.3大数据概念的提出
1、内存:运行速度 存储:储存容量
海量数据产生:(1)来自大人群互联网
(2)来自大量传感器机械
(3)科学研究及行业多结构专业数据
2、1887——1890年:电功器
1944年预见大数据
1997年用大数据描述超级计算机产生的大量信息
2003——2006年:谷歌提出大数据可重用方案
2008年提出大数据概念
2009年大数据逐渐走进互联网
2012年大数据成为一种新的资产类别
2013年大数据元年
3、各数据量单位:KB>MB>GB>TB>PB>EB>ZB>YB>NB>DB 12B=10亿TB
单位以PB衡量的数据可称为大数据
1位(二进制0或1)
1字节(8位)——1个英文字母或二进制8位数
1文字=2字节=16位
2.1.4第四范式——大数据对科学研究产生的影响
实验——————理论——————计算——————数据
第一范式 第二范式 第三范式 第四范式
大数据的特征 (1)大量化:存储量大 (3) 快速化
增量大 (4) 有价值
(2)多样化:来源多 搜索引擎
社交网络
格式多 结构化数据
非结构化数据
2.1.5云计算与大数据的关系
1、区别:(1)云计算侧重于提供资源和应用的网络化交付方法;大数据侧重于应对大的数据量所带来的技术挑战。
(2)云计算的核心是业务模式,其本质是数据处理技术,数据是资产,云计算为数据资产提供了存储访问的场所和计算能力。云计算更偏重大数据的存储和计算以及提供云计算服务运行云应用;大数据的核心作用是盘活数据资产的能力,从数据中挖掘价值核对数据进行预测性分析,为国家治理、企业决策乃至个人生活提供服务。
(3)云计算是基础设施架构,大数据是思想方法。大数据技术将帮助人们从大体量、高度复杂的数据中分析、挖掘信息,从而发现价值和预测趋势。
2、联系:云计算与大数据是一对相辅相成的概念,他们描述了面向数据时代信息技术的两个方面。
2.2大数据的4V特征
2.3大数据的主要应用及行业推动力量
2.3.1大数据的主要应用:
2.3.2企业推动大数据行业发展
腾讯、华为、谷歌、EMC、数据库、阿里
2.3.3我国政府推动大数据行业发展
2.4大数据的关键技术
数据存取
基础架构支持
计算结果展现
统计和分析
数据挖掘
模型预测
2.5典型的大数据计算架构
3.1虚拟化技术简介
3.1.1虚拟化技术的概念
图3-1虚拟化软硬件框架对比 a)未应用虚拟化技术 b)应用虚拟化技术
表3-1虚拟化技术应用前后的对比
3.1.2虚拟化技术的分类
实现有两种方式:块虚拟化和文件虚拟化
虚拟机:操作系统(Guest Os)虚拟机(Guest Machine)VMM(虚拟监控器)硬件(Host Machine)
隔离:虚拟机与虚拟机之间相互独立
封装:独立的文件夹形式
相对于硬件独立:屏蔽底层硬件不兼容问题
特点:简单易于实现;
安装和运行应用程序时,依赖于主操作系统对设备的支持;
有两层OS,管理开销大,性能损耗大;
虚拟机对各种物理主机的调用都是通过虚拟化层和宿主OS一起调用完成
裸金属虚拟化——在硬件上部署虚拟化层
特点:不依赖于操作系统;
支持多种操作系统;
依赖虚拟层内核和服务控制台进行管理;
需要对虚拟层进行内核开发
混合虚拟化——插入内核模块
特点:相对于寄居虚拟化性能高;
相对于裸金属虚拟化不需要内核开发;
支持多种操作系统;
需要底层硬件支持虚拟扩展功能
特点:OS无需修改
速度和功能比较好,使用非常简单
移植性好
半虚拟化:特点:架构更简单
对OS进行修改,用户体验比较麻烦
速度上占一定优势
硬件辅助虚拟化
3.1.3虚拟化技术的优势和劣势
3.1.4虚拟化技术与云计算
3.2虚拟化技术原理
3.2.1虚拟机技术原理:(1)虚拟机技术实现了一台计算机同时运行多个操作系统,而且每个操作系统中都有多个程序运行,每个操作系统都运行在一个虚拟的CPU或虚拟主机上。虚拟机技术需要CPU、主板芯片组、BIOS和软件的支持,如VMM软件或者某些操作系统本身。
(2)虚拟机技术的核心是虚拟机监视器VMM(作用是向底层分配访问宿主机的硬件资源,向上管理虚拟机的操作系统和应用程序,它是一个宿主程序)
3.2.2CPU虚拟化原理:(1)目的是为了允许让多个虚拟机可以同时运行在VMM中。CPU虚拟化技术是将单CPU模拟为多CPU,让所有运行在VMM之上的虚拟机可以同时运行,并且他们相互之间都是独立的,互不影响的,以提高计算机的使用效率
3.2.3内存虚拟化原理:(1)(除去CPU的虚拟化以外,另一个关键的虚拟化技术)让每个虚拟机可以共享物理内存,VMM可以动态分配与管理这些物理内存,保证每个虚拟机都有自己独立的内存运行空间。
(2)虚拟地址:客户虚拟机应用程序所使用的地址
(3)物理地址:由VMM提供的物理地址
(4)机器地址:真实的物理内存地址
(5)映射关系:包含两部分,客户机中的虚拟地址到VMM物理地址的映射;VMM物理地址到机器地址的映射。
3.2.4网络虚拟化原理:(1)提供了以软件的方式实现的虚拟网络设备,虚拟化平台通过这些虚拟网络设备可以实现与其他网络设备进行通信。
(2)网络虚拟化是要实现设备与设备之间的与物理连接没有关系的虚拟化连接
3.3常见的虚拟化技术解决方案
3.4常见虚拟化技术的应用实践
4.1数据中心的概念
数据中心(DataCenter)通常是指在一个物理空间内实现信息的集中处理、存储、传输、交换、管理,而计算机设备、服务器设备、网络设备、存储设备等通常认为是网络核心机房的关键设备。 关键设备运行所需要的环境因素,如供电系统、制冷系统、机柜系统、消防系统、监控系统等通常被认为是关键物理基础设施。
4.2数据中心的基本单元——服务器
3、服务器(Server) 是指运行操作系统、数据库系统、Web系统等软件系统,为网络上其他终端提供服务的硬件设备。即从广义上讲,服务器是指网络中能对其他机器提供某些服务的计算机系统(如果一个PC 对外提供FTP服务,也可以称之为服务器); 从狭义上讲,服务器是专指某些高性能计算机,能通过网络对外提供服务。服务器通常都会采购专用的CPU,与PC相比,服务器有更高标准的主板和电源、以及专用的带纠错功能的高速内存(ECC 内存)和专用的硬盘(SAS硬盘、FC硬盘、SSD硬盘)。
4、目前常见的服务器从基础构架上分为使用RISC (精简指令集)CPU的专用服务器和使用CISC (复杂指令集)CPU 的通用服务器。专用服务器主要用于对浮点运算性能较高的应用场景,如中型机和小型机,也就是大家经常听说的高性能机。目前大多数数据中心通常采用的是通用服务器,如Intel公司的Xeon系列和AMD公司的 Opteron 系列服务器。由于Xeon和Opteron与PC机的 CPU 都使用了 X86 架构,使用的都是 CISC 指令集,所以这类服务器通常被称为X86服务器。X86服器可从机箱结构和外形、结点密度、支持的CPU数量和用途进行分类。
5、按机箱结构和外形分类:塔式服务器、机架式服务器;
6、按结点密度分类:单结点服务器、多结点(高密度)服务器;
7、按支持的CPU数量分类:单路服务器、双路服务器、4路服务器、8路服务器、16路服务器、32路服务器。
8、按功能分类:文件服务器、数据库服务器、邮件服务器、Web服务器、DNS服务器等。
4.3数据中心选址
4.4数据中心的能耗