精华内容
下载资源
问答
  • 云计算

    2019-03-06 16:22:29
    云计算是对基于网络的、可配置的共享计算资源池能够方便的、随需访问的一种模式。这些可配置的共享资源计算池包括网络、服务器、存储、应用和服务。并且这些资源池以最小化的管理或者通过服务提供商的交互可以快速地...

    云计算是对基于网络的、可配置的共享计算资源池能够方便的、随需访问的一种模式。这些可配置的共享资源计算池包括网络、服务器、存储、应用和服务。并且这些资源池以最小化的管理或者通过服务提供商的交互可以快速地提供和释放。
    云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、 网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)、热备份冗余(High Available)等传统计算机和网络技术发展融合的产物。

    云计算服务面临的前三大市场挑战分别为服务安全性、稳定性和性能表现。云计算面临的七大安全威胁,滥用和恶意使用云计算、不安全的接口和API、不怀好意的内部人员、基础设施共享问题、数据丢失或泄露、账户或服务劫持以及未知的安全风险。
    云计算主要分为IaaS(Infrastructure as a Service,基础设施即服务,提供虚拟主机、虚拟网络等服务,如阿里ECS,亚马逊AWS)、PaaS(Platfrom as a service,平台即服务,提供身份验证、MySQL、中间件等服务,如新浪SAE)、SaaS(Software as a Service,软件即服务,提供门户网站、OA、邮件等服务,如百度云盘、阿里云邮等)
    在这里插入图片描述
    云架构数据中心具有多种优点,逐渐成为企业应用的大趋势,企业选择采用云架构数据中心,应考虑服务提供商是否符合以下三大要点。
      首先,云架构数据中心服务提供商必须具有优秀的云端骨干网络,确保数据传输的顺畅及安全。如第一线集团,既可提供MPLS(Multi-Protocol Label Switching,多协议标签交换,用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由地址、转发和交换等能力。)专线网络服务,又可同时提供云架构数据中心服务。对于许多跨地域的企业来说,除需要数据服务之外,更需要解决与分布世界各地的分支机构通信的问题,故稳定的网络质量一定是需要重点考量的。
      其次是云架构数据中心是否有足够的弹性,是否可以让用户随时选择调配不同的云资源,以符合自身的使用需要。以金融业为例,每日股票市场的交易时段最为繁忙,云端数据中心有时候需要在短时间内提升工作性能,以应付各种突如其来的需要。
    最后则是服务提供商有没有提供简单、易用的软件,让企业人员安在办公室之中,也可自行掌握数据中心的所有运作,如同管理实体数据中心一样。
    由于SaaS层离普通用户非常接近,所以在SaaS层所使用到的技术,大多耳熟能详,下面是其中最主要的五种:
    (1)HTML :标准的Web页面技术,现在主要以HTML4为主,但是即将推出的HTML5会在很多方面推动Web页面的发展,比如视频和本地存储等方面。
    (2)JavaScript :一种用于Web页面的动态语言,通过JavaScript ,能够极大地丰富Web页面的功能,最流行的JS框架有jQuery和Prototype 。
    (3)CSS :主要用于控制Web页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。
    (4)Flash :业界最常用的RIA(Rich Internet Applications)技术,能够在现阶段提供HTML等技术所无法提供的基于Web的富应用,而且在用户体验方面,非常不错。
    (5)Silverlight :来自业界巨擎微软的RIA技术,虽然其现在市场占有率稍逊于Flash,但由于其可以使用C#来进行编程,所以对开发者非常友好。
    在SaaS层的技术选型上,首先,由于通用性和较低的学习成本,大多数云计算产品都会比较倾向HTML 、JavaScript和CSS这对黄金组合,但是在HTML5被大家广泛接受之前,RIA技术在用户体验方面,还是具有一定的优势,所以Flash和Silverlight也将会有一定的用武之地,比如VMware vCloud就采用了基于Flash的Flex技术,而微软的云计算产品肯定会在今后大量使用Silverlight技术。
    PaaS 层的技术比较多样性,下面是常见的五种:
    (1)REST :通过 REST(Representational State Transfer,表述性状态转移)技术,能够非常方便和优雅地将中间件层所支撑的部分服务提供给调用者。
    (2)多租户:就是能让一个单独的应用实例可以为多个组织服务,而且能保持良好的隔离性和安全性,并且通过这种技术,能有效地降低应用的购置和维护成本。
    (3)并行处理:为了处理海量的数据,需要利用庞大的x86集群进行规模巨大的并行处理,Google的MapReduce是这方面的代表之作。
    (4)应用服务器:在原有的应用服务器的基础上为云计算做了一定程度的优化,比如用于Google App Engine的Jetty应用服务器。
    (5)分布式缓存:通过分布式缓存技术,不仅能有效地降低对后台服务器的压力,而且还能加快相应的反应速度,最著名的分布式缓存例子莫过于Memcached 。
    对于很多PaaS平台,比如用于部署Ruby应用的Heroku云平台,应用服务器和分布式缓存都是必备的,同时REST技术也常用于对外的接口,多租户技术则主要用于SaaS应用的后台,比如用于支撑Salesforce 的CRM等应用的Force.com多租户内核,而并行处理技术常被作为单独的服务推出,比如Amazon的Elastic MapReduce 。
    在IaaS所采用的技术方面,都是一些比较底层的技术,其中有四种技术是比较常用的:
    (1)虚拟化:也可以理解它为基础设施层的“多租户”,因为通过虚拟化技术,能够在一个物理服务器上生成多个虚拟机,并且能在这些虚拟机之间能实现全面的隔离,这样不仅能减低服务器的购置成本,而且还能同时降低服务器的运维成本,成熟的x86虚拟化技术有VMware的ESX和开源的Xen 。
    (2)分布式存储:为了承载海量的数据,同时也要保证这些数据的可管理性,所以需要一整套分布式的存储系统,在这方面, Google 的GFS是典范之作。
    (3)关系型数据库:基本是在原有的关系型数据库的基础上做了扩展和管理等方面的优化,使其在云中更适应。
    (4)NoSQL:为了满足一些关系数据库所无法满足的目标,比如支撑海量的数据等,一些公司特地设计一批不是基于关系模型的数据库,比如Google的BigTable和Facebook的Cassandra等。
    现在大多数的IaaS服务都是基于Xen的,比如Amazon的EC2等,但VMware也推出了基于ESX技术的vCloud,同时业界也有几个基于关系型数据库的云服务,比如Amazon 的RDS(Relational Database Service,关系型数据库服务)和Windows Azure SDS(SQL Data Services, SQL数据库服务)等。关于分布式存储和NoSQL,它们已经被广泛用于云平台的后端,比如Google App Engine的Datastore就是基于BigTable和GFS这两个技术之上的,而Amazon则推出基于NoSQL技术的Simple DB 。

    在这里插入图片描述

    云管理层也是前面3层云服务的基础,并为这3层提供多种管理和维护等方面的功能和技术。如下图所示,云管理层共有9个模块,这9个模块可分为3层,它们分别是用户层、机制层和检测层。
    在这里插入图片描述
    1、用户层
    顾名思义,这层主要面向使用云的用户,并通过多种功能来更好地为用户服务,共包括4个模块:用户管理、客户支持、服务管理和计费管理。
    (1)用户管理
    对于任何系统而言,对于用户的管理都是必需的,云也是如此。云方面的用户管理主要有3种功能。其一是账号管理,包括对用户身份及其访问权限进行有效地管理,还包括对用户组的管理;其二是单点登录,英文为“Single Sign On”,其意义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,这个机制可以极大地方便用户在云服务之间进行切换;其三是配置管理,对与用户相关的配置信息进行记录、管理和跟踪,配置信息包括虚拟机的部署、配置和应用的设置信息等。
    (2)客户支持
    好的用户体验对于云而言也是非常关键的,所以帮助用户解决疑难问题的客户支持是必需的,并且需要建设一整套完善的客户支持系统,以确保问题能按照其严重程度或者优先级来依次进行解决,而不是一视同仁。这样,能提升客户支持的效率和效果。
    (3)计费管理
    利用底层监控系统所采集的数据来对每个用户所使用的资源(比如所消耗CPU的时间和网络带宽等)和服务(比如调用某个付费API的次数)进行统计,来准确地向用户索取费用,并提供完善和详细的报表。
    (4)服务管理
    大多数云都在一定程度上遵守SOA(Service-Oriented Architecture,面向服务的架构)的设计规范。SOA的意思是将应用不同的功能拆分为多个服务,并通过定义良好的接口和契约来将这些服务连接起来,这样做的好处是能使整个系统松耦合,从而使整个系统能够通过不断演化来更好地为客户服务。而一个普通的云也同样由许许多多的服务组成,比如部署虚拟机的服务、启动或者关闭虚拟机的服务等,而管理好这些服务对于云而言是非常关键的。服务管理主要有下面这5个功能。
    * 管理接口。提供完善的关于服务的Web管理界面和API接口。
    * 自定义服务。能让用户对服务进行自定义和扩展。
    * 服务调度。配备强健的机制来负责服务的调度,以使服务能在合理的时间内被系统调用和处理。
    * 监控服务。利用底层的监控系统来观测服务实际的运行情况。
    * 流程管理。提供一个工具来让用户将多个服务整合为一个流程,并对它进行管理以提升运行效率。
    2、机制层
    这层主要提供各种用于管理云的机制。通过这些机制,能让云计算中心内部的管理更自动化、更安全和更环保。和用户层一样,该层也包括4个模块:运维管理、资源管理、安全管理和容灾支持。
    (1)运维管理
    云的运行是否出色,往往取决于其运维系统的强健和自动化程度。而和运维管理相关的功能主要包括3个方面。首先是自动维护:运维操作应尽可能地专业和自动化,从而降低云计算中心的运维成本。其次是能源管理:它包括自动关闭闲置的资源,根据负载来调节CPU的频率以降低功耗并提供关于数据中心整体功耗的统计图与机房温度的分布图等来提升能源的管理,并相应地降低浪费。还有就是事件监控:它是通过对在数据中心发生的各项事件进行监控,以确保在云中发生的任何异常事件都会被管理系统捕捉到。
    (2)资源管理
    这个模块和物理节点的管理相关,比如服务器、存储设备和网络设备等,它涉及下面这3个功能。其一是资源池:通过使用资源池这种资源抽象方法,能将具有庞大数量的物理资源集中到一个虚拟池中,以便于管理。其二是自动部署:也就是将资源从创建到使用的整个流程自动化。其三是资源调度:它将不仅能更好地利用系统资源,而且能自动调整云中资源来帮助运行于其上的应用更好地应对突发流量,从而起到负载均衡的作用。
    (3)安全管理
    安全管理是对数据、应用和账号等IT资源采取全面保护,使其免受犯罪分子和恶意程序的侵害,并保证云基础设施及其提供的资源能被合法地访问和使用。主要包括下面这7种机制。
    * 访问授权。为多个服务提供集中的访问控制,以确保应用和数据只能被有授权的用户访问。
    * 安全策略。实现基于角色或者规则的一整套安全策略,而且还允许系统能模拟策略发生变更的情况以提升安全策略的健壮性
    * 安全审计。对安全相关的事件进行全面审计,以检测是不是存在任何隐患。
    * 物理安全。根据职责限定每个云管理人员不同的权限,比如门禁等。
    * 网络隔离。使用VPN(Virtual Private Network,虚拟专用网络)、SSL(Secure Sockets Layer,安全套接层)和VLAN(Virtual Local Area Network,虚拟局域网)等技术来确保网络的隔离和安全。
    * 数据加密。这个机制能确保即使数据被窃取,也不会被非法分子利用。相关的机制有:对称加密和公钥加密等。
    * 数据备份。由于数据完整性对云计算而言是基本要求,所以除了通过上面这些机制来确保数据不会被没有权限的人访问之外,还需要对数据进行备份,以避免由于磁盘损坏或者管理不当导致数据丢失的情况,所以需要完善的备份服务来满足每个用户不同的备份策略。
    (4)容灾支持
    在容灾方面,主要涉及两个层面。其一是数据中心级别。如果数据中心的外部环境出现了类似断电、火灾、地震或者网络中断等严重的事故,将很有可能导致整个数据中心不可用,这就需要在异地建立一个备份数据中心来保证整个云服务持续运行。这个备份数据中心会实时或者异步地与主数据中心进行同步,当主数据中心发生问题的时候,备份数据中心会自动接管在主数据中心中运行的服务。其二是物理节点级别。系统需要检测每个物理节点的运行情况,如果一个物理节点出现问题,系统会试图恢复它或者将其屏蔽,以确保相关云服务正常运行。
    3、检测层
    这层比较简单,主要监控这个云计算中心的方方面面,并采集相关数据,以供用户层和机制层使用。
    (1)监控系统
    全面监控云计算的运行主要涉及3个层面。其一是物理资源层面,主要监控物理资源的运行状况,比如CPU使用率、内存利用率和网络带宽利用率等。其二是虚拟资源层面,主要监控虚拟机的CPU使用率和内存利用率等。其三是应用层面,主要记录应用每次请求的响应时间(Response Time)和吞吐量(Throughput),以判断它们是否满足预先设定的SLA(Service Level Agreement,服务级别协议)。

    展开全文
  • 云计算相关软件介绍

    千次阅读 2012-09-05 22:26:23
    有关的内存,CPU等信息的收集。 zabbix agent 可以运行在 Linux , Solaris , HP-UX , AIX , Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。  zabbix ...

    Hadoop

    一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

    Ganglia

      Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配 系统资源,提高系统整体性能起到重要作用。  每台计算机都运行一个收集和发送度量数据的名为 gmond 的守护进程。接收所有度量数据的 主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。gmond 带来的系统负载非常少,这使得它成为在 集群中各台计算机上运行的一段代码,而不会影响用户性能。所有这些数据多次收集会影响节点性能。网络中的 “抖动”发生在大量小消息同时出现时,可以通过将节点时钟保持一致,来避免这个问题。  gmetad可以部署在集群内任一台节点或者通过网络连接到集群的独立主机,它通过 单播路由的方式与gmond通信,收集区域内节点的状态信息,并以XML数据的形式,保存在数据库中。  由RRDTool工具处理数据,并生成相应的的图形显示,以Web方式直观的提供给客户端。


    Zabbix

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。  zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。  zabbix由2部分构成,zabbix server与可选组件zabbix agent。  zabbix server可以通过SNMPzabbix agentping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。  zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。  zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。  另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。


    ZooKeeper

    ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

    zookeeper是一个开源分布式的服务,它提供了分布式协作,分布式同步,配置管理等功能. 其实现的功能与google的chubby基本一致.zookeeper的官方网站已经写了一篇非常经典的概述性文章,请大家参阅:ZooKeeper: A Distributed Coordination Service for Distributed Applications

    MapReduce

    MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(化简)",和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。


    Hive

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。另外一个是Windows注册表文件


    Hbase

    HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。


    mahout

      Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Apache Mahout项目已经发展到了它的第三个年头,目前已经有了三个公共发行版本。Mahout包含许多实现,包括集群、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。  Mahout 的创始人 Grant Ingersoll 介绍了机器学习的基本概念,并演示了如何使用 Mahout 来实现文档集群、提出建议和组织内容。


    Sqoop

    Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 


    chukwa

     Apache 的开源项目 hadoop, 作为一个分布式存储和计算系统,已经被业界广泛应用。很多大型企业都有了各自基于 hadoop 的应用和相关扩展。当 1000+ 以上个节点的 hadoop 集群变得常见时,集群自身的相关信息如何收集和分析呢?针对这个问题, Apache 同样提出了相应的解决方案,那就是 chukwa。

    概述 
    chukwa 的官方网站是这样描述自己的: chukwa 是一个开源的用于监控大型分布式系统的数据收集系统。这是构建在 hadoop 的 hdfs 和 map/reduce 框架之上的,继承了 hadoop 的可伸缩性和鲁棒性。Chukwa 还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。 
    在一些网站上,甚至声称 chukwa 是一个“日志处理/分析的full stack solution”。 
    说了这么多,你心动了吗? 
    我们先来看看 chukwa 是什么样子的:

     

     

    chukwa 不是什么 
    1. chukwa 不是一个单机系统. 在单个节点部署一个 chukwa 系统,基本没有什么用处. chukwa 是一个构建在 hadoop 基础上的分布式日志处理系统.换言之,在搭建 chukwa 环境之前,你需要先构建一个 hadoop 环境,然后在 hadoop 的基础上构建 chukwa 环境,这个关系也可以从稍后的 chukwa 架构图上看出来.这也是因为 chukwa 的假设是要处理的数据量是在 T 级别的. 
    2. chukwa 不是一个实时错误监控系统.在解决这个问题方面, ganglia,nagios 等等系统已经做得很好了,这些系统对数据的敏感性都可以达到秒级. chukwa 分析的是数据是分钟级别的,它认为像集群的整体 cpu 使用率这样的数据,延迟几分钟拿到,不是什么问题. 
    3. chukwa 不是一个封闭的系统.虽然 chukwa 自带了许多针对 hadoop 集群的分析项,但是这并不是说它只能监控和分析 hadoop.chukwa 提供了一个对大数据量日志类数据采集、存储、分析和展示的全套解决方案和框架,在这类数据生命周期的各个阶段, chukwa 都提供了近乎完美的解决方案,这一点也可以从它的架构中看出来.

    chukwa 是什么 
    上一节说了很多 chukwa 不是什么,下面来看下 chukwa 具体是干什么的一个系统呢? 
    具体而言, chukwa 致力于以下几个方面的工作: 
    1. 总体而言, chukwa 可以用于监控大规模(2000+ 以上的节点, 每天产生数据量在T级别) hadoop 集群的整体运行情况并对它们的日志进行分析 
    2. 对于集群的用户而言: chukwa 展示他们的作业已经运行了多久,占用了多少资源,还有多少资源可用,一个作业是为什么失败了,一个读写操作在哪个节点出了问题. 
    3. 对于集群的运维工程师而言: chukwa 展示了集群中的硬件错误,集群的性能变化,集群的资源瓶颈在哪里. 
    4. 对于集群的管理者而言: chukwa 展示了集群的资源消耗情况,集群的整体作业执行情况,可以用以辅助预算和集群资源协调. 
    5. 对于集群的开发者而言: chukwa 展示了集群中主要的性能瓶颈,经常出现的错误,从而可以着力重点解决重要问题.

    基本架构 
    有了一个感性的认识后,我们来看下它的构架, chukwa 的整体结构图是下面这个样子的:

     

     

     

     

     

    其中主要的部件为: 
    1. agents : 负责采集最原始的数据,并发送给 collectors 
    2. adaptor : 直接采集数据的接口和工具,一个 agent 可以管理多个 adaptor 的数据采集 
    3. collectors 负责收集 agents 收送来的数据,并定时写入集群中 
    4. map/reduce jobs 定时启动,负责把集群中的数据分类、排序、去重和合并 
    5. HICC 负责数据的展示

    相关设计 


    adaptors 和 agents 
    在 每个数据的产生端(基本上是集群中每一个节点上), chukwa 使用一个 agent 来采集它感兴趣的数据,每一类数据通过一个 adaptor 来实现, 数据的类型(DataType?)在相应的配置中指定. 默认地, chukwa 对以下常见的数据来源已经提供了相应的 adaptor : 命令行输出、log 文件和 httpSender等等. 这些 adaptor 会定期运行(比如每分钟读一次 df 的结果)或事件驱动地执行(比如 kernel 打了一条错误日志). 如果这些 adaptor 还不够用,用户也可以方便地自己实现一个 adaptor 来满足需求。

    为防止数据采集端的 agent 出现故障,chukwa 的 agent 采用了所谓的 ‘watchdog’ 机制,会自动重启终止的数据采集进程,防止原始数据的丢失。 
    另一方面, 对于重复采集的数据, 在 chukwa 的数据处理过程中,会自动对它们进行去重. 这样,就可以对于关键的数据在多台机器上部署相同的 agent,从而实现容错的功能. 


    collectors 
    agents 采集到的数据,是存储到 hadoop 集群上的. hadoop 集群擅长于处理少量大文件,而对于大量小文件的处理则不是它的强项,针对这一点,chukwa 设计了 collector 这个角色,用于把数据先进行部分合并,再写入集群,防止大量小文件的写入。 
    另 一方面,为防止 collector 成为性能瓶颈或成为单点,产生故障, chukwa 允许和鼓励设置多个 collector, agents 随机地从 collectors 列表中选择一个 collector 传输数据,如果一个 collector 失败或繁忙,就换下一个 collector. 从而可以实现负载的均衡,实践证明,多个 collector 的负载几乎是平均的. 

    demux 和 archive 
    放在集群上的数据,是通过 map/reduce 作业来实现数据分析的. 在 map/reduce 阶段, chukwa 提供了 demux 和 archive 任务两种内置的作业类型. 
    demux 作业负责对数据的分类、排序和去重. 在 agent 一节中,我们提到了数据类型(DataType?)的概念.由 collector 写入集群中的数据,都有自己的类型. demux 作业在执行过程中,通过数据类型和配置文件中指定的数据处理类,执行相应的数据分析工作,一般是把非结构化的数据结构化,抽取中其中的数据属性.由于 demux 的本质是一个 map/reduce 作业,所以我们可以根据自己的需求制定自己的 demux 作业,进行各种复杂的逻辑分析. chukwa 提供的 demux interface 可以用 java 语言来方便地扩展. 
    而 archive 作业则负责把同类型的数据文件合并,一方面保证了同一类的数据都在一起,便于进一步分析, 另一方面减少文件数量, 减轻 hadoop 集群的存储压力。 


    dbadmin 
    放在集群上的数据,虽然可以满足数据的长期存储和大数据量计算需求,但是不便于展示.为此, chukwa 做了两方面的努力: 
    1. 使用 mdl 语言,把集群上的数据抽取到 mysql 数据库中,对近一周的数据,完整保存,超过一周的数据,按数据离现在的时间长短作稀释,离现在越久的数据,所保存的数据时间间隔越长.通过 mysql 来作数据源,展示数据. 
    2. 使用 hbase 或类似的技术,直接把索引化的数据在存储在集群上 
    到 chukwa 0.4.0 版本为止, chukwa 都是用的第一种方法,但是第二种方法更优雅也更方便一些. 
    hicc 
    hicc 是 chukwa 的数据展示端的名字.在展示端, chukwa 提供了一些默认的数据展示 widget,可以使用“列表”、“曲线图”、“多曲线图”、“柱状图”、“面积图式展示一类或多类数据,给用户直观的数据趋势展示。而且,在 hicc 展示端,对不断生成的新数据和历史数据,采用 robin 策略,防止数据的不断增长增大服务器压力,并对数据在时间轴上“稀释”,可以提供长时间段的数据展示 
    从 本质上, hicc 是用 jetty 来实现的一个 web 服务端,内部用的是 jsp 技术和 javascript 技术.各种需要展示的数据类型和页面的局都可以通过简直地拖拽方式来实现,更复杂的数据展示方式,可以使用 sql 语言组合出各种需要的数据.如果这样还不能满足需求,不用怕,动手修改它的 jsp 代码就可以了. 


    其它数据接口 
    如果对原始数据还有新的需要,用户还可以通过 map/reduce 作业或 pig 语言直接访问集群上的原始数据,以生成所需要的结果。chukwa 还提供了命令行的接口,可以直接访问到集群上数据。 


    默认数据支持 
    对 于集群各节点的cpu使用率、内存使用率、硬盘使用率、集群整体的 cpu 平均使用率、集群整体的内存使用率、集群整体的存储使用率、集群文件数变化、作业数变化等等 hadoop 相关数据,从采集到展示的一整套流程, chukwa 都提供了内建的支持,只需要配置一下就可以使用.可以说是相当方便的. 
    可以看出,chukwa 从数据的产生、收集、存储、分析到展示的整个生命周期都提供了全面的支持。


    Oozie

    在Hadoop中执行的任务有时候需要把多个Map/Reduce作业连接到一起,这样才能够达到目的。[1]在Hadoop生态圈中,有一种相对比较新的组件叫做Oozie[2],它让我们可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。本文中,我们会向你介绍Oozie以及使用它的一些方式。

    Oozie是一种Java Web应用程序,它运行在Java servlet容器——即Tomcat——中,并使用数据库来存储以下内容:

    • 工作流定义
    • 当前运行的工作流实例,包括实例的状态和变量

    Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。我们会使用hPDL(一种XML流程定义语言)来描述这个图。

    hPDL是一种很简洁的语言,只会使用少数流程控制和动作节点。控制节点会定义执行的流程,并包含工作流的起点和终点(start、end和fail节点)以及控制工作流执行路径的机制(decision、fork和join节点)。动作节点是一些机制,通过它们工作流会触发执行计算或者处理任务。Oozie为以下类型的动作提供支持: Hadoop map-reduce、Hadoop文件系统、Pig、Java和Oozie的子工作流(SSH动作已经从Oozie schema 0.2之后的版本中移除了)。

    所有由动作节点触发的计算和处理任务都不在Oozie之中——它们是由Hadoop的Map/Reduce框架执行的。这种方法让Oozie可以支持现存的Hadoop用于负载平衡、灾难恢复的机制。这些任务主要是异步执行的(只有文件系统动作例外,它是同步处理的)。这意味着对于大多数工作流动作触发的计算或处理任务的类型来说,在工作流操作转换到工作流的下一个节点之前都需要等待,直到计算或处理任务结束了之后才能够继续。Oozie可以通过两种不同的方式来检测计算或处理任务是否完成,也就是回调和轮询。当Oozie启动了计算或处理任务的时候,它会为任务提供唯一的回调URL,然后任务会在完成的时候发送通知给特定的URL。在任务无法触发回调URL的情况下(可能是因为任何原因,比方说网络闪断),或者当任务的类型无法在完成时触发回调URL的时候,Oozie有一种机制,可以对计算或处理任务进行轮询,从而保证能够完成任务。

    Oozie工作流可以参数化(在工作流定义中使用像${inputDir}之类的变量)。在提交工作流操作的时候,我们必须提供参数值。如果经过合适地参数化(比方说,使用不同的输出目录),那么多个同样的工作流操作可以并发。

    一些工作流是根据需要触发的,但是大多数情况下,我们有必要基于一定的时间段和(或)数据可用性和(或)外部事件来运行它们。Oozie协调系统(Coordinator system)让用户可以基于这些参数来定义工作流执行计划。Oozie协调程序让我们可以以谓词的方式对工作流执行触发器进行建模,那可以指向数据、事件和(或)外部事件。工作流作业会在谓词得到满足的时候启动。

    经常我们还需要连接定时运行、但时间间隔不同的工作流操作。多个随后运行的工作流的输出会成为下一个工作流的输入。把这些工作流连接在一起,会让系统把它作为数据应用的管道来引用。Oozie协调程序支持创建这样的数据应用管道。



    NoSQL数据库

    虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破。这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举。

    但是NoSQL数据库之间的不同,远超过两 SQL数据库之间的差别。这意味着软件架构师更应该在项目开始时就选择好一个适合的 NoSQL数据库。针对这种情况,这里对CassandraMongodbCouchDBRedisRiakMembaseNeo4jHBase进行了比较:

    (编注1:NoSQL:是一项全新的数据库革命性运动,NoSQL的拥护者们提倡运用非关系型的数据存储。现今的计算机体系结构在数据存储方面要求具 备庞大的水平扩 展性,而NoSQL致力于改变这一现状。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。 参见NoSQL词条。)

     

    1. CouchDB

    • 所用语言: Erlang
    • 特点:DB一致性,易于使用
    • 使用许可: Apache
    • 协议: HTTP/REST
    • 双向数据复制,
    • 持续进行或临时处理,
    • 处理时带冲突检查,
    • 因此,采用的是master-master复制(见编注2)
    • MVCC – 写操作不阻塞读操作
    • 可保存文件之前的版本
    • Crash-only(可靠的)设计
    • 需要不时地进行数据压缩
    • 视图:嵌入式 映射/减少
    • 格式化视图:列表显示
    • 支持进行服务器端文档验证
    • 支持认证
    • 根据变化实时更新
    • 支持附件处理
    • 因此, CouchApps(独立的 js应用程序)
    • 需要 jQuery程序库

     

    最佳应用场景:适用于数据变化较少,执行预定义查询,进行数据统计的应用程序。适用于需要提供数据版本支持的应用程序。

    例如: CRM、CMS系统。 master-master复制对于多站点部署是非常有用的。

    (编注2:master-master复制:是一种数据库同步方法,允许数据在一组计算机之间共享数据,并且可以通过小组中任意成员在组内进行数据更新。)

     

    2. Redis

    • 所用语言:C/C++
    • 特点:运行异常快
    • 使用许可: BSD
    • 协议:类 Telnet
    • 有硬盘存储支持的内存数据库,
    • 但自2.0版本以后可以将数据交换到硬盘(注意, 2.4以后版本不支持该特性!)
    • Master-slave复制(见编注3)
    • 虽然采用简单数据或以键值索引的哈希表,但也支持复杂操作,例如 ZREVRANGEBYSCORE。
    • INCR & co (适合计算极限值或统计数据)
    • 支持 sets(同时也支持 union/diff/inter)
    • 支持列表(同时也支持队列;阻塞式 pop操作)
    • 支持哈希表(带有多个域的对象)
    • 支持排序 sets(高得分表,适用于范围查询)
    • Redis支持事务
    • 支持将数据设置成过期数据(类似快速缓冲区设计)
    • Pub/Sub允许用户实现消息机制

     

    最佳应用场景:适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。

    例如:股票价格、数据分析、实时数据搜集、实时通讯。

    (编注3:Master-slave复制:如果同一时刻只有一台服务器处理所有的复制请求,这被称为 Master-slave复制,通常应用在需要提供高可用性的服务器集群。)

     

    3. MongoDB

    • 所用语言:C++
    • 特点:保留了SQL一些友好的特性(查询,索引)。
    • 使用许可: AGPL(发起者: Apache)
    • 协议: Custom, binary( BSON)
    • Master/slave复制(支持自动错误恢复,使用 sets 复制)
    • 内建分片机制
    • 支持 javascript表达式查询
    • 可在服务器端执行任意的 javascript函数
    • update-in-place支持比CouchDB更好
    • 在数据存储时采用内存到文件映射
    • 对性能的关注超过对功能的要求
    • 建议最好打开日志功能(参数 –journal)
    • 在32位操作系统上,数据库大小限制在约2.5Gb
    • 空数据库大约占 192Mb
    • 采用 GridFS存储大数据或元数据(不是真正的文件系统)

     

    最佳应用场景:适用于需要动态查询支持;需要使用索引而不是 map/reduce功能;需要对大数据库有性能要求;需要使用 CouchDB但因为数据改变太频繁而占满内存的应用程序。

    例如:你本打算采用 MySQL或 PostgreSQL,但因为它们本身自带的预定义栏让你望而却步。

     

    4. Riak

    • 所用语言:Erlang和C,以及一些Javascript
    • 特点:具备容错能力
    • 使用许可: Apache
    • 协议: HTTP/REST或者 custom binary
    • 可调节的分发及复制(N, R, W)
    • 用 JavaScript or Erlang在操作前或操作后进行验证和安全支持。
    • 使用JavaScript或Erlang进行 Map/reduce
    • 连接及连接遍历:可作为图形数据库使用
    • 索引:输入元数据进行搜索(1.0版本即将支持)
    • 大数据对象支持( Luwak)
    • 提供“开源”和“企业”两个版本
    • 全文本搜索,索引,通过 Riak搜索服务器查询( beta版)
    • 支持Masterless多站点复制及商业许可的 SNMP监控

     

    最佳应用场景:适用于想使用类似 Cassandra(类似Dynamo)数据库但无法处理 bloat及复杂性的情况。适用于你打算做多站点复制,但又需要对单个站点的扩展性,可用性及出错处理有要求的情况。

    例如:销售数据搜集,工厂控制系统;对宕机时间有严格要求;可以作为易于更新的 web服务器使用。

    5. Membase

    • 所用语言: Erlang和C
    • 特点:兼容 Memcache,但同时兼具持久化和支持集群
    • 使用许可: Apache 2.0
    • 协议:分布式缓存及扩展
    • 非常快速(200k+/秒),通过键值索引数据
    • 可持久化存储到硬盘
    • 所有节点都是唯一的( master-master复制)
    • 在内存中同样支持类似分布式缓存的缓存单元
    • 写数据时通过去除重复数据来减少 IO
    • 提供非常好的集群管理 web界面
    • 更新软件时软无需停止数据库服务
    • 支持连接池和多路复用的连接代理

     

    最佳应用场景:适用于需要低延迟数据访问,高并发支持以及高可用性的应用程序

    例如:低延迟数据访问比如以广告为目标的应用,高并发的 web 应用比如网络游戏(例如 Zynga)

     

    6. Neo4j

    • 所用语言: Java
    • 特点:基于关系的图形数据库
    • 使用许可: GPL,其中一些特性使用 AGPL/商业许可
    • 协议: HTTP/REST(或嵌入在 Java中)
    • 可独立使用或嵌入到 Java应用程序
    • 图形的节点和边都可以带有元数据
    • 很好的自带web管理功能
    • 使用多种算法支持路径搜索
    • 使用键值和关系进行索引
    • 为读操作进行优化
    • 支持事务(用 Java api)
    • 使用 Gremlin图形遍历语言
    • 支持 Groovy脚本
    • 支持在线备份,高级监控及高可靠性支持使用 AGPL/商业许可

     

    最佳应用场景:适用于图形一类数据。这是 Neo4j与其他nosql数据库的最显著区别

    例如:社会关系,公共交通网络,地图及网络拓谱

     

    7. Cassandra

    • 所用语言: Java
    • 特点:对大型表格和 Dynamo支持得最好
    • 使用许可: Apache
    • 协议: Custom, binary (节约型)
    • 可调节的分发及复制(N, R, W)
    • 支持以某个范围的键值通过列查询
    • 类似大表格的功能:列,某个特性的列集合
    • 写操作比读操作更快
    • 基于 Apache分布式平台尽可能地 Map/reduce
    • 我承认对 Cassandra有偏见,一部分是因为它本身的臃肿和复杂性,也因为 Java的问题(配置,出现异常,等等)

     

    最佳应用场景:当使用写操作多过读操作(记录日志)如果每个系统组建都必须用 Java编写(没有人因为选用 Apache的软件被解雇)

    例如:银行业,金融业(虽然对于金融交易不是必须的,但这些产业对数据库的要求会比它们更大)写比读更快,所以一个自然的特性就是实时数据分析

     

    8. HBase

    (配合 ghshephard使用)

    • 所用语言: Java
    • 特点:支持数十亿行X上百万列
    • 使用许可: Apache
    • 协议:HTTP/REST (支持 Thrift,见编注4)
    • 在 BigTable之后建模
    • 采用分布式架构 Map/reduce
    • 对实时查询进行优化
    • 高性能 Thrift网关
    • 通过在server端扫描及过滤实现对查询操作预判
    • 支持 XML, Protobuf, 和binary的HTTP
    • Cascading, hive, and pig source and sink modules
    • 基于 Jruby( JIRB)的shell
    • 对配置改变和较小的升级都会重新回滚
    • 不会出现单点故障
    • 堪比MySQL的随机访问性能

     

    最佳应用场景:适用于偏好BigTable:)并且需要对大数据进行随机、实时访问的场合。

    例如: Facebook消息数据库(更多通用的用例即将出现)

    编注4:Thrift 是一种接口定义语言,为多种其他语言提供定义和创建服务,由Facebook开发并开源

    当然,所有的系统都不只具有上面列出的这些特性。这里我仅仅根据自己的观点列出一些我认为的重要特性。与此同时,技术进步是飞速的,所以上述的内容肯定需要不断更新。我会尽我所能地更新这个列表。


    Membase

      Membase 是 NoSQL 家族的一个新的重量级的成员。Membase是开源项目,源代码采用了Apache2.0的使用许可。该项目托管在GitHub.Source tarballs上,目前可以 下载beta版本的Linux二进制包。该产品主要是由North Scale的memcached核心团队成员开发完成,其中还包括Zynga和NHN这两个主要贡献者的工程师,这两个组织都是很大的在线游戏和社区 网络空间的供应商。  Membase容易安装、操作,可以从单节点方便的扩展到 集群,而且为memcached(有线协议的兼容性)实现了 即插即用功能,在应用方面为开 发者和经营者提供了一个比较低的门槛。做为缓存解决方案,Memcached已经在不同类型的领域(特别是大容量的Web应用)有了广泛的使用,其中 Memcached的部分基础代码被直接应用到了Membase服务器的前端。  通过兼容多种编程语言和 框架,Membase具备了很好的复用性。在安装和配置方面,Membase提供了有效的图形化界面和 编程接口,包括可配置 的告警信息。  Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的 节点进行复制。 另外,对 存储的数据进行再分配仍然是必要的。  这方面的一个有趣的特性是NoSQL解决方案所承诺的可预测的性能,类准确性的延迟和 吞吐量。通过如下方式可以获得上面提到的特性:  ◆ 自动将在线 数据迁移到低延迟的存储介质的技术(内存, 固态硬盘,磁盘)   ◆ 可选的写操作一一异步,同步(基于复制,持久化)   ◆ 反向通道再平衡[未来考虑支持]   ◆ 多线程低锁争用   ◆ 尽可能使用 异步处理   ◆ 自动实现 重复数据删除   ◆ 动态再平衡现有集群   ◆ 通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。


    MongoDB

      MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的 数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的 数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于 面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。   主要功能特性:  

    ◆ 面向集合存储,易存储对象类型的数据  “面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。  

    ◆ 模式自由  模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。  

    ◆支持动态查询   ◆支持完全索引,包含内部对象   ◆支持查询   ◆支持复制和故障恢复  ◆使用高效的二进制数据存储,包括大型对象(如视频等)  ◆自动处理碎片,以支持云计算层次的扩展性  ◆支持RUBY,PYTHON,JAVA,C++,PHP等多种语言  ◆文件存储格式为BSON(一种JSON的扩展)  BSON(Binary Serialized document Format)存储形式是指:存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。   ◆可通过网络访问  MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。  MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。

    Hypertable

      Hypertable是一个开源、高性能、可伸缩的数据库,它采用与Google的Bigtable相似的模型。在过去数年中,Google为在PC集群 上运行的可伸缩计算基础设施设计建造了三个关键部分。第一个关键的基础设施是Google File System(GFS),这是一个高可用的文件系统,提供了一个全局的命名空间。它通过跨机器(和跨机架)的文件数据复制来达到高可用性,并因此免受传统 文件存储系统无法避免的许多失败的影响,比如电源、内存和 网络端口等失败。第二个基础设施是名为Map-Reduce的计算框架,它与GFS紧密协作,帮 助处理收集到的海量数据。第三个基础设施是Bigtable,它是 传统数据库的替代。Bigtable让你可以通过一些主键来组织海量数据,并实现高效的 查询。Hypertable是Bigtable的一个开源实现,并且根据我们的想法进行了一些改进。

    Apache Cassandra

      Apache Cassandra是一套开源分布式Key-Value 存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。   主要特性:  ◆ 分布式  ◆ 基于column的结构化  ◆ 高伸展性  Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被 路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加 节点就可以了。  Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比 Dynomite(分布式的Key-Value存 储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库 的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了 开源项目。它是一个网络社交 云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。   和其他数据库比较,其突出特点是:  ◆ 模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部 署上。   ◆ 真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。   ◆ 多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。  ◆ 范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。   ◆ 列表数据结构 :在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。   ◆ 分布式写操作 :有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。


    展开全文
  • 昨日沪深两市低开低走,沪指开盘後震荡走低,煤炭地产板块发力救盘,沪指小幅回升,维持弱势震荡态势,新股与次新股表现抢眼,云计算等计算机通信类拖累股指。午後股指延续弱势震荡走势,环保工程、美丽中国等概念股...

    昨日沪深两市低开低走,沪指开盘後震荡走低,煤炭地产板块发力救盘,沪指小幅回升,维持弱势震荡态势,新股与次新股表现抢眼,云计算等计算机通信类拖累股指。午後股指延续弱势震荡走势,环保工程、美丽中国等概念股拉升护盘。

    截至收盘,沪指报2025.50点,下跌8.43点,跌幅0.41%,成交559.89亿元;深成指报7217.65点,下跌23.19点,跌幅0.32%,成交858.15亿元;创业板指报1358.71点,下跌10.73点,跌幅0.78%,成交250.53亿元。

    从盘面上看新股与次新股、环保工程、采掘服务、猪肉概念等板块等涨幅居前,国产软件、在线旅游、云计算等跌幅居前。

    机构分析认为,鉴於出口和房地产行业低迷导致经济微弱复苏,目前投资机会主要在成长股,市场显着向下的风险不大,三季度倾向於看平市场,四季度房地产销售面积增加,尽管新开工不太好,但担忧减少,加上出口复苏更明显,四季度和明年一季度看涨。

    近几年云计算与大数据在中国市场掀起了一波又一波的巨浪,很多专业人士不禁思考这是否又将成为下一个科技或产业的泡沫?从股市走向或许在一个侧面能够反映云计算的发展形态。事实上,在狂热追捧云计算的背景下,人们确实需要冷静,思考云到底为我们带来了什么、应该怎么去做。

    目前,国内对于云计算的投入大部分仍旧停留在基础设施建设,也就是服务器等硬件设施的建设上。很多人担心,这很可能导致硬件设施的过剩,或者重蹈覆辙,将云计算做成房地产。

    在硬件设施或技术层面,我国的确与欧美等发达国家存在差距,但并不能因此过度重视这些基础层面建设,而忽视掉整个云生态的平衡发展。国内一部分业内人士已经逐渐意识到这一点,对应用和运维等服务层面的投入开始增加。

     其实,云计算就好比一辆汽车,如果大家一窝蜂的埋首于造车,而不去完善汽车的性能、售后保障等服务,那么这个汽车品牌迟早会被市场、被用户淘汰。 

    原文发布时间为:2014年06月27日
    本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
    展开全文
  • 美国云计算印象

    千次阅读 2012-05-12 23:00:38
    2012年3月19日—26日,我们参加中国电子学会云计算专家委员会组织的“云计算美国之行”访问团,到西雅图和旧金山两地拜访美国多家云计算相关公司,其中既有Amazon、微软、Google、Facebook、Rackspace这样的行业巨头...

    来源:程序员 作者:蒋涛 刘江

    2012年3月19日—26日,我们参加中国电子学会云计算专家委员会组织的“云计算美国之行”访问团,到西雅图和旧金山两地拜访美国多家云计算相关公司,其中既有Amazon、微软、Google、Facebook、Rackspace这样的行业巨头,也有Heroku、Engine Yard、Puppet等新兴云计算公司,还包括CloudCamp为代表的美国云计算社区。虽然行色匆匆,难以进行非常深入的交流,但接触面比较广,对美国云计算产业和技术的发展情况有了更多直观认识。

    微软

    我们到访的第一站是位于西雅图的微软总部。企业IT走向云计算已成为大势所趋,所以微软与软硬件巨头IBM、HP、Oracle、Dell一样,都在积极布局云计算技术、产品和平台,或收购,或积极研发。

    为什么现在云计算如此重要?负责微软企业云战略的Rolf Harms从经济学角度给出了答案:

     

    • Cloud = doing what you do today for less
    • Cloud = doing what you do today better
    • Cloud = doing things you can’t do today

    微软自己的官方网站Microsoft.com迁移到Azure平台后,成本降低了90%,可用性从99.1%提高到99.997%,部署时间却从数周下降到45分钟,改善巨大。

    Harms的介绍中有一幅图讲述私有云和公共云的不同使用场景,非常清晰,如图1所示。

    图1 私有云与公共云适用场景

    而长远看,公共云相比私有云具有明显的价格优势,如图2所示。

    图2 私有云与公共云成本比较

    云计算大战的焦点之一,是如何降低数据中心的建设和运营成本以及环保问题。Facebook开源Open Compute项目更加剧了数据中心技术方面的竞争。微软也大幅投资云计算数据中心,发展新一代数据中心。这次我们有幸参观了微软在Redmond Ridge的研发数据中心,各方面都非常先进,虽然设备的密度极大(52U/rack),PUE值仍然能够达到1.17。应该说,在纯粹设备上国内并不落后,但这个数千平米的数据中心只有10人负责运营,而支撑Azure平台的主力Quincy数据中心,占地47万平方英尺,运营人员也只有35人,自动化程度惊人。另外负责人介绍,由于设备密度太大,思科现有的交换机已经无法支持,必须开发新一代。

    图3 Gartner的IaaS魔力象限

    Amazon

    云计算的理念其实已经发展了很多年,而作为一个术语而流行始自2006年,但至今仍然免不了众说纷纭,这一点国内外情况倒是差不多。云管理平台企业enStraus副总裁Bernard Golden在美国CIO圈子里颇有名气,他在交流中说到一个很有意思的现象:很多大公司的CIO虽然一方面口口声声云计算还不安全,不能轻率采用,可另一方面已经非常普遍地使用Salesforce、Workday等SaaS软件管理客户和员工等最敏感的信息。不过他也承认,虽然在美国云计算已经成为主流,但大家还是免不了不断的分歧与纷争,因为有太多背景不同的厂商和人说自己在做云计算

    图4 AWS历年发布的服务(出自Jeff-Barr的演示稿)

    但有一点是大家都有共识的,那就是Amazon已经在公共云领域比较稳固地建立了自己的优势。2011年12月Gartner的研究表明,AWS自2006年推出以来,一直保持高速的产品研发节奏。AWS云平台无论在执行能力还是在前瞻性上,都在IaaS提供商中处于领先地位。而且它也在向PaaS扩张。

    与此对应的是,AWS惊人的指数型发展速度。由图5可见,截止到2011年底,Amazon S3已存储了7620亿对象,年增长率达到192%,而且还在不断加速。另外,据美国调查公司451Group的报告,AWS已经占据了美国59%的IaaS市场份额。

    图5 Amazon S3所存对象数的增长(出自Jeff Barr的演示稿)

    虽然Amazon很少公布图5那样具体的规模数字,但我们还是可以从各种渠道做一些估算。此前Accenture的Huan Liu曾估算AWS的服务器可能有44.5万台,但一般都认为这个数字可能偏高。James Hamilton去年6月曾透露,AWS当时每天增加的容量足可以支持Amazon最初头五年全球运营,而那时公司营收已经接近30亿美元了。另据4月中旬DeepField的数据,现在每天有1/3的美国互联网用户至少访问一次AWS,它还占据了1%总互联网流量,并已经是全球第四大CDN。

    拜访Amazon云计算部门时得知,它现在约有2000多人(其中有相当比例是销售人员),今年还准备扩招500人左右。有熟悉美国企业运作的同行者据此粗略算出,Amazon今年的营收目标至少应该是20亿美元。而2011年Gartner对此数字的估计是10亿。发展速度的确惊人。

    云计算最初的用户主要是新兴公司,但现在大型互联网企业和许多大型公司也已经转向AWS。其中视频服务商Netfilix是一个经典案例,这个流量巨大的网站完全放弃了自建数据中心。利用AWS做海量存储、大数据分析和容灾备份的就更多了:SAP、Adobe、三星、爱立信、日立、趋势……

    值得注意的是,除了Web应用和海量数据领域,AWS近年也在开拓面向企业云服务的产品,IBM、Microsoft、Oracle、SAP的全线商业产品和各开源产品的都可部署在AWS云服务上。4月底,Amazon又推出应用商店AWS Marketplace,由Amazon负责统一计费,更加方便用户。

    Rackspace与OpenStack

    此次我们也访问了Rackspace在旧金山的办公室。Rackspace是韩裔美国人Richard Yoo于1998年创办的,最初只是一家普通的ISP。在传统的主机托管厂商之中,较早转型云计算,也成为IaaS领域另一个领导性厂商,市值接近80亿美元,2011年营收超过10亿美元。最近他们透露,总服务器数已经超过8万台,云计算方面已经占到总业务的两成以上,据估计,它的规模是Amazon云平台的五分之一。

    图6 与Rackspace创业者关系负责人Robert Scoble合影

    Rackspace在云计算领域的领导地位还有一个重要原因——它是目前关注度最高的开源云计算项目之一OpenStack的主要发起者和实际领导者。而OpenStack的核心开发人员有些就在旧金山办公室。到访当天他们显得很忙,未及深谈,后来得知,不久后第五个OpenStack版本Essex发布了。

    从技术上说,OpenStack其实与其他开源云技术项目相比并不具备绝对优势。但由于拥抱开源早,路线图明确,很快获得了急需IaaS和私有云平台技术的众多厂商的支持。很大程度上,OpenStack已经成为抗衡Amazon霸主地位的阵营中坚。当然,社区运营和生态系统建设方面,OpenStack也有很多成功经验可供国内企业借鉴。现在参与开发的公司除了Rackspace、Nebula之外,还有Red Hat、Nicira、HP、Canonical、DreamHost、新浪、维基百科、思科甚至Citrix。

    在美国的交流中,我们发现除了大家言必称OpenStack之外,VMware主导的开源PaaS项目Cloud Foundry的关注度也较高。有趣的是,两者都将自己的目标定为成为云时代的Linux。相比之下,Citrix最近捐献给Apache的CloudStack(主要创始人是当年Sun JVM的作者Sheng Liang)和老牌的Eucalyptus的人气就差了很多,但它们都与AWS兼容,可以列入Amazon阵营。这三大生态系统之间如何竞合,将是云计算的大看点之一。

    云计算推动创业

    比AWS等云平台本身发展更重要的是,它们已成为美国云计算和创业生态系统的基石。由于云平台的存在,加上移动互联网的重大机遇,大量创业公司得以迅速兴起,硅谷、纽约、波士顿等各地,到处一派繁荣景象。比如在旧金山,我们到访的一座不起眼的四层小楼里,《Wired》杂志、Wikia和Engine Yard都在其中。AWS的客户名单(数以十万计)中包括许多美国当前热门公司(其他多是广告平台):Pinterest、Dropbox、Instagram、Reddit、Zynga……

    图7 AWS上每天访问量最大的客户(出自DeepField的演示稿)

    这些新兴企业的网络服务就架设在AWS平台上,从而免除了“为了让灯亮起来就要在IT上花费80%的时间和成本”(Gartner语),可以专注于开发应用、满足用户需求。比如,最近刚以10亿美元(因为大部分是股票,实际价值可能更高)被Facebook收购的Instgram,其技术方案大量采用AWS(主机选择Amazon EC2,图片数据库采用Amazon S3,CDN选用Amazon CloudFront等)。所以虽然Instgram只有13名员工(工程团队仅3人),却构建了最强大的移动端图片分享平台,甚至让Facebook感到了威胁。

    除了面向消费者的互联网和移动应用之外,云计算也为技术提供商创造了机遇。本次访问中我们在CloudCenter巧遇Puppet创始人Luke Kanies,并进行了简短的交流。他是一位资深的系统管理员,后转开发,2003年用没学多久的Ruby写出Puppet,是DevOps的最初推动力之一。后以此辞职创业,因为采用开源模式,最初三年公司基本没有收入,是苦苦撑下来的。今天,Puppet已经用于Google、Twitter、Zynga等数千企业,2011年底累计融资2500万美元。Puppet的劲敌,是Amazon的灾难处理大师Jesse Robbins开发的Chef,但他本人现在只担任Opscode的首席社区官。而Rackspace旧金山办公室的负责人Alex Polvi也是系统管理员出身的成功创业代表,他的云管理和监控服务CloudKick去年被Rackspace收购。

    图8 AWS其实已经不只是IaaS

    值得注意的是,Amazon现在已经并不限于Infrastructure这一层。从图8中还可以很清楚地看到,它也在同时向Platform层发展,加入很多管理和监控服务。这毫不奇怪,IaaS公认利润不高(虽然比Amazon的老本行还是要高一些),PaaS和SaaS才是肥沃之地。而且从用户的角度来看,一站式的服务永远是有吸引力的。

    但基于AWS的各种第三方PaaS服务仍然在繁荣发展,我们这次访问的Engine Yard和Heroku都是其中的优秀代表。

    Engine Yard是历史最久规、模最大的PaaS平台,有Amazon投资。目前付费用户超过2400个,包括Apple iTunes在欧洲的平台也依靠它们支撑。目前90%的应用为Ruby,其次也支持PHP和Node.js。

    而Heroku则是一家以用户体验和技术精湛而著称的PaaS公司,最初主要支持Ruby(Ruby创始人Matz是其首席架构师),现在也覆盖了Python、Java、Scala和Node.js。2010年以2.12亿美元卖给Salesforce,是云计算平台领域最大的并购之一。但有意思的是,收购已经过去一年多,Heroku仍然独立经营,只是从最初的地址搬到了旁边一座更大的楼里,完全保持创业公司的样子,而且平台也丝毫没有要从AWS迁移到自家Salesforce基础设施的打算。同样有趣的是,Facebook不是自建平台,而是在2011年9月与Heroku合作,让后者为Facebook上的社会化应用开发者提供PaaS服务。为了这次合作,Heroku特别增加了PHP支持。而合作也为Heroku带来丰厚回报:用户激增,平台上的应用数超过140万。

    有竞争,但合作共赢是主流,大家把更多精力放在产品和创新,为用户提供更好体验上。这种和谐共生的现象,尤其令我们这些见惯了乱景的中国人印象深刻。

    今天,一个普通的技术人员可以短时间内借助云计算平台,拥有和巨人对手们相同的计算资源,实现梦想,这才是云计算的真正价值所在。我们需要共同为之努力。


    展开全文
  • 所谓的云计算

    2009-01-17 22:00:00
    亚马逊、雅虎和RIM等公司近期均受困于自家的股票下跌,现在轮到了Google。云计算是Google倡导的一大趋势,也受到诸多科技公司的追捧:惠普、英特尔、雅虎近日都宣布将推进云计算的发展。戴尔甚至尝试注册“云计算”...
  • 云计算,大数据,人工智能

    万次阅读 2019-03-26 18:49:04
    自己本身的方向并不是云计算,但在软件开发这个行业,很多工程师并不是单纯只研究自己的方向,即便不能切实的应用某项技术,前去了解也是一件很有意思的事情。在很多的公司,做为一个技术从业者,如果技术面很窄,...
  • 一、互联网行业及云计算 在互联网时代,技术是推动社会发展的驱动,云计算则是一个包罗万象的技术栈集合,通过网络提供IAAS、PAAS、SAAS等资源,涵盖从数据中心底层的硬件设置到最上层客户的应用。给我们工作生活...
  • 大数据云计算学习路线

    千次阅读 2017-08-17 22:55:28
    大数据云计算系统顶级架构师课程学习路线图 大数据之Linux大数据开发篇 项目部分 大数据之阿里云企业级认证篇仅限面授与直播学员 大数据之Java企业级核心技术篇 大数据之PB级别网站性能优化篇 项目...
  • 大数据与云计算

    2021-04-22 22:25:47
    大数据与云计算笔记 数据仓库 数据仓库: 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和...
  •  李开复所谈到的Web3.0概念,与谷歌目前在全球力推的云计算概念密切相关。他预言,未来应用软件将全部移植到云端,经过浏览器可以得到所有网上的内容,也可以做今天需要应用软件做的内容。如今,Google做的一些软件...
  • 云计算、大数据和 AI

    万次阅读 2018-10-24 10:37:23
    看懂云计算,大数据,人工智能   我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时候也会...
  • 大数据之Linux+大数据开发篇阶段一、大数据、云计算 - Hadoop大数据开发技术课程一、大数据运维之Linux基础本部分是基础课程,帮大家进入大数据领域打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm...
  • 浅谈~云计算

    2016-12-16 14:40:16
    企业IT之王IBM,百年老店,吃的盐比别人吃的饭多。数据库之王Oracle在企业核心业务中,如泰山般不可撼动。互联网之王Googe,躺着赚钱,技术和创新能力人所共知。...他们虽然出身各不相同,现在和将来在云计算
  • 终于有人把云计算、大数据和 AI 讲明白了

    万次阅读 多人点赞 2018-06-19 21:45:58
    (点击上方公众号,可快速关注)作者: 刘超www.cnblogs.com/popsuper1982/p/8505203.html原标题:不是技术也能看懂云计算,大数据,人...
  • 云计算与人工智能

    千次阅读 2018-03-14 00:00:00
    因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时候也会提到大数据,谈人工智能的时候也会提大数据,谈人工智能的时候也会提云计算。所以说感觉他们又相辅相成不可分割,如果是非技术的...
  • 云计算+大数据+AI+物联网

    千次阅读 2018-12-28 11:52:44
    今天跟大家讲讲云计算、大数据和人工智能。这三个词现在非常火,并且它们之间好像互相有关系。终于有人把云计算、大数据和人工智能讲明白了! 一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工...
  • 一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成又不可分割。但如果是非技术的人员,就可能比较难理解这三者之间的相互关系,所以有必要解释一下...
  • 中国云计算的发展历史

    千次阅读 2020-04-12 13:12:06
    中国云计算的五大巨头 从理论上讲,中国云的发展是从2009年开始的。云计算的基石虚拟化概念是在1959年由ChristopherStrachey提出的,此后的四十多年以Amazon、IBM以及Google发展最为迅猛。2008年是云计算发展很重要...
  • 云计算、大数据和人工智能

    千次阅读 多人点赞 2018-11-05 21:13:39
    我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时候也会提到大数据,谈人工智能的时候也会提...
  • 云计算怎么跨越两个服务器 人们无时无刻不在找我,希望通过云计算的改造来重塑他们的IT事业。 尽管这通常是一个好举动,但我发现随着云计算世界变得越来越复杂,那些寻求获得高薪云计算工作的人正在打错电话。 这是...
  • 什么是云计算?(IaaSPaaS,SaaS区别)

    千次阅读 多人点赞 2018-08-07 20:58:04
    一、云计算最初是实现资源管理的灵活性 1.1 管数据中心就像配电脑 1.2 灵活就是想啥时要都有,想要多少都行 1.3 物理设备不灵活 1.4 虚拟化灵活多了 1.5 虚拟世界的赚钱与情怀 1.6 虚拟化的半自动和云计算的全自动 ...
  • 因为这三个东西现在非常火,并且它们之间好像互相有关系,可是很多人却不知道什么是云计算或者云计算应用在哪:一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三...
  • 大数据、云计算和AI

    2019-04-04 15:51:05
    原标题:不是技术也能看懂云计算,大数据,人工智能 我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,803
精华内容 1,521
关键字:

云计算相关的股票