互联网公司的架构设计如何落地

2021年04月26日 10:04

424

互联网公司的架构设计要怎么落地

互联网公司的架构设计是怎么做的呢?专职的架构师越来越少,架构部门也大都解散,为什么会是这样,我们该怎么办?

3.1 要不要做架构设计

哪些项目需要做架构设计呢?越大的项目越需要做架构设计,开发时间越长的项目越需要做架构设计,参与人员越多、内部越复杂、外部依赖越多、影响面越大、维护成本越高的项目越需要做架构设计。那互联网的项目呢?它有以下特征:

时间:开发的周期整体很长,可能维护10年、20年,但单个应用的开发周期短,多半以天和周为单位;

规模:互联网项目整体很大,但单个应用规模小,会被拆分为多个小应用;

业务知识:为自己做系统,行业知识不缺,长期为一个系统服务,有些自己也是客户;

复杂度:研发人员多,内部关系复杂,外部依赖多,变化大迭代快,在不断地演化,24小时不间断运行。

3.2 MVP与架构设计

image.png

MVP的英文全称是Minimum Viable Product,是最小可行性产品的意思。如上图所示,用户需要一个交通工具,有两种实现方式,第一种做法是分多个阶段设计与制造,第一步是造一个轮子,第二步是造两个轮子,第三步是造一个盖子,第四步是一辆可用的轿车。第二种做法是每一阶段都要满足用户从A地到B地的需求,第一步先造个滑板,第二步是造个自行车,第三步是造辆摩托车,第四步是造辆轿车。第一个版本到第三个版本输出的产品都可以满足用户的基本需求,虽不完善但可以解决用户的问题,并且越来越好,到了第四个版本的产品才是客户预期。

MVP对架构设计提出更高的要求。如果单纯从研发内部的角度,第一种是施工成本较低的方案,但我们需要以客户为中心,需要不断地满足客户的需求,所以在做设计时,不仅要考虑施工的成本,还有客户需求、扩展性、继承性等,如上图第三种设计方案。

3.3 互联网公司是怎么做的

互联网公司的架构设计是怎么做的,当前主流做法有:

分工:将技术研发和业务研发相分离,下层是云平台部或基础架构部,提供IaaS、PaaS中间件等云服务,上层是各业务线的产品研发部,专注于业务场景的应用研发;

敏捷:业务研发敏捷化,产品与研发、测试实时沟通,以减少行业知识的缺乏;

整体:技术委员会,负责技术总体规划和技术成长;

未来:研究院,解决未来的技术问题,如阿里达摩院、百度研究院;

应用架构:主要负责技术与业务的结合,由应用架构师、技术经理或高级程序员担当。

3.4 应用架构要怎么落地

应用的架构设计要怎么落地,常见如下:

总体架构规划:手握地图,才能明确自己所处的位置,以便于配合。总体架构规划可以让每个研发人员了解整体,它如同房子的地基框架图纸,可长期保存和更新维护。具体参考TOGAF开放组体系结构。

单个项目架构设计:重点项目一定要做架构设计,参与架构评审,非重点项目可简化设计表述。

应用架构评审:以流程的方式来保证应用架构设计的质量,例如重构项目、跨部门项目、业务核心项目需要经过应用架构评审之后,才能申请服务器、数据库、域名等。

其它工作:如果有应用架构师专职人员,除以上工作外,还包括统一公司应用分层、制定代码规范、组织技术培训、中间件推广、应用性能调优等。

大家想要知道2021年JAVA学习更多相关知识,可以关注微信号“kexiaomei2021”,获取更多备考资料!课小美与你并肩作战! 

65ac676d3c0412cf3f882a5a6dfd4cf.jpg