云平台详解:可分为三类 简单理解为仓库


云平台、云计算详解_服务器


云平台也称为云计算平台。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。

云平台是什么意思?

简单的理解就是仓库了!

给你提供存储运转的空间:比如你查询的任何网络内容都是在某一网络的平台上,大家都可以同时不同地点看到一样的东西!

转向云计算(cloud computing),是业界将要面临的一个重大改变。各种云平台(cloud platforms)的出现是该转变的最重要环节之一。顾名思义,这种平台允许开发者们或是将写好的程序放在“云”里运行,或是使用“云”里提供的服务, 或二者皆是。至于这种平台的名称,现在我们可以听到不止一种称呼,比如按需平台(on-demand platform)、平台即服务(platform as a service,PaaS)等等。但无论称呼它什么,这种新的支持应用的方式有着巨大的潜力。

应用平台(application platforms)是如何被使用的。开发团队在创建一个户内应用(on-premises application,即在机构内运行的应用)时,该应用所需的许多基础都已经事先存在了:操作系统为执行应用和访问存储等提供了基础支持;机构里的其 他计算机提供了诸如远程存储之类的服务。倘若每创建一个户内应用都得首先构建所有这些基础的话,那么恐怕我们今天看到的应用会少很多。

同理,倘若每一个希望创建云应用 (cloud application)的开发团队都得首先构建自己的云平台的话,那么我们今后看到的云应用将寥寥无几。幸运的是出现了一些致力于解决此问题的厂商,今天有很多云平台技术可供我们使用。

实际环境中的云平台:三种云服务

为掌握云平台,我们先从大体上考察一下云服务。我们可以把通过“云”提供的服务分为三大类。它们是:

软件即服务(Software as a service,SaaS):SaaS应用是完全在“云”里(也就是说,一个Internet服务提供商的服务器上)运行的。其户内客户端(on- premises client)通常是一个浏览器或其他简易客户端。Salesforce可能是当前最知名的SaaS应用,不过除此以外也有许多其他应用。

附着服务(Attached services):每个户内应用(on-premises application)自身都有一定功能,它们可以不时地访问“云”里针对该应用提供的服务,以增强其功能。由于这些服务仅能为该特定应用所使用,所以 可以认为它们是附着于该应用的。一个著名的消费级例子就是苹果公司的iTunes:其桌面应用可用于播放音乐等等,而附着服务令购买新的音频或视频内容成 为可能。微软公司的Exchange托管服务是一个企业级例子,它可以为户内Exchange服务器增加基于“云”的垃圾邮件过滤、存档等服务。

云平台(Cloud platforms):云平台提供基于“云”的服务,供开发者创建应用时采用。你不必构建自己的基础,你完全可以依靠云平台来创建新的SaaS应用。云平台的直接用户是开发者,而不是最终用户。

要掌握云平台,首先要对这里“平台”的含义达成共识。一种普遍的想法,是将平台看成“任何为开发者创建应用提供服务的软件”。

云平台的搭建

规划是构建云计算解决方案重要的第一步。在规划时,需要对当前数据中心资产和运行流程创建完整的文档,需要描述数据中心中现有的设备之间的关系并考虑如何部署未来的新设备。

由于环境十分复杂,企业会指派不同的人员维护数据中心中不同的数据。需要了解所有不同角色与数据中心设备之间的交互过程,角色之间责任重叠。企业的高层决策者需要参与整个计划的过程并做出决策。

1.数据中心的完整资产信息

数据中心中包括大量的服务器和设备,首先需要收集这些硬件资产的信息,以及这些资产之间的关系。资产之间的关系对于计划非常重要。这里举例来看一个服务器和网络之间的关系:

通过一个逻辑定义的 IP 地址访问服务器

必须在操作系统中定义一个网络接口才能定义 IP 地址

服务器中必须有一个物理网卡来支持操作系统中定义的网络接口

网卡具有特定的属性,例如 MAC 地址,用来通过物理链路和数据中心内的其他设备连接

网卡必须连接到交换机的一个端口上

交换机也拥有自己的关系,例如端口属于哪一个模块,交换机之间的连接关系

2.绘制业务数据流

在将设备逻辑关系文档化后,为了确定可以实现自动化部署的部分,正确理解配置这些设备的流程非常重要。另外了解设备在业务功能上的用途也很重 要。根据这些信息,我们基本可以确定数据中心的基础构架,例如路由器、交换机、数据库服务器和负载均衡器这些设备的变动比较少,而且配置方式比较特殊,因 此不适合使用自动化部署。而应用服务器通常使用相同的硬件并且经常发生变动,根据我们收集的信息分析来看比较适合使用自动化部署。

3.了解手工部署流程

将数据中心设备当前的结构和使用情况文档化后,还要将管理数据中心的 IT 流程文档化。这样就可以将设备从抵达到进入数据中心需要进行的工作整理为一个步骤列表。这个列表包括上架和接电等手工步骤以及可以融入自动化管理平台的自 动化步骤。部署流程通常是跨组织角色的,并且应该和现有的自动化技术结合组成完整的解决方案。

通过这种文档化之后,你就可以理解一个数据中 心的那些部分可以使用自动化管理。每个组织在实施自动化管理时有一套独特的步骤,并且每个步骤都有不同的需求,因此这样的自动化管理平台并不是一成不变就 可以解决所有问题的。针对每个用户不同的环境、不同的流程,我们都需要对这个云计算平台进行定制化。这样才能满足不同用户的需求。

4.组织结构

自动化部署涉及到很多复杂的步骤,包括物理基础架构、操作系统、网络基础架构、应用程序部署、监控、项目管理以及和其他部门的协调。一般日常的服务器部署不需要和其他部门协调就可以完成,除非存在组织上的、安全上的或其他方面的原因。

在很多组织中,架构中很多部分被认为对业务是非常关键的。例如,网络架构部门需要满足网络可用性以及变更管理和安全性问题的服务级别协议。而云计算平台通常需要改变 IT 文化,要更好的使用这个平台,就需要将组织中的每个部门都融入到其中。

5.标准化

很多组织的 IT 环境都是异构的,这使云计算平台的实施变得更加复杂。因此最好的方法就是数据中心的设备都使用标准的硬件配置,使硬件类型最少化。例如针对应用程序服务器层,使用统一的硬件平台可以减少对每台服务器的手动配置的工作量。

6.和当前的自动化流程整合

很多组织都已经在 IT 基础构架的不同层次使用了自动化部署,例如启动服务器、软件分发包、系统管理软件和用来运行日常任务的定制化脚本等技术。但是这些自动化技术都是针对于某 一个子系统或者局部的,在部署整个系统的过程中还是需要很多的人工介入来完成。云计算平台并不会完全替代现有的这些技术,而是依赖于这些自动化技术和流程 来实现更高层次的、全局性的自动化管理。

云平台、云计算详解_数据中心_02

云平台应用实例--Google

Google公司有一套专属的云计算平台,这个平台先是为Google最重要的搜索应用提供服务,现在已经扩展到其他应用程序。Google的 云计算基础架构模式包括4个相互独立又紧密结合在一起的系统:Google File Systemt分布式文件系统,针对Google应用程序的特点提出的MapReduce编程模式,分布式的锁机制Chubby以及Google开发的模 型简化的大规模分布式数据库BigTable。

Google File System文件系统(GFS):除了性能,可伸缩性、可靠性以及可用性以外,GFS设计还受到Google应用负载和技术环境的影响。体现在4个方 面:1)充分考虑到大量节点的失效问题,需要通过软件将容错以及自动恢复功能集成在系统中;2)构造特殊的文件系统参数,文件通常大小以G字节计,并包含 大量小文件;3)充分考虑应用的特性,增加文件追加操作,优化顺序读写速度;4)文件系统的某些具体操作不再透明,需要应用程序的协助完成。

MapReduce分布式编程环境:Google构造MapReduce编程规范来简化分布式系统的编程。应用程序编写人员只需将精力放在应用 程序本身,而关于集群的处理问题,包括可靠性和可扩展性,则交由平台来处理。MapReduce通过“Map(映射)”和“Reduce(化简)”这样两 个简单的概念来构成运算基本单元,用户只需提供自己的Map函数以及Reduce函数即可并行处理海量数据。为了进一步理解MapReduce的编程方 式,下面给出一个基于MapReduce编程方式的程序伪代码。程序功能是统计文本中所有单词出现的次数。

分布式的大规模数据库管理系统BigTable:由于一部分Google应用程序需要处理大量的格式化以及半格式化数据,Google构建了弱 一致性要求的大规模数据库系统BigTablet。BigTable的应用包括Search History,Maps,Orkut,RSS阅读器等。

BigTable是客户端和服务器端的联合设计,使得性能能够最大程度地符合应用的需求。BigTable系统依赖于集群系统的底层结构。一个是分布式的集群任务调度器,一个是前述的Google文件系统,还有一个分布式的锁服务Chubby。

Chubby是一个非常鲁棒的粗粒度锁,BigTable使用Chubby来保存根数据表格的指针,即用户可以首先从Chubby锁服务器中获 得根表的位置,进而对数据进行访问。BigTable使用一台服务器作为主服务器,用来保存和操作元数据。主服务器除了管理元数据之外,还负责对 tablet服务器(即一般意义上的数据服务器)进行远程管理与负载调配。客户端通过编程接口与主服务器进行元数据通信,与tablet服务器进行数据通 信。

以上是Google内部云计算基础平台的4个主要部分。Google还构建其他云计算组件,包括一个领域描述语言以及分布式锁服务机制等。