cloud computing for dummies读书笔记

来源:互联网 发布:git服务器搭建 ubuntu 编辑:程序博客网 时间:2024/04/27 22:27

近日花了一个星期的时间读了一下cloud computing for dummies这本书,算是对云计算进行一下基本概念的扫盲。觉得其中的脉络比较重要,现将要点摘录如下,作为读书笔记。

 

云服务分为三种, Infrastructure as a Service, Platform as a Service, Software as a Service.

 

IaaS: 提供存储,计算资源给开发者和组织使用,来提供定制的商业解决方案。

PaaS: 提供开发环境给IT组织,来使用生产云商业软件。

SaaS: 提供定向的商业软件。

 

具体来讲,Iaas通过硬件,网络,虚拟机技术,操作系统来管理资源。主要特点是可以动态的,自动的提供扩大和缩小规模。PaaS可以被称为解决方案包,它整合了一整套软件给开发者来开发产品。 另外,PaaS也提供了流程管理功能,从计划,设计到打包,发布,测试,维护各个阶段的管理。SaaS和早期的ASP(application service providers)很像,SaaS有两种不同的模式,一种是简单多分租模式,一种是精细调整的多分租模式。这种模式是所有的资源都是共享的,除了客户的数据和访问的权限。

 

由于云计算需要提供自助式服务的能力,所以必须要设计成可以对工作负载,安全,计费,监测等的管理工具。

 

对采用云计算的考量

 

需要弄清自身企业IT部门的状况,包括效率和费用。另外,还需要考虑安全,当地政府对于数据安全的规定,是否允许数据存在国外的服务器。一般结论,重要敏感,而且使用者不多的部分就没有必要搬到云端。

 

云数据中心和传统数据中心的区别

 

传统数据中心:

成千上万不同应用程序

混合不同的硬件环境

多种管理工具

频繁补丁升级

复杂的工作负载

多种软件结构

 

云数据中心:

几种应用程序

同质化硬件环境

标准管理工具

最小化的补丁与设计

简单的工作负载

简单的软件架构

 

具体如下,云数据中心,工程师会根据需要直接和硬件厂商商讨所需硬件,例如,可以采用水冷,优化过多的cpu,内存和硬盘以节省宝贵的空间。数据冗余,传统数据中心对备份和回复往往采取多种复杂的策略,云数据中心可以设计成采取统一策略,确定何时备份,这一切都可以自动化。另外,云数据中心还提供和硬件相关的软件,如操作系统。

 

云计算数据的管理

 

数据需要在企业的数据中心和云端,云和云之间进行交换,这牵涉到安全问题。需要使用vpn或者是加密方法,例如公私钥。

对于云计算大规模数据的处理, 有如下几种解决方案,

     多资源支持大规模处理及数据挖掘,有google的MapReduce和Apache Hadoop。这是一种软件架构支持分布式大规模数据的计算。

     云端数据库,具体有Google Bigtable, Amozon SimpleDB, MS Cloud-based SQL. 以及一些开源数据库如MongoDB, CouchDB, LucidDB.

     云端数据归档,对于很少使用的,或是静态数据,公司会将这些数据归档到云端。

 

私有云和混合云

 

私有云需要IT提供服务给内部用户,自助式的服务。

自动管理任务,以及对用户根据使用情况计费

提供管理良好的环境

优化对计算资源的使用

支持具体的工作负载

提供自助式的软硬件资源服务

 

合适选择共有云或是私有云

 

选择共有云

 

有标准的工作负载,有许多人用,例如email

需要测试开发应用程序

有软件提供商提供SaaS类型的应用程序,有很好的安全策略

有需要扩大容量

正在进行合作项目

在做一个临时项目开发,使用的是PaaS服务

 

选择私有云

 

你的业务就是数据和程序,控制和安全非常重要

你的业务是在业界必须严格遵循安全和隐私规定的

你的公司够大,有财力有效率去经营自己的数据中心

 

看看IaaS

 

IaaS和传统ISP的区别

     主要的区别是新的技术如何虚拟化以及定义良好的管理接口。 IaaS将ISP模式带入到新的层次,包括硬件,操作系统,虚拟技术,它和你需求增长同时变化。

 

看看PaaS

 

     PaaS细分为以下几种,整合生命周期平台。 PaaS整合了生命周期管理的平台,你可以做一个新的应用程序,而不需要购买任何独立的工具,包括如下内容,工作流引擎,开发工具,测试环境,数据库整合能力,第三方工具及服务。

 

     黏着性生命周期平台,大致和整合生命周期平台一样,最大的不同是它们的核心有一套打包好的商务软件。

 

     Enabling 技术平台,这种平台专注于提供特定的能力,如amazon.com除了提供IaaS平台外,还提供simpleDB, simple Query Service(sqs)。 springsource提供以云为基础的监控环境。

 

     具体看一下各种平台的代表,整合生命周期平台,有Google app engine,主要致力于帮助客户建立web based的应用程序,平台是用来开发和发布用的。它也整合了一套开发工具和服务,例如账户管理,文件系统,大规模数据管理,负载平衡,持久数据查询,排序和事务,开发接口,scheduler.

 

     微软的azure,具体产品有windows azure, 本地跑应用程序,相关数据存在微软的数据中心。ms .net services。ms sql services。 live services。

 

     黏着性生命周期平台有salesforce.com的force.com平台

     1999年,salesforce靠CRM起家,后决定借助于他们的平台,来扩展软件供应商社区。他们最大的优势在于,在供应商开始写软件的时候,他们可以借助salesforce的平台,从而可以推销给salesforce的客户群。这是和其他整合生命周期平台的不同之处。

 

     force.com平台提供如下的部件

     Metadata 架构,包括resin服务器,authorization 服务器在结构顶端,用于控制不同组织的不同用户,及时处于同一台物理机但也无法相互看到对方数据。

     Service delivery 架构, 这套架构和管理CRM客户是一样的。

     Database as a service, 让用户自己可以定制对象和字段而不用关心数据的调优,备份升级等问题。

     Integration as a service, 提供标准的soap web service。

     Logic as a service, 这是一套自动的工作流服务,用户可以使用salesforce的编程语言apex来扩展新的程序。

     User Interface as a service, 提供两种途径来定制UI,一是builder来改变外观,一种是UI的framework来做。开发者可以用标准的web开发工具来做,包括html,ajax和flex。

     Developement as a service, 开发工具包括了metadata api和IDE。

     AppExchange marketplace, 提供了让软件供应商销售软件的渠道。

 

     Enabling技术平台, wordpress是blogging平台,facebook, twitter也是一种enabling技术平台。另外还有相SOASTA专注于测试,在程序发布到共有或私有云。

 

看看SaaS

 

     SaaS是运计算领域最成熟的部分,SaaS商业化的特点如下:

     必须足够通用,从而使许多客户对这项服务感兴趣。例如,会计,协作,项目管理,测试,分析,内容管理,风险管理,CRM。

     需要容易使用。

     需要模块化和service orientied。如果不是将很难让第三方独立公司加入到生态系统中来。

     需要包含测算和监控这样可以向客户收取费用。

     必须有内建的计费系统。

     需要有公开的api,这样可以让生态系统中的合作者扩展用户基础和市场

     需要确保每个客户的数据和详细配置是分开和安全的。

     需要提供成熟的商业流程配置器以利于用定制自己的流程。

     需要持续提供快速release,包括新的feature和功能。

     必须保证客户数据的完整性。允许客户将数据迁移到私有数据库或者第三方的存储系统中去。

 

SaaS的具体类型:

     Packaged software as service 这是最大的一个市场,例如客户关系管理,供应链管理等等。

     Collaborative software as service 这是个活力不断增加的市场,基于团队分散在世界各地的事实。 这个领域的软件专注于网络会议,文档协作,项目计划,即时通讯,甚至是email。移到云端是不可避免得趋势。因为整个组织需要很容易地从各个地方产生和获得任务。

     Enabling and management tools,包括开发工具,测试,监测,这些都是开发者和客户所需要的。

 

     Packaged software包括有SugarCRM, Intuit等等, 微软提供Dynamics Package, Sap按需求提供中小型公司, Oracle基于收购Siebel software,按需提供服务。

     Collaborative software as service包括,微软的Live, webex, citrix gotomeeting, google apps.

     Enabling and management tools, 包括HP,ibm以及许多小公司提供的各种性能检测工具,测试工具。