云计算技术及性能优化

写在前面,最近一些业务工作,涉及到整体的云计算业务平台开发。之前虽然都有一些零散的涉猎和了解,但是知识框架不成体系,零散的认知在紧迫的业务面前捉襟见肘。所以趁着双十一,买了一些教材构建一个针对云计算的系统认知。各种博客、课程、教材看的再多,可能都不如自己亲自体验经历一遍,因此也会借此机会在系列课程的学习过程中,利用一些现有条件进行实践。

- 纸上得来终觉浅,绝知此事要躬行。

云图 – 云计算图志

云计算的产生与发展

1.1 云计算的产生

20世纪60年代,John McCarthy提到“计算迟早有一天会变成一种公用基础设施”。

2007年10月,IBM和GOogle宣布在云计算领域的合作,云计算开始吸引了众多的关注迅速发展。

21世纪初,Web2.0 的流程让网络迎来了新的发展高峰。

技术上,分布式计算(Distributed Computing)技术的日益成熟和应用,特别是网络计算的发展通过Internet把分散在各处的硬件、软件、信息资源链接成为一个巨大的整体,是的人们能够利用地理上分散的资源,完成大规模、复杂的计算和数据处理任务。

数据存储的快速增长产生了以谷歌文件系统(Google File System, GFS)、存储域网络(Storage Area Network, SAN)为代表的的高性能存储技术。另外服务器整合需求推动了虚拟化技术的进步,这些技术的发展未构建更强大的计算能力和服务平台提供了可能。云计算应运而生。

1.2 云计算发展历程

1.2.1 计算模式演进

云计算是在并行计算(Parallel Computing)、分布式计算、网格计算(Grid Computing)和效用计算(Utility Computing)的基础上发展起来的,经过持续烟花和融合改进逐步形成目前留下的云计算模型,云计算的演化过程如下所述:

1. 并行计算

包括空间并行、基于流水线技术的时间并行,以及基于优化算法的数据并行和任务并行等。是对穿行计算的单指令流单数据流做出优化,以及通过采用多指令流多数据流的并行计算的大幅度提升系统的处理能力。

2. 分布式计算

分布式计算模式是在处理庞大的计算请求时,将需要解决的问题分解成细小的组成部分,然后将这些组成部分分散给众多的计算机进行处理,处理完成后将结果进行汇总,形成最终结果。

3. 网格计算

网格计算是一种无缝、集成的计算和协作环境。安装网格提供的功能,网格可分为两类:计算网格和存储网格。计算网格可以提供虚拟的、无限制的计算和分布数据资源,存储网格则提供一个合作环境。

4. 效用计算

效用计算的具体目标是结合分散各地的服务器、存储系统及应用程序来立即提供需求数据的技术。效用这个词是指为客户提供个性化的服务,并且可以满足不断变化的客户需求,可以基于实际占用的资源进行收费。

5. 云计算

云计算强调所有资源均以服务的形态出现,包括基础设施即服务、平台即服务、软件即服务、数据即服务、知识即服务、存储即服务、安全即服务等。

1.2.2 云计算发展大事记

  • 1959年6月,Christopher Strachey发表虚拟化论文,虚拟化是今天云计算基础架构的基石。
  • 1961年,John McCarthy提出计算力和通过公用事业销售计算机应用的思想。
  • 1962年,J.C.R. Licklider提出“星际计算机网络”设想。
  • 1965年 美国电话公司Western Union一位高管提出建立信息公用事业的设想。
  • 1984年,Sun公司的联合创始人John Gage说出了“网络就是计算机”的名言,用于描述分布式计算技术带来的新世界,今天的云计算正在将这一理念变成现实。
  • 1996年,网格计算Globus开源网格平台起步。
  • 1997年,南加州大学教授Ramnath K. Chellappa提出云计算的第一个学术定义”,认为计算的边界可以不是技术局限,而是经济合理性。
  • 1998年,VMware(威睿公司)成立并首次引入X86的虚拟技术。
  • 1999年,Marc Andreessen创建LoudCloud,是第一个商业化的IaaS平台。
  • 1999年,salesforce.com公司成立,宣布“软件终结”革命开始。
  • 2000年,SaaS兴起。
  • 2004年,Web 2.0会议举行,Web 2.0成为技术流行词,互联网发展进入新阶段。
  • 2004年,Google发布MapReduce论文。Hadoop就是Google集群系统的一个开源项目总称,主要由HDFS、MapReduce和Hbase组成,其中HDFS是Google File System(GFS)的开源实现;MapReduce是Google MapReduce的开源实现;HBase是Google BigTable的开源实现。
  • 2004年,Doug Cutting 和 Mike Cafarella实现了Hadoop分布式文件系统(HDFS)和Map-Reduce,Hadoop并成为了非常优秀的分布式系统基础架构。
  • 2005年,Amazon宣布Amazon Web Services云计算平台。
  • 2006年,Amazon相继推出在线存储服务S3和弹性计算云EC2等云服务。
  • 2006年,Sun推出基于云计算理论的“BlackBox”计划。
  • 2007年,Google与IBM在大学开设云计算课程。
  • 2007年3月,戴尔成立数据中心解决方案部门,先后为全球5大云计算平台中的三个(包括Windows Azure、Facebook和Ask.com)提供云基础架构。
  • 2007年7月,亚马逊公司推出了简单队列服务(Simple Queue Service,SQS),这项服务使托管主机可以存储计算机之间发送的消息。
  • 2007年11月,IBM首次发布云计算商业解决方案,推出“蓝云”(Blue Cloud)计划。
  • 2008年1月,Salesforce.com推出了随需应变平台DevForce,Force.com平台是世界上第一个平台即服务的应用。
  • 2008年2月,EMC中国研发集团云架构和服务部正式成立,该部门结合云基础架构部、Mozy和Pi两家公司共同形成EMC云战略体系。
  • 2008年2月,IBM宣布在中国无锡太湖新城科教产业园为中国的软件公司建立第一个云计算中心。
  • 2008年4月,Google App Engine发布。
  • 2008年中,Gartner发布报告,认为云计算代表了计算的方向。
  • 2008年5月,Sun在2008JavaOne开发者大会上宣布推出“Hydrazine”计划。
  • 2008年6月,EMC公司中国研发中心启动“道里”可信基础架构联合研究项目。
  • 2008年6月,IBM宣布成立IBM大中华区云计算中心。
  • 2008年7月,HP、Intel和Yahoo联合创建云计算试验台Open Cirrus。
  • 2008年8月3日,美国专利商标局(以下简称“SPTO”)网站信息显示,戴尔正在申请“云计算”(Cloud Computing)商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。戴尔在申请文件中称,云计算是“在数据中心和巨型规模的计算环境中,为他人提供计算机硬件定制制造”。
  • 2008年9月 Google公司推出Google Chrome浏览器,将浏览器彻底融入云计算时代。
  • 2008年9月,甲骨文和亚马逊AWS合作,用户可在云中部署甲骨文软件、在云中备份甲骨文数据库。
  • 2008年9月,思杰公布云计算战略,并发布新的思杰云中心(Citrix Cloud Center,C3)产品系列。
  • 2008年10月,微软发布其公共云计算平台——Windows Azure Platform,由此拉开了微软的云计算大幕。
  • 2008年12月,Gartner披露十大数据中心突破性技术,虚拟化和云计算上榜。
  • 2008年,亚马逊、Google和Flexiscale的云服务相继发生宕机故障,引发业界对云计算安全的讨论。
  • 2009年,思科先后发布统一计算系统(UCS)、云计算服务平台,并与EMC、Vmware建立虚拟计算环境联盟。
  • 2009年1月,阿里软件在江苏南京建立首个“电子商务云计算中心”。
  • 2009年4月,VMware推出业界首款云操作系统VMware vSphere 4。
  • 2009年7月 Google宣布将推出Chrome OS操作系统。
  • 2009年7月,中国首个企业云计算平台诞生(中化企业云计算平台)。
  • 2009年9月,VMware启动vCloud计划 构建全新云服务。
  • 2009年11月,中国移动云计算平台“大云”计划启动。
  • 2010年1月,HP和微软联合提供完整的云计算解决方案。
  • 2010年1月,IBM与松下达成迄今为止全球最大的云计算交易。
  • 2010年1月,Microsoft正式发布Microsoft Azure云平台服务。
  • 2010年4月,英特尔在IDF上提出互联计算,图谋用X86架构统一嵌入式、物联网和云计算领域。
  • 2010年,微软宣布其90%员工将从事云计算及相关工作。
  • 2010年4月,戴尔推出源于DCS部门设计的PowerEdgeC系列云计算服务器及相关服务。

1.2.3 云计算时代

企业的云化IT设施建设过程可以分为三个阶段,如下图
image

第一个阶段:大集中过程。

这一过程将企业分散的数据资源、IT 资源进行了物理集中,形成了规模化的数据中心基础设施。在数据集中过程中,不断实施数据和业务的整合,大多数企业的数据中心基本完成了自身的标准化,使得既有业务的扩展和新业务的部署能够规划、可控,并以企业标准进行IT 业务的实施,解决了数据业务分散时期的混乱无序问题。在这一阶段中,很多企业在数据集中后期也开始了容灾建设,特别是在雪灾、大地震之后,企业的容灾中心建设普遍受到重视,以金融为热点行业几乎开展了全行业的容灾建设热潮,并且金融行业的大部分容灾建设的级别都非常高,面向应用级容灾(数据零丢失为目标)。总的来说,第一阶段过程解决了企业IT 分散管理和容灾的问题。

第二个阶段:实施虚拟化的过程。

在数据集中与容灾实现之后,随着企业的快速发展,数据中心IT 基础设施扩张很快,但是系统建设成本高、周期长,即使是标准化的业务模块建设(哪怕是系统的复制性建设),软硬件采购成本、调试运行成本与业务实现周期并没有显著下降。标准化并没有给系统带来灵活性, 集中的大规模IT 基础设施出现了大量系统利用率不足的问题,不同的系统运行在独占的硬件资源中,效率低下而数据中心的能耗、空间问题逐步突显出来。因此,以降低成本、提升 IT 运行灵活性、提升资源利用率为目的的虚拟化开始在数据中心进行部署。虚拟化屏蔽了不同物理设备的异构性,将基于标准化接口的物理资源虚拟化成逻辑上也完全 标准化和一致化的逻辑计算资源(虚拟机)和逻辑存储空间。虚拟化可以将多台物理服务器整合成单台,每台服务器上运行多种应用的虚拟机,实现物理服务器资源 利用率的提升,由于虚拟化环境可以实现计算与存储资源的逻辑化变更,特别是虚拟机的克隆,使得数据中心IT 实施的灵活性大幅提升,业务部署周期可用数月缩小到一天以内。虚拟化后,应用以VM 为单元部署运行,数据中心服务器数量可大为减少且计算能效提升,使得数据中心的能耗与空间问题得到控制。

总的来说,第二阶段过程提升了企业IT 架构的灵活性,数据中心资源利用率有效提高,运行成本降低。

第三个阶段:云计算阶段。

对企业而言,数据中心的各种系统(包括软硬件与基础设施)是一大笔资源投入。新系统(特别是硬件)在建成后一般经历3-5 年即面临逐步老化与更换,而软件技术则不断面临升级的压力。另一方面,IT 的投入难以匹配业务的需求,即使虚拟化后,也难以解决不断增加的业务对资源的变化需求,在一定时期内扩展性总是有所限制。于是企业IT 产生新的期望蓝图:IT 资源能够弹性扩展、按需服务,将服务作为IT 的核心,提升业务敏捷性,进一步大幅降低成本。因此,面向服务的IT 需求开始演化到云计算架构上。云计算架构可以由企业自己构建,也可采用第三方云设施,但基本趋势是企业将逐步采取租用IT 资源的方式来实现业务需要,如同水力、电力资源一样,计算、存储、网络将成为企业IT 运行的一种被使用的资源,无需自己建设,可按需获得。从企业角度,云计算解决了IT 资源的动态需求和最终成本问题,使得IT 部门可以专注于服务的提供和业务运营。

这三个阶段中,大集中与容灾是面向数据中心物理组件和业务模块,虚拟化是面向数据中心的计算与存储资源,云计算最终面向IT 服务。这样一个演进过程,表现出IT 运营模式的逐步改变,而云计算则最终根本改变了传统IT 的服务结构,它剥离了IT 系统中与企业核心业务无关的因素(如IT 基础设施),将IT 与核心业务完全融合,使企业IT 服务能力与自身业务的变化相适应。在技术变革不断发生的过程中,网络逐步从基本互联网功能转换到WEB 服务时代(典型的WEB2.0 时代),IT 也由企业网络互通性转换到提供信息架构全面支撑企业核心业务。技术驱动力也为云计算提供了实现的客观条件,如图2 所示,在关键领域云计算技术已经就绪:
image

  • 标准化:公共技术的长期发展,使得基础组件的标准化非常完善,硬件层面的互通已经没有阻碍(即使是非常封闭的大型机目前也开始支持对外直接出IP 接口),大规模运营的云计算能够极大降低单位建设成本。

  • 虚拟化与自动化:虚拟化技术不断纵深发展,IT 资源已经可以通过自动化的架构提供全局动态调度能力,自动化提升了IT 架构的伸缩性和扩展性。

  • 并行/分布式架构:大规模的计算与数据处理系统已经在分布式、并行处理的架构上得到广泛应用,计算密集、数据密集、大型数据文件系统成为云计算的实现基础,从而要求整个基础架构具有更高的弹性与扩展性。

  • 带宽:大规模的数据交换需要超高带宽的支撑,网络平台在40G/100G 能力下可具备更扁平化的结构,使得云计算的信息交互以最短快速路径执行。

因此,从传统WEB 服务向云计算服务发展已经具备技术基础,而企业的IT 从信息架构演进到弹性的IT 服务也成为必然。

-------------本文结束感谢您的阅读-------------