1.3 架构设计流程

分析新零售、游戏、在线教育、传统企业等各行业的解决方案,在整个解决方案中囊括了解决行业业务需求、技术需求的方案,而我们要探究的是技术方案中可复用的设计模式,需要将技术方案和业务方案分离开。如图1-4所示,横向代表业务场景,纵向包括了基础的技术属性、行业属性,业务方案无法脱离底层技术架构的支持。

我们只关注底层的技术方案,先看下剥离业务场景之后的各个技术需求,新零售业务中会有流量波峰波谷,业务高峰期需要快速扩容云主机、网络带宽、中间件的能力,业务低谷期需要释放资源来节省成本;在新零售业务中,数据是核心要素,需要完善的本地备份方案、异地备份方案、数据恢复方案等;需要保证业务持续性,避免因为业务中断造成经济损失和企业名誉损失。对于游戏行业来说,也有流量波峰波谷、数据恢复、高可用等方面的要求,游戏行业还要求在出海服务时能够有效防止DDoS攻击;在线教育的场景也是类似,传统企业的业务流量的变化不如新零售、游戏、在线教育明显,但是数据备份和业务持续是必不可少的。

img

图1-4 业务方案与技术方案

汇总以上介绍的行业、业务方案、技术方案,如图1-5所示,连线代表适用。可以看出,剥离行业属性之后的需求非常类似,并且重合度高,所以我们总结出基于云平台进行架构设计时可以复用的模块,称为设计模式,将在第2章进行详细介绍。有了完善的设计模式,就能够快速构建技术方案,再加上业务方案汇总成完整的行业解决方案。

img

图1-5 千变万化的业务系统和可复用的技术方案

完整的技术架构设计也是有步骤可循的,先是收集需求分析,根据需求分析进行架构设计,再进行评估改进及交付实施,然后持续运营,如图1-6所示。在架构设计的各个阶段中,每个阶段均导入前一个阶段的结果,经过当前阶段处理后输出设计方案或搭建环境,渐进式地推进完整解决方案的设计。

(1)需求分析阶段由用户输入需求痛点,经过分析后输出需求分析表。

(2)在架构设计阶段中,根据需求分析表来匹配合适的设计模式(参考第4章至第9章),形成完整的架构设计方案。

(3)在评估改进阶段,对已完成的架构设计方案进行评估,输出经过评估和参考良好架构设计原则改进过的架构设计方案。

(4)在交付实施阶段,根据经过评估改进的架构设计方案在云平台中搭建环境、部署业务,提供符合架构设计的云端环境。

(5)在架构的持续运营中,输入解决方案和当前业务运行状况,持续巡检、分析、评估(参见第11章),输出改进措施,进行重构改进,并周而复始地根据新需求提供方案。

img

图1-6 架构设计流程