10 年经验面试:自研还是采购、要不要上云,这种大决策你怎么做?
面试怎么回答
我做这类决策会先明确要解决的问题和成功标准,比如运维人力不足还是成本过高,不改能撑多久,成功是成本降多少、时效提升多少,而不是为了技术先进。自研还是采购,看它是不是核心竞争力、团队有没有能力长期维护、规模和时间要求,自研要算长期维护成本,采购要评估厂商锁定和迁出难度。上云还是自建,算总拥有成本,包括机器、机房、运维人力和闲置浪费,再看负载波动、合规要求,很多时候稳定负载自建、弹性部分上云的混合方案更合适。控制风险上先用真实业务做 POC,分阶段迁移,先非核心后核心,新旧双跑对数一致再切换,每步保留回滚,并把双跑和人力成本算进去。最后写决策文档,列出包括「不做」在内的备选方案和成本收益,提前和财务、业务、安全对齐,让老板在信息充分的情况下决策,上线后定期回顾效果。
先把这段讲顺;面试官追问时,再展开下面的原理和细节。
详细讲解
数据平台走到一定规模,负责人一定会面对几个大决策:自建 Hadoop 集群还是上云?自研开发平台还是买商业产品?要不要从 Hive 迁到湖仓?面试官不关心你选了哪个,而是看你做决策的方法:考虑了哪些因素、怎么算账、怎么控制风险。
先明确要解决什么问题
很多大项目失败,是因为目标是「技术先进」而不是「解决问题」。先回答:
- 现在的痛点是什么?运维人力不够、资源弹性不足、成本太高、还是性能撑不住?
- 不改会怎么样?能撑多久?
- 成功的标准是什么?成本降多少、时效提升多少、运维人力减少多少?
自研还是采购
| 考虑因素 | 倾向自研 | 倾向采购或开源 |
|---|---|---|
| 是否核心竞争力 | 和业务强相关、是差异化能力 | 通用能力,大家都一样 |
| 团队能力 | 有足够的人长期维护 | 人手紧,维护不过来 |
| 规模 | 规模大,商业产品成本过高或无法满足 | 规模中小,买比养人便宜 |
| 时间 | 可以慢慢建 | 需要快速上线 |
关键提醒:自研的成本不只是开发,还有长期维护;采购要评估厂商锁定、数据迁出的难度和长期涨价风险。
上云还是自建
- 算总拥有成本(TCO):自建要算机器、机房、网络、运维人力、闲置浪费;上云要算长期稳定的资源费用、流量和存储费用;
- 看负载形态:波动大、有明显波峰波谷,云的弹性价值大;长期稳定满载,自建往往更便宜;
- 看团队和合规:有没有运维团队、数据能不能出机房、有没有行业监管要求;
- 很多公司最终是混合:稳定的基础负载自建,弹性部分上云。
怎么控制风险
- 小范围验证:选一两个有代表性的业务做 POC,用真实数据和任务测性能和成本;
- 分阶段迁移:先迁非核心,再迁核心;新旧双跑一段时间,数据对比一致后再切换;
- 保留回退:每个阶段都有回滚方案;
- 算清楚迁移本身的成本:人力、双跑期间的双倍资源、业务方的配合时间。
推动决策
- 写一份决策文档:背景、目标、备选方案(包括「什么都不做」)、成本收益对比、风险和计划;
- 和财务、业务、安全等相关方提前沟通,让老板在信息充分的情况下拍板;
- 决定后定期回顾,实际效果和预期偏差大要及时调整。