黄金瞳百度云:什么是首席构架师

来源:百度文库 编辑:高考问答 时间:2024/07/13 17:32:59
什么是首席构架师 与 CEO有什么区别?

架构师实际上就是总体设计师
  CEO(Chief Executive Officer),即首席执行官,是美国人在20世纪60年代进行公司治理结构改革创新时的产物。

  由于市场风云变幻,决策的速度和执行的力度比以往任何时候都更加重要。传统的“董事会决策、经理层执行”的公司体制已经难以满足决策的需要。而且,决策层和执行层之间存在的信息传递时滞和沟通障碍、决策成本的增加,已经严重影响经理层对企业重大决
  8月,三星与您激情奥运 雅典风云热辣速递
  LG 手机一元抢拍 精彩手机赛事全攻略
  策的快速反应和执行能力。而解决这一问题的首要一点,就是让经理人拥有更多自主决策的权力,让经理人更多为自己的决策奋斗、对自己的行为负责。CEO就是这种变革的产物。CEO在某种意义上代表着将原来董事会手中的一些决策权过渡到经营层手中。

  CEO与总经理,形式上都是企业的“一把手”,CEO既是行政一把手,又是股东权益代言人————大多数情况下,CEO是作为董事会成员出现的,总经理则不一定是董事会成员。从这个意义上讲,CEO代表着企业,并对企业经营负责。

  由于国外没有类似的上级主管和来自四面八方的牵制,CEO的权威比国内的总经理们更绝对,但他们绝不会像总经理那样过多介入公司的具体事务。CEO作出总体决策后,具体执行权力就会下放。所以有人说,CEO就像我国50%的董事长加上50%的总经理。

  一般来讲,CEO的主要职责有三方面:①对公司所有重大事务和人事任免进行决策,决策后,权力就下放给具体主管,CEO具体干预的较少;②营造一种促使员工愿意为公司服务的企业文化;③把公司的整体形象推销出去。

组织的CAO(Chief Architect Offer),首席架构师

转述一个首席架构师的话,来解释这个含义:

架构 (architecture) 这个概念确实不好定义。首先,它很虚,不像代码可以用源文件“自证”。其次,它很泛,好像跟什么都相关,开发、测试、部署甚至运营等各阶段都有其影子。然后,它好像还在变,在计算机发展的各个阶段(Mainframe/PC/Cloud)都感觉不太一样。而且,在不同的领域也都有不同的反映。

所以,一千个人心中有一千个哈姆雷特,一千个工程师眼里也能有一千种架构。在2012年2月1日晚11点左右(向Pkubuntu致敬),我的看法可以用两个例子说明。以建筑为例,设计师想方案,建筑师出图纸,工人施工同时项目管理贯穿始终,那图纸就是架构。如果说到烤鸭,骨头和肉是代码,鸭架子就是架构,而过程管理将其变成烤鸭。

如果要更正式点定义,架构就是model和pattern,从而把code串成system。而其中最重要的就是design principles (设计原则),即为什么这个问题要用这个而非那个。更文艺点,再结合点美学,也可以叫作design philosophy (设计哲学或理念)。

然后我们来看什么是model和pattern,这两个具体的定义我还没想出来。先说一下比较,model偏宏观,而pattern偏微观;model重抽象描述,而pattern重具体实现。比如,你的系统有一个服务端和一个客户端,那么client/server就是model,而client与server之间的交互方式则是pattern,比如RPC/message、同步/异步,比如用滑动窗口来组织请求与应答等等。当然,这和系统的尺度有关。如果你zoom in到服务端,此时的model可能就是模块的组织关系,而pattern则是调用方式,比如用function call还是event等。

具体到领域上,我觉得主要有三类架构问题(不包括硬件):

1. 软件架构,其典型用例是企业级软件,通过合理的功能抽象,提取出公共组件和通用流程,进行最大化的功能复用 (reuse)。我称其为软件的可维护性问题。
2. 系统架构,其巅峰是OS,重点是解决资源的分配与复用 (multiplexing)。
3. 大规模分布式架构,主要应用在Cloud中,重点是大规模系统的资源整合、快速交付和运维问题。