我们要重构腐化的架构及不符合软件工程规范和质量要求的历史代码。我们知道,再好的架构,其生命力也是有限的。随着时间的推移、环境的变化以及新技术、新功能特性的引入,架构也会腐化。面对腐化了的架构,要毫不犹豫地去重构它。同时主动以可信设计原则为导向,去重构不符合软件工程规范和质量要求的历史代码,提升软件架构的生命力。
~《华为一号文》
总 裁 办 电 子 邮 件
电邮讲话[2019]001号 签发人:任正非
公元2018年,在中国论干支为戊戌年,属猪,在赛博空间则为IPv6年。当年网络升平,全年并无大事可叙,纵是IPv9有点反常,SD-WAN群魔乱舞,IBN仍隔靴挠痒,4月间26遭禁,封杀波及28,中华海外同时受阻,但这种纷争涉及国运,于技术本身,似乎更易脚踏实地。只要AI交换机还没做实控标参数,也就无关宏旨。总之,在网络历史上,2018年实为平平淡淡的一年。
不过2018年的网络行业有个现象值得关注,白盒设备软件系统领域在沉寂几年以后又有了新的玩家浮出水面,春江水暖资本先知,这些拿到口粮的公司在商业模式上没有什么创新,8年前的白盒创业浪潮已经打开了封闭的黑盒设备,这些新进入赛道的网络玩家开始关注技术本身,无一不把Cloud/Container /Microservices等计算技术挂在嘴边。如同15年前诞生的Arista依靠创新的系统数据库(SysDB)设计横扫交换机市场(也正是这套数据库,Arista创始人之一与公司对簿公堂另起炉灶^_^),今天的网络设备硬件已不是吴下阿蒙,服务器和交换机没有了界限,那为何还要受限于嵌入式设计的种种限制,这是白盒设备软件再次重装出发的主要原因之一。随着5G时代的来临,当华为也要重构腐化的架构时,所有人与华为重现站在同一条起跑线上,希望轻装上阵可以博个入场资格也就不足为奇了。
一、吉时已到
伴随Nicira在网络虚拟化方面创业的成功,网络Underlay层面在2010年左右也迎来了一波创业热潮,白盒交换机走出谷歌们的数据中心开始接收大众的审视。由于FAAMG(Facebook、Apple、Amazon、Microsoft、Google)的数据中心设计都属于高度机密,毕竟谁也不愿意把真金白银孵化的产品立马分享给竞争对手,所以白盒交换机代工厂在MSDC之外推广时就需要有相应的白盒交换机软件,下列公司几乎都是同期成立,都持有同样的革命理想,那就是为每款白盒交换机都配上一个开放(非开源)的大脑。
2000年的白盒交换机创业大潮是在商用交换芯片日渐趋于成熟的背景下产生,当时业界正处于向万兆接入迁移的前期,富有竞争力的白盒硬件加上解耦的第三方软件对品牌厂商形成不小的价格冲击。国内的百度/腾讯都做过不同程度的尝试,最终百度在2012年规模上线白盒ToR交换机。这时期典型的代表厂商如Cumulus和Pica8,两家公司创始人都与Google有着不解之缘,从而开始走向白盒创业之路,两家公司证明了“黑不溜秋”的网络盒子原来可以像家用PC一样做到软件和硬件解耦,在两家公司网站可以看到各种型号裸交换机的兼容列表,用户只要从渠道购买相应的硬件就可以选择安装不同的操作系统,与早年间的计算机攒机业务无异。
2010年的白盒浪潮还有一个更大的背景就是软件定义网络(SDN)的出现。说到SDN必谈斯坦福大学,当初只是从一个校园项目孵化出的OpenFlow真正让网工们开始思索为什么网络行业几十年来没有任何创新,得思科命令行者得法院传票。斯坦福Clean Slate项目具有划时代的意义,一方面重新定义了网络的实现方式,另一方面证明了这种方式可以变现,由项目主要成员组成的Nicira公司在2007年成立,2012年即以12.6亿美元的高价出售给VMvare,并直接导致VCE联盟的解体。Clean Slate项目的另外一些组员后来成立Big Switch公司,基于白盒交换机实现SDN网络架构,如果不是Cisco搅局OpenDaylight导致Big Switch愤然退出,也许SDN的江湖会是另外一幅光景。时至今日斯坦福还是SDN浪潮的引领者,SDN 2.0的理念正在更深入的层面影响着网络从硬件到软件的设计。
纵观2010年前后的白盒浪潮,第三方操作系统在网络解耦方面做出尝试并证明了模式的可行性,Cumulus等公司也进入了数据中心网络魔力象限的有远见者领域。但是这些白盒公司总体来讲在独角兽的路上走的很艰辛,大家都看到了白盒的趋势,但是作为先驱者无法立马改变企业的文化和产业的现状,在市场推广中更多起到了教育用户的作用。
We believe that a virtualized, open-source, white box approach is the best way to go.
~ AT&T
随着时间来到2018年,网络设备解耦在数据中心之外的另一个领域开始生根发芽,其中一个标志性的事件就是美国运营商AT&T收购了著名的开源网络协议软件Vyatta开发团队之后,在2018年推出的5G基站白盒路由器产品中运行由Vyatta团队研发的DANOS操作系统(关心DANOS系统开源的同行稍安毋躁,目前DANOS正在走法务流程,预计2019年Q1开放代码),它标志着白盒设备迎来了新的发展良机-5G。
AT&T不仅身体力行的撸起袖子加油干,同时大力扶植生态圈,与开放网络基金会(ONF)保持亲密关系并投资了部分新兴的白盒企业。一言不合就创业的前Apple网络团队在成立Snaproute公司后杀入白盒操作系统市场,拿到AT&T投资并有幸参与AT&T的白盒场测,2017年AT&T在华盛顿特区与洛杉矶之间基于白盒交换机为当时还未与OPEN-O合并的ECOMP增加了Telemetry的功能,部分设备运行的就是Snaproute软件(不过颇为遗憾的是Snaproute创始人由于over selling的问题被赶出公司,新管理团队重整旗鼓全新推出CN-NOS产品)。
如果认为只有美国运营商热衷于白盒并扶持生态圈,那就大错特错。由Juniper公司路由专家创立的RtBrick公司秉持Sun Microsystems公司曾经的理念:The network is the computer,基于白盒设备提供分布式网络操作系统,在前不久刚刚拿到德国电信的A轮投资,也因此进入德电的BNG项目为数据平面的卸载加速提供产品化方案。
AT&T承诺在2020年将75%的核心网络功能虚拟化,2018年已经完成65%,未来几年仅白盒路由器就计划部署6万台。华创证券预计中国5G基站数量将是4G的1.3倍,5G投资规模有望达1.2万亿元,其中基站设备和传输设备分别占比45%、22%。还有谁会认为白盒设备的吉时未到呢?
二、技术红利
这几年借着国产化的浪潮,CPU是个很热门的话题,连十八年前打磨芯片的农民工都再次被拉出来鞭尸,各路砖家摇旗呐喊。在任何一台网络设备内部,核心的器件除了数据平面的ASIC或者NP芯片,都少不了一颗控制管理平面的CPU。早年间半导体制程还无法保证嵌入式应用的低功耗时,MIPs/PowerPC等RISC架构的CPU都尚有一席之地,因此在选择设备操作系统时以精简为主,从VxWorks到busybox都强调可靠性或小开销。随着x86技术以及半导体工艺的进一步发展,Intel携强大的x86生态再次进入通信领域,这一次不再是旁门左道的StrongARM,根正苗红的x86迅速横扫安全、嵌入式等领域,直接导致PowerPC和MIPs凉凉。
白盒交换机内部CPU的x86化在现代数据中心尤为重要,几乎所有的MSDC都提到像运维服务器一样运维网络,因此数据中心级交换机在客户要求下最早接纳x86处理器。从针对低功耗的ATOM系列到服务器级别的XEON系列,设备厂商不断提升主控CPU芯片的能力。有了性能超强的CPU辅助,安全服务链NFV等也有了更好的实现途径。
当处理器能力越来越强,是继续用Windows98老牛配豪车还是直接用Window10骏马饰金装?当华为也要重构腐化的架构时答案就是显而易见的,网络设备x86化后需要全新架构的操作系统。预见到技术到达新的拐点,硅谷又开始了一波新的白盒设备创业浪潮。
回看2015年,OpenStack正在走向成熟,Docker也有两岁了,云市场的魅力正在吸引更多资本和人才进入这个方兴未艾的领域。在日趋服务器化的网络平台上不利用云的架构来颠覆传统网络设备简直对不起日趋白菜化的白盒设备,所以2015年成立的白盒公司无一例外都把Cloud架构放在首要位置。以容器技术为例,开源操作系统SONiC正是基于Docker技术实现了网络协议栈的解耦,无论是开源的Quagga/FRR,还是厂家定制的路由协议都可以运行在单独的容器里;也正是基于容器的快速创建能力,可以轻松实现Warm Reboot等高级功能;
交换机服务器化从各个层面带动了网络设备软件的创新。首先在操作系统层面,出现了专门服务于网络设备的开源Open Network Linux(ONL)操作系统,ONL脱胎于Debian,但是增加了很多裸机硬件管理的功能比如传感器、LED、风扇等等,虽然这些部分在服务器行业也有各种标准,但是并不适用于网络设备。ONL目前在Google和Facebook都得到部署验证。另外上文提到的Cumulus公司甚至直接将网络操作系统的CLI命令行直接转化为Linux命令行,整个操作系统就是一个网络专用的Linux平台。
在全盘引入Linux microsevices服务器技术之外,互联网行业已经普遍采用的DevOps体系流程也进入了网络设备领域。新一代操作系统都加强了接口的开放性,可编程系统成为行业的共识。早期网络设备大多采用SNMP来管理设备,但是私有的MIB库为开发人员带来巨大的麻烦,每家设备都需要人工导入自动化运维平台;因此IETF发布标准协议NetConf来提升北向的规范性,不过可惜的是和所有标准一样,由设备厂商为主构成的标准组织在协议更新速度方面非常慢,每家厂商都想把自己的优势转化为标准,而且各设备厂商在标准的实现方面还是会有很多差异,不是每个厂家都对Key-Value有相同的用法,这就导致Netconf陷入和私有MIB同样的不兼容问题,需要大量的人工梳理;好在行业楷模开源先锋Google又站了出来,如同力证SDN不是靠PPT而是靠部署一样,Google联合众多甲方成立OpenConfig组织,利用甲方的体量和领先的技术理念来引导设备厂商推出符合现网需求的产品。OpenConfig 沿用了Netconf的协议框架,但是更关注上层的数据表达和数据建模,Yang模型的使用有望让业界在下一代系统软件设计中更好的实现基于意图的自动化网络。正是有了甲方和乙方的共同推动,现在品牌设备厂商更多的选择同时支持Netconf和OpenConfig。
前有硬件能力的提升,后有开源软件的助力,新一代网络设备操作系统完全可以放开手脚为上层服务提供更好更通畅的网络服务。
三、人兴旺
硅谷的基因是创新,辅之于良好的创新环境,真正是创业一把梭,赢了会所嫩模,输了下海干活。上述所有的创业公司几乎都与思科等传统设备厂商有或多或少的关系,或是资深大拿为了情怀而创业,或是公司被收购再次起航。
然而2018年成型的新一轮白盒浪潮多了一个显著的特点就是很多二线设备厂商主动加入了白盒的行业,使得这次的队伍更加多元化和成熟。
Aricent和IPInfusion都是以印度工程师为班底的老牌网络软件外包公司,在网络解耦 白盒大潮下把自己在路由协议方面的优势发扬光大,开始提供针对电信市场的白盒设备操作系统;Meteswitch/ADVA/ Coriant(去年被Infinera收购)等通信设备厂商既有服务于运营商市场的多年经验,又有多年的电信设备的研发积累,依托白盒设备开始提供系统集成的业务。这些新进入白盒赛道的选手盯的不仅是数据中心,他们的优势同时也是未来的主战场都在5G,白盒作为一种全新的商业模式为这些老牌的设备厂商带来新的角色和生机。
除去这些个人选手,不甘寂寞的Facebook在OCP之外也成立了(TIP)。TIP项目成立于2016年,目标就是用开放的方式颠覆价值3500亿美元的电信市场,华为/爱立信/诺基亚等都是既定要被推翻的大山。目前TIP项目已经有几百家会员单位,前文提到的大部分企业都加入了TIP项目。部分TIP产出已经通过测试验证进入了二代产品开发,比如最早推出的开放光传输产品Voyager,已经在欧洲电信公司Telia和沃达丰的网络完成了现网测试,第二代Voyager产品在过去的十月间也正式推出。
第一代白盒设备以数据中心为主攻方向,OTT大规模采用白盒硬件提升了智邦等硬件代工企业的设计能力和业绩,但是众所周知头部企业都有软件自研团队,这就意味着早期的白盒软件公司只能在企业网喝汤,而汤的热度完全取决于思科们的态度。因此,当运营商携5G大饼迎面而来,白盒设备市场的再次人头涌动代表一场新的战役开始,这次白盒作为一种全新的商业模式得到了甲方的支援。以甲方为班底组建的开放网络基金会(ONF)鉴于第一代创业者的筚路蓝缕,意识到Open Source与Production的差距,开始从产业链投资、原型系统验证以及全球市场推广等多个角度扶持白盒 开放软件的落地。中国电信运营商也积极参与其中,中国运营商主导的OPEN-O直接与ECOMP合并形成业内第一个共享的开放网络自动化平台;机房改造项目CORD在国内运营商也有了试点部署。
1991年 Linux操作系统第一次正式向外公布,到今天成就了IBM花费340亿美金收购Redhat;2014年Google公布开源项目Kubernetes并于次年发布v1.0版本,去年VMware重金收购Kubernetes核心创始团队Heptio;计算软件的成熟速度陡然加快一方面是技术的积累,一方面是外部环境的迫切需求。目前白盒网络设备经过两轮的蓄势正处于爆发的前夜,恰逢5G的东风正要吹响号角,天时地利人和俱备,有理由相信白盒设备百花齐放即将到来!