谈架构我们谈什么,如果单单谈技术是不行的,架构师起到承上启下的作用,上负责与客户与业务涉众沟通,下负责让团队理解需求和如何通过技术实现需求。架构师的语言包括架构图,同时我们还要谈论业务能力和技术能力。
业务能力是我们从业务需求、系统类别、行业背景分析出的,主要是按业务范围或业务领域进行一定的划分,比如说合同系统,那么合同审批、合同签署、合同存档等就是业务能力。
技术能力是从我们选择的技术、平台、基础结构中体现出来的。如AWS S3的对象存储能力,Lambda的无服务器计算能力,DynamoDB的NoSQL数据存储能力,ElasticSearch的搜索能力,又如ElastiCache的缓存能力和CloudFront的CDN能力。
架构师所做的架构设计实际上就是一个函数f(x),x是业务能力,所得f(x)是从业务能力映射出的技术能力。技术能力的全景图就是技术架构图,同时我们也可以通过技术债列表反应出我们所需要的技术能力以及技术能力的风险。
架构师跟客户及业务团队、涉众通过业务能力以“业务语言”进行沟通,比如“合同审批需要支持多级可打回的自定义审批流程”、“合同签署需要支持电子合同签署”、“合同归档要实现合同扫描件及电子合同的保存”等等。这里我们不提及要使用的技术、产品、服务、品牌、平台和基础设施,原因是客户和涉众并不能理解你的这些技术词汇。
架构师跟应用开发和运维团队以“技术语言”进行沟通,比如“合同审批采用开源,支持多节点并行审批并可退回前节点的自定义工作流产品”、“合同签署采用Web界面和签名采样控件进行电子签署”、“合同归档需要满足ISOxxxx的合同记录管理系统”等等,这里我们要提起技术、产品、服务、品牌、平台和基础设施,帮助开发和运维团队理解在未来的时间里他们需要做哪些准备和工作,项目经理需要明白还需要何种能力的人力或其他工作资源。
通过业务语言和技术语言的双向沟通,架构师起到承上启下帮助技术团队理解业务需求,通过技术满足客户和涉众所提需求的目的。
网友评论