『究竟』软件欺诈的骗局揭露:“替罪羊”究竟是如何构建的?( 四 )


享受你的宕机时间吧。这只是个一次性错误。不会再发生。
恭喜:你已经创建了一个系统来销售你无法理解的东西,但这也意味着你的客户也无法理解它。你的客户会认为你已经控制了一切,而实际上你和他们一样迷失了方向。不过,别担心,你可以在这种混乱中混水摸鱼好几年,继续想方设法签一些大手笔地合同,直到客户发现你的欺诈行为。
说不定有人会在一切崩溃前收购你的公司呢,对吧?因为你已经在高层结识了很多有钱的朋友。当然了,你别想任何IPO的可能了,因为你在进入公开市场前,必须暴露出太多不可持续的财务状况。
隐藏的时间成本
当你进行一个软件欺诈时,你想把很多隐藏的成本转嫁到客户身上,但是不能让他们在一开始就觉察到。
拿MongoDB来说,某个公司的缺乏经验的暑期实习生可能会在公司生产环境中部署一个新的内部应用程序,安装随机软件包,然后使用MongoDB。这个实习生离开了,但是这个服务还在。这项服务并不可靠,因为MongoDB只是一个假象,公司失去了这个一个实习生,他在创建服务的时候负责照看这个MongoDB。所以现在你可以雇佣MongoDB来提供咨询/支持服务来维护这个没有时间重写的内部应用程序。系统可以工作了!
对于Cloud Foundry云平台,整个系统作为一个完整并可立即使用的平台销售,但是你必须花上六个月的时间来训练你的员工如何使用它。另外,因为现实世界中没有人真正使用这个东西,所以你永远无法雇佣有实际经验的人。如果你无视那些让你每天都会遇到错误和无限次重复宕机的逻辑,继续使用这个漏洞百出的系统,那么你就必须让每个员工经过6个月的错误跟踪培训,然后他们才知道如何才能不破坏你的这个神奇的、无限可扩展的、每秒不能处理超过4个请求的平台。
然后,在你的员工结束六个月的培训后,他们会发现系统根本不能工作。尽管整个系统声称它能执行X,Y,Z,但是当你使用这些功能时,系统就会失灵,什么功能都执行不了。你最终发现你什么都没有得到,只是你的公司在一个平台上浪费了6到18个月的时间。
进行软件欺诈时,你得寄希望客户公司没有足够的智慧在产品被证明不能工作时,抛弃这个坏的产品。通常公司都不愿意承认他们被骗以荒谬的高价从那些供应商那里购买了软件和服务。首席技术官认为他们自己是公司数字转型的唯一真正世主,如果他不得不承认自已受骗而选择了一家见不得人的供应商,那么这将是对他们个人自信的强烈打击。
很多公司宁愿无视被销售驱动软件平台欺诈而在软件许可、培训、员工时间和服务器硬件上耗费的数百万美元带来的负投资回报率,也不愿承认自己的执行决策能力差。
组件
为了继续你的软件欺诈,你需要建立一个尽可能难以理解的平台。使你的公司免于对失败负责,可以使用“失败总是由些依赖项的一次性的问题导致的”这一借口。这样你就需要很多组件,包括许多功能目的相反的组件。
以Cloud Foundry为例,查看甚至启动所需的所有组件及其所需的实例计数,甚至都需要启动Cloud Foundry 高可用系统。
重复组件
你也可能会问,为什么同时需要consul和etcd组件?好吧,理由很简单。在真正的“如何构建软件,使其永远无法正常工作”的软件欺诈方式中,你不希望内部团队进行协调。让他们分成两个团队,强迫每个团队从零开始学习和重新发现所有东西,并且永远不要让他们在同一个任务上工作超过一天或两天。
这样,团队A决定使用consul组件作为一个特性,团队B决定使用etcd组件作为一个特性,这样你就有了两个系统,你需要照看好每一个以保持系统的可靠性。
要求相似但不相同的依赖项是构建一个“软件欺诈即服务”公司的一个很好的策略。每一个新的依赖项都会增加客户的困惑,让你增加了一个“一次性失败”的借口,这样你就更加容易以掩盖固有的体系架构崩溃的真相。


推荐阅读