云计算的概念最初由谷歌在2006年的搜索引擎大会上提出,随着信息技术的发展,计算模式迄今为止经历了三个阶段,分别是将任务提交大型处理机的集中处理模式、基于网络的分布式处理模式以及当前较为流行的按需处理的云计算模式。经过云计算十余年的发展,业界对其定义的认识已趋于统一,云计算的服务层次一般分为软件即服务(Software-as-a-Service, SAAS)、平台即服务(Platform-As-A-Service, PAAS)、基础设施即服务(Infrastructure-as-a-Service, IAAS)三种,服务层次的概念对于不了解计算机与软件原理的人来说可能比较难以理解,IBM的架构师Albert Barron曾经用披萨的生产销售来描述这个问题:一位餐饮业的创业者决定生产并售卖披萨,如果遵循传统的餐饮业模式,他需要从场地、烤箱、厨具和一切食材开始规划起,从装修厨房接通水电,到面饼的统一制作,再到不同口味设计与烤制,最后到包装与售卖,需要经历很长的流程。但如果是在新的(云计算)场景下,有现成的服务可供选用,那么事情将变得简单。若是当前有现成的厨房与烤箱等基础设施提供租用服务,那么我们就可以直接在此基础上来制作面饼并进行后续程序,这种提供基础设施的服务类似于云计算中的IAAS,披萨生意中的厨房与烤箱等设施对应着云计算中的CPU、存储、网络等基础设施,有了IAAS服务后用户就不再需要管理与维护底层硬件基础设施,而是直接关注架构的设计以及后续工作即可。若是在披萨的生产过程中,除了基础设施外,还有现成的披萨饼皮提供,那我们只需要设计不同的披萨口味,并烤制后包装售卖即可,这种提供标准化饼皮只需要设计和实现想法的服务在云计算中可以理解为是PAAS,饼皮这种披萨行业普遍需要且可以标准化的东西可以认为是云计算中的操作系统、数据库、中间件等平台,使用了PAAS后就可以直接关注业务逻辑的实现了。而若是当前有现成的披萨提供,不需要我们做任何生产性质的工作,只需对披萨进行包装与对外出售,那么这种服务在云计算中就是SAAS,现成的软件与现成的披萨相对应,用户几乎不用关注技术问题,直接使用应用即可。云计算的部署方式通常分为私有云、公有云、社区云与混合云四种。私有云一般指单独为一位客户或一个机构提供的云服务,通常构建在企业数据中心或是主机托管场所,因为场景和需求较为单一,私有云在数据安全与服务质量上有较好的表现。公有云的概念与私有云相对应,其一般由一个云计算服务商所有,公开对外进行销售,通常构建在与客户实际所在地较远的地方,以降低计算资源的使用成本。社区云是介于私有云与公有云中间的,为若干有相似需求的机构提供的一种云服务。混合云是由两种或是两种以上的云构成,在数据与应用程序上具有可移植性,用于支持按需扩展、弹性扩容等需求。一切云都需要连接到网络,并通过网络远程提供IT资源,因此互联网是云计算的基础,其中大部分云计算使用因特网进行接入,但也存在部分私有云仅通过局域网访问。因特网是由分布在世界各地的广域网,城域网,局域网通过网络互联设备构成的网络,其主干网络由互联网服务提供商(Internet Service Provider, ISP)依靠路由器进行部署和建立,不同ISP之间通过核心路由器互联,并从主要节点层层向外扩展分支,直至达到每一个使用因特网的设备,形成庞大的动态网络拓扑,大部分云计算服务中的数据与消息都通过这种复杂的网络拓扑进行传递。互联网架构由无连接分组交换与基于路由器的互联两部分组成。无连接分组交换即数据报网络,数据流被分割为固定大小的数据报,其中每个数据报包括报头与报文两部分,数据报依据报头中的地址信息进行传送,通过排队转发在不同节点之间进行传递。基于路由器的互联则是对多个网络进行连接,路由器根据网络拓扑信息定位下一个节点,并将数据报正确地转发。 数据传输速度是云计算的核心问题之一,其与网络技术高度相关。数据传输速度不仅会受到ISP的数据链路宽度影响,还会受到共享数据链路的传输容量以及延迟的影响。对于传输容量问题,目前已有动态缓存、压缩和预取等技术可以在一定程度上缓解,而对于网络延迟问题,因其高度可变性导致难以预测,目前通常采用广域网加速技术进行优化。数据中心是专门的IT基础设施,用于集中存放服务器、数据库、操作系统等IT资源。数据中心通常基于标准化的硬件进行模块化的架构设计,将多个基础设施通过虚拟化技术整合到一起,是云计算的可扩展性、可增长性的基础。 硬件资源是数据中心的核心,包括计算硬件、存储硬件、网络硬件以及其他配套设施。计算硬件一般以标准的机架式服务器与刀片式服务器为主,具有计算资源高密度的特点,在标准机架的每个单元都可以容纳一个具有几百个处理器的多核CPU,而刀片式服务器的计算资源集成度比机架式服务器更高,其电源与风机等部件通常被集成在刀片服务器背后的机架上,提供电源、冷却、网络端口和其他连接部件;存储硬件用于保存云计算系统中庞大的数字信息,使用硬盘阵列与I/O高速缓存技术实现数据的高速读写,同时常使用开放系统的直连式存储(Direct-Attached Storage, DAS)、存储区域网络(Storage Area Network, SAN)与网络附属存储(Network Attached Storage, NAS)等技术增加存储容量,另外还使用硬盘的热拔插技术以及快照与卷克隆等数据复制技术,实现存储资源的灵活扩展与数据复用;网络硬件则是实现多层次互联的基础,数据中心的网络设施分为NAS网关、SAN网关、局域网光网络、Web负载均衡与广域网网络五个网络子系统,通过容错与冗余配置,保证数据中心的通信可靠性;硬件配套设施是专门为保证大规模硬件设施平稳运行所设计的,用于监控温度、通风、消防安全等。