Nic*_*ton 12 distributed-computing
相关问题: 打破集中式数据库的最有效方法是什么?
我将尝试使这个问题相当普遍,这将有利于其他人.
大约3年前,我实施了一个集成的CRM和网站.因为我想给客户留下深刻的印象,所以我实现了我能想到的最便宜的架构,即在Web服务器上托管中央数据库和网站.我创建了一个桌面应用程序,它通过Web服务与Web服务器通信(该应用程序从其主办公室运行).
事后看来,这是相当愚蠢的,因为现在公司已经发展壮大,他们的互联网连接每个月变得越来越慢.现在,由于速度问题,桌面软件定期超时,客户有3个选项:
第一种选择是"最简单",但肯定不是最便宜的长期选择.第二种选择; 如果我们将网站转移到内部托管,客户必须解决超载/差/离线互联网连接,断电等问题.最后的选择; 客户厌倦了为我重新设计和重新编码架构而付出了大量现金,我无法承担免费的费用(我需要吃饭).
有没有办法从你搞砸了分布式系统的设计那么糟糕的时候恢复,没有一个选项可以工作?或者是减少损失并从错误中吸取教训的情况?我觉得很难解决这个问题.
Gre*_*g D 22
你没搞砸.客户想要最便宜的选择,你把它给了他们,这是他们推迟的成本.我希望你没有责怪你的客户.如果他们指责你,那就是他们在想要梅赛德斯的同时支付雪佛兰的经典案例.
根据:
您的客户需要做出业务决策.你的工作是尽可能以诚实和专业的方式向他们解释每个选择的后果,并将选择留给他们.
记住,你没搞砸! 您为他们提供了满足他们多年需求的解决方案,他们对此感到满意,直到他们超出了系统的设计基础.如果他们不想在三年后再次维持系统的可扩展性,那么他们现在必须愿意为此付费.软件并不神奇.
Kur*_*urt 10
我不会称之为搞砸了,除非:
搞砸的是过度设计一个高度复杂的系统,其成本高于当时所需的规模.
实际上,如果需要的话,最好只投资目前可以利用的业务,利用增长来为可扩展性的进一步投资提供资金.这是简单的风险管理.
当然,随着业务的发展,可能在您的软件的帮助下,他们也为下一级别提供了一些东西.他们应该感谢你帮助他们超越期望发展他们的业务,并向你抛钱,这样你就可以帮助他们实现更高的发展水平.
所有这三个选项都可能是好的.哪一个最好取决于成本效益分析,投资回报率等.这部分是技术决策,但主要是商业决策.
恭喜您帮助建立一个不断增长的业务,直到现在和未来.