什么是架构师

架构师是互联网行业及传统企业技术部门中比较特殊的一种职业,是软件开发活动众多角色之一,它可能是一个人、一个小组,也可能是一个团队,这里我们将架构师看作一种角色,在这个角色上做得出色的就是优秀的架构师。

架构师在企业或者项目中具有重要的作用。比如,在企业架构中,架构师可以简单地理解为企业架构的Owner,其核心任务是降低系统的复杂度,对企业架构的设计和落地负责

传统的系统设计主要需要系统架构师和系统分析师两个角色,但是随着互联网的快速发展,如今延伸出越来越细分的领域,比如企业架构有很多细分子域,如业务架构、应用架构、数据架构、技术架构,因而又可细分为各子域的架构师。

架构师不用事必躬亲,其核心任务是完成架构设计的工作,并协调相关角色,消除存在的歧义,负责企业架构的落地

在互联网行业,架构师具有关于架构和技术的丰富经验,同时具备业务分析能力、计算机基础能力、基本的工具使用能力、排查和定位问题能力、产品思维能力等。

一般来讲,架构师负责主导全局架构分析设计和实施、负责软件架构和关键技术决策

  • 一方面,从技术层面,现在的软件越来越复杂,涉及的人越来越多,为了理解和管理庞大的工程,人们通过架构来对系统进行封装和抽象。架构师需要从全局的视角,考虑系统的方方面面,如技术合理性、成本和效率、系统稳定性、可连续性、可服务性等方面。架构师一般是技术方向的掌舵人,需要对技术决策负责。
  • 另一方面,从组织层面,软件项目涉及的角色越来越多,比如技术、产品、运营、业务、项目管理等,在技术团队内又分为售前、售后、前端、后端、测试、部署、运维、支持保障、系统集成等。

架构师作为技术团队对外的接口人,是连接内外团队的桥梁,同时是重点技术的带头人,负责技术的发展方向和边界设定,沟通和协同多个团队,完成软件系统和产品的架构落地,助力业务成功

总体来说,架构师主要需要关注以下内容。

  • 了解问题领域,消除沟通歧义。
  • 承接业务目标,抽象业务需求。
  • 分析业务需求,输出业务模型。
  • 抽象领域概念,输出领域模型
  • 推导系统架构,输出架构模型。
  • 划清系统边界,确立集成交互。
  • 划分优先级别,助力项目实施。
  • 架构最终解释,把握关键环节。
  • 资源评估盘点,资源编排能力。
  • 负责技术选型,完成系统落地。