正文
另一方面,我们中又有谁受过高盛摩根们的高大上牛掰交易系统开发大拿的技术理念影响或者用过他们什么开源技术?金融机构向来标榜系统运维在高可靠性、稳定性、健壮性方面的牛,可是 SRE(Site Reliability Engineering)是 Google 提出的;云上分分秒秒成千上万次系统升级的能力是亚马逊率先具备的。我们就不扯 NoSQL、Deep Learning、Containerization 等等这些工具、技术、理念基本来自哪里了。
这里想说的是,证券金融业数字化程度相比其他行业算非常高、业务场景也非常复杂、非功能性系统要求(例如高并发、低延迟、高可用等等)也超级挑战,有钱的投行 IT 投入也足够大,理论上能诞生可以普惠社会的技术理论和工具,可是最终并没有利用这些条件向技术界反馈反哺,贡献出有价值的技术成果。
证券业其实是有孕育牛掰技术的应用场景和环境的。对交易应用来说,分布式架构 15 年前就不是新鲜事物;内存数据库的应用是家常便饭;交易消息中间件过去二十年被重写过无数次;高频极速交易在利润的驱使下对技术的运用可以说无所不用其极。
甚至在一些科技领域华尔街可以说曾经走在最前沿,例如 80 年代末,多核(multi-core) CPU 技术都还不知道在 Intel 哪个实验室里,多个 CPU(multi-processor)多路并行运算(Parallel Computing)是超级高大上昂贵的技术,代表了高性能运算(HPC)领域的最高成就,华尔街投行们在利润的驱使下绝对是是率先的运用者,程序猿们甚至已经研究和使用能驾驭多路 CPU 的编程语言 Linda 编写交易系统——起码十多年后基于同样理论的技术(JavaSpaces)和商用平台(GigaSpaces)才出现。
可是像 CAP 定理、响应式宣言、微服务、DevOps、大数据 等等这些技术理论与理念,却没有在这个行业诞生,为啥?原因不外以下几条。
从证券 IT 人嘴里听过不止 N 次语重心长的论调,“技术不重要,不要过分强调”。意思是说,行业 IT 的主要目标是开发、支持业务应用系统,不管用什么技术,只要可靠、稳妥、“成熟”,能把应用系统功能按业务部门要求做出来就行了。所以,管它用 J2EE 还是.Net 还是其他什么鬼,按时交货、上线不出问题,是最高目标。
事实上,在强监管类型的行业里,一些软件公司只要紧跟监管政策法规,不管用什么古老技术,只要监管机构提出一个新要求就做一个新模块、市场批准一项新业务就做一类新功能,然后卖给无任何开发能力的行业机构们坐地收钱,也就活得很好。所以是不太需要什么技术追求的。
金融行业 IT 总体缺乏开放的习惯与文化,没有行业生态的概念和“协作竞争”(co-petition)的意识。在互联网里,开放平台和 API 经济都是老生常谈;在金融业里也许因为行业的特殊性,导致开放非常困难。