精华内容
下载资源
问答
  • 检验成果的软指标与硬指标     红朝儒生 2016-12-8   关键字:成果指标指标 简介:有了成果,自然就产生了一个如何衡量的问题。于是就有了各种衡量指标。简单的分成两类,软指标和硬指标。     ...

    检验成果的软指标与硬指标

     

     

    红朝儒生

    2016-12-8

     

    关键字:成果 软指标 硬指标

    简介:有了成果,自然就产生了一个如何衡量的问题。于是就有了各种衡量指标。简单的分成两类,软指标和硬指标。

     

     

      说人类社会是个等级社会,很多人听了不高兴。那咱们就说人类社会是个层次社会,总可以吧。可以简单的分为统治阶级和被统治阶级。马克思主义忽悠说将来能消灭阶级,那是谬论,绝对不可能。总体来说,这两个层次是相对稳定的,之间流动性不大。

      一般情况下,要想向上层流动,就要比别人强的成果;而在上层来说,经常鼓吹自己取得了重大成果也很必要,有利于维护本层次的利益和稳定。

      

      有了成果,自然就产生了一个如何衡量的问题。于是就有了各种衡量指标,比如突破性、对比性、广泛性等等。吾以为,简单的说,有两类指标:

      软指标。简单的说,软指标有几个特点:模糊性,笼统说有成果了,具体情况不得而知;数字性,反正就是玩数字,多少很容易改;个别性,几个人发财了让人觉得全民发财了;万能性,只突出某个指标,其他的装聋作哑。

      硬指标。硬指标这东西不讨人喜欢,基本只有两个选项,是或否。比如某个技术,有就是有,没有就是没有;某个事情,能做到就是能做到,不能做到就是不能做到。

      说到这里,上层社会最喜欢哪一类的指标?当然是软指标了。比如GDP数字增长,不就是数字游戏嘛。

      

      说到这里,有人以为这批评社会的文章。这种指标分类适用于所有情形,比如工作成果的衡量,比如科学问题的衡量。举例来说:

      关于神6造假,有很多争议,各种疑点有争论有解释。其实有一个硬指标,就是背景上地球,几秒内地球云层变化。这一点永远都绕不过去。

      有人听了神6造假,不高兴了?没事,霉国登月也是造假的。抛开各种疑点,有几个硬指标永远绕不过去:地月之间进行实时语音通讯,地月之间进行彩电直播。以人类目前的科技理论,永远做不到,注意是永远。

      

      硬指标太可怕。

    展开全文
  • 通过需求采集活动,我们捕获到了大量的原始需求,而需求分析则 ... 需求分析的工作成果是《软件需求规格说明书》,它精确地阐述了一个 软件系统必须提供的功能,必须达到的质量属性指标以及它必须遵守的 约束。软件...

    通过需求采集活动,我们捕获到了大量的原始需求,而需求分析则 对采集到的原始需求进行分析,整理,辨别和归纳,最终形成系统 的,明确的软件需求。

            何为需求分析?需求分析就是对用户需求进行分析,以得到一份明确的 规范的需求定义。

            需求分析的工作成果是《软件需求规格说明书》,它精确地阐述了一个 软件系统必须提供的功能,必须达到的质量属性指标以及它必须遵守的 约束。软件需求规格说明书应尽可能完整地描述各种条件下的系统行为。

    展开全文
  • Facebook数据中心实践分析,OCP主要工作成果介绍   摘要:用讲故事的方式重点介绍了Facebook在数据中心方面的实践,其成立开放计算项目(OCP)以来的主要工作成果。 以下为正文: 保密本就是...
    

    Facebook数据中心实践分析,OCP主要工作成果介绍

         

    摘要:用讲故事的方式重点介绍了Facebook在数据中心方面的实践,其成立开放计算项目(OCP)以来的主要工作成果。



    以下为正文:

    保密本就是数据中心行业的惯例。2014年11月,我独自去拉斯维加斯(Las Vegas)南部参观SuperNAP数据中心。下车后,几次试图用手机拍建筑外景,迅速被开着悍马巡逻的警卫阻止。进门等候预约时段,虽说在美国警卫持枪是再平常不过的事,但警卫室里那几位严阵以待、随时准备应付劫匪的架势,仍令我印象深刻。参观数据中心内部不允许拍照是行规,不过之前我参观数据中心都有专人陪同,还没享受过这么戒备森严的待遇。

    图注:SuperNAP 7数据中心的接待室,我在这里等了20多分钟,得以观察小窗子里面的警卫室。图片来自SuperNAP官网,下同

    这与托管数据中心的性质不无关系,必须为租户保密。自为客户的Google则将基础设施视为核心竞争力之一,这从该公司对基础设施一贯的重视程度也能感受到。因此,Google长期对其数据中心和定制硬件设计秘而不宣,员工入职时要签署保密协议,离开Google一两年内也不能透露。

    图注:夜幕下的SuperNAP 7数据中心,典型的美式大平层结构

    但是,那些Google自己公开的数据中心内外景照片,又是怎么回事?

    2009年3月,Facebook从Google挖来工作近6年(更早在思科做过实习生)的硬件工程师Amir Michael,主管硬件设计。2010年4月1日,Facebook宣布任命Ken Patchett主管其位于俄勒冈(Oregon)州Prineville的第一个自建数据中心。Ken Patchett的职业生涯从康柏(Compaq)起步,在微软积累了近6年的数据中心和网络运营经验。到Google后指导过位于俄勒冈州Dalles的数据中心,去Facebook之前又在亚洲工作了一年多,管理Google自有和托管的数据中心。转了一圈,又回到俄勒冈州。

    图注:SuperNAP数据中心的警卫室

    从服务器设计到数据中心运营,Facebook坚持挖Google墙角,后者又不好打官司——这意味着要公开更多细节。更绝的还在后面:2011年4月,乘Prineville数据中心投产之东风,Facebook宣布发起开放计算项目(Open Compute Project,OCP),开源了其包括数据中心、定制服务器在内的一系列硬件设计。

    三年两大招,先挖人,再开放,Facebook在数据中心规模比Google差一个量级的条件下,经常被与前三大(还有微软和亚马逊)相提并论,OCP居功至伟,甚至连“百万富嗡”(指服务器风扇的噪音,非贬义)微软都来入伙。

    Facebook将数据中心宣传的公关战提高到一个崭新的水平。Google在2012年10月对外公开了一些数据中心技术的情况,包括请记者参观,和网站上近百张高清晰度的照片。但是,对于IT设备(服务器和网络)及相关技术,Google依然讳莫如深,至多提及其已废弃的服务器。Urs参与的前后两版书里,也是以宏观理念和数据中心层面的建设原则为主。

    图注:Google位于俄勒冈州Dalles的数据中心依山傍水(哥伦比亚河),团队成员可以享受漂流、风力冲浪、钓鱼和徒步的乐趣。注意看左上角的山腰处(来源:Google官网)

    有趣的是,James Hamilton还对Google公开的这些信息分析点评了一番。曾被认为在技术中心实力和保密程度上与Google一时瑜亮的AWS,如今似乎是最神秘的了。

    总体而言,Google透露的是久远的历史和近期的状况,中间的壮大过程中传世不多,Facebook的发展史或许可资借鉴。

    从一台服务器到多个数据中心

    2004年2月,Mark Zuckerberg(马克·扎克伯格)在哈佛大学宿舍内将Facebook上线,当时只有一台服务器。仅仅五年之后,这个世界最大的社交网站已拥有超过3亿活跃用户,每天处理3.9万亿feed,超过10亿聊天信息,1亿搜索请求,每月超过2000亿PV……

    在只有一小撮人使用,少量照片、没有视频的草创时期,全部服务运行在一台服务器上还是没问题的。2009年时的Facebook网站显然是另一个样子:载入用户主页这么一个看似简单的动作,就需要在不到一秒钟的时间里访问数以百计的服务器,处理上万片分散在各处的数据并提交所需的信息。

    服务器的增长速度不难想象,有迹象表明,Facebook的服务器数量:

    • 2008年4月约1万台;
      2009年约3万台;
      2010年6月至少6万台……
    即使放在今天,这个数量也可以排在Tier 2互联网客户的前列(以10万台为界,超过即为Tier 1,Facebook是十几家之一),能效就是必须要考虑的问题了。以每台服务器200W的保守计算,年耗电量已经超过1亿度。如果数据中心PUE(Power Usage Effectiveness,电源使用效率)能从1.5降到1.1,每年即可节省4200万度电。

    直到2009年,Facebook仍然依靠租用的数据中心空间,没有自建的数据中心。租用数据中心空间(自己部署服务器、网络等IT设施)的优点是交付速度较快,可以在5个月内搞定;建设一个数据中心则需要大约一年的时间和更多的前期投资,但是在供电和散热等方面可以根据自身需求定制,对超大规模用户更划算,Google、、微软和亚马逊早就自建数据中心了。

    图注:Prineville的两座数据中心建筑(来源:Facebook官网,2014年)

    2010年1月,Facebook宣布在俄勒冈州的Prineville建设属于自己的第一个数据中心,规划面积约1.4万平米,目标PUE为1.15。同年7月,社交巨头决定将Prineville数据中心的规模倍增至约3万平米。2010年12月完工,得益于100%使用外部空气冷却、无需空调的一系列高能效设计,PUE可低至1.073。与1.51的“业界平均值”相比,节能幅度还略好于我们刚才的假设。

    图注:2013年8月底,夕阳下的Altoona数据中心建设工地,占地约194英亩。到2013年11月中旬,每天有超过200人工作,累计工时近10万小时(来源:Facebook官网)

    从自建数据中心尝到甜头的Facebook再接再厉,先后在北卡罗来纳州(North Carolina)的Forest City(2010年11月宣布)、瑞典的Luleå(2011年10月宣布)和衣阿华(Iowa)州的Altoona(2013年4月宣布)建设数据中心。每个数据中心建成后都有扩建,像Prineville和Forest City还各增加了一个用于冷存储的数据中心(建筑),Luleå和Altoona的二期工程也在2014年启动。

    OCP缘起:青出于蓝以胜蓝?

    没有开源就没有今天的互联网行业,但这主要是从软件的角度来说。Google在软件开源方面还是做了不少工作,著名的Hadoop便可以视为Google无意间“开源”了思路的结果。就在2015年2月,Google宣布将其2014年6月收购获得的MapReduce for C(MR4C)开源,这是用C++开发的MapReduce框架,此举让用户可以在自己的Hadoop环境中运行原生的C及C++代码,是Hadoop社区的福音。

    支撑互联网基础设施的是开放硬件技术,这与开源不太一样。英特尔通过开放硬件技术营造的生态环境,击败了IBM及其他RISC厂商(ARM另当别论),但至少在OCP出现之前,无法想象戴尔和惠普会公开其服务器的详细设计材料。而且,“开源+开放”也不意味着结果一定是透明的,Google就在开源软件和开放硬件技术的基础上打造了专有的数据中心。

    应该说,扎克伯格很早就意识到,Facebook与Google必有一战,而且这一天远比国人听着耳熟的某同样句式表达来得快。Google在整个Web上开展广告业务,Facebook在自己的社交网络里开展广告业务,就像腾讯不让百度搜索进入微信一样,Facebook也要发展自己的搜索引擎。2013年Facebook上线了Graph Search,2014年12月初又更新为Facebook Search,随即在Facebook的搜索中去掉来自微软Bing的Web搜索结果。

    很重要的一个区别是,腾讯并不比百度小,而Facebook自身尚不能与Google抗衡。从服务器到数据中心,Google起步早,规模大,自成体系。为了迅速缩小基础设施领域与Google的差距,Facebook想出了通过开源壮大生态系统的妙招,即成立开放计算项目(OCP)。

    图注:开放计算项目(Open Compute Project)的Logo,左侧是用服务器主板拼成的“f”(来源:张广彬,2013年)

    作为一个开源的硬件项目,OCP不仅是公布Facebook“白手起家”定制数据中心和服务器的细节,直到机架和主板的CAD图纸,更邀请开源社区及其他合作伙伴使用并改进。也就是分成两个步骤:先放出规范和机械图纸,再与社区共同改进它们。

    如果我们考虑Facebook和Google身上类似硬件厂商的成分,可以看到,即便是生态系统的核心厂商如英特尔,也很难有如此社区化的思维。没错,上一个这样做的是Google,为了对抗苹果iOS而开源Android,成功的建设起巨大的生态系统,以群狼围攻猛虎。

    在这个资金和人才密集型行业,开源是争夺人才的好办法,还具有显著的广告效应。有更多的客户使用基于OCP规范的硬件,也可以增大采购量,帮助Facebook降低成本,起到类似团购的效果。

    当时OpenStack刚刚兴起,OCP也采用了一些类似的做法,譬如上下半年各一次峰会(Summit),并在2011年10月27日召开的第二届OCP Summit上,宣布成立OCP基金会(Open Compute Project Foundation)。不过,硬件设计的周期较长,于是,从2012年开始改为每年一次,2015年3月9至11日召开了第六届峰会。

    图注:Facebook的基础架构部门(来源:张广彬,2013年)

    在2014年1月底召开的第五届OCP峰会上,Mark Zuckerberg和Facebook工程副总裁Jay Parikh宣布,OCP成立三年来,开源硬件方案帮助Facebook节约了12亿美元。

    此时,OCP的成员总数已接近200家(不乏2014年加入的微软、VMware等重量级传统企业厂商),以广达(Quanta)为代表的7家解决方案提供商,大量经过验证的设计,Facebook和Rackspace的采用……接下来,就从董事会和典型项目两个方面,大致介绍一下OCP这个开源硬件组织的组织架构及主要成果。

    董事会:经验的传承

    成立基金会,而不是在Facebook一家控制之下,对OCP发展的重要性不言而喻。OCP基金会在董事会的管理下运作,最初有5位董事,分别来自5家公司。

    Frank Frankovsky代表Facebook,担任OCP基金会主席兼总裁。2009年10月加入Facebook,先后担任硬件设计与供应链运营总监和副总裁。此前,在戴尔负责服务器定制业务的数据中心解决方案(Data Center Solutions,DCS)部门担任总监近四年,上世纪90年代曾任康柏(Compaq)计算机公司的产品经理。

    图注:Facebook硬件实验室一角。在硬件实验室里,这已经算相当整洁的了(来源:张广彬,2013年)

    Mark Roenigk是Rackspace Hosting的COO,在微软工作过9年,大部分时间负责OEM和供应链运营,此前7年是康柏的工程师。Rackspace是著名的服务器托管商,有丰富的数据中心建设、运营和硬件经验,还与NASA共同催生了OpenStack——是惟一在一软一硬这两大开源组织中都有肇始之功的公司。

    Jason Waxman现任英特尔(Intel)数据中心事业部高密度计算业务总经理,主要负责的领域包括互联网数据中心、刀片服务器以及与未来密集型数据中心架构相关的技术。他还负责领导英特尔在云计算方面的工作,并在Blade.org和服务器系统架构组织(Server System Infrastructure Forum,SSI Forum)的董事会兼任管理职位。此前曾担任负责英特尔至强(Xeon)处理器、相关芯片组和平台产品及其客户关系的总监。

    图注:Facebook在硅谷的园区以前属于Sun——一家值得缅怀的伟大公司,顺道缅怀拍下这张照片的手机(来源:张广彬,2013年)

    Andy Bechtolshiem来自Arista Networks,更响亮的名头是“Sun Microsystems共同创办人”。Andy Bechtolshiem担任过Sun的首席系统架构师,第一个投资Google,还担任闪存初创企业DSSD的董事长——后者2014年5月被EMC高调收购。

    除高盛(Goldman Sachs)的Don Duet职业生涯主要履历为CIO之外,以上四人均有深厚的硬件行业背景,从产品、技术到供应链都有涉猎,见多识广,经验丰富,对把控开源硬件项目的发展方向至关重要。

    正如前面所说,OCP下辖的项目很多,从服务器到数据中心,还包括机架(Rack)、存储、网络、硬件管理,并于2014年启动了HPC(High Performance Computing,高性能计算)项目。

    服务器:始于Google,终成一派

    Facebook开始定制硬件不算早,前期的服务器也来自OEM。Facebook基础设施工程负责人Jay Parikh在2012年10月中旬的GigaOm Structure欧洲会议上表示,在瑞典Luleå的数据中心将是Facebook首次完全没有采用OEM服务器硬件。


    图注:Facebook的数据中心集群(2014年公开资料),前端(FE)集群包括大量的Web服务器和一些广告服务器、相对少量的Multifeed服务器;服务集群(SVC)包括搜索、图片、消息等服务器,后端(BE)集群主要是数据库服务器。这一配置规模有可能随着后面提及“6-pack”核心交换机的应用而改变。

    这显然与本章一开始提到的Amir Michael有直接关系,他比Frank Frankovsky还早半年加入Facebook,也是OCP的共同创办人之一,2013年1月起担任OCP孵化委员会(Incubation Committee,IC)副主席,4月出任Coolan CEO——该公司与Facebook及OCP颇有渊源,Amir Michael又是共同创办人。


    图注:区域数据中心之间的基础设施冗余。FE(前端集群)、SVC(服务集群)、BE(后端集群)组成一个整体,与另一个区域的数据中心互为冗余(来源:Facebook)

    超越往往从学习和模仿开始,虽然牛顿所谓“站在巨人的肩上”并非此意。OCP成立时,Facebook数据中心团队贡献的第一代OCP服务器,很大程度借鉴了Google的设计,最明显的标志就是1.5U(66mm)的服务器机箱。这样做的好处是可以使用直径更大的60mm低转速风扇,与1U服务器的40mm风扇相比,节能效果显著。450W供电模块(PSU)支持277V交流和48V直流输入,前者比208V减少不必要的电压转换,后者由备份电池提供短时电力供应,都是为了尽可能的避免能源损耗。散热与供电双管齐下,控制电费(省OPEX)。


    图注:Prinevill数据中心的供电转换环节与损耗状况对比(来源:Facebook)

    另一点是去掉(前)面板和BMC,没有VGA接口,以贯彻Facebook的“Vanity-free”(无浪费)精神。目标是尽可能降低购置成本(省CAPEX),尽管做工看起来有点糙。正如Jay Parikh所言,OCP服务器比标准服务器少很多功能,也尽可能需要更少的部件。


    图注:48伏电池柜的输电路径(来源:Facebook)

    OCP V1服务器有AMD(12核Opteron 6100)和Intel(6核Xeon 5600)两种双路方案,主板尺寸为13×13英寸,由广达(Quanta)制造。机箱宽度(480mm,略小于19英寸)和高度单位(Rack U,即RU,1RU为1.75英寸,即44.45mm)都遵守工业标准的“老规矩”,后端有3个硬盘托架,与主板均为免工具拆装。


    图注:OCP服务器V1(左)和V2(右)采用同样的1.5U机箱,4个60mm风扇位于主板后方,右侧的硬盘托架由供电模块提供冷却气流。V2的改进包括:硬盘前置便于维护;2个主板提升计算密度,但牺牲了可能的硬盘数量;CPU性能提升(来源:Facebook)

    2012年5月初在圣安东尼奥召开的第三届OCP峰会之前,AMD和Intel贡献了第二代OCP主板的设计,得益于至强(Xeon)E5-2600,Intel开始占据压倒性的优势。代号“Windmill”的Intel OCP v2.0主板采用双路Intel Xeon E5-2600,外形长而窄(6.5×20英寸,约165×508mm)。OCP V2服务器仍为1.5U规格,但主板宽度只有第一代的一半,因而能容纳两个计算节点,在同样的机箱内将密度翻番。

    为了支持两个主板,V2服务器的供电模块提升为700W,并与硬盘互换位置,这样从前面可以直接维护硬盘。

    经过两代服务器的摸索,相继暴露出一些问题:

    • 供电模块的冗余度差。相比于工业标准服务器的1+1冗余电源,这两代服务器只有一个供电模块。OCP V1服务器尚可用“牲口模式”来解释(关键组件出问题即替换整个服务器),OCP V2服务器的供电模块故障会导致两个计算节点失效,有点矫“枉”过正。为此Facebook还设计了高可用(High Availability,HA)服务器的方案,即增加一个PSU,替换下来一个主板,等于把计算密度又降回去了。
    • 可以用前一章所述把PSU集中到机架层面的方案(此时中国的天蝎整机柜已经这么做了),但是以19英寸机箱的宽度,拿走PSU剩下的空间,又不足以放下第三个主板(6.5×3=19.5英寸)。
    • 计算与存储没有解耦合。这在OCP V1服务器中尤为明显,3个驱动器托架可以放6个硬盘,计算节点只用一个启动盘的话,为保留不够用的灵活性而造成大量的空间浪费;OCP V2还好,因为增加的主板挤占了2个驱动器托架的位置。
    • 60mm风扇还不够大。
    • 不同程度的保留了USB接口,却没有BMC(Baseboard Management Controller,基板管理控制器)。哪个对管理更有价值,不言而喻。

    除了最后一点,其他几点都需要机箱、乃至机架设计的改变。

    Open Rack:重新定义数据中心机架

    Facebook最初采用19英寸三联柜设计,名为Freedom Triplet,宽度为1713mm,比三个并排的EIA 310-D机架(600mm×3)略窄。外侧的两个机架(机柜,Rack)上各有一个架顶式(Top of Rack,ToR)交换机,每一列30个Open Compute服务器,共90个。一组三联柜装满90个服务器后总重2600磅(约1179公斤),两组三联柜共享一个备份电池柜。


    图注:配合前两代服务器的Freedom三联柜,因并联而略省材料且更稳固,高度也略高于常见19英寸机架,可容纳30个1.5U服务器(45U)以及交换机(来源:OCP规范)

    Facebook很快认识到,形成于1950年代的EIA 310-D标准不能满足他们的要求。EIA 310-D标准化了机架内轨之间的宽度(19英寸),但把高度、深度、安装和布线方案以及连接器的规范留给制造商去定义。Facebook认为,这导致服务器和机架设计不必要的分化,把客户锁定于特定的供应商及其实现。


    图注:一个直流UPS电池柜支持两组三联柜共180台服务器的全系统(来源:Facebook,2010年)

    更关键的问题在于,传统的19英寸机架,考虑到侧边和滑轨,留给IT设备(服务器、存储)的可用宽度只有17.5英寸,不能并排放置3个(6.5英寸宽)主板或5个3.5英寸硬盘。嫌窄者早已有之,如IBM大机和EMC的高端存储,都有宽度在60cm以上的机架,譬如EMC Symmetrix VMAX,系统和存储机架宽度均超过75cm(30.2英寸,合76.7cm),为的也是容纳更大的服务器(存储控制器)或更多的硬盘。

    不过,一则拓展外宽未必提高效率,二则大机和高端存储从量上来说,还是小众产品,很少有人几千个机架的买。Facebook的办法是保持外宽600mm(近24英寸)不变,把内部横向间距从483mm扩大到538mm(21英寸),提高55mm(约2.2英寸),取消占地费钱的滑轨,空间利用率从73%(17.5英寸时)跃升为87.5%,可谓创举。


    图注:Open Rack俯视图(下前上后),可以看清内宽扩大,前端维护&后端供电等要素(来源:OCP规范)

    既然重要的内宽已经改变,索性把每个Unit也重新定义,高度从传统Rack U(RU)的44.5mm,略微放大至48mm,名为OpenU,简称OU,机架也起名为Open Rack(开放机架)。为与之前的设备兼容,保留0.5 OU为最小单位,不过后来似乎没有推出过非整数OU的产品。

    然后是整合供电模块,分为3个供电区(Power Zone),每个供电区有3 OU供电框安置7个700W的PSU(来自OCP V2服务器),N+1配置,共4.2kW,整个机架的供电能力达12.6kW。每机架两个PDU,200-277V交流在左后方,48V直流在右后方。服务器从机架正后方等距分布的3根铜排(Bus bar,母线)上取电,PSU输出电压12.5V,正好满足服务器对12V输入的要求。

    Open Rack v0.5版规范于2011年12月15日释出,在第三届OCP峰会上隆重介绍。该版本建议每个供电区为15 OU,12 OU用于IT设备;然后再留2 OU放置ToR交换机,总高度至少47 OU(不低于2300mm,似可见之前Triplet纵向空间分配思路的遗存)。2012年9月18日,Open Rack 1.0规范公布,主要明确了以下几点:

    • 专注于单列机架设计(非三联柜);

    • 入口(inlet)温度提高到35摄氏度,反映其他Open Compute设计和真实数据中心的温度;

    • 交换机布置更灵活,不仅限于供电区的顶端;

    • 计算设备(服务器/存储)机箱为1-10 OpenU高,支持L形支架直接承载。L形支架明显比传统服务器的测滑轨节省空间和成本,免工具安装,可以0.5 OpenU(24mm)为增量固定;

    • 最大高度取决于供电区,但建议不要超过2100mm,以保持稳定。常见的做法是每个供电区13 OU,IT设备10 OU,再加2 OU交换机,共41 OU;

    • 新设计的簧片(clip),使机箱电源连接器易与铜排配合。


    图注:Open Rack V1前视图和侧视图(左前右后),可以看到纵向空间的分配(来源:OCP规范)

    综合起来,Open Rack的特点主要是:

    1. 拓展空间。 开创性的提高了内部利用率,特别是留给IT设备的宽度大为增加,单位高度也略有提升,同时尽可能的保持了与原有机架标准的兼容性(外宽一致,高度接近);
    2. 集中供电。 提供机架范围内的共享与冗余,服务器等IT设备直接插拔取电,免去上架时的手动连线工作;
    3. 前端维护。 后端用于供电和散热,维护人员在冷通道一侧即可完成日常工作,不用进入热通道。两边跑不仅增加了工作量,在后端识别设备困难,容易导致误操作。

    当然副作用也是有的,即两侧起支撑作用的部分变薄,同时内部IT设备可能的重量还会增加(Open Rack V1.1规范已达950千克,接近本节开头提到的三联柜),对机架强度提出挑战。在整机柜交付等运输途中尤其如此,早期的Open Rack要在后端加斜梁辅助,防止变形。

    不过,在目前的Open Rack V2规范里,基本机架配置在动态环境下支持500千克的IT设备,通过增加紧固螺栓等手段,重载机架配置(Heavy Rack Config)可以支持1400千克的IT设备——作为对比,James Hamilton在re:Invent 2014大会上透露,AWS的存储优化机架可容纳864个(3.5英寸)硬盘,重达2350英镑(约1066千克)——要怎么装出这个密度来,也是门学问。

    还是类似三联柜的方式稳固(来源:OCP Engineering Workshop)


    图注:Open Rack V2还有重组供电布局、去掉单独电池柜等重要改进,将在后面的章节介绍。

    Open Vault:存储从服务器分离

    得益于Open Rack,第四届OCP峰会上亮相的第三代OCP服务器(代号Winterfell)在设计上有质的飞跃:

    • 主板仍然是v2.0,但服务器高度增至2 OU,并特意强调不是1.5 OU,80mm风扇效率进一步提高;
    • 更大的纵向空间有利于容纳全尺寸GPGPU,支持两个全高的PCIe卡,一个3.5英寸驱动器槽位,均从前端维护;
    • 服务器机箱里没有PSU,正好并排摆放三台(2个80mm风扇),分别从后部的铜排取电,密度进一步提高(2 OU3)且相互独立;
    • 观感上,做工精细了很多,裸露部分的处理也较好,总体上不输一般商用服务器的水准。


    图注:用于Open Rack V1的OCP服务器(Winterfell)俯视图及三联装(共占用2 OU机架空间)(来源:网络图片组合)

    现在的OCP服务器主板已发展到V3.1,尺寸不变,支持Intel Xeon E5-2600 V3,16个DIMM/NVDIMM,加上了BMC,支持Open Rack V1和V2。3个75W PCIe x8插槽,挤占了硬盘的位置,代之以板载mSATA/M.2(2260,60mm长),以前只支持mSATA,且需要通过适配器。

    硬盘先是被边缘化,接着连装操作系统的工作也被SSD抢走了。那么,大容量存储怎么办?


    图注:没有存储项目时Facebook的6种服务器类型,Type Ⅱ因与Type Ⅵ配置而被并入(弱势的AMD啊),多数公开资料里都没有;Type Ⅳ和Ⅴ的存储配置看着很像2U的所谓“存储服务器”(来源:Facebook)

    我们常说,互联网公司是不买存储(设备)的,这里指的是SAN、NAS等传统的企业级阵列,而不是没有对大容量存储的需求。像前面刚提到的AWS存储优化机架,即为一例。

    OCP V1服务器支持最多6个3.5英寸硬盘,都放满,不算多;只放一两个,剩下的空间又派不上别的用场。保持灵活性,就得付出浪费空间的代价,问题是也没多灵活。

    其时Amir宣布了一个面向存储密集型应用的项目设计,看起来像是个4U设备,支持50个硬盘,分配到两个控制器,可以连接到多台服务器,提供可变的计算与存储配比。

    第三届OCP峰会上,失势的AMD基于其双插槽Opteron 6200主板建立了一个代号Roadrunner的项目,包括1U(HPC选项)、1.5U(通用)、2U(云选项)、3U(存储计算选项)共四个规格。2U支持8个3.5英寸或25个2.5英寸驱动器,3U支持12个3.5英寸或35个2.5英寸驱动器,仅以3.5英寸硬盘的密度而言,还不如OEM厂商推出的服务器。在Open Rack实用后,这个项目愈发没有下文,AMD也投靠了ARM阵营,在OCP的项目里主要以微服务器卡(Micro-Server Card)刷存在感。

    总的来说,还是Amir那个计算与存储分离(解耦,disaggregation)的思路靠谱。Facebook在时任硬件工程经理Per Brashers和中国籍工程师晏勇等工作人员的努力下,于同一届峰会上公开的Open Vault(代号Knox)取得了成功。这是一个宽度和高度(2 OU)都适配Open Rack的JBOD(Just a Bunch of Disks,一堆硬盘的简单集合,无处理能力,需配合计算节点使用),共30个3.5英寸硬盘,分为上下两层,每层有15个硬盘和一对冗余的“控制器”。电路逻辑比服务器主板简单许多,基本上是Facebook独力设计完成,先交由广达生产,贡献给OCP之后,与OCP服务器一样有其他提供商(如Hyve Solutions和Wiwynn)生产的版本。


    图注:抽出一层(tray)共15个硬盘的Open Vault,背景机架供电区上方的2 OU设备为广达的JBR,也是JBOD(来源:张广彬,2013年)

    Open Vault是个非常经典的设计,后面会有专门的章节展开分析。


    图注:除了CPU、内存和硬盘配置的自然更新,2013年Facebook 的Hadoop(类型4)和Haystack(类型5)服务器都用上了Open Vault,冷存储机架更成为一种新的服务器类型(7),从硬件架构上也可以理解为一台单控制器带8个JBOD组成的低性能存储系统(来源:根据Facebook数据制表)

    现在,需要大容量存储的Facebook服务器,如Type Ⅳ(用于Hadoop)和Type Ⅴ(用于Haystack,Facebook的图片应用)都由Open Vault提供存储,还增加了一个OCP服务器带8个Open Vault(240个硬盘)的冷存储(Cold Storage)类型——共18U,占据半个机架。

    数据中心:RDDC与水……

    如前面介绍,OCP的孕育便与数据中心建设有着密不可分的关系,Facebook贡献的基于Prineville数据中心实践的数据中心电气和机械设计规范,是OCP最早的文档之一;Facebook向OCP贡献的冷存储硬件设计规范包括了冷存储数据中心地面布局的建议,冷存储服务器就是前述的配置。


    图注:位于北极圈边缘的Facebook Luleå数据中心,景象是不是有点像前一章介绍的Google芬兰Hamina数据中心?为Hamina数据中心提供电能的Maevaara风力发电厂就在Luleå北边不远……(图片来源:Facebook)

    2014年3月初,Facebook数据中心设计团队的设计工程师Marco Magarelli在OCP官网上撰文表示,瑞典Luleå园区的第二座数据中心建筑(Luleå 2)将采用“快速部署数据中心”(Rapid Deployment Data Center,RDDC)的概念模块化构建。RDDC包括两种方法,第二种“flat pack”(组合件)方式自称效仿宜家(Ikea),不过,真正“因地制宜”的是为了适应瑞典寒冷的气候(Luleå离北极圈不到100公里)——Facebook机械和散热工程师Veerendra Mulay在与我的交流中表示,用传统的方法建设数据中心需要11~12个月(参见Prineville),RDDC可以缩短为3~8个月,从而尽量避开Luleå下雪的季节(腾讯天津数据中心建设过程中也曾被暴雪所阻)。


    图注:chassis方式的不同类型模块(来源:Facebook)

    第一种“chassis”(底盘)方式来源于12英尺宽、40英尺长的预组装钢框架,是类似组装汽车底盘的理念:构建框架,然后在组装线上附件部件。电缆槽、输电排、控制面板乃至照明都在工厂预安装好。对应的,这种模块化方法就像搭建乐高积木。


    图注:flat pack方式的分段组装(来源:Facebook)

    顾名思义,这两种方法的精髓都体现了由传统的工程项目到工厂预制产品、现场模块化组装的转变。通过部署预安装的总成和预制单元模块、交付可预测和可重用的产品,RDDC能够实现站点无关设计、减少现场影响、改善执行和工艺的目标,加快数据中心建设的速度,提高利用率且易于复制到其他地区。提高效率,终归是要服务业务需求。


    图注:Prineville第一座数据中心的散热设计,上层顶棚(对照前面Altoona数据中心的框架结构照片)对外部冷空气和回流热空气进行处理,按一定比例混合

    RDDC很大程度上得益于Facebook着力推行的新风供冷(fresh air cooling),没有空调(Chiller-less)和冷却水管道,便于实现数据中心的模块化,另一好处是很低的PUE(约1.07)。相比之下,Google的数据中心模块化程度虽然高,但冷却水管道多少是个阻碍,PUE也略吃亏(约1.12)。不过,因为要靠喷水雾调节温度和湿度,Facebook的数据中心安全性略逊一筹。


    图注:Google俄勒冈州Dalles数据中心内景,蓝色的是冷水供应管道,红色的把温水送回致冷。铺设水管典型的工程项目,费时费力,难以模块化(来源:Google官网)

    2011年夏天,Prineville的数据中心投入使用不久,建筑控制系统错误的输送了富含水分(湿度95%)的冷空气(80华氏度),“机房里就像飘着一朵雨云”,很多服务器遇湿重启,或者因电线短路而自动关机。那年6月下旬,Facebook曾计划将Prineville数据中心二期像北卡Forest城数据中心一样,把服务器进风温度从80华氏度(26.7摄氏度)提高到85华氏度(约29度),相对湿度从65%提高到90%,温升(ΔT)从25华氏度提高到35华氏度,旨在减少环境的影响,并允许减少45%的空气处理硬件。现在看来其后两个指标只到80%和22华氏度,且只有Forest城数据中心相对湿度为90%,不知是否与这次事故有直接关联。


    图注:Facebook三大数据中心(Prineville、Forest City、Luleå)基本设计指标对比(来源:Facebook)

    网络:从边缘走向核心

    Intel在至强E5-2600的参考平台中力推夹层卡(Mezzanine Card)设计,特别是网卡,让高密度的机器获得和标准(PCIe)插卡接近的灵活性。这一思想在同样基于至强E5-2600的OCP Intel V2.0主板上得到了很好的体现,按照OCP Mezzanine Card 1.0规范设计的夹层卡,安装位置在主板前端(冷通道侧),便于维护。

    就标准机架服务器而言,网卡采用夹层卡设计的紧迫性不高,还会提高成本,所以OEM大厂的响应不是很热烈。支持者如戴尔等将灵活性作为主要卖点,以Broadcom或Intel的网卡模块为主,希望能推动传统企业用户加速向万兆网卡升级。OCP服务器则大量采用Mellanox的万兆夹层卡,丰富的特性如能降低传输延迟的RoCE(RDMA over Ethernet,以太网远程内存直接访问)和硬件虚拟化技术SR-IOV(Single Root I/O Virtualization,单根虚拟化)也是其卖点。甚至国内OEM服务器大厂如联想,亦在其天蝎2.0服务器节点中采用这种夹层网卡,如此“拿来主义”精神对扩大OCP的覆盖有一定积极作用。


    图注:联想天蝎2.0整机柜服务器节点用的就是万兆OCP夹层卡CX341A,Mellanox ConnectX-3 EN家族的单端口10GbE网卡,以色列原厂生产(来源:张广彬)

    OCP Intel V3.0主板加入了对 OCP Mezzanine Card 2.0的支持。2.0版夹层卡新增了可选的第二连接器,以满足未来高速网络(如100GbE)的需求,目前来看更主要的变化是扩大了板上空间,支持的接口模块也从1.0的2个SFP+升至2个QSFP、4个SFP+或4个RJ45/10GBASE-T的多种选择。


    图注:OCP夹层卡V2主要有三大改进:增加连接器B、扩大板上空间、可选I/O区域(来源:OCP Engineering Workshop)

    说到这里有必要指出,夹层卡属于服务器项目。OCP在网络项目上的起步相对较晚,从2013年才开始有规范产生,2014年逐渐壮大。

    按照OCP官网上的说法,网络项目最初的目标是开发边缘(leaf,指ToR)交换机,然后是骨干(spine,相当于Aggregation)交换机和其他硬件及软件方案。


    图注:三层网络的Aggregation(会聚)/Access(访问,如ToR)与二层网络的Spine(枝干)/leaf(叶子)存在一定的对应关系(来源:Cumulus Networks)

    网络设备与服务器的同源性还没有存储设备那么高,以交换机与服务器的配比,密度早不是一个级别,扩充空间不是优先考虑的事情。已有的几款OCP定制交换机在外形尺寸上很常规,标准RU、能装在19英寸机架里即可,电源和风扇的布置方式也很传统,有助于被企业市场接受。目前,OCP网络硬件追求的是类似服务器的使用体验乃至生命周期,包括控制平面与数据平面的高度模块化、软件与硬件解耦合,以实现定制的灵活性(DIY),避免被供应商锁定。


    图注:OCP网络项目的阶段性目标,先从传统单片式(Monolithic)交换机到软硬件解耦,再进一步模块化(来源:Facebook)

    数据平面的核心是ASIC(如Broadcom)或FPGA,不乏支持40GbE的方案;控制平面的CPU可以是x86(如AMD的嵌入式SoC,或Intel Atom)、PowerPC(如Freescale多核PPC)、MIPS(如Broadcom多核MIPS)或ARM。截至2015年2月底,OCP已经公开了6款交换机(Accton、Broadcom/Interface Masters、Mellanox和Intel各1款,Alpha Networks有2款)的设计,其中的半数方案可以根据需要配置为ToR或会聚(aggregation)交换机。

    软件与硬件解耦,ONIE是关键,也是OCP网络项目早期的重点工作。ONIE即Open Network Install Environment(开放网络安装环境),是一个定义用于裸金属(bare metal)网络交换机的开放“安装环境”的开源项目。传统的以太网交换机有预安装的操作系统,拿来就用,直接管理,但会锁定用户;所谓的白盒(white-box)网络交换机提供了选择硬件的自由,但不同的CPU架构等导致异构的管理子系统,又给上面的网络操作系统制造了困难。

    ONIE定义了一个开源的“安装环境”,将boot loader(引导装载程序)与现代的Linux内核及BusyBox相结合,提供了一个可以安装任何网络操作系统的环境,有助于自动化大型数据中心的交换机(上千台)配给,让用户像管理Linux服务器一样管理交换机。

    上述成果的直观体现就是Juniper Networks(瞻博网络)2014年12月初发布的OCX1100交换机,在Alpha Networks SNX-60×0-486F的硬件上运行基于Linux的Junos操作系统,预计于2015年第一季度上市。SNX-60×0-486F是Alpha Networks公司设计的OCP交换机,由一个BCM56854(Broadcom Trident Ⅱ)芯片提供48端口10G SFP+和6端口40G QSFP,CPU子系统为Freescale(飞思卡尔)P2020或Intel C2558,可作为ToR或会聚交换机使用。Dell(提供如Z9500-ON数据中心核心及会聚交换机)与Cumulus Networks(提供CLOS)的合作也是类似的情况。

    图注:2014年6月公开的Wedge交换机硬件设计,双冗余供电单元,4个风扇(来源:Facebook)

    没错,Facebook正在向核心交换机挺进。2014年6月,Facebook展示了其设计的新款ToR交换机(代号Wedge),有多达16个40GbE端口,支持Intel、AMD和ARM的CPU,配以基于Linux的操作系统(代号FBOSS)。


    图注:6-pack硬件平台外观,由于集中了PSU,Wedge交换机宽度更紧凑,两两并行放置(来源:Facebook)

    2015年2月11日,Facebook宣布推出第一款开放硬件模块化交换机“6-pack”,7RU的机箱,装有8个基于Wedge的交换机和2个fabric卡,共6层,底下还有一层电源和风扇。作为Facebook data center fabric的核心,6-pack将使Facebook可以组建更大规模的集群,而不是将集群分为多个,并因集群间的网络链路而限制集群的规模。


    图注:6-pack内部网络数据路径拓扑(来源:Facebook)

    Wedge和6-pack都将通过OCP公开设计规范。

    反哺与变局:来自传统厂商的支持

    2014年是OCP变动很大的一年,尽管也遇到了一些困惑,但生态系统明显壮大了起来,特别是体现出对传统软硬件厂商的吸引力。

    1月底召开的第五届OCP峰会上,微软高调宣布加入OCP,风头明显盖过一同亮相的IBM、Yandex、Cumulus Networks、Box、松下、Bloomberg、IO、LSI(已被Avago收购)。相比看起来像是打入内部探听消息的IBM,微软可谓诚意十足——贡献了用于全球云服务(如Windows Azure、Office 365和Bing)的开放云服务器(Open CloudServer,OCS)设计作为“投名状”。

    单论数据中心的规模,微软应该比Facebook和还在疯狂赶进度的IBM/SoftLayer(也是10万+服务器的Tier 2互联网客户)加在一起都大,把新硬件的采购换成OCP就已经是天大的喜讯了,再贡献一组硬件设计规范及管理软件源码,Staya Nedella还没上任就大赦天下?

    显然没那么简单,微软也有与Facebook类似的想法。

    现在OCP的服务器规范与设计页面中,开放云服务器的资料列在最上面,在2014年的Engineering Workshop里也是服务器部分的宣讲重头。OCS的12U机箱为EIA 310-D 19英寸机架而设计,半宽的计算和存储刀片,每U两节点(1U2),集中风扇、PSU和管理单元(Chassis Manager),很不Open Rack,更像12U的天蝎1.0整机柜(下一章介绍)。如此看来,要把天蝎项目纳入OCP,确实不是技术上的问题——只要BAT愿意……当然是在开放数据中心委员会成立之前。

    2014年10月底在巴黎召开的欧洲峰会上,公布了OCS V2规范。V2的计算刀片将CPU从V1的双路Intel Xeon E5-2400 v2(10核/CPU)升级为最新的双路Intel Xeon E5-2600 v3(14核/CPU,v3没有2400),内存随之由12个DDR3-1333升级为16个DDR4-2133,支持的容量范围也从64-192GB扩至128-512GB。计算能力大为增强,但CPU的TDP也从95W(应为E5-2470 v2)提高到120W(应为E5-2683 v3),因而每个刀片的能耗从不到250W增至300W或以上。

    图注:开放云服务器的机箱组件,机箱管理卡类似于天蝎整机柜的RMC,特点是运行Windows Server 2012 R2,微软已开源机箱管理软件的代码(来源:OCP Engineering Workshop)

    所以,OCS V2的机箱也进行了升级,首先是6个PSU从1400W换成1600W,N+1配置时总容量8kW,支持24个计算刀片,N+N配置时为4.8kW。付出的代价是供电的停顿时间(hold-up time)从10毫秒倍增为20毫秒,并以新的风扇匹配刀片的能耗。

    刀片性能的提高,对I/O带宽也提出了更高的要求,OCS V2每层托盘(Tray)的I/O从V1的双10GbE和双6Gb SAS(x4)升级为10/40GbE和双12Gb SAS(x4),并增加了PCI Express 3.0 x16的夹层卡。


    图注:2011年微软IT-PAC(IT Pre-Assembled Components,IT预组装部件)中的服务器机架,看似是开放云服务器的前身,目测机架高度应该在50U以上

    存储刀片为可容纳10个3.5英寸硬盘驱动器的JBOD,V2也是从V1的6Gb SAS升级为12Gb SAS,单就硬盘密度而言,每机架可达800个硬盘。V1 JBOD仍可用于V2机箱,每个计算刀片自带4个3.5英寸硬盘(V1还支持2个2.5英寸SSD,V2增至4个,以及8个110mm M.2 PCIe NVMe模块)。每个计算刀片可连接1-8个JBOD,即支持14-84个硬盘。


    图注:Facebook的PB级蓝光归档存储系统(来源:The Register,2014年)

    第五届OCP峰会上还展示了Facebook的蓝光光盘归档存储系统,42U的空间内可以容纳1万个三层100GB光盘,容量达1PB,据称可以保存信息50年。Facebook的前辈Google使用单盘容量更大的磁带,也有历史因素,Facebook则认为光盘代表着未来。


    图注:Google南卡Berkeley County数据中心的磁带备份系统,这张照片以前曾被误传为Google的服务器(来源:Google官网)

    从离线存储的角度来看,磁带与光盘各有千秋,短期内难分胜负。很快见效的是,2014年3月下旬,Frank Frankovsky宣布离开Facebook,去做一个基于光盘的冷存储初创公司,但以独立身份保留在OCP基金会董事会的位置,并继续担任基金会主席兼总裁。董事会里必须有Facebook的代言人,于是增补了Facebook基础设施总监Jason Taylor,以及微软负责云和企业业务的副总裁Bill Laing,规模扩大到7人。


    图注:调整后的OCP组织架构(来源:OCP官网)

    老牌存储厂商EMC在2013年1月举办的第四届OCP峰会上就宣布入伙,只是风头被一起加入OCP的ARM压过。因此,EMC World 2014上发布基于x86商用服务器硬件的ECS(Elastic Cloud Storage,弹性云存储)设备时,就被问到是否与OCP有关。相比之下,EMC的子公司VMware就爽快得多,在2014年8月底举办的VMworld 2015上宣布加入OCP,尚处于技术预览阶段的EVO: RACK则明确表示基于OCP硬件——毕竟,VMware自身没有硬件包袱。

    小结:模式、传承与融合

    OCP下属项目越来越多,第六届峰会马上就要召开,短短一章实在难以尽述,单独写一本书都是可以的。本章走马观花的概览了一些关键项目,有主要感受如下:

    1. 模式。 OCP最成功之处无疑是创造了开源硬件的模式,虽然起自Facebook自家的定制需求,却在社区的协助下,进一步推动硬件的标准化与商品(commodity)化;
    2. 传承。 开源软件的模式可以学,没有精通硬件的人才也搞不好。众多在硬件厂商乃至Google有多年数据中心相关技术积累的专业人才,为OCP的后发优势提供了可能;
    3. 融合 。OCP已经体现出了来自互联网的第三平台对传统企业市场的第二平台的影响,微软和VMware、Juniper等在传统企业市场积累有软件资产,要颠覆现有硬件秩序或顺应潮流的,都来加盟。开源社区的特性和这些加盟者所做的工作,也会影响到OCP的发展方向。
    展开全文
  • 这篇文章,我们来谈一下,如何量化我们的工作,如何将我们的工作成果展示出来。如何让同事,让领导体会到我们工作的成果。我会通过几个例子来帮助大家快速理解,以及掌握这门“技术” 。 《让数据开口说话》是我给这...

    无论是身处什么行业什么领域,数据分析越来越成为一向必不可少的技能, 而运用数据思维进行决策更能产生形成高质量的决策结果。

    随着互联网的不断发展和物联网设备的不断普及,我们日常生活中的各种数据被存储下来,让我们可以通过定量分析数据,利用数据实现更好的决策制定。

    现在越来越多的公司开始注重这一块,一方面自建数据体系,一方面去买一些数据。而对于我们个人似乎还没有意识到或者开始挖掘数据对我们的价值。

    笔者最近的工作大都是做一些基础设施搭建和流程优化相关的工作。这部分工作对很多人来说都是“隐形”的,对上层使用者来说很难有很大的感知。对于领导来说,如果你只是闷头去做事情,他们也是很难知道你干的怎么样,如果这之间再加上 你没有什么反馈,就会给同事和领导一种“不靠谱”的感觉。

    因此给予反馈和直观展示自己劳动成果的能力就显得非常重要。然而如果你能很好展示自己的劳动成果,那么只需要将这个给老板看就是一种很好很直观的反馈。

    这篇文章,我们来谈一下,如何量化我们的工作,如何将我们的工作成果展示出来。如何让同事,让领导体会到我们工作的成果。我会通过几个例子来帮助大家快速理解,以及掌握这门“技术” 。

    《让数据开口说话》是我给这篇文章的标题,让数据开口说话,你就可以少说一点,并且摆数据就是摆事实,数据带来的说服力要比你说的话强很多。

    收集数据

    如果让数据开头说话,那么首先第一步你要有数据。

    因此我们的第一步就是收集数据,那么在这之前你需要知道你需要什么数据。这部分的内容随着每个人任务不同肯定是不一样的。因此有着很大的灵活性,

    有一个指导思想就是对关键指标分解。比如我现在要做打包时间进行优化,那么打包时间由哪些时间决定。

    打包时间 =  阶段1 时间 + 阶段2 时间 + 阶段3 时间

    我们减少打包时间肯定要减少其中一个或多个。

    有时候我们无法找到这种简单的分解,那就教大家另外一个技巧:运用对比。

    一方面可以基于时间进行对比,比如环比增长,同比增长等数据都是这么来的。

    另一方面我们可以基于用户属性进行对比,比如用户年龄,性别,偏好,操作系统类型, 地域属性等。

    下面我举几个例子。

    打包优化

    假如你被分配了一个任务。让你对项目的打包过程进行优化。

    • 你需要对打包时间进行优化,减少打包的时间

    • 你需要对打包的最终产物进行优化,减少打出的包的包体大小。

    • 将打包变得尽可能的简单,也就说尽量减少人为的操作过程。

    你接到了这样一个任务,你会如何去做?

    这里我们不考虑具体的具体思路和细节。假设你的架构思路,方案规划,各种fallback已经想好了。我们如何通过上面提到的让数据说话的角度来收集数据呢?换句话说,我们需要收集哪些数据?

    打包时间

    对于打包时间的数据,最简单的我们计算一下总体的打包时间。

    最后我们只需要对比优化前后的总体打包时间差异即可。

    640?wx_fmt=png

    这对于老板来说可能已经够了,但是这缺乏一些精确性,我们无法知道通过优化了哪个环节进行 减少了打包时间。因此一种简单的改进是将打包划分为多个阶段,每个阶段分别进行统计计时⌛️ 。

    640?wx_fmt=png

    包的大小

    包的大小的数据其实和上面讲的打包时间思路类似。

    我们当然可以只统计总体包大小。

    640?wx_fmt=png

    但是为了获得更加灵活的定制和更加精确的范围我们可以对包进行一定的划分。这个划分可以是业务纬度,也可以是纯技术纬度。

    640?wx_fmt=png

    打包命令

    这部分比较简单,我们只需要简单地统计手动操作的次数即可。

    640?wx_fmt=png

    通过收集以上的数据,我们就可以用数据来表示我们的成果,让数据说话,关于如何 使用这些数据,我们稍后讨论。

    页面加载性能优化

    假如你被分配了一个任务。让你对项目的页面加载速度进行优化。你会怎么做?

    这个任务有点太宽泛了,更多的时候会有一些更精确的指标, 比如将网络状态为 fast3G中端机型的白屏时间降低到 3s以内

    timing

    性能优化的第一步就是测量,没有测量就没有优化。我们不能为了优化而优化, 而是看到了某些点需要优化才去优化的。而发现这个点一个重要的方式就是要靠测量。

    说到测量,普遍接受的方式是,在浏览器中进行打点,将浏览器打开网页的过程看作是一个旅行。那么我们每到一个地方就拍张带有时间的照片(事件),最后我们对这些照片按照时间进行排列, 然后分析哪部分是我们的瓶颈点等。

    640?wx_fmt=png

    有了这些timing 我们可以很方便的计算各项性能指标。我们还可以自定义一些我们关心的指标,比如请求时间(成功和失败分开统计),较长js操作时间,或者比较重要的功能等。

    总之收集到这些数据之后,我们只需要根据我们的需求去定制一些指标即可。

    这样我们就很容易展示出这样的画面:

    640?wx_fmt=png

    人效提升

    假如你是一个项目的管理者,上级分配给你一个任务,要在未来几个季度去做“研发效率提升”, 也就是提高“交付速度”。你会怎么做这件事?

    任务

    这个事情是比较主观的了,因此我们切实需要一些可以量化的东西来辅助我们。

    我们考虑将需求进行拆分,变成一个个任务。一个需求可能有多个任务。

    640?wx_fmt=png

    我们考虑对每一个任务进行计时,而不是需求,因为需求有太大的差异。我们可以针对任务进行分类,然后我们的目标就可以变成“减少同类任务的交付时长”。

    但是这种粒度似乎还是有点大。我们可以采取标签的形式,对任务进行交叉分类。

    640?wx_fmt=png

    任务纬度可能还是有点太大,我们可以采取更小的粒度划分,比如模块和组件。

    640?wx_fmt=png

    这样我们的统计纬度就丰富起来了,我们不仅可以总体进行统计分析,我们还可以根据tag和tag的组合进行汇总。

    比如一个典型的统计结果大概是:

     - task1 (tagA)	
      - module1 (tagA)	
        - component1 (tagB)	
        - component2 (tagA)	
      - module2 (tagB)	
      - module3 (tagB)	
     - task2 (tagA)	
     - task3 (tagC)

    比如这里有一种tag叫“是否复用了以前的代码”, 那么我们就很容易统计出组件复用率,也就很容易很直观地知道前后的差距了。

    用户拉新和留存

    再比如我们需要做“用户拉新和留存”,我们应该怎么做?

    这个留做思考题,大家可以思考一下。

    我这里抛砖引玉一下,比如我们的统计纬度可以是:

    - 用户访问时长 (tagA)	
    - 跳出率 (tagB)	
    - 新用户 (tagA)	
    - 流失的老用户 (tagB)	
    - 地址位置 (tagA)

    假如我的tag有两个分别是 用户id和时间, 我们就可以方便地统计每个用户的活动数据趋势。

    让数据说话

    有了数据,我们如何通过数据来增强表现力呢?

    一种非常有效的措施是可视化。现在的可视化引擎和工具有很多,功能也非常复杂。

    但是我发现我个人需要的就那么几个,可能大家每个人需要的种类不大一样, 但是我相信作为个人,你需要的种类不会很多。因此自己根据自身的实际情况, 挑选适合自己的几种类型,做到迎刃有余就足够了。

    对于我而言,我常用的是饼图,用来表示分布关系。曲线图用来表示趋势。用柱状图表示对比+趋势。用热度图表示离散的数据分布等等。

    我们可以使用一些现有的成熟的产品来帮助我们将刚才我们收集到的数据转化为各种图表, 比如 画布

    这个网站能做的图表种类比较少。

    640?wx_fmt=png

    当然作为一名前端我们也可以自己写代码去更灵活地展示我们的数据,比如D3或者百度的echarts

    任何类型的图表都可以做,只有你想不到,没有它做不到。

    640?wx_fmt=png

    相对折中一点,我们可以选择支持代码定制的一些产品,在特殊情况我们可以自定义。

    累死累活干不过做 PPT 的

    有了这些数据图表,是时候写一份PPT来秀一下了。

    一种方式是使用你电脑的办公软件或者一些在线的幻灯片制作工具做, 比如slides 。

    另一种方式通过写代码的方式实现,作为程序员我推荐使用第二种。这里推荐一款 nodejs cli工具 nodeppt,还有另外一个 JS框架 reveal.js 。上面提到的slides背后的原理就是它。

    640?wx_fmt=png

    总结

    这篇文章我主要讲述了如何量化我们的工作,并将我们的工作成果展示出来。从而摆脱“干了很多事情,却说不出来,甚至功劳被人无情拿走的尴尬局面”。

    首先我们将了如何收集数据,收集数据的一些技巧,这里通过几个实际工作的例子,分别是“打包优化”,“性能优化”,“人效提升”,“用户留存” ,来帮助大家理解这个过程,掌握这个技巧。有了数据之后,我们需要通过一些手段将其数据展示出来,给人直观的感受,最好有视觉冲击感。这里我推荐了几个工具和平台,大家可以根据自己的情况选择。最后结合我们实际情况,PPT是一个很好的展示自己的东西,不管是晋升还是宣传都是很好的方式, 这里我也推荐了几个产品,帮助大家更快更好地将图表展示出来。

    让数据开口说话,你就可以少说一点,并且摆数据就是摆事实,数据带来的说服力要比你说的话强很多。

    关注我

    展开全文
  • 前端开发工作感悟:具体的量化指标

    千次阅读 2012-04-17 21:12:00
    在过去的一年里,“前端开发部”主要承担着公司“前端页面”设计和制作方面的工作。在各位同事的努力下,妥善的处理好了这方面的相关业务。 作为设计师,在完成平面设计及网站设计的同时,为页面的优化提出了很多...
  • 如何设计KPI指标——关键绩效指标

    千次阅读 2011-04-14 15:02:00
    如何设计KPI指标——关键绩效指标
  • 客户要求将一份汇总数据采用热图(Heatmap)的形式展示出来。...1. 确定Measure(也就是考量指标),本例为Compliant比例(Protocol ID相同的各条数据中,IssueCompliance字段的值为"Compliant"的占比),放在图表Y
  • 针对采用CO单一指标气体作为煤自燃判别依据的局限性,通过模拟采煤工作面真实漏风、蓄热环境,研究了大佛寺矿煤自燃多参数预报指标气体随煤温升高的变化规律。...研究成果对大佛寺矿的防灭火工作具有很好的指导意义。
  • 尽早和尽量多的发现缺陷是测试人员的重要... 尽管缺陷是测试人员在整个测试过程中的重要工作成果和输出,但是,纯粹的缺陷数量并不适合作为考核测试人员的指标。本文将从两个方面阐述其中的理由:首先,以缺陷数...
  • 为实时有效地对巷道工作面的煤与瓦斯突出危险性进行跟踪监测和预测,对巷道工作面掘进过程中的瓦斯涌出进行跟踪考察,对其时序性规律进行研究,并将研究成果与突出预测指标进行对比分析和验证。
  • 针对七五煤矿3#煤层217工作面自然发火问题,通过煤低温氧化试验和灰色关联度分析相结合的方法,优选了自然发火指标...该研究成果提高了煤自燃预测结果的准确性,为七五煤矿217工作面自然发火治理提供科学依据及理论指导。
  • 为研究充填墙强度和宽度对巷道变形的影响,确定合理的巷旁充填参数,建立了充填墙承载结构模型,并基于多指标分析,运用全面试验设计,精确分析了充填墙强度、...将研究成果应用于3107工作面,取得良好的围岩控制效果。
  • 为研究充填墙强度和宽度对巷道变形的影响,确定合理的巷旁充填参数,建立了充填墙承载结构模型,并基于多指标分析,运用全面试验设计,精确分析了充填墙强度、...将研究成果应用于3107工作面,取得良好的围岩控制效果。
  • 电子科大取消硕士学位“发表论文”硬指标2009年10月20日 09:11华西都市报【大 中 小】 【打印】 共有评论0条电子科大计算机学院·软件学院昨出台研究生培养新方案昨日,记者从电子科技大学了解到,该校计算机学院·...
  • 综合评价指标体系建立及评价方法的选择是综合评价工作的中心环节。在前人研究成果基础上,提出了一套较为完整、实用的指标体系的建立方法,并提出了评价方法的选择原则。指出了当前综合评价工作中尚待研究的问题。
  • 工作行为特征图谱

    2019-09-26 11:29:01
    可以说,有效的定义工作行为特征指标并构建工作行为特征图谱,是实践研发管理智能化的关键。 工作行为特征指标定义 针对软件产品公司,员工的工作行为特征指标...3)工作成果输出特征,可根据岗位设定成果,如gi...
  • 四 基本要求 总体要求 按照第一次全国污染源普查数据分析和成果开发工作指导意见的要求分级负责做好第一次全国污染源普查数据处理和成果开发工作 四 基本要求 1. 客观性要求 数据真实可靠严把质量关 尊重数据...
  • 关键业绩指标(KPI)

    千次阅读 2010-08-08 00:59:00
     (Key Performance Indication)即关键业绩指标,是通过对组织内部某一流程的输入端、输出端的关键参数进行设置、取样、计算、分析,衡量流程绩效的一种目标式量化管理指标,是把企业的战略目标分解为可运作...
  • 级配曲线是颗粒分析试验的重要成果图件,用其计算的不均匀系数 Cu与曲率系数 Cc是路基填料划分的重要指标。 传统作图法整理级配曲线时,工作量大且精度不高。在分析线性插值、多项式插值、Lagrange插值与分段抛物线...
  • 工作面突出危险性预测及效果检验是煤与瓦斯突出防治的最后一道“关卡”,预测及效检结果的准确性是突出防治...研究成果揭示了构造煤发育区“低指标突出”现象的技术原因,可为煤与瓦斯突出预测技术的改进提供技术支撑。
  • 互联网数据分析--指标和维度

    千次阅读 2019-07-22 07:13:37
    关于指标和维度: 指标和维度是数据分析的两个基础术语。 指标用来衡量事物发展程度,通过几个关键指标可衡量公司业务运营情况的好坏。指标需通过加和、平均等汇总计算得到,提前是要通过在一定的统计口径和范围内...
  • DEA在科技评价中的指标优化研究

    万次阅读 2012-08-22 17:49:21
    摘要:为解决DEA在科技评价中的指标选取与模型优化问题,本文建立效率回归模型,首先采用DEA方法对科技投入产出进行效率测度,然后将效率作为被解释变量,将所有投入产出指标作为解释变量,运用多元线性回归进行分析...
  • 在建设政务大数据平台的过程中,项目组的注意力往往是汇聚委办局数据、建设基础库、提供数据服务等方面的工作,忽略了归纳总结平台自身的指标,尤其是当项目不包含应用建设的时候,项目成果汇报常常乏善可陈,常常...
  • 番茄工作

    千次阅读 2013-10-29 15:15:13
    番茄工作法 “对很多人来说,时间就像是敌人。特别是在快要考试,快要截稿,工期快到时,当你身边的闹钟‘滴答滴答’地提醒着你,时间已经很紧迫,那时焦急的心情会导致你的工作和学习效率低下,这时你所想的可能...
  • 【数据标准】数据指标体系建立

    万次阅读 多人点赞 2019-10-15 22:03:22
    图11 指标成果主要应用场景 通过指标数据体系的应用,我们将规范企业内指标使用的规范性,提高数据的准确性、一致性和可追溯性。 图12 指标体系 以上,我们简要介绍了一下如何通过企业内的数据资源找到业务分析...
  • 本 文在对先 目 工作者关 于态势感知研究成果研 习 的 基础上 , 将 网 络 安 全事件和 网络节 点 资源信 息作为指标提 取的数据源 , 构 建 出 种 树形指 标体系 , 然后 结合该指标体 系提 出 一种层 次化 的 ...
  • 客观评价-基于指标客观评价-基于模型R&S®UPV音频分析仪小结那么我们现在用哪些评价方法呢?基于深度学习的方法:AutoMOS, QualityNe, NISQA, MOSNetMOSNet(`absolute.mosnet`或`mosnet`)语音质量的感知评估...
  • 如何构建合理的数据指标体系

    千次阅读 2021-01-19 07:07:00
    “没有一套合理的数据指标体系,纵然你有再多的数据,分析起来根本无从下手。”做数据分析时的你是否深有同感?因此今天我会先讲解如何构建数据指标体系,接着再谈谈数据分析方法,从这两方面分享我所...
  • 它是有很多评价指标和考核标准的,比如,国家的专利数量啊,科研人员的数量啊,科研成果数量啊,发表论文数量啊,科技向生产领域的转化率啊,等等,用这些来作为考核指标。 我们国家这两年是很难不着急的,因为今年...
  • 作为枟辽宁省高新技术企业技术创新能力评价枠的阶段性研究成果,在对辽宁省高新技术企业技术创新能力评价指标体系进行结构分析的基础上,展开体系架构的研究,是为辽宁省高新技术企业技术创新能力评价工作的基础研究。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,931
精华内容 12,772
关键字:

工作成果指标