云计算架构?

云计算架构是怎样的?求助?

云计算架构主要可分为四层,其中有三层是横向的,分别是显示层、中间件层和基础设施层,通过这三层技术能够提供非常丰富的云计算能力和友好的用户界面,还有一层是纵向的,称为管理层,是为了更好地管理和维护横向的三层而存在的。下面介绍每个层次的作用和属于这个层次的主要技术。

  显示层

  这层主要是用于以友好的方式展现用户所需的内容,并会利用到下面中间件层提供的多种服务,主要有五种技术:
  HTML:标准的Web页面技术,现在主要以HTML4为主,但是将要推出的HTML5会在很多方面推动Web页面的发展,比如视频和本地存储等方面。
  JavaScript:一种用于Web页面的动态语言,通过JavaScript,能够极大地丰富Web页面的功能,最流行的JS框架有jQuery和Prototype。
  CSS:主要用于控制Web页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。
  Flash:业界最常用的RIA(Rich Internet Applications)技术,能够在现阶段提供HTML等技术所无法提供的基于Web的富应用,而且在用户体验方面,非常不错。

  Silverlight:来自业界巨擎微软的RIA技术,虽然其现在市场占有率稍逊于Flash,但由于其可以使用C#来进行编程,所以对开发者非常友好。
  在显示层,大多数云计算产品都比较倾向HTML,、JavaScript和CSS这对黄金组合,但是Flash和Silverlight等RIA技 术也有一定的用武之地,比如VMware vCloud就采用了基于Flash的Flex技术,而微软的云计算产品肯定会在今后使用到Silverlight。
  中间件层
  这层是承上启下的,它在下面的基础设施层所提供资源的基础上提供了多种服务,比如缓存服务和REST服务等,而且这些服务即可用于支撑显示层,也可以直接让用户调用,并主要有五种技术:
  REST:通过REST技术,能够非常方便和优雅地将中间件层所支撑的部分服务提供给调用者。
  多租户:就是能让一个单独的应用实例可以为多个组织服务,而且保持良好的隔离性和安全性,并且通过这种技术,能有效地降低应用的购置和维护成本。
  并行处理:为了处理海量的数据,需要利用庞大的X86集群进行规模巨大的并行处理,Google的MapReduce是这方面的代表之作。
  应用服务器:在原有的应用服务器的基础上为云计算做了一定程度的优化,比如用于Google App Engine的Jetty应用服务器。
  分布式缓存:通过分布式缓存技术,不仅能有效地降低对后台服务器的压力,而且还能加快相应的反应速度,最著名的分布式缓存例子莫过于Memcached。
  对于很多PaaS平台,比如用于部署Ruby应用的Heroku云平台,应用服务器和分布式缓存都是必备的,同时REST技术也常用于对外的接口, 多租户技术则主要用于SaaS应用的后台,比如用于支撑Salesforce的Sales Cloud等应用的Force.com多租户内核,而并行处理技术常被作为单独的服务推出,比如Amazon的Elastic MapReduce。

  基础设施层

  这层作用是为给上面的中间件层或者用户准备其所需的计算和存储等资源,主要有四种技术:
  虚拟化:也可以理解它为基础设施层的“多租户”,因为通过虚拟化技术,能够在一个物理服务器上生成多个虚拟 机,并且能在这些虚拟机之间能实现全面的隔离,这样不仅能减低服务器的购置成本,而且还能同时降低服务器的运维成本,成熟的X86虚拟化技术有 VMware的ESX和开源的Xen。
  分布式存储:为了承载海量的数据,同时也要保证这些数据的可管理性,所以需要一整套分布式的存储系统,在这方面,Google的GFS是典范之作。
  关系型数据库:基本是在原有的关系型数据库的基础上做了扩展和管理等方面的优化,使其在云中更适应。
  NoSQL:为了满足一些关系数据库所无法满足的目标,比如支撑海量的数据等,一些公司特地设计一批不是基于关系模型的数据库,比如Google的BigTable和Facebook的Cassandra等。
  现在大多数的IaaS服务都是基于Xen的,比如Amazon的EC2等,但VMware也推出了基于ESX技术的vCloud,同时业界也有几个 基于关系型数据库的云服务,比如Amazon的RDS(Relational Database Service)和Windows Azure SDS(SQL Data Services)等。关于分布式存储和NoSQL,它们已经被广泛用于云平台的后端,比如Google App Engine的Datastore就是基于BigTable和GFS这两个技术之上的,而Amazon则推出基于NoSQL技术的Simple DB。

  管理层

  这层是为横向的三层服务的,并给这三层提供多种管理和维护等方面的技术,主要有下面这六个方面:
  帐号管理:通过良好的帐号管理技术,能够在安全的条件下方便用户地登录,并方便管理员对帐号的管理。
  SLA监控:对各个层次运行的虚拟机,服务和应用等进行性能方面的监控,以使它们都能在满足预先设定的SLA(Service Level Agreement)的情况下运行。
  计费管理:也就是对每个用户所消耗的资源等进行统计,来准确地向用户索取费用。
  安全管理:对数据,应用和帐号等IT资源采取全面地保护,使其免受犯罪分子和恶意程序的侵害。
负载均衡:通过将流量分发给一个应用或者服务的多个实例来应对突发情况。 运维管理:主要是使运维操作尽可能地专业和自动化 ,从而降低云计算中心成本。
  负载均衡:通过将流量分发给一个应用或者服务的多个实例来应对突发情况。
  运维管理:主要是使运维操作尽可能地专业和自动化,从而降低云计算中心的运维成本。
  现在的云计算产品在帐号管理,计费管理和负载均衡这三个方面大都表现地不错,在这方面最突出的例子就是Amazon 的EC2,但可惜的是,大多数产品在SLA监控,安全管理和运维管理等方面还有所欠缺。

  举例

  接下来,将以Salesforce的Sales Cloud和Google的App Engine这两个著名的云计算产品为例,来帮助大家理解本文所提到的云计算架构:

  Salesforce Sales Cloud

  也就是之前的Salesforce CRM(客户关系管理),属于云计算中的SaaS层,主要是通过在云中部署可定制化的CRM应用,来让企业用户在很低初始投入的情况下使用上CRM,并且 可根据自身的流程来进行灵活地定制,而且只需接入网络就能使用。在技术层面上大致的架构:

  采用的主要技术:

  显示层:基于HTML、JavaScript和CSS这对黄金组合。

  中间件层:在此层,Salesforce引入了多租户内核和为支撑此内核运行而经过定制的应用服务器。

  基础设施层:虽然在后端还是使用在企业环境中很常见的Oracle数据库,但是其为了支撑上层的多租户内核做了很多的优化。

  管理层:在安全管理方面,Salesforce提供了多层保护,并支持SSL加密等技术,除此之外,其还在帐号管理、计费管理和负载均衡这三方面有不错地支持。

  Google App Engine

  App Engine属于云计算中的PaaS层,其主要提供一个平台,来让用户在Google强大的基础设施上部署和运行应用程序,同时App Engine会根据应用所承受的负载来对应用所需的资源进行调整,并免去用户对应用和服务器等的维护工作,而且支持Java和Python这两种语言。由 于App Engine属于PaaS平台,所以关于显示层的技术选择由应用的自身需要而定,与App Engine无关,关于App Engine在技术层面上大致的架构。

  采用的主要技术:

  中间件层:既有经过定制化的应用服务器,比如上面已经提到过的Jetty,也提供基于Memcached的分布式缓存服务。

  基础设施层: 在分布式存储GFS的基础上提供了NoSQL数据库BigTable来对应用的数据进行持久化。

  管理层:由于App Engine是基于Google强大的分布式基础设施,使其在运维管理技术方面非常出色,同时其计费管理能做到非常细粒度的API级计费,而且App Engine在帐号管理和负载均衡这两方面都有非常好地支持。
以上内容分析源自OFweek物联网,希望对大家有帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-03
简单说类似三层架构:
应用层:给用户看的,比如:界面.
逻辑层:处理事务的.如:明天下雨,就不去旅游了.做各种逻辑实现的.
数据层:对逻辑层进行数据执行.这层也就相当于云.他只负责前段的各种指令.然后进行计算.
他不管前面是什么界面.是什么逻辑判断.他只负责计算.就好比.他计算1+1=2.他不管这1+1是干什么的.为什么要1+1.他只负责给你答案2.
简单理解而已.见笑.
了解更多开源相关,去LUPA社区看看吧。
第2个回答  2020-06-24
云计算架构主要可分为四层,其中有三层是横向的,
分别是显示层、中间件层和基础设施层,
通过这三层技术能够提供非常丰富的云计算能力和友好的用户界面,
还有一层是纵向的,称为管理层,起到管理和维护横向的三层的作用。
第3个回答  2014-04-03
云计算的架构主要可分为四层,其中有三层是横向的,分别是显示层、中间件层和基础设施层,通过这三层技术能够提供非常丰富的云计算能力和友好的用户界 面,还有一层是纵向的,称为管理层,是为了更好地管理和维护横向的三层而存在的。
第4个回答  2022-06-29
关于云计算的架构,其根据服务对象和技术堆栈的不同,可分为IAAS、PAAS、SAAS三个主要层次,而DAAS是在具体的实践活动中而衍生出的配套方案,其主要逻辑仍可对应主要三个层次来对应。
关于IaaS,英文名称为Infrastructure as a service,顾名思义便是指代服务器一类的基础设施建设,一般由行业头部巨头负责提供,对应极其庞大的服务器农场数据中心,国内厂商一般有阿里、腾讯、华为,国外则主要是亚马逊、微软、谷歌等厂商。对于IaaS服务,其主要采用的松耦合横向伸缩结构,从而实现在算力资源需要扩展的时候实现自动化的脚本部署。这里需要留意,事实上IaaS的服务商未必就一定拥有自建的服务器,如国内部分厂商通过租赁其他厂商闲置的服务器资源,并远程自动化脚本部署从而实现服务器权限、安全等掌控,从而实现IaaS的对外服务,而实际的设备维护等仍由其他出借厂商负责。
关于PaaS,英文名称为Platform as a service,其是在基础设施IaaS之上而形成的操作系统类似角色的软件服务,其定位和目标是为最终的用户层应用开发提供具体的开发工具等支持,例如日志、审计、监控等单独功能组件。一般来说,PaaS的应用主要通过API的方式,由第三方应用开发商进行远程服务的调配,例如云计算三维数据引擎便是PaaS平台的底层功能模块,提供的三维图形图形的数据解析支持服务,类似智慧城市等数字化系统平台开发团队,其便可以通过调用云计算三维数据引擎的API接口,从而实现对超巨大模型、多源异构数据的解析服务。
关于SaaS,英文名称为Software as a service,顾名思义提供的便是面向用户层的应用级别服务,这也是我们看到云计算与终端客户交互最为紧密、市场最为熟悉的一个层次,例如常见的通用工具软件,例如HR、CRM等都实现类似的SaaS服务,采用订阅付费的方式进行服务交割。需要留意的是,一般来说SaaS名词的提及,一般需要区分其语境,即其探讨的是产品的技术层次,还是商业模型的生态方式。一般看,直接面向终端客户、提供相关具体功能应用的SaaS,这是从产品功能角度讨论,而在商业模式角度,只要其交割服务是具体服务的能力调用,则不管交付物是否为SaaS应用抑或PaaS其他功能模块,都可广义称之为SaaS生态方式。
如上,IaaS如同主机电脑,提供基础硬件支持,PaaS如同操作系统,提供类似Windows和iOS等传统操作服务,SaaS则类似各类具体软件,例如Word等,提供某个方面的应用功能,三者之间通过SLA(Service Level Agreement)进行衔接,从而实现上下应用、技术路线、安全防范等方面的一一对应,而在具体的部署过程中,则根据项目数据要求、体量应用等方面的不同需求,分为私有云、公有云、专属云、混合云等部署形成,商业付费上则有私有买断、公有订阅、服务分成、续费复购、扩容更新、项目定制等不同方式。
而对于DaaS,一般理解为Data as a service,其侧重于数据库等方面,其讨论需要基于具体的场景、项目、服务而展开,较难用简单的定义予以澄清,比较容易产生误导。
相似回答