**导读:**一位阿里云解决方案架构师的自述。
作者 | 陈兵
我是在 2018 年加入阿里云,最开始是做一名软件开发工程师。那个时候,我经常和晓龙聚在一起探讨键盘的排列组合、语言的孰优孰劣、各种格子衫的穿法。当有一天龙哥发现我的 Title(岗位头衔)变成了架构师之后,对我的态度骤然冷淡起来,每次我满怀热情地去和他讨论问题,他总是对我却爱理不理。终于有一天我忍不住去拉住从对面走来却假装望天的龙哥这是为什么?原来龙哥觉得我键盘敲得没有他响,快捷键记得没有他全,竟然连 emacs 都不喜欢,只是因为“脱口秀”说得好就成为了架构师,简直太没有天理了。
架构师这个岗位在软件工程师来看是一个很神圣的岗位,也是众多开发人员努力的目标,大家都在幻想有一天全局由自己来把控,整体由自己来设计,做出好作品的召唤是每个开发人员的动力。但就像好作品可以分为许多种类一样,架构师同样也可以分为很多种类。
例如 Gartner 对架构师的分类会从商业、信息和技术(Business, Information and Technical)等维度出发,涉及到的角色是我们常见的,如企业架构师(Enterprise Architect)、解决方案架构师(Solution Architect)。同样也有按照功能分类来定义架构师的角色,从技术角度来看涉及到我们常见熟知的岗位:系统架构师(System Architect)、软件架构师(Software Architect)、数据架构师(Data Architect)、安全架构师(Security Architect)、交付架构师(Delivery Architect)等等。
面对不同客户的真实需求中,其实架构师之间是可以协同合作的,在不同阶段发挥着不同的作用。
《水浒传》中智取生辰纲的桥段很好地展示了不同架构师角色在一个项目中的作用:杨志烈日下带队押送生辰纲经过太行山黄泥岗被晁盖、吴用等人用蒙汉药酒懵倒,晁盖等七人毫发无损地完成了劫走生辰纲不可能的任务。桥段最后的描写“这七人端的是谁?不是别人,原来正是晁盖、吴用、公孙胜、刘唐、三阮等七个人。却才那个挑酒的汉子,便是白日鼠白胜。却怎地用药?原来挑上冈子时,两桶都是好酒。七个人先吃了一桶,刘唐揭起桶盖,又兜了半瓢吃,故意要他们看着,只是叫人死心搭地。次后吴用去松林里取出药来,抖在瓢里,只做赶来饶他酒吃,把瓢去兜时,药已搅在酒里,假意兜半瓢吃,那白胜劈手夺来,倾在桶里,这个便是计策。那计较都是吴用主张,这个唤作“智取生辰纲”。
这段描写清楚地描述了整个“项目中”的角色,系统(企业)架构师晁盖,公孙胜完成了整个组织团队的搭建后,解决方案架构师吴用设计了整套计策(方案),由交付架构师白胜,刘唐等将这个方案进行完美实施达到了目标。
所以,**龙哥作为一名合格资深的开发人员,他想要成为的架构师其实是技术架构师分类中的软件架构师,而我的架构师 title 其实是解决方案架构师,两者在职责分配和日常工作重点上都有比较大的区分,**相信龙哥看过这篇文章之后又可以同我一起愉快地讨论格子衫的穿法了。
随着云计算的概念越来越普遍被接受,解决方案架构师(Solution Architect)或者细分的云计算解决方案架构师(Cloud Architect)越来越多地出现在大家的视野中,那到底何为解决方案架构师?为什么会有这类岗位的出现?具体职责是什么?如何在真正项目中起到作用的?接下来的讨论都是据此展开。
解决方案架构师(SA)的角色往往出现在为客户提供复杂的产品组合的公司当中,比如为客户提供各类服务器产品组合的 HP、Dell,为运营商提供从接入网到核心网组合的电信设备商 Ericsson、HUAWEI,到现在提供各类产品组合的云计算供应商阿里云、AWS 等等。这类公司的客户所面临的问题都不止一种解法,如何在折衷和协调之中选择出最优的答案或者最合适的答案,就是解决方案架构师(SA)的职责所在。
解决方案架构师(SA)最常见的工作是输出各类设计方案,虽然客户的场景和行业各有不同,但面对千变万化的需求和场景下的方案依然可以遵循一定的规范。
A solution fulfills a mission.
解决方案架构师的出现是为了帮助客户达成一定的目标或者解决一定的问题,所以每个方案的设计都应该在基于明确需求下进行。过去常见的场景是我们有相应的产品或解决方案,然后将已经成型的产品及方案售卖给潜在的客户,但随着敏捷,弹性,云计算等越来越流行,很多时候解决方案架构师会同客户共同面对一个问题及场景,然后根据这个场景共创一类解决方案。
在云计算的场景下共创类的方案优势被进一步放大,相较于过去 IT 提供商的单一维度,云计算服务商可以提供基于各类用户场景下组合方案,同时结合众多云计算生态可以将方案定制化变成一种常态模式。
Architecting often involves making tradeoffs.
面对一个复杂组织的客户不同的部门一定都会站在各自的角度同解决方案架构师(SA)来阐述自己的诉求,例如对于很多传统行业公司的组织架构抽象类似下图:
