精华内容
下载资源
问答
  • #资源达人分享计划#
  • 同类书籍不能只读一本,如果只读一本就深入的进行模仿实践,很容易陷入被某一个单一的理论框架束缚的窘境。 intel早年是做DRAM起步赚钱的,后来日本人践行了稻盛和夫的阿米巴体系,制造出了更低价格并且相同质量的...

    在这里插入图片描述

    导读

    最近有一档综艺节目不知道大家有没有看过,具体什么名字我就不在这里说了,免去广告的嫌疑,里面的一个明星嘉宾是黄晓明,几档节目下来,通过秦海璐、黄晓明等人对公司的模拟管理,出现了一种管理方式叫做“黄晓明式”领导管理,就是对员工的方式,我现在记忆犹新的一句话就是“我不要你觉得,我要我觉得”,典型的狼式管理,完全不听取员工的反馈和建议!类似于古代独裁专制固步自封闭门造车的明清时代。

    以前读过几本经典的关于企业和团队管理的书籍,比如稻盛和夫的《干法》,安迪葛鲁夫 《职业经理人的第一堂课》,杰克韦尔奇的《商业的本质》, Eric Schmidt的《How google works》, Brent Schlender的《Becoming Steve Jobs》, 《重新定义团队》只能算是中等偏下的水准, 更适合HR工作者阅读,熟读这几本书,足够让你悟到如何带领一家公司从startup 开始,跨越A轮/B轮/C轮/D轮融资到上市,基业长青之路;

    同类书籍不能只读一本,如果只读一本就深入的进行模仿实践,很容易陷入被某一个单一的理论框架束缚的窘境。 intel早年是做DRAM起步赚钱的,后来日本人践行了稻盛和夫的阿米巴体系,制造出了更低价格并且相同质量的DRAM,安迪葛鲁夫高瞻远瞩的作出了战略选择:离开DRAM这个细分的领域,迈入了更高利润率更尖端技术的CPU领域,至今仍然在芯片领域独孤求败;所以如果你只读了稻盛和夫的《干法》,你永远也不会知道这个世界上的一些事情还有其他的选择,只会管中窥豹;

    阿里巴巴有一句文化叫“相信相信的力量”,但这个口号未必适合企业发展的所有阶段吗,也未必适合你所在的行业吗; 这个口号适合没有任何技术壁垒靠纯运营取胜的公司;程维在最近一次的闭门会议上指导战略的时候说到:我们起步阶段需要“相信相信的力量”, 做了很多“逆天”的事情, 伴随着企业发展,我们要尊重客观规律,我们要放眼世界,找到适合自己的道路;但是如果没有当初的“逆天”的思想和指导,就不会踏着30个家公司的尸体走到今天350亿美金的估值;

    本书作者的职业是HR,曾经在麦肯锡/GE工作过,后来加入了google,从HR的角度看公司和团队管理是有”偏见“的;比如,书中就过多的强调了文化价值观的作用,而忽略了企业领袖的影响,一个企业在初期选择创业方向的时候,有没有选择在上升期的行业里面? 即使在上升期的行业里面,有没有迅速的形成壁垒? 这些都需要CEO有清楚的判断; 这个是非常难的,跟企业文化价值观关系不大;一个创新技术到应用到终端用户符合这样一个接力棒的理论,第一棒在学术界,学术界完成验证,进入第二棒在实验室/工业界,第三棒在投资界,第四棒是产业化,你的公司所需要的技术在那一个阶段,还需要多久才进入下一个阶段,CEO需要有洞察力和判断力; 举例来说,AI会引领下一个时代, AI技术里面最重要的就是感知能力和认知能力,感知能力的部分的接力棒已经从学术界交接给了工业界,未来5到10年,汽车/机器人将非常可能具有精准的感知能力,投资界和产业界就大有可为,但是认知能力的技术还在学术界进行研究,如果自不量力一头扎入了设计认知能力的提升的领域,通过认知能力来改造现有的产品,就会耗时更久,意味着需要投入更多的时间和金钱在基础研究上,失败的概率很高,显然初创公司不适合在这个领域投入;类似这些判断都是需要CEO的洞察力和判断力;一家公司的天花板就是这个公司CEO的天花板,程维在这4年成长了一万倍,拉里佩奇两位年轻的创始人也是在“施密特”照顾下成长起来的,腾讯的创业五虎也成就了Pony今天的地位;如果他们没有成长,企业早就没有了,何谈企业文化。
    在这里插入图片描述

    内容

    前言

    以谷歌为代表的管理方式——我将其称作“高度自由”的方式,员工享有极大的自由——将是未来的方向。管理严密、等级森严、指挥控制的管理模式——“低度自由”环境——很快将逐步绝迹。管理者的关注重点不是惩罚或奖励,而是清除路障,鼓励团队。

    蒙台梭利教育法

    第一章

    谷歌工作法则:成为一名创始人

    • 把自己看成是一名创始人
    • 像创始人一样行动

    第二章 “文化可以把战略当早餐一样吃掉”

    使命、透明和发声的权利

    长久以来,给员工表达观点的机会一直都是做出高水平决策和组织高效性的关键推动因素

    谷歌工作法则:

    • 打造了不起的文化
    • 将工作看作是一种命运的召唤,而且工作要有富于意义的使命。
    • 给人以稍多于你的舒适区的信任、自由和自主权。如果你没有感到紧张,那是因为你给的还不够。

    第三章 只聘用比你更优秀的人

    “最优秀”不是只靠智力或专业能力等单一方面的属性定义的。
    在这里插入图片描述

    谷歌工作法则:关于招聘

    • 资源有限的情况下,将人力资源费用首先投入到招聘上。
    • 慢慢来,聘用最优秀的人才,只聘用在某些特定的方面比你更优秀的人
    • 不要让经理独自做团队人员聘用决策。

    第四章 搜寻最优人才

    聘用“聪明的通才”而不是专家

    谷歌工作法则:搜寻非凡的应聘者

    • 要详细说明寻找人才的标准,依此找到最优秀的被推荐人
    • 使招聘成为每个人的工作
    • 不要害怕尝试疯狂的事情,以此引起最优秀人才的注意

    第五章 不要相信你的直觉

    面试该问哪些问题?

    1. 一般认知能力。
    2. 领导力。
    3. “似谷歌人一般的”(“Googleyness”)。
    4. 职务相关的知识。
      永远不要在质量上将就

    谷歌工作法则:筛选新雇员

    • 设定高质量标准。进行招聘之前,确定你所期望的一些特性,定义何谓伟大的团体。首要准则是只聘用比你更优秀的人。不要将就。永远不要。
    • 寻找你自己的应聘者。领英、Google+、校友录和职业协会使这项工作变得简单明了。
    • 客观地评估应聘者。请下级和同事参与到面试中,确保面试官做好记录,请一组不存在偏见的人做最终的招聘决定。定期回顾那些笔记,将笔记与新员工的表现做对比,优化自身的评估能力。
    • 给应聘者一个加入的理由。清楚地解释为什么你们所做的工作很重要,请应聘者了解将要与之共事的突出人才。

    第六章 打造最幸福的公司

    谷歌工作法则:授权于员工

    • 消除地位象征
    • 依靠数据而不是根据经理的想法做决定
    • 探寻方法,让员工塑造自己的工作和公司
    • 高期待

    第七章 为什么每个人都讨厌绩效管理

    关注个人成长而不是评分和奖励,以此改善绩效
    谷歌工作法则:绩效管理

    • 正确地设定目标。要让目标众所周知。目标要有野心。
    • 收集同事反馈意见。有一系列线上工具,至少有谷歌表格,可以用于进行调查,整理结果。人都不喜欢被贴上标签,除非这个标签是非凡的赞誉。但是人都喜欢有助于工作的有用信息。多数公司缺少的正是后者。每一家公司都有某种评估体系,然后以此为依据分配奖励。极少公司有完善的员工发展机制。
    • 通过校准流程确定考评结果。引入某种校准流程,我们倾向于经理可以坐在一起探讨的会议,作为一个团队共同审评员工。这样需要更多的时间,但评估和决策的过程更可靠、更公正。采用这样的方式,人们可以坐在一起,加强交流,巩固公司珍视的价值,有利于公司文化的发展。面对面的会议对于员工数量不到一万人的公司是最高效的方法。员工数量超过一万之后,就需要大量的会议室才能安排下所有人。
    • 把奖励分配谈话与员工发展谈话分开。两项谈话混为一谈会扼杀学习的动力。不管公司规模多大,这一点都适用。

    第八章 管理团队的两端——最优员工和最差员工

    管理者最大的机会在于关注表现最差和最优的两类员工8个氧气项目特性

    1. 做一名好的导师。
    2. 给团队授权,不随便插手下属工作。
    3. 表达出对团队成员的成功和个人幸福的兴趣和关心。
    4. 高效/结果导向型。
    5. 善于沟通——聆听和分享信息。
    6. 在职业发展方面助力团队。
    7. 对团队有清晰的愿景和战略。
    8. 具备重要的技术技能,可为团队提供建议。

    谷歌工作法则:管理团队的两端—最优员工和最差员工?

    • 助力有难处的员工
    • 将最优秀的人放在显微镜下观察
    • 利用调查和检查清单寻找真相,推动员工学习
    • 与人分享员工对你的反馈意见,以身作则采取行动解决问题,身先示范

    第九章 打造学习型组织

    谷歌工作法则:打造学习型组织

    • 进行刻意练习:将课程分成易于消化的小块,给出明晰的反馈意见,并不断重复这个过程
    • 请最优秀的员工教学-
    • 只在已经证明能够改变员工行为的课程上进行投入

    第十章 不公平薪酬

    谷歌工作法则:不公平薪酬

    • 控制情感,做到不公平薪酬。薪酬差异化要明显,应符合绩效表现的幂律分布
    • 以成就为荣,不以报酬为荣
    • 创造易于传播爱的环境
    • 精心筹划却遭受失败的要奖励

    第十一章 世上最好的东西是免费的

    谷歌工作法则:效率、社区意识和创新精神

    • 使员工的生活容易一些
    • 想办法说可以
    • 生命中的不幸罕有发生……一旦员工遭遇不幸,要伸出援手

    第十二章 助推

    谷歌工作法则:助推走向健康、富有和快乐

    • 区分“实是”和“应是”的不同
    • 进行许多小的实验
    • 助推,不要硬推

    第十三章 谷歌的教训

    谷歌工作法则:搞砸的时候

    • 承认错误。坦诚面对错误
    • 吸取各个方面的意见
    • 不管什么坏掉了,修好
    • 找出错误中的寓意,加以传播

    第十四章 从明天起你可以做些什么

    谷歌工作法则

    1. 赋予工作意义
    2. 相信员工
    3. 只聘用比你更优秀的人
    4. 不要将职业发展与管理绩效混为一谈
    5. 关注团队的两端——最优员工和最差员工
    6. 既要节俭又要慷慨
    7. 不公平薪酬
    8. 助推
    9. 管理日益提升的期望
    10. 享受!

    总结

    1 快乐的文化

    书中宣称快乐是谷歌人常用于描述谷歌文化的词,人性是趋乐避苦的,能快乐的工作自然很让人羡慕,这可能是书成为畅销书的原因之一,观众觉得找到了借口跟公司老板说,”我需要快乐工作“;现实可能截然相反,书中的对于快乐工作的获取的描述过于肤浅了;快乐的来源之一是达成目标的成就感,但实际上在每一次达到目标的过程,都是极其痛苦的,如果目标很容易达到,那么这个目标就是廉价的,没有竞争力的;过程的艰难让自己对自己产生怀疑, 可能让老板对你失去信心,面临一次次的失败,而且大多数创新最终都是失败的,只有少数成功了; 真正的快乐是什么呢? 应该是在困苦的过程中,不以物喜,不以己悲;这个素质,就跟google公司的文化没有太大的关系了,本质上这是一个哲学问题,如果没有证得缘起性空,始终都会陷入希望,失望,痛苦的循环中,哪有什么快乐而言,达到了目标所获得的快乐也是短暂的,因为会被新的欲望代替; 然后就陷入下一个循环; 而希望呢,让人陷入”求不得“的深深困苦中;

    2 文化没有最好的,只有最适合的

    amazon 和 google是两家伟大的公司,虽然都号称是互联网公司,但也有很大不同;Google 依赖着强大的技术壁垒,amazon 本质上是零售业公司;Google的免费食物和自由工作时间是经常大家拿出来说的,而amazon却屌丝了很多;我基本认为这是因为行业的差异性,google的员工都是的聪明的创造者这类的;这样的人需要这样的环境来管理, 而贝佐斯所在的零售行业,需要把客户的快乐放在第一位,公司才能发展和生存,所以会限制员工的很多福利,就没那么多吃的,办公环境也很差; 阿里和滴滴早期强调“相信相信的力量” 是很适合早起地推团队的管理,地推团队出身差,文化低,这样的洗脑是让大家不知疲倦的工作的最有效的方式;

    书中提到,“如果你给员工自由,他们将还你惊喜”, 对于有自驱力的员工来说,没问题,自由也是管理nb人的一种手段;自由宽松的环境,让人富有创造力,法国的艺术家塞尚把个人的自由体验到了极致,任何的固定工作,甚至老婆孩子他都觉得会让他丧失自由,丧失创造力,所以这位伟大的艺术家也终身没有结婚;打造出什么样的环境,就吸引什么样的人才;但是人性和人的层次差别很大,大部分的人都是浑浑噩噩的过了一生,没有经过思考的一生,没有觉醒的一生,很多员工你给了他自由,他就干私活了,他就偷懒了, 人性的弱点就表现的淋漓尽致了;

    3 有关使命感

    谷歌的使命很有趣,追求的是理想而不是利益;没有什么比知道自己正在改变世界能带来更有力的激励作用了,创业的项目95%都死掉了,支撑大家创业的也就是这个信念;实际上事情做好了,利益自然而然就来了,利益是附属品,眼中只有把一件一件的事情力求完美的做好, 这些事情跟钱无关陌陌的创始人唐岩和经纬投资的张颖最近有一个对话也很有趣,两人都好不掩饰对金钱的追逐,有更多的钱,目的是什么呢,当然不是为了享受,再怎么享受,人一天不过只能睡一张床,吃三顿饭而已,赚更多钱是因为他们坚信钱放在他们手里会最大化的钱的利用率,让世界更美好;

    4 信息的透明

    伴随着移动互联网和AI的时代的变迁,信息的透明已经是社会/企业/组织必备的要素了; 在前两年的“明道进步课”的提问环节,经常有人问,信息不能全部透明吧? yes,公司的专利技术等核心信息,自然不能公开,但是大部分信息都没有这么敏感;这个和法律有点类似,你先假设无罪,然后在找证据来证明有罪; 信息呢,你先default to open,然后再把机密信息挑选出来;但是如果倒过来,你先假设大部分信息都不能分享,那就是灾难了;

    信息透明带来价值的例子:

    有一套OKR(oejective and key result)的体系来指导企业做公司的年度战略,部门的季度目标,任务的拆解,这些信息的公开透明是极其重要的,可以让员工知道自己所在企业要往哪里走,本季度重点要完成什么项目,员工自己每天手上的工作跟公司/部门的目标有什么关联,这会让员工觉得自己的工作具有意义; “我要去哪”的这个哲学问题,一部分在信息透明中得到了解决;甚至最简单的每个人的周报的分享,都让跨部门的人知道自己在做什么,这需要用wiki等社交平台来完成分享,而不是ppt;桥水基金是一家对冲基金,大家可能以为基金公司的会议是机密的吧,可能少数是,大部分都不是,他们几乎每次会议记录全体员工参考,这些信息成为学习工具,给了跨部门的员工互相学习的内容和机会;

    5 这是一个最坏的时代,也是最好的时代

    进化是一件美好且残酷的事情,麻省理工每年会列出50大全球突破性的技术,这些技术驱动着整个人类的进化,没有一种文化和企业是能永恒的,美国精英阶层面对trump上台的悲观情绪,一方面也说明了畅销了一个多世纪的民主文化系统也并不完美,仍然需要进化和纠错;PC时代,懂编程技术的人,容易出类拔萃; 移动互联网时代,产品经理赚翻了;未来几十年的AI时代,只有两种人的日子会过得更好,一类是懂深度学习机器学习的技术人才,这类人懂得如何把学术届的内容产业化;一类是懂得行业业务的商务人才,这类人懂得客户的痛点在哪里,从哪一个具体的点切入,他们知道哪里是最佳的诺曼底登陆点;

    展开全文
  • 同类产品  来自加拿大 CANARIE机构的 DAIR: http://www.canarie.ca/en/dair-program/about  微软的Azure: http://www.windowsazure.com/zh-cn/  亚马逊AWS(EC2及配套的S3等): ...

    转载自:http://www.cnblogs.com/ZisZ/p/3399773.html

    一点调研资料,比较浅,只是觉得部分内容比较有用,记在这里;

    首先,关于云计算,要理解什么是SAAS、PAAS、IAAS,这里不述;关于虚拟化,需要知道什么是Hypervisor,这里也不述;

     

    OpenStack是什么

    OpenStack是一个由美国宇航局NASA与Rackspace公司共同开发的云计算平台项目,且通过Apache许可证授权开放源码。它可以帮助服务商和企业实现类似于Amazon EC2和S3的云基础架构服务。下面是OpenStack官方给出的定义:

    OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.


    OpenStack是一个可以管理整个数据中心里大量资源池的云操作系统,包括计算、存储及网络资源。管理员可以通过管理台管理整个系统,并可以通过web接口为用户划定资源。

    由以上可以知道OpenStack的主要目标是管理数据中心的资源,简化资源分派。它管理三部分资源,分别是:
        计算资源:OpenStack可以规划并管理大量虚机,从而允许企业或服务提供商按需提供计算资源;开发者可以通过API访问计算资源从而创建云应用,管理员与用户则可以通过web访问这些资源;
        存储资源:OpenStack可以为云服务或云应用提供所需的对象及块存储资源;因对性能及价格有需求,很多组织已经不能满足于传统的企业级存储技术,因此OpenStack可以根据用户需要提供可配置的对象存储或块存储功能;
        网络资源:如今的数据中心存在大量的设置,如服务器、网络设备、存储设备、安全设备,而它们还将被划分成更多的虚拟设备或虚拟网络;这会导致IP地址的数量、路由配置、安全规则将爆炸式增长;传统的网络管理技术无法真正的可高扩展、高自动化地管理下一代网络;因而OpenStack提供了插件式、可扩展、API驱动型的网络及IP管理;

    OpenStack的版本演变


    OpenStack的每个主版本系列以字母表顺序(A~Z)命名,以年份及当年内的排序做版本号,从第一版的Austin(2010.1)到目前最新的稳定版Havana(2013.2),共经历了8个主版本,第9版的Icehouse仍在开发中。以下是各个版本的简单描述(注:描述摘取自官方文档https://wiki.openstack.org/wiki/Releases,当版本描述较多时,仅选取个人认为比较重要(且能看懂)的部分):

     

    SeriesStatusReleasesDate
    IcehouseUnder developmentDuetbd
    HavanaCurrent stable release, security-supported2013.2Oct 17, 2013
    GrizzlySecurity-supported2013.1Apr 4, 2013
    2013.1.1May 9, 2013
    2013.1.2Jun 6, 2013
    2013.1.3Aug 8, 2013
    2013.1.4Oct 17, 2013
    FolsomEOL2012.2Sep 27, 2012
    2012.2.1Nov 29, 2012
    2012.2.2Dec 13, 2012
    2012.2.3Jan 31, 2013
    2012.2.4Apr 11, 2013
    EssexEOL2012.1Apr 5, 2012
    2012.1.1Jun 22, 2012
    2012.1.2Aug 10, 2012
    2012.1.3Oct 12, 2012
    DiabloEOL2011.3Sep 22, 2011
    2011.3.1Jan 19, 2012
    CactusDeprecated2011.2Apr 15, 2011
    BexarDeprecated2011.1Feb 3, 2011
    AustinDeprecated2010.1Oct 21, 2010

     

    • Austin

        作为第一正式版本的OpenStack,主要包含两子项目,Swift是对象存储模块,Nova是计算模块;
        带有一个简单的控制台,允许用户通过web管理计算和存储;
        带有一个部分实现的Image文件管理模块,未正式发布; 

    • Bexar

        正式发布Glance项目,负责Image的注册和分发;
        Swift增加了对大文件(大于5G)的支持;增加了支持S3接口的中间件;增加了一个认证服务中间件Swauth;等;
        Nova增加对raw磁盘镜像的支持,增加对微软Hyper-V的支持;等;
        开始了Dashboard控制台的开发;

    • Cactus

        Nova增加新的虚拟化技术支持,如LXC容器、VMWare/vSphere、ESX/ESXi 4.1;支持动态迁移运行中的虚机;增加支持Lefthand/HP SAN做为卷存储的后端;
        Glance提供新的CLI工具以支持直接访问;支持多种不同的Image格式;

    • Diablo

        Nova整合Keystone认证;支持KVN的暂停恢复;KVM的块迁移;全局防火墙规则;
        Glance整合Keystone认证;增加事件通知机制;

    • Essex

        正式发布Horizon项目,支持开发第三方插件扩展web控制台;正式发布Keystone项目,提供认证服务;
        Swift支持对象过期;在swift CLI接口上支持Auth 2.0 API;支持URL以允许通过控制台向要求认证的swift集群上传对象;
        Nova完全依赖Keystone管理用户、项目、角色等;支持根据角色设定访问控制;计算与网络解耦,使得网络可以通过独立的服务进行管理;卷管理使用了独立api;为消息队列增加额外的后端模块;元数据分离;支持浮动ip池;

    • Folsom

        正式发布Quantum项目,提供网络管理服务;正式发布Cinder项目,提供块存储服务;
        Nova中libvirt驱动增加支持以LVM为后端的虚机实例;Xen API增加支持动态迁移、块迁移等功能;增加可信计算池功能;卷管理服务抽离成Cinder;   

    • Grizzly

        Nova支持将分布于不同地理位置的机器组织成的集群划分为一个cell;支持通过libguestfs直接向guest文件系统中添加文件;通过Glance提供的Image位置URL直接获取Image内容以加速启动;支持无image条件下启动带块设备的实例;支持为虚机实例设置(CPU、磁盘IO、网络带宽)配额;
        Keystone中使用PKI签名令牌代替传统的UUID令牌;
        Quantum中可以根据安全策略对3层和4层的包进行过滤;引入仍在开发中的load balancer服务;
        Cinder中支持光纤通道连接设备;支持LIO做ISCSI的后端;

    • Havana

        正式发布Ceilometer项目,进行(内部)数据统计,可用于监控报警;正式发布Heat项目,让应用开发者通过模板定义基础架构并自动部署;网络服务Quantum变更为Neutron;
        Nove中支持在使用cell时同一cell中虚机的动态迁移;支持Docker管理的容器;使用Cinder卷时支持加密;增加自然支持GlusterFS(If qemu_allowed_storage_drivers is set to gluster in nova.conf then QEMU is configured to access the volume directly using libgfapi instead of via fuse);
        Glance中按组限制对Image的元属性的访问修改;增加使用RPC-over-HTTP的注册 API;增加支持Sheepdog、Cinder、GridFS做后端存储;
        Neutron中引入一种新的边界网络防火墙服务;可通过VPN服务插件支持IPSec VPN;
        Cinder中支持直接使用裸盘做存储设备无需再创建LVM;新支持的厂商中包含IBM的GPFS;

     

    注:红字部分指出系统添加了新的服务组件,或是新组件出现前的铺垫工作;

     

    OpenStack的架构及组件(Havana)

    服务项目名描述
    控制台Horizon用户通过该服务与OpenStack的各服务进行交互,如启动虚机实例、分配IP地址、设置访问控制等;
    计算Nova按需分派并管理虚机;
    网络Neutron通常是计算服务通过该服务管理网络设置之间的连接,也可以允许终端用户创建并添加网络接口;通过一个插件式架构支持大量网络广商设备及网络技术;
    存储类
    对象存储Swift存取文件,但并不提供传统挂载式的文件服务;
    块存储Cinder向虚机提供可用于持久存储的块存储服务;
    共用服务
    身份服务Keystone为OpenStack提供认证及授权服务。
    镜像服务Glance提供虚机镜像的注册服务;同时计算服务也使用该服务分派实例;
    计量/监控服务Ceilometer用于计费、基准测试及数据统计等功能
    更高层服务
    编排组织服务Heat使用自带的HOT模板或AWS的CloudFormation模板,通过OpenStack中各服务的REST API,将各组件的资源组织形成云应用;

     

    逻辑架构图如下(注:原图在这里,Ceilometer与Heat与服务逻辑无关,因而不在这张图中体现)

     

    Nova

    计算服务是OpenStack的核心服务,它由nova-compute模块通过libvirt、XenAPI等管理hypervisor,从而管理虚机,此外它还通过nova-api服务向外提供如EC2兼容、管控功能等的接口,通过nova-scheduler模块提供虚机调研逻辑等;这些模块间的通信全部通过消息队列完成;

    Swift

    对象存储服务是OpenStack最早期的两个服务之一(另一个是计算服务),在OpenStack平台中,任何的数据都是一个对象;swift-proxy模块对外提供如HTTP(S)、OpenStack Object API及与S3兼容的存取接口。对象的存取经swift-proxy接入后,还需要经三个模块进行定位,即account、container、object;这是因为在OpenStack中一个对象被描述为:某个帐户下某个容器中的某个对象;

    Glance

    Glance的出现是解决虚机镜像的管理问题;在生成一个镜像后,需要将镜像注册到系统的数据库中;当要实例化一个虚机时,需要将镜像分派到一台具体的实机上用来以启动虚机;因而Glance最重要的接口是镜像的注册和分派;

     

    Cinder

    Essex将nove的卷管理api独立化后,Folsom终于将卷管理服务抽离成了Cinder;Cinder管理所有的块存储设备,块设备可以挂接在虚机的实例中,然后虚机里的guest系统可以像操作本地卷一样操作块存储设备;
    Cinder需要处理的主要问题应该是接入各种块设备,如本地磁盘、LVM或各大广商提供的设备如EMC、NetApp、HP、HuaWei,还有如Vmware提供的虚拟块设备等。
    值得一提的是发现在Cinder的驱动列表中出现了NFS,按理说NFS提供的不是块访问接口,而是文件访问接口,走到文档中看到说明为:NFS based cinder driver. Creates file on NFS share for using it as block device on hypervisor.竟然是用NFS上的文件模拟块设备。为什么不直接写一个将本地文件模拟为块设备的驱动呢?应该是写成NFS驱动,可以将NFS的挂载动作封装在驱动中。

    Neutron

    经过一定时间的演变,网络管理也抽离成一个独立的服务;在OpenStack的网络管理流程中,通常需要经过以下几个步骤:
    1.    创建一个网络;
    2.    创建一个子网;
    3.    启动一个虚机,将一块网卡对接到指定的网络上;
    4.    删除虚机;
    5.    删除网络端口;
    6.    删除网络;

    Keystone

    身份服务需要进行认证凭证的验证及关于用户、角色等的信息,及所有相关的元数据;这些数据全都由Keystone服务管理,并提供CRUD的操作方法;另外这些信息可以从另一个认证服务中获取,例如使用LDAP做Keystone的后端。

     

    OpenStack与VM

    以上这些服务与服务、服务与虚机的关系如下图所示:

     

     

    • 真正服务于VM的服务只有Nova、Glance、Neutron、Cinder:
      • Nova调派资源实例化虚机;
      • Glance提供虚机实例化时需要的镜像;
      • Neutron提供网络连接;
      • Cinder提供外接的块存储服务;
    • Ceilometer从上面与虚机相关的几个服务中收集数据,用于统计、监控、计费、报警等;
    • Swift可以为Glance提供镜像的存储服务,可以为Cinder提供卷的备份服务;
    • Keystone为所有服务提供认证、授权等服务;
    • Horizon为所有服务提供基于Web的操作接口;
    • 通过Heat可以方便地将各组件组织起来;

     

    同类产品

        来自加拿大CANARIE机构的DAIR:http://www.canarie.ca/en/dair-program/about
        微软的Azure:http://www.windowsazure.com/zh-cn/
        亚马逊AWS(EC2及配套的S3等):http://aws.amazon.com/
        来自UCSB的Eucalyptus:http://www.eucalyptus.com/,中文入门资料:http://www.oschina.net/p/eucalyptus
        Google GCE:https://cloud.google.com/products/compute-engine

    至于Google的App Engine?应该是PAAS了,不算同类;

     

    ---------以上是正文---------


    ---------以下是个人的一点看(fei)法(hua)---------

     

    OpenStack无疑是当前最火的开源IAAS方案,而且已经得到大量厂商的支持,如HP、IBM、Intel、EMC、Huawei,当然还不能忘记Ubuntu系统等,看一下Cinder的api中那一堆的驱动,再看一下Nova不断支持的各类虚拟化技术,不由会去想当年Linux是否也是这样蓬勃发展起来的。个人感觉,厂商积极参与的最终目标肯定还是想捞金,试想如果突然冒出大批公司做OpenStack平台,这必然有大量存储和计算设备可以卖啊$$

    2011年我在Intel实习,有幸参与了OpenStack的开发工作,当初使用的D版只有三大模块,因为自己研究方向偏Storage,所以碰过Swift和Glance,又因为有Security背景,所以也在Nova中为Intel TXT打通了上下层接口。研究版本演变时,看到可信计算池功能被F版支持,感觉一点点小成就感,虽然我的代码可能早被refactor了。

    两年后再来看H版的OpenStack,子项目已经暴增到9个,对一个新人而言也许难以下手,但如果可以从发展的角度看,会清楚很多,我是这样理解:最初的A版应该是学习AWS的EC2+S3,只抽象出计算与存储两个服务;存储一直是一个比较容易理解的层次,接口明晰,而计算/VM则变数很多,一开始也只能将Image的管理剥离出来,成为Glance;后来,为了产品化,出于安全性及简化使用的需求,洐生了Keystone和Horizon;再后来,E版对Nova进行了大的调整,尽量解耦,从而允许网络和卷管理独立,为后来Neutron和Cinder的出现做了铺垫;再后应该是出于监控和统计的需求,出现了Ceilometer;然后发现过度解耦,提供的选择太多,组织起来比较麻烦,所以做了Heat(我相信,如果OpenStack继续像Linux那样发展下去,将来Heat会变成今天Linux Kernel的menuconfig:)。从这个过程可以看出,大部分的功能,都是慢慢从最核心的计算需求中抽离出来的。

    OpenStack的演变过程,也正是一家公司的基础平台发展过程的缩影。区别在于,在公司,基础平台的目标不是产品化,所以很难出现一个Horizon和Heat,而以SLA或PKI为目标时,Ceilometer会变得过分重要,会重要到影响其它组件的发展,比如Nova永远得不到调整,因为调整前,上头就可能要问你:为什么要这样做,能带来什么收益,拿出点数据看看;而这个后果就是,各组件越来越难用越来越难以维护,成为恶性循环。算了,吐槽有点过。废话到此吧,以后有时间我会继续关注OpenStack的发展,看能否得到新的感悟。


    展开全文
  • PAGE / NUMPAGES java中接口的定义与实现 1定义接口 使用interface来定义一个接口接口定义同类定义类似也是分为接口的声明和接口体其中接口体由常量定义和方法定义两部分组成定义接口的基本格式如下资料个人收集...
  • 接口定义同类定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:  [修饰符] interface 接口名 [extends 父接口名列表]{  [public] [static] [final]...
  • java中接口的定义原则

    千次阅读 2016-04-22 10:39:55
    接口定义同类定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下: [修饰符] interface 接口名 [extends 父接口名列表]{ [public]

    转载自http://blog.csdn.net/yjkwf/article/details/7238847

    1、接口的定义

        使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:

    [修饰符] interface 接口名 [extends 父接口名列表]{

    [public] [static] [final] 常量;
    [public] [abstract] 方法;
    }
    修饰符:可选,用于指定接口的访问权限,可选值为public。如果省略则使用默认的访问权限。
    接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。
    extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。当使用extends关键字时,父接口名为必选参数。
    方法:接口中的方法只有定义而没有被实现。

    例如,定义一个用于计算的接口,在该接口中定义了一个常量PI和两个方法,具体代码如下:

    [java]  view plain  copy
    1. public interface CalInterface   
    2. {  
    3.     final float PI=3.14159f;//定义用于表示圆周率的常量PI  
    4.     float getArea(float r);//定义一个用于计算面积的方法getArea()  
    5.     float getCircumference(float r);//定义一个用于计算周长的方法getCircumference()  
    6. }  
    注意:
        与Java的类文件一样,接口文件的文件名必须与接口名相同。
    实现接口
    接口在定义后,就可以在类中实现该接口。在类中实现接口可以使用关键字implements,其基本格式如下:
    [修饰符] class <类名> [extends 父类名] [implements 接口列表]{
    }
    修饰符:可选参数,用于指定类的访问权限,可选值为public、abstract和final。
    类名:必选参数,用于指定类的名称,类名必须是合法的Java标识符。一般情况下,要求首字母大写。
    extends 父类名:可选参数,用于指定要定义的类继承于哪个父类。当使用extends关键字时,父类名为必选参数。
    implements 接口列表:可选参数,用于指定该类实现的是哪些接口。当使用implements关键字时,接口列表为必选参数。当接口列表中存在多个接口名时,各个接口名之间使用逗号分隔。
        在类中实现接口时,方法的名字、返回值类型、参数的个数及类型必须与接口中的完全一致,并且必须实现接口中的所有方法。例如,编写一个名称为Cire的类,该类实现5.7.1节中定义的接口Calculate,具体代码如下:

    [java]  view plain  copy
    1. public class Cire implements CalInterface   
    2. {  
    3.     public float getArea(float r)   
    4.     {  
    5.         float area=PI*r*r;//计算圆面积并赋值给变量area  
    6.         return area;//返回计算后的圆面积  
    7.     }  
    8.     public float getCircumference(float r)   
    9.     {  
    10.         float circumference=2*PI*r;      //计算圆周长并赋值给变量circumference  
    11.         return circumference;           //返回计算后的圆周长  
    12.     }  
    13.     public static void main(String[] args)   
    14.     {  
    15.         Cire c = new Cire();  
    16.         float f = c.getArea(2.0f);  
    17.         System.out.println(Float.toString(f));  
    18.     }  
    19. }  
          在类的继承中,只能做单重继承,而实现接口时,一次则可以实现多个接口,每个接口间使用逗号“,”分隔。这时就可能出现常量或方法名冲突的情况,解决该问题时,如果常量冲突,则需要明确指定常量的接口,这可以通过“接口名.常量”实现。如果出现方法冲突时,则只要实现一个方法就可以了。下面通过一个具体的实例详细介绍以上问题的解决方法。
    展开全文
  • java中接口的定义与实现

    万次阅读 多人点赞 2012-02-07 11:34:55
    接口定义同类定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下: [修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] ...
    1、定义接口
        使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:

    [修饰符] interface 接口名 [extends 父接口名列表]{

    [public] [static] [final] 常量;
    [public] [abstract] 方法;
    }
    修饰符:可选,用于指定接口的访问权限,可选值为public。如果省略则使用默认的访问权限。
    接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。
    extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。当使用extends关键字时,父接口名为必选参数。
    方法:接口中的方法只有定义而没有被实现。

    例如,定义一个用于计算的接口,在该接口中定义了一个常量PI和两个方法,具体代码如下:

    public interface CalInterface 
    {
        final float PI=3.14159f;//定义用于表示圆周率的常量PI
        float getArea(float r);//定义一个用于计算面积的方法getArea()
        float getCircumference(float r);//定义一个用于计算周长的方法getCircumference()
    }
    
    注意:
        与Java的类文件一样,接口文件的文件名必须与接口名相同。
    实现接口
    接口在定义后,就可以在类中实现该接口。在类中实现接口可以使用关键字implements,其基本格式如下:
    [修饰符] class <类名> [extends 父类名] [implements 接口列表]{
    }
    修饰符:可选参数,用于指定类的访问权限,可选值为public、abstract和final。
    类名:必选参数,用于指定类的名称,类名必须是合法的Java标识符。一般情况下,要求首字母大写。
    extends 父类名:可选参数,用于指定要定义的类继承于哪个父类。当使用extends关键字时,父类名为必选参数。
    implements 接口列表:可选参数,用于指定该类实现的是哪些接口。当使用implements关键字时,接口列表为必选参数。当接口列表中存在多个接口名时,各个接口名之间使用逗号分隔。
        在类中实现接口时,方法的名字、返回值类型、参数的个数及类型必须与接口中的完全一致,并且必须实现接口中的所有方法。例如,编写一个名称为Cire的类,该类实现5.7.1节中定义的接口Calculate,具体代码如下:

    public class Cire implements CalInterface 
    {
        public float getArea(float r) 
        {
            float area=PI*r*r;//计算圆面积并赋值给变量area
            return area;//返回计算后的圆面积
        }
        public float getCircumference(float r) 
        {
            float circumference=2*PI*r;      //计算圆周长并赋值给变量circumference
            return circumference;           //返回计算后的圆周长
        }
        public static void main(String[] args) 
        {
            Cire c = new Cire();
            float f = c.getArea(2.0f);
            System.out.println(Float.toString(f));
        }
    }
    
          在类的继承中,只能做单重继承,而实现接口时,一次则可以实现多个接口,每个接口间使用逗号“,”分隔。这时就可能出现常量或方法名冲突的情况,解决该问题时,如果常量冲突,则需要明确指定常量的接口,这可以通过“接口名.常量”实现。如果出现方法冲突时,则只要实现一个方法就可以了。下面通过一个具体的实例详细介绍以上问题的解决方法。

    展开全文
  • Java中接口的定义和接口的实现

    千次阅读 2018-03-25 21:27:05
    接口定义同类定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:[修饰符] interface 接口名 [extends 父接口名列表]{[public] [static]( 或[final]) ...
  • 因为类的定义格式和类的建造格式不一样。后来搞懂了。定义了一个类,则有一个默认的与类名同名的构造函数,它建造类的对象的成员,然后返回这个对象。我们在建造的时候,调用的就是这么一个函数。当然,也可以个性化...
  • JavaScript批量定义对象

    千次阅读 2017-03-27 21:50:34
    “类”:在Java中有类的概念,类的定义会使得声明对象变得极其简单,下面是JavaScript中一般的对象声明:var person= {}; person.name = "name"; person.gender = "male"; person.age = 15;如...
  • JS中类的定义与使用

    千次阅读 2018-11-27 16:46:57
    1.定义类,如: ...//定义函数fun3,需要使用同类中的fun1和fun2函数,如果需要调用的是静态函数,调用的格式(类名.函数名);如果调用的是一般函数,可使用(this.函数名)格式调用 static fun...
  • IDL接口定义语言教程

    千次阅读 2013-07-02 11:36:57
    IDL接口定义语言   也叫“接口描述语言”(Interface Description Language),是一个描述软件组件接口的语言规范。 IDL用中立语言的方式进行描述,能使软件组件(不同语言编写的)间相互通信。 IDL通常用于RPC...
  • 接口定义同类定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下: [修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final]...
  • java声明多个同类变量方法

    千次阅读 2019-02-26 10:41:26
    原文详解:java声明多个同类变量方法 原文链接: http://licocom.com/archives/1175 java开发中遇见一个方法或一个类,需要创建多个类或方法的变量并且同属性时, 我们一般定义如下, String str0=""; ...
  • 产品线是指密切相关的产品,这些产品功能相同,售给同类顾客群,通过同一各类渠道销售出去,售价在一定幅度内变动。有了产品线的定义作为基础,公司就可以 定义产组合的宽度,产品组合的宽度是指公司拥有的产品线...
  • AOP切入同类调用方法-AopContext.currentProxy()

    万次阅读 多人点赞 2017-02-27 11:38:00
    最近在开发中遇到一个问题,当在Service中定义了一个方法并且切入之后,从Controller里面调用该方法可以实现切入,但是当在同一个Service中实现另一方法并调用改方法时却无法切入。代码类似于: [java] view...
  • 类的重载重写重定义详解

    千次阅读 2018-04-17 13:03:31
    1重载(overload):同类中的同名函数不同参数表,不能单依靠函数返回值判断。 2重写(override)【子类覆盖父类方法】:子类父类中,同名同参同返回值且基类为虚函数。 3重定义(redefine)【子类隐藏父类方法】:...
  • dp的定义原理和dpi,ppi,px,pt,sp之间的区别

    万次阅读 多人点赞 2015-12-25 18:10:31
    你也可以查看我的其他同类文章,也会让你有一定的收货! 扩展知识: 4k是什么意思 1080p和720p是什么意思 百度百科分辨率中最后一段话不明白的,可以参考这里 在开始讲解dp前,先来认识一些概念, 常见尺寸...
  • 为什么不能在方法内定义静态变量

    千次阅读 2019-03-21 10:33:54
    会的,由于静态变量生命周期同类的对象一致。因此不能。 2.在人性化的设计中,静态变量大都用来供外界访问或类中各个方法共享。你在一个方法中定义了一个静态变量,那对于其他方法来说,前者内部...
  • 死锁的定义、必要条件和处理方法

    千次阅读 2019-05-21 18:44:39
    多个进程在执行过程中,因争夺同类资源且资源分配不当而造成的一种互相等待的现象,若无外力作用,它们都将永远无法继续执行,这种状态称为死锁,这些处于等待状态的进程称为死锁进程。 2、产生死锁的必要条件 ...
  • 用来将同类的数组放到一起的方法。 1.定义数组的方式 // nums是一个引用 数组的下标一般从0开始 // int[] nums = {1,2,3}; int[] nums1 = new int[3]; System.out.println(nums[1]); 2.给数组赋值 // ...
  • java中接口的定义与实现 分类: Java开发相关2012-02-07 11:34 118318人阅读 ...接口定义同类定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:
  • 会的,由于静态变量生命周期同类的对象一致。因此不能。 2.在人性化的设计中,静态变量大都用来供外界访问或类中各个方法共享。你在一个方法中定义了一个静态变量,那对于其他方法来说,前者内部是不可见的。且对于...
  • 【C解析之十三】对象的定义

    千次阅读 2014-04-13 14:08:43
    C解析之十三对象的定义  前言:【C解析之十一】类-集万千宠爱于一身中认识了一个“特殊的数据类型”-类,对象是类的实例。类是生成对象的”模板“,类本质上是抽象的概念,系统并不会为类分配存储空间。对象是类-...
  • 洞悉产品的深度内涵

    千次阅读 2017-09-24 21:24:01
    针对产品经理,首先你要能够清楚的表达你的产品定义, 是什么行业,什么类型的产品产品的目标用户群是什么? 解决用户的问题是什么? 给用户带来什么价值? 同市场同类产品的差异化竞争在哪里? 如何匹配和...
  • C++类和对象的概念及定义

    千次阅读 2018-07-07 19:59:12
    1. 面向对象的定义 面向对象是软件开发的一种方法,它的主要思想就是:把整个世界看做是具有行为活动各种对象组成的。把数据以及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象其共性...
  • Java中带返回值方法定义和调用

    千次阅读 2019-11-28 23:37:08
    带返回值方法定义和调用 定义格式 public static 数据类型 方法名 ( 参数 ) { return 数据 ; } 范例 public static boolean isEvenNumber( int number ) { return true ; } public static int getMax( int ...
  • 枚举类型的定义

    万次阅读 2004-11-12 14:03:00
    在程序设计中,有时会用到由若干个有限数据元素...此时,可将这些数据集合定义为枚举类型。因此,枚举类型是某类数据可能取值的集合,如一周内星期可能取值的集合为: { Sun,Mon,Tue,Wed,Thu,Fri,Sat} 该集合可定义
  • 不久前,我们的行业遇到了元件可靠性问题,大批量产品用户发现美国公司的存储器 IC 的故障率比日本同类 产品高。通过努力,现在各类 IC 都很可靠,硬 IC 故障也很少。我们的其它元件,比如无源元件、印线电路板等,...
  • JSP基本语法与定义

    千次阅读 2010-05-26 16:12:00
    JSP基本语法与定义 先来看一段简单的小程序:程序:1.jspexample1 2 ”text/html,charset=”GB2312””>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,792
精华内容 29,116
关键字:

同类产品定义