如何进行架构技术选型
一、什么是技术选型为了达到业务需求,从各种技术选择中选取最优的过程。开发语言:Java,Python,C++中间件:Mysql/PGSQL,Redis/Memcache微服务框架:SpringCloud,Dubbo,K8S二、怎么做技术选型2.1)需求分析技术选型应该以业务需求为基础,尽可能稳定,高效的支持业务发展。2.1.1)需求满足:尽力理解需求,以及未来需求可能的变化,即发展的方向。2.1.
一、什么是技术选型
为了达到业务需求,从各种技术选择中选取最优的过程。
开发语言:Java,Python,C++
中间件:Mysql/PGSQL,Redis/Memcache
微服务框架:SpringCloud,Dubbo,K8S
二、怎么做技术选型
2.1)需求分析
技术选型应该以业务需求为基础,尽可能稳定,高效的支持业务发展。
2.1.1)需求满足:尽力理解需求,以及未来需求可能的变化,即发展的方向。
2.1.2)指标要求:理解需求的关键因素,性能、稳定性、存储周期、存储量等。
2.1.3)团队情况:技术需要落地,落地依赖工程师,需要结合团队能力,团队技术体系,公司的基础建设来判断。
2.2)列举技术方案
通过多方面查找各种可能性的技术方案。
2.3)对比评估
制作比对表格,选择一个可能的解法。
需求 |
方案一 |
方案二 |
方案三 |
核心需求1 |
合适 |
很合适 |
不合适 |
核心需求2 |
|||
核心需求3 |
|||
.。。。 |
|||
团队的熟悉程度 |
不熟悉 |
熟悉 |
一般 |
上手难度 |
高 |
中 |
低 |
服务迁移成本 |
|||
维护成本 |
|||
2.4)实现最小系统
如有必要,根据选定的技术方案,进行最小系统的构建和实验。
三、不同需求规模的技术选型
技术选型在满足业务需求的同时要最大化投入产出比。
需求种类 |
考虑维度 |
个人项目 |
开发周期短,主要考虑个人的投入产出 |
单个需求 |
主要考虑团队能力,公司技术积累,项目的milestone等 |
完整产品 |
主要考虑产品在不同生命周期上的特点,团队能力发展,公司技术演进等 |
整体业务 |
主要考虑如何快速拿到业务收益,关注长期技术演进方向 |
更多推荐
所有评论(0)