【日志归档】 07月, 2008

星期六, 07月 5th, 2008

网络公司架构师角色探讨



这几天和同事聊天的时候,一张图是否能够把我们头脑的“架构”表述清楚,最终都不是很理想。原因就是架构本身就是多视角的,不同的视角,看到的图是不一样的。后来发觉以我等的能力至少需要3张图[产品视图、业务试图、技术视图]才可以表述清楚:战略与产品、业务、技术,产品与业务、技术,业务与技术。【还有一个层面的视图也很重要:数据视图】
架构师角色可以切分为数据架构师、技术架构师、业务架构师、产品架构师。

  • 数据架构师
  • 负责数据相关的架构,例如:数据库,文件数据,分布式数据架构,数据切分,数据规划,统一数据视图,数据分析,数据备份等方面的内容。
    (和技术架构师一道,构件类似google的文件存储、Ebay的统一数据访问层等,对于系统伸缩性、性能、迈入云计算等价值巨大)
    制定数据相关的规范、标准流程。
    审核系统、项目中数据相关的内容。

  • 技术架构师
  • 关注整体系统架构,通过技术架构对业务架构提供支撑;研究基础技术,通用技术;解决系统稳定性、可靠性、性能、一致性、安全性、可用性等;关注生产率。
    制定软件设计、开发、测试等方面的标准、规范、指南等。
    参与核心系统设计、开发、测试等。
    各类规范的审核,review。
    评估系统规模,风险等。
    【说明:】系统分析员不是技术架构师,但技术架构师能够胜任系统分析员的职责。

  • 业务架构师
  • 关注业务架构,对公司战略,客户需求,内部需求进行抽象,组织,规划。例如:taobao的B2C、C2C业务,会员业务,评价体系,淘宝交易等业务本质的抽象是什么的研究,业务之间的关系的组织,业务发展的规划等。技术架构师可以通过业务架构来选择技术架构,研究未来支撑业务发展的技术。
    关注业务的敏捷性,能够随着战略的变化而变化。
    (业务架构师抽象的业务模型,如果能够保证自身数据的一致性,异步性,那么对技术架构师将产生巨大的帮助)
    制定业务相关的规范。

  • 产品架构师
  • 关注产品架构,利用核心业务包装为不同的产品或产品平台,把公司的核心业务展现给用户,把公司的战略目标具体化。例如:google的WEB搜索产品、手机搜索产品、桌面搜索产品等,同一个搜索业务,包装为不同的产品。产品架构师对产品的规划为业务架构师和同时为技术架构师提供参考。
    (产品和业务最终体现了公司的战略,业务是本质,产品是外延,2者缺一不可;产品和业务的规划,发展节奏也代表了公司战略的节奏;产品和业务的发展性也代表了公司战略的持续性)
    制定产品相关的规范。

  • 首席架构师
  • 制定公司的长期技术路线图。
    是公司技术方向和技术组合的重要决策者。

【其它架构师角色】
对于大型网络公司来说,系统管理员的角色的职责并未完全被技术架构师代替。
测试架构师,(看看一个招聘要求:开发和设计测试框架; 纵横全局的考虑产品的功能及非功能需求,设计高精的测试系统;负责研发特定的测试技术;提高整体测试效率;领导公司测试技术的发展和测试策略的方向;前瞻性的考虑未来的版本的测试策略和技术;计划 / 设计测试平台,关注着产品的测试过程;具备测试技术、测试方法学上雄厚的知识。)

【参考】
《谁来当首席架构师?》的相关内容
架构师
10条你不需要软件架构师的理由
软件架构师_21ks.net专题辅导资料
系统分析员、系统架构师、项目经理的区别
什么样的产品人才是人才