云计算:大数据时代的系统工程
1.云计算哲学(组织资源以服务,组织技术以实现,组织流程以应变):服务和平台
(1)定义:既是指在互联网以服务形式提供应用,也是指在数据中心提供这些服务的软件
云:数据中心的硬件和软件
(2)前身:超大规模分布式计算
(3)核心思想:通用、动态:、多租赁
弹性:控制损耗(群组通信:单点失效、冗余机制、多活体机制、消息顺序机制)、
状态感知(成员管理服务、全局视图)、
动态平衡(由节点增加而对负载进行的动态均衡、DHT算法)
透明:冗余等方式保证系统底层架构节点问题,不会对整体影响
用户无需关心底层实现方式,只要专注上层的业务逻辑
自容错(会话复制技术、节点内存连接到全局共享内存数据空间)、
自管理(分布式的执行机制、基于策略的自动化管理、事件驱动机制)、
跨平台互操作性(用户通用、应用通用、平台层通用)
积木化:业务流程管理BPM、资源快速重组满足不同业务需要
(4)模式:商业模式(云服务)、技术(按需提供强大资源的云计算平台)。
(5)挑战:大用户、大数据、大系统
(6)局限:带宽、安全、原子操作(最小不可分割)时延问题
2. 2006年8月SES搜索引擎战略谷歌CEO施密特为云计算命名
2006年亚马逊EC2(动态计算云)服务明确云计算商业模式
3.云商业模式:
1)SaaS软件即服务(互联网提供软件服务):按需求提供服务、无需购买软件、会员费、不对底层云基础设施进行管理控制
2)PaaS平台即服务(互联网提供应用程序运行平台服务):以服务形式交付计算平台和解决方案包,提供创建、应用测试及应用部署的高度集成环境,无需购买软硬件
(1)不会对底层基础设施管理控制:网络、服务器、操作系统、存储等
(2)可控制所部署的应用,服务商提供应用服务编程接口
(3)eg:谷歌GAE开发托管网络应用平台
3)IaaS基础实施即服务:互联网提供基础设施服务
(1)消费者获得处理能力、存储、网络和其他基础计算资源
(2)可部署运行操作系统和应用等任意软件
(3)网站托管、数据存储备份、电子商务、高性能计算、搜索引擎、虚拟主机服务等
(4)eg:亚马逊AWS(存储、计算、消息传递(SQS)和数据采集(SimpleDB)等服务)
4. SaaS面向服务对象与普通单机应用程序的客户无明显区别
PaaS用户对象是开发人员,需了解平台提供环境下应用的开发和部署
IaaS最底层的IT基础设施服务,面向IT管理人员
5.部署使用方式
1)公有云Public Cloud:开放给公众使用的云基础设施
2)私有云Private Cloud:客户单独使用而建立的云基础设施,提供对数据、安全性和务质量最有效控制,并可控制在此基础设施上部署应用程序的方式
.【公有云和私有云区别】主要体现在商业应用方面,技术上互通,但技术层面根本区别访问权限和访问模式的控制(可访问范围决定了云的业务性质)
3)混合云Hybrid Cloud:半公半私,资源借用/租用
6.云计算技术流派
Yahu :搜索起家,门户网站模式
发展大规模分布式系统考虑最多的是通用性(支持各种应用、非存储性问题)
未解决邮箱存储和搜索效率问题推动Hadoop
Google:搜索起家,保证大块数据的查询和搜索的效率和可用性
存储为根,本、高效新可用性
Amazon:电子商务,底层架构核心作用保证在线交易不中断
存储品台Dynamo更适用存储相对较小的对象
7.Hadoop:对大量数据进行分布式处理的软件框架,主要由HDFS(文件系统)、MapReduce(计算机系统)、Hbase(数据库)等组成。
Yahu推动,技术思想属于Google
8. GFS、HDFS:一个主控服务器(Master)+多个子表服务器(Chunk Server)
9. Dynamo:采用哈希算法切分数据,将数据在一个及诶单"环"内均匀存储,分担压力
10.VMware:主要向企业用户提供虚拟化技术,决定其技术路径是自单机虚拟化做起,向上、发展处更高层面上的虚拟化技术来部署云计算平台
特点:借虚拟化技术实现的各种硬件资源的"池化",在此基础上晚上配置、调度和管理
11.分布式系统:通过网络将物理上分散的计算资源连接起来解决问题
12.站来说的.数据量含义:总量、流量(并发量)
13.cebook将数据存储在Hadoop分布式文件系统(HDFS)上,依靠Hive完成数据分析
14.系统由许多廉价的普通组件组成,组件失效是常态。系统必须时刻监控自身状态,迅速地侦查、承受并恢复失效组件
15.云计算快速发展的因素
1)技术:光纤使用、宽带普及、结点通信、虚拟化技术、Ajax、LAMP
2)商业模式&需求:软件即服务
16.Ajax:Asynchronous JavaScript XML 异步的JavaScript和XML技术
服务器对客户端的表单反馈,不会因为部分更改而刷新所有页面内容消失再出现的刷新,仅需返回更改必需的数据
17.XaaS一切皆可为服务。衍生商业流程即服务、数据库即服务、安全即服务等
服务随时可接入、服务应永远在线、服务拥有足够大的用户群
18.并行计算:同时执行多个指令的计算模式,化大为小加快计算速度。紧耦合
耦合:互相交互的系统彼此间的依赖
分布式计算:松耦合,将分布于各处的计算资源以透明、可扩展方式连接共同解决问题
【比较】(1)分布式计算的资源分散,通过网络节点连接表现出无共享的架构
各处处理器都有自己的存储器,通过处理器之间的消息传递进行信息交换
(2)并行计算通常集中于一处,通过共享存储来进行信息交换
所有的处理器共享一个存储器,一次交换处理间信息
(3)NUMA(非一致存储访问结构)和MPP(大规模并行处理)每个节点都有自己的CPU、内存和I/O,节点通过某些机制信息交互
19.集群(Cluster):用多个计算机,冗余互联组成一个对用户来说单一的高可用性的系统
20.网络计算技术:将分散在网络中的计算机节点(如空闲服务器、存储系统等)连接在一起,形成一个拥有超强性能的虚拟计算机,为用户提供强大的计算存储能力
松耦合、异构性质更明显
21.网格计算:多个零散资源为个别任务提供运行环境
云计算:单个整合资源为多个用户提供服务
22..SOA(Service Oriented Architecture)面向服务的体系结构,组织和利用可能处于不同所有权范围控制下的分散功能的范式
给定一种彼岸准接口和一个约束借口的服务协议,则任何业务应用只要满足即可通过给定标准接口进行通信和交互,实现对接。
本质:用于交换系统和系统之间的信息的企业集成技术
23.EAI(EnterpriseApplication Intergration)企业应用集成技术:基于消息中间件产品
24.虚拟化(Virtulization):资源的逻辑表示,不收物理限制的约束
将底层资源抽象,向上提供与真实的层相同或类似功能,屏蔽设备的差异性和兼容性
25.云计算进行负载均衡方法:横向切分(按工作量切分)、竖向切分(按工作流程切分)
26.业务应用架构:展现层、业务层、数据层
27.分布式数据总线:运维管理系统,数据采集系统、数据存储系统、数据服务系统、服务交付系统,分布式调度系统/分布式工作流引擎
(1)分布式调度系统/分布式工作流引擎:系统执行者,实现定义、调度、协作和执行,主要支撑大规模系统的自动化运维和分布式计算框架的实现
(2)运维管理系统:配置控制。权限管理、监控报警、应用管理、故障管理,集成策略引擎、分布式工作流、资源与服务管理调度等机制
(3)数据采集系统(数据驱动架构起点):配置管理、数据过滤、数据预处理
(4)数据存储系统(任何信息系统核心):统一存储系统
关系型数据库集群:海量强关系结构化数据的存储和快速访问
分布式实时数据库:用户行为数据和系统日志数据等数据量特大、关联性不强
分布式文件系统:总数据量和总容量都大的各类图片、视频等媒体文件
非结构化数据实时高效存储和访问
(5)数据分析系统:分布式计算模型(数据转换、数据聚合、数据关联、数据挖掘)
(6)数据服务系统:连接企业信息系统支撑平台与上层业务应用的桥梁
服务管理系统:服务注册、注销、变更、审核、发布、设计
数据访问服务---数据缓存:数据库访问、实时访问、文件系统访问…
业务逻辑服务---数据缓存:推存系统、智能分析、统计报表…
(7)服务交付框架:前端服务器、交付服务器、负载均衡