为什么说大公司已死

李善友的《互联网世界观》实在称不上一本好书,整本书都在刻意寻找牛顿的经典力学和量子力学与现代工业时代和信息时代的联系。这本书里提到“大公司已死”的论调引起广泛讨论。

凯文 凯利的《失控》讲的就是这方面的内容。这本书讲的是分布式系统的构建和进化,与之相对应的是集中式系统。集中式系统指的是一个中央控制所有的任务分配,传统企业的组织架构通常采用这种方式;分布式系统是有多个控制子系统来处理不同的业务,有点类似现代企业的事业群,项目组的概念,不同事业群处理自己负责的业务,业务壮大以后通过事业群之间的通讯协调资源,已经壮大的业务会吸引其他业务部门的资源,而传统集中式系统的资源全靠中央调配,中央将这个项目列为重点,资源就流向该项目。集中式系统是中央计划经济,分布式系统是市场经济。

分布式系统特点

  • 次级单位自治,由民主投票决定系统走向。
    分布式集群就是一个集体组织,人群集体的特点可以参看《乌合之众》。集体具有无脑,煽动性,效率低下等缺点,可是群体代表市场走向(需要提炼出真正需求并且区分是潮水还是跟风),自适应性很强。
  • 高度连接
    子系统之间沟通连接的有效性,及时性会很大程度影响系统的整体运行,在系统投票以后,系统连接会将投票汇总决定系统走向。
  • 不排斥漏洞
    分布式系统并不强调个体,允许个体的差异和缺陷,这种缺陷能够对系统进行试错,促使系统进化。
  • 不可控
    因为没有中央控制,子系统具有高度自治,因此没有办法对整个系统进行宏观控制,也难以预测未来走向。
  • 不可知
    系统的运行方向由内部的子系统协调决定,里面包含有很多交叉逻辑。a 间接影响其他一切,而其他一切的变动又相互造成影响。我们不需要确切的知道西红柿是如何工作的,也能种植,改良西红柿。
  • 廉价
    分布式的结构必须廉价。因为在成功创新之前需要很多失败的测试。蜂群由蜂群投票决定去路,每一只蜂指一条路,就有成千上万条路线,而最终蜂群只能选择其中一条,这意味着,绝大多数的决定和尝试都是被浪费的。这也再次证明了分布式系统的低效率性。同样的实行分布式算法的还有蚂蚁。

为什么需要分布式系统

这有点像计划经济和市场经济的讨论,关于这一点各派经济学家已经进行了长达几个世纪的争论。总体而言,分布式系统在创新方面有优势,付出的代价是在创新成功之前会有相当多的失败的经验,而创新就是对(市场)环境的终极适应,分布式系统在壮大之后核心业务需要控制,避免低效率,因此会慢慢转为集中式系统,为了保持创新,扩展新业务的部门可以继续采用分布式;而集中式系统的优势在于可以保持对系统的控制,但是在系统奔溃之时,往往很难找到解决方案而将系统简化(砍掉大量功能,保留核心)转入分布式系统。为什么需要分布式系统大致可以通过分布式系统的特点推倒出来。此外,还有一些其他因素。

复杂系统的生物性

真正复杂的系统,比如细胞,草原,经济体和大脑需要非技术的逻辑。汽车这种已经非常成熟的技术体跑了没多久就会出现各种各样的问题而停摆。而生物这些复杂系统少了器官或者验证残缺还是可以照常运转。复杂的系统必须具有生物性。

信息高速

工业革命时代,大亨们如果能把自己产业种的每一个关键环节和补充环节控制在手里,就可以在自己建造起来的工业生态里自给自足。

但是当世界高速变化发展的时候,一个超级产品并不足以支持一个公司很长时间,控制必须让位于速度和灵活性,否则会被小公司组织的商业联盟打败,这些小公司核心业务的优势巨大,不联合其他势力可能还翻不起多大浪,一旦整合出资源,爆发力惊人。这种商业模式使得自己只需要 专注 于核心业务,其他配套资源统统外包

可拆分性

分布式系统的灵活性使得业务之间可以比较容易的进行拆分重整。这也是面向对象编程(OOP)流行的原因。一个模块可以快速和其他模块整合成一个可以分解的整体,当需要拆分时,只需要将不再需要的模块拆分就可以。面向对象实现了软件的分布式智能,能够快速修复。错误总是扎堆出现的。

你发现的下一个错误,极有可能出现在你已经找出 11 个错误的模块里,而那些从未出现错误的模块,则可能会一直保持不败金身。当你发现一个错误的时候,也就意味着还有另外一堆你没看见的错误在什么地方等着你。不要把钱花在错误百出的代码上,抛弃它!重写!

进化,学习和控制

分布式系统走向流程:

  1. 投票决定系统走向
  2. 上初版v1.0,做简单的事情,跑流程
  3. 准确无误的做简单的事情
  4. 加功能 v2.0
  5. 不要改变v1.0
  6. 让v2.0准确无误的工作
  7. 加功能 v3.0
  8. .....

控制论

控制论可被应用于研究包含信令回路的系统。信令回路指,当一个系统的运作改变了它所在的环境,而这些改变又反过来反馈于系统上,并导致系统本身的变化。这种循环最初被称为“循环影响”关系。

系统的自我控制也是一个循环反馈自修复的过程,比如抽水马桶的设计就是完美的自治机械。冲水以后,浮球下降,放水进来水填充水箱,同时将浮球抬起,浮球的臂敢利用浮力,杠杆等物理特性,阻止水阀进水。这种控制是自下而上的,先在逻辑底层控制,然后反馈到整个系统,系统再进行控制。

分布式系统强调控制论是因为分布式的系统更强调系统的整体性,所有的变量都是紧密联系的,如果最大限度的控制其中一个或几个变量,就可以间接的控制其他所有的变量。哈耶克和其他奥地利学派经济学家指出:

一个单一的变量(价格),可以对其他所有资源分配变量进行调节。

控制论由诺伯特·维纳,贝森特和冯诺依曼发展起来。博弈论就是一种控制论。博弈过程一般都可以落实到一个明确的价格方案上,而不是无限纠缠下去。博弈论最重要的洞见之一:非零和游戏的战略内涵和零和游戏的战略内涵完全不同。零和游戏种对他人的伤害都对你有好处;非零和游戏种,你们可能共荣,也可能共衰。有一种鸡汤是“我努力了,我比别人做的好,所以我该发达。”就没有考虑到这是非零和游戏,在这个游戏中,尽管你比别人做得好,你也可能跟他一样潦倒。

越来越多的公司采取既结盟又竞争的策略。对于市场已经饱和的业务,是属于零和博弈,此时打压对手就是对自己的好处。而对于新业务,非零和游戏,结盟可以整合更多资源。

系统的自我控制和人工控制是冲突的。对系统施加太多干预,系统就实现不了智能控制。人类要想获得更智能的机器,唯一的办法是给机器更大的自由,而不是输入更多限制。

学习和进化

学习和进化是一个系统走向高级的必然之路,学习可以加速进化。控制论的循环影响作用于系统会让系统产生微妙的变化,而在均衡状态的系统会被新兴系统迅速吞并。谷歌,苹果,微软,AT 这样的巨头虽然占据自己主营业务的绝对市场份额仍会斥巨资研究开发新产品,投资新产业来保持整个系统的进化。

均衡不仅意味着死亡,它本身就是死亡状态

进化同样意味着死亡,在分布式系统的廉价特性中提到,成功创新之前需要大量的失败测试,在这些测试种产生的是变化的多样性。在均衡状态中很难产生变化,而在变化中更容易产生变化。将系统投入恶劣而变化多端的环境更容易实现系统的多样性。一个典型的例子是新的软件在测试阶段很难发现问题,但是上线以后,随着访问环境的变化,包括访问量,网络环境,速度等就会发生各种各样的问题,甚至造成系统的崩溃。

进化的生态圈

环境对于一个系统的变化至关重要。一个好的生态环境可以极端,变化,但他应该是可以自给自修的,自给的生态肯定需要循环,这就是常说的 “闭环”。在一个闭环中,同样的材料被一次一次的循环利用,虽然有些东西会渗入或者露出,但总体来说,大多数的材料都是在闭环种循回。

人工生命

计算机病毒是首例涌现出来的人工生命。能够复制,包含一份自我表征的副本,能截获计算机新城代谢(CPU)的周期,能死亡,能进化。

生命特征:

  • 自我复制能力
  • 自我表征(基因)的信息库
  • 使特征持久(新陈代谢功能)
  • 交互
  • 彼此依赖,能死亡
  • 在环境变化中保持稳定
  • 进化能力

进化的趋势

  • 不可逆
  • 越来越复杂
  • 越来越多样
  • 越来越多的个体数量
  • 越来越专业
  • 越来越相互依赖
  • 越来越强的进化能力

机器学习和预测

计算机化的归纳法,基于算法的图表分析以及可预测范围,会将成为值得尊敬的人类事业。而预测真正拥有的,只不过是时间上的领先。

你可能感兴趣的:(为什么说大公司已死)