一旦决定放弃旧的硬件、数据库和应用程序,那么新的问题就来了——应用程序应该是在内部维护还是外包给外部供应商?SaaS在某些情况下是否适用?应该选择什么硬件、网络和数据库?每种选择的人员配置要求是什么?故障恢复和企业的永续经营又如何呢?
克里斯:我记得有人曾跟我说过一个故事。某家零售商雇用了一家公司,创建了一个新的应用程序,来取代他们的销售系统。不幸的是,在花费了数百万美元进行开发和购买速度更快的硬件之后,上线后的新应用程序表现却很差。这就很令人费解了,因为新硬件的速度是原来的100倍,然而其处理每个订单的时间却由原来的两分钟延长至近一个小时。经过排查后,他们发现了在测试过程中没有发现的bug(1)。一旦他们解决了这个问题,性能就会提高,但是仍然比旧版的应用程序要差。在花费了超过100万美元之后,数据库和应用程序终于达到了合理的性能水平。
艾美:我们说的是,基础设施的正确设计是为了支撑销售系统,但应用程序和数据库却效率低下,编程也出现了bug。
克里斯:是的。这里的问题是基础设施没有设计专用的测试系统来复制生产环境。这意味着应用程序无法在实际场景中进行测试,从而导致应用程序在实际场景中运行时出现性能问题和错误。