分享人:曹鹏飞
背景:
随企业内部业务移动化快速发展,公司对业务系统“高可用、快迭代”提出了具体的技术指标,保证99.99%的高可用的同时,需要在2周内响应公司业务部门的需求上线。
笔者所在的技术部门主要技术积累在于app客户端的架构和研发,并已经拥有了比较成熟的技术框架作为基础支撑来保障需求的快速开发、测试、发布,运营,但对于服务端的架构和设计并没有太多专业的落地方案,所以为了响应需求,从外部采购了某云的专家咨询服务,来指导后端服务的架构设计和技术方案,笔者技术团队结合咨询团队的专业经验和自己实际的业务情况,综合制定相关技术决策方案。
大致过程:
1、需求调研和方案制定
咨询团队和笔者技术团队大概先后进行了5轮的较为细致的业务调研,团队了解,目标设定、方案汇报等,主要对业务目标、技术方向、研发效能、质量保障方面进行了专业的分析,逐步清晰的发现“需求响应要求快、业务存在明显高低峰访问、成本管控要求更细致”等隐藏的战略需求,逐步论证和形成了“上云”的技术方案,并先后汇报领导通过。这里因为资料保密的原因,只能分享一张大概的技术架构图如下(仅供学习或参考)
2、POC方案实施
方案通过后在具体实施过程中也是发现了很多前期准备不充分,设计不合理的地方,这里简述以下2点(仅供学习或参考)
A. 服务端技术储备断层。研发团队在服务端架构方面的技术积累还停留在比较老的LAMP架构上,对容器、云、资源调度、服务治理方面的技术积累几乎处于空白状态,导致在具体的沟通和实施过程中走了很多弯路,不过幸好也是在这个过程中补齐了一些技术短板,这也反映出后续公司发展过程中要对未来有一定的前瞻性,虽然可能有一定的投入、甚至是损失,但长期来看其实是节约成本的。
B. POC能力验证方案设计不够细致。前期方案制定时主要对架构设计、业务拆分、资源调度有比较细致的指导方案,对于POC部署后的能力验证方面设计的比较浅,导致后面在实施完毕后对整个业务调用链条的监控、服务间依赖的数据统计方面做的比较薄弱,看不到具体的数据对比、数据支撑。不过在实施过程中意识到这个问题后也是逐步进行了具体方案的调整,加强了各个环节的监控、上下游依赖之间的各自的具体数据也能可视化的展示出来,给各方提供了系统优化的指导数据,并为最终的POC整体测试报告提供了充足的数据支撑。
3、总结
目前项目正处于POC总结阶段,过程中确实发现技术方面存在的短板和差距,也确实能够假证业务需求的高速发展时技术团队的整体架构设计的重要性,包括但不仅限于DDD、架构解耦、服务自治等方面的专业设计带来的技术价值。
分享总结:
和本次训练营的学习之路一样,老师分享的内容和咨询团队作出的技术方案对我们技术人来说都只是一盏明灯,只有自己亲自实践过之后才能领悟这一路前进、演化过程中的奥义,同时最重要的是一定要把自己的思考留在前进的路上。所以希望各位勇于尝试、敢于挑战。
感谢大家、感谢老师、感谢极客大学,我们江湖再见。