关于虚拟化,晚上临睡前(喝了三杯奶茶满脑子)胡思乱想,想到一个很贴切的类别。
一开始在想怎么评价CCP从1921到现在这百年历程。然后又想到政党的本质是否是一种解耦。由此又想到,政党之于国家,国家之于民族,民族之于土地,本身就是虚拟化,至少可以认为是半真半假吧,共同记忆是真,人为建构也是假,某种基于客观事实的二次编辑。血缘联系是真,共识是假,是脆弱且波动的(塔西佗陷阱)。只有土地才是真正真实存在的。
想到这里,我就意识到为啥我之前找不到一个用公司对虚拟化的贴切类比了。因为我当时没意识到公司(OS)本身也是虚拟化的,真实存在的只有硬件。
所以才又硬件层虚拟化,hypervisor层虚拟化,OS层虚拟化,对进程的容器虚拟化和runtime层虚拟化,用户环境层虚拟化等等,可以看到,甚至OS层虚拟化都不是最高层级的,并不是锚点,找不到合适的类比也是正常。那么这么多层虚拟化是为了啥呢?总得有个原因吧,正如上面所说,为了解耦,其本身就是需求,正如一样米养百样人,不同的人有各自相信的东西,有的人习惯把个人存在寄托于意识形态,天生容易受意识形态感召,那就相信政党。有的人受“同文同种”感召,那就相 信民族。有的人受“小共同体”感召,那就相信宗族、家庭。总之各有各的用法。虚拟化技术同样如此,不同层级各有各的用法。但是通常虚拟化层级越高,就越灵活,而这个灵活正是解耦带来的。(写到这里我就想到某蓝色软件的一个虚空打靶的经典SB问题“同志还是同胞”,那我问你,“选LXC还是QEMU?”,这种问题不是it depends吗?怕不是只有二极管才一本正经地思考这种问题)
更进一步的,地理决定论。土地是绝对真实存在的,但是不同陆块的地缘位置却不同,这就导致了一些关键差异。虚拟化的意义正在于此,虚拟化技术本身就可以抹平不同硬件的不同。
这里列举一下二者的对应关系:
硬件层虚拟化 -> 土地
hypervisor虚拟化 -> 国家
OS层虚拟化 -> 公司
容器虚拟化 -> 公司的独立项目
用户环境层虚拟化 -> 公司的临时小组
语言runtime层虚拟化 -> 公司项目的监察小组
由此再做一层延伸,公权VS资权,或者说政府VS公司,又或者说,是否国家这层社会组织是否真的必不可少?
从这个角度来看,裸金属其实就相当于赛博巨企,公司直接跑在土地上,正如OS直接跑在硬件上,抽掉了中间的两层虚拟化。
那么很简单的,优势就是性能更好,那么代价又是什么呢?这里其实就是时间复杂度和空间复杂度的经典矛盾,或者说又是快好省不可能三角(性能-灵活性-隔离性),成本不可能凭空消失,只是转移。代价就是本该属于那两层的复杂度被转移给了OS层。正如如果企业代替了政府,其本应由后者承担的社会职能被转移给了前者。效率提升但是稳定性下降。这种社会模型(如公司城)也只可能在资源充沛、利益同质的小规模群体中短暂存续。真正的稳态需承认虚拟化成本:用政府效能损耗换取系统韧性,正如用CPU虚拟化开销换取虚拟机安全隔离。但是如果过分强调稳定性(虚拟化层数太多,也就是“科层制”叠床架屋),也会导致性能太差,被其他方案取代。
结论。如上所述,虚拟化的目的在于解耦,也正如各种社会组织、制度设计的目的也在于解耦。社会组织需要分层抽象,以隔离目标冲突与风险类型。