
2.1 解决方案架构师的角色类型
在第1章中,我们学习了解决方案架构以及各种利益相关者如何影响解决方案策略。现在,让我们来了解一下解决方案架构师的角色。根据项目的规模大小,软件解决方案的开发可以不需要解决方案架构师,但对于大型项目,应该配有专门的解决方案架构师。方案的成败就取决于解决方案架构师。
始终需要有一个人能够为团队做架构决策,并推动团队与利益相关者的合作。有时候,根据项目的规模,需要在团队中配备多个解决方案架构师。图2-1描述了不同类型的解决方案架构师,展示了他们在组织中的不同职责。

图2-1 解决方案架构师的类型
一个组织可以有多种类型的解决方案架构师。解决方案架构师可以分为通用型与专业型。通用型解决方案架构师具有来自多个技术领域的广度。专业型解决方案架构师在其专业领域有非常深入的知识,如大数据、安全性和网络。通用型解决方案架构师需要与专业型解决方案架构师合作,以符合项目的需求和复杂性。
2.1.1 通用型解决方案架构师角色
解决方案架构师的角色因组织而异,有各种与解决方案架构师相关的职位名称,最常见的是通用型解决方案架构师角色。
有关解决方案架构师类型的详细信息,请参阅以下各小节。
1.企业解决方案架构师
你是否考虑过IT行业的产品是如何推出的?这就是企业解决方案架构师的作用——他们定义了最佳实践、文化和合适的技术。企业解决方案架构师与利益相关者、主题专家及管理层密切合作,制定组织的IT战略,并确保IT战略和业务战略保持一致。
企业解决方案架构师负责整个组织的解决方案设计,他们与股东和领导层一起制定长期计划和解决方案。其中最重要的一个方面是确立公司应该使用哪些技术,并确保公司使用这些技术的一致性和完整性。
企业解决方案架构师的另一个重要方面是定义业务架构。在某些组织中可能会将业务架构师作为一种职位头衔。业务架构填补了组织战略与战略成功实施之间的空白。它有助于将战略转化为可落地的行动项,并将其上升到可执行的战术层面。
总体而言,为了成功实现企业愿景,企业架构师在定义整个组织的标准时,需要与公司的愿景和使命保持一致。
2.解决方案架构师
本书以一种比较通用的方式来探讨解决方案架构师的角色。然而,根据组织的结构,解决方案架构师往往会有不同的头衔,如企业解决方案架构师、软件架构师或技术架构师。在本小节中,会研究一些与不同头衔相关的独特属性。然而,解决方案架构师的职责是重叠的,这取决于组织的结构。
关于如何组织和交付解决方案,解决方案架构师在其中发挥着至关重要的作用。
解决方案架构师设计整体系统,以及确定不同的系统如何在不同的分组中集成。解决方案架构师通过与业务利益相关者合作来定义预期的结果,并帮助技术团队对交付目标达成清晰的理解。
解决方案架构师将整个组织的点连接起来,并确保不同团队达成一致,以避免在开发过程后期可能出现的问题;他们参与整个项目生命周期,并定义监控和告警机制,以确保产品发布后的平稳运行。解决方案架构师在项目管理中也扮演着重要的角色,他们提供相关资源、成本和时间表估算的建议。
总的来说,与企业解决方案架构师相比,解决方案架构师可以在更具战术性的层面上参与进来。有时,如果需要更具有战略性的参与,解决方案架构师就会充当企业解决方案架构师的角色。
3.技术架构师
技术架构师也可以称为应用程序架构师或软件架构师。技术架构师负责软件的设计和开发。技术架构师在工程方面与组织合作,更侧重于在团队中定义软件开发的技术细节。他们跨组织工作,以了解系统集成如何与软件模块的其他部分一起工作,而这些可能是由其他团队负责的。
技术架构师可以管理API(应用程序编程接口)设计细节,并定义API的性能和可伸缩性。他们确保软件开发符合组织标准,并且可以轻松地与其他软件应用的组件集成。
技术架构师是与工程团队相关的技术问题的联络人,并能够根据需要对系统进行故障排除。小型的软件开发项目可能不会专门配备技术架构师的角色,因为高级工程师可能会担任这个角色,以从事软件架构设计。
技术架构师指导并支持软件工程团队,与他们紧密合作,解决由于跨团队集成或业务需求所产生的任何阻碍。
4.云架构师
云架构师角色在过去十年才出现,但随着企业对云计算采用率的提高,这是一个需求量很大的角色。
云架构师规划和设计云环境,并负责部署和管理公司的云计算策略。云架构师为云服务提供广度和深度,并可以定义云原生设计。
正如1.5节所讲述的,现在云的使用非常流行,并且组织迁移到公有云已成为常态。主要的云提供商(如AWS、微软Azure和谷歌云平台)正在通过软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)等产品帮助客户以指数级速度采用云平台。更多关于云架构的内容见第5章。
很多企业都希望将现有的工作负载迁移到云上,以利用其伸缩性、易操作性和价格优势。云架构师能够制定云迁移策略,并开发混合云架构。云架构师可以建议内部应用程序如何连接到云,以及不同的传统产品如何适应云环境。
对于初创企业和刚涉足云领域的企业,云架构师可以帮助它们设计云原生架构,该架构针对云进行了更多优化,并使用了云提供的全部功能。云原生架构往往是建立在按需付费的模式上,以优化成本并利用云上的自动化能力。
现在,云已经成为企业战略的重要组成部分,如果公司想要在如今的时代取得成功并跟上创新和自动化的步伐,则云架构师是必备的。
5.架构师布道者
架构师布道者(也称为技术布道者)是一个相对较新的角色,该角色为营销提供了新的范式,特别是在越来越多地采用复杂的解决方案平台时。人们总是希望听取具有深厚知识并且有能力回答各种疑问的专家的意见,以便他们可以做出明智的决定。在这种情况下,架构师布道者引起了人们的注意,因为他们正在作为领域专家在竞争激烈的环境中工作。
架构师布道者可以根据客户需求设计架构,从而解决客户的痛点,帮助客户获得成功。布道者可以成为客户和合作伙伴值得信赖的顾问。架构师布道者对架构问题、概念和市场趋势有着非常深刻的理解,有助于确保平台采用率,并通过占领市场来显示收入增长。
为了提高整体目标受众的平台采用率,架构师布道者会撰写公共内容,如博客、白皮书和文章。他们在公共平台上发表演讲,无论是行业峰会、技术会谈还是会议。他们举办技术研讨会并发布教程,以传播给定产品的相关信息。这使得解决方案架构师具有出色的书面和口头沟通能力,常见的情况是解决方案架构师将技术传播作为额外的责任。
2.1.2 专业型解决方案架构师角色
可能还有其他类型的专业型解决方案架构师,如迁移架构师、存储架构师和机器学习架构师。这取决于组织的结构。根据项目和组织的复杂性,一个解决方案架构师可以承担多种角色,或者不同的解决方案架构师可以承担多种责任。
1.基础设施架构师
基础设施架构师是专业型解决方案架构师,主要致力于企业IT基础设施设计、安全防护和数据中心运维。他们与解决方案架构师紧密合作,以确保组织的基础设施战略与其整体业务需求相一致,并通过分析系统需求和现有环境来规划适当的资源能力,以满足需求。他们有助于减少用于运维的资本支出,从而提高组织效率和投资回报率。
基础设施架构师是组织的骨干,因为他们定义和规划整个IT资源,从存储服务器到个人工作空间。基础设施架构师为采购和建立IT基础设施制定详细计划。他们定义软件标准、补丁,并计划整个组织的系统更新。基础设施架构师处理基础设施的安全问题,并确保所有环境免受不必要的病毒攻击。他们还计划灾难恢复和系统备份,以确保业务运营始终在运行。
在大多数电子商务企业中,基础设施架构师的工作变得颇具挑战性,因为他们需要为销售旺季做好计划,大多数消费者会在这个时候开始购物。基础设施架构师需要准备足够的服务器和存储容量来应对旺季,因为旺季的工作量可能是平时的10倍,这样就会增加成本。但是旺季过后,系统将在一年中的大部分时间里处于闲置状态。
基础设施架构师需要为成本优化和更好的用户体验进行规划,这也是他们会使用云来实现额外容量和按需伸缩以降低成本的另一个原因。他们需要确保系统在支撑新的专业能力时被有效利用。
总的来说,基础设施架构师需要对数据中心的运维和所涉及的组件(如加热、冷却、安全、机架和堆叠、服务器、存储、备份、软件安装和补丁、负载均衡器和虚拟化)有充分的理解。
2.网络架构师
你是否考虑过如何将拥有多个办公地点或商店的大型企业连接在一起?这时候,网络架构师的作用就体现出来了,他们负责协调组织的网络通信策略,建立IT资源之间的通信,从而为IT基础设施赋予活力。
网络架构师负责设计计算机网络、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、互联网、内部网和其他通信系统。他们管理组织信息和网络系统,确保为用户提供低延迟和高性能的网络,以提高他们的生产力。他们使用虚拟专用网(Virtual Private Network,VPN)连接,在用户工作区和内部网络之间建立安全连接。
网络架构师与基础设施架构师密切合作(有时你会发现这两个角色是重叠的),以确保所有IT基础设施都相互连接。他们与安全团队合作,设计组织的防火墙,以防止非法攻击。他们负责通过数据包监控、端口扫描以及入侵检测系统(Intrusion Detection System,IDS)和入侵防御系统(Intrusion Prevention System,IPS)来监控和保护网络。第8章中将讲述更多关于IDS/IPS系统的内容。
总体而言,网络架构师需要对网络策略、网络运维、使用VPN的安全连接、防火墙配置、网络拓扑、负载均衡配置、DNS(域名系统)路由、IT基础设施连接等有非常深入的了解。
3.数据架构师
任何解决方案的设计都是围绕数据展开的,并且通常都涉及数据的存储、更新和访问,无论这些数据是关于客户的还是关于产品的。在过去的十年里,数据的增长呈指数级上升,不久前,千兆字节的数据就被认为是大数据,但现在,即便是100TB的数据都司空见惯,一个平常的计算机硬盘就是1TB的。
传统上,数据通常以关系型的结构化方式存储。现在,大多数数据都是以非结构化的格式存储,这些数据通常来源于社交媒体、物联网(Internet of Things,IoT)和应用程序日志等。企业需要存储、处理和分析数据以获得有用的见解,这时数据架构师的角色就应运而生了。
数据架构师定义了一套规则、策略、标准和模型,用于管理组织数据库中使用和收集的数据类型。他们设计、创建和管理组织中的数据架构。数据架构师开发数据模型和设计数据湖,以捕获业务的关键性能指标(Key Performance Indicator,KPI)并实现数据转换。他们确保整个组织的数据性能和数据质量保持一致。
数据架构师的主要客户如下:
● 使用商业智能(BI)工具进行数据可视化的业务主管。
● 使用数据仓库以获得更多数据洞见的业务分析师。
● 使用提取、转换和加载(ETL)进行数据处理的数据工程师。
● 使用机器学习的数据科学家。
● 管理应用程序数据的开发团队。
为了满足组织需求,数据架构师负责以下内容:
● 数据库技术选型。
● 结构化和非结构化数据存储的选择。
● 流式数据处理和批量数据处理。
● 作为中心化数据存储的数据湖。
● 用于应用开发的关系型数据库模式。
● 用于数据分析和BI工具的数据仓库。
● 数据集市的设计。
● 数据安全和加密。
● 数据合规性。
我们将在第13章中了解更多关于数据架构的知识。总而言之,数据架构师需要了解不同的数据库技术、BI工具、数据安全性和加密技术,才能做出正确的选择。随着机器学习在企业中变得越来越突出,机器学习架构师这一角色也随之出现。
4.机器学习架构师
众所周知,人工智能(Artif icial Intelligence,AI)和机器学习(ML)成为一个热门话题已经有一段时间了,越来越多的公司正在转向在其企业解决方案库中实施机器学习。公有云通过易于访问的基础架构和工具加速了组织对机器学习的采用。机器学习以多种方式帮助解决客户问题,包括个性化开发、提供预测和检测欺诈。除此之外,机器学习还可以为IT领导者、软件架构师和解决方案架构师解决许多日常遇到的挑战,如安全自动化、基础架构、灾难恢复和解决方案监控。这导致了机器学习架构师角色的兴起,该角色在非常高的级别上承担了以下职责:
● 运用系统思维,在企业软件栈中实施/采用ML。
● 用于实施ML和AI的识别和分析工具。
● 为ML构建信息/数据架构。
● 修改当前的软件栈和工具,为ML集成开路。
● 运行持续监控和持续改进的机器学习。
ML架构师通过运用最佳架构实践来创建AI/ML解决方案架构,同时考虑AI/ML解决方案设计的性能优化、安全性、合规性、可靠性、成本优化和卓越运维。并不是每个问题都可以用AI/ML解决,ML架构师应该了解ML解决方案如何适应敏捷的企业环境。他们必须通过提供对设计原则、高级设计模式、反模式,以及现代AI/ML技术栈设计的云原生方面的详细理解,将它们与AI/ML架构设计放在一起。我们将在第14章中了解有关机器学习的更多信息。
5.安全架构师
安全应当是任何组织的头等大事。我们经常看到一些久负盛誉的大型组织因为安全漏洞而导致破产。安全事故不仅会让组织失去客户的信任,而且会因此遭遇法律纠纷。各种行业合规性认证都是为了确保组织和客户数据的安全而制定的,如组织安全(SOC2)、金融数据(PCI)和医疗保健数据(HIPPA),公司必须根据其应用程序的性质来遵守这些规定。
考虑到安全的关键本质,组织需要为其项目研究和设计最强大的安全架构,这就需要安全架构师。安全架构师与组织内的所有团队和外部供应商密切合作,以确保安全是重中之重。安全架构师的职责包括以下内容:
● 对组织中的网络和计算机安全进行设计并部署实施。
● 了解公司的技术和信息系统,保障组织中计算机的安全。
● 通过各种设置,以保障公司网络和网站的安全。
● 规划漏洞测试、风险分析和安全审核。
● 检查并审核防火墙、VPN和路由器的安装,并对服务器进行扫描。
● 测试最终的安全流程,并确保其按预期工作。
● 为安全团队提供技术指导。
● 确保应用程序符合所需的行业标准。
● 通过必要的可访问性和加密控制确保数据的安全性。
安全架构师需要使用各种工具和技术来了解、设计并指导与数据、网络、基础设施和应用程序安全相关的各个方面。第8章中会有更多关于安全性和合规性的内容。
6.DevOps架构师
当系统变得越来越复杂时,人为错误的可能性越来越大,这可能导致需要额外的努力、增加成本,甚至降低质量。自动化是避免故障并提高系统整体效率的最佳方式。如今,自动化已经不是一个可有可无的选择,如果你想变得敏捷且行动更快,自动化是不可或缺的。
自动化可以应用在任何地方,无论是测试和部署应用程序,还是启动基础设施,甚至是确保安全性。自动化起着至关重要的作用,DevOps架构师可以让所有的一切都实现自动化。DevOps是实践和工具的组合,有助于以更快的速度交付应用程序。
这样可以使组织更好地服务于客户,并在竞争中保持领先。
在DevOps中,开发团队和运维团队并行工作。对于软件应用,DevOps架构师定义了持续集成和持续部署(Continuous Integration and Continuous Deployment,CI/CD)。在开发团队将其代码变更合并到中央仓库之前,CI将进行自动构建并执行测试。CD扩展了持续集成,它在构建和测试阶段之后将所有代码更改部署到生产环境中。
DevOps架构师将基础设施的部署实现自动化,即所谓的基础设施即代码,这在云环境中非常普遍。DevOps架构师可以利用Chef和Puppet等工具进行指令性自动化,如果工作负载在云环境中,则可以使用云原生工具。他们可能选择使用Ansible和Terraform等脚本自动化基础设施。基础设施自动化为开发团队的实验提供了极好的灵活性,并使得运营团队能够创建副本环境。
为了平稳的运维,DevOps架构师规划了监控和告警机制,并在出现问题或任何重大变更时,进行自动化的通信。任何安全事件、部署失败或基础设施故障都可以被自动监控,并且在需要时通过移动设备或电子邮件向相应团队发出告警。
DevOps架构师还为灾难恢复规划了不同的部署方式。组织恢复点目标(Recovery Point Objective,RPO)是指组织可以容忍的数据丢失量。恢复时间目标(Recovery Time Objective,RTO)表明应用程序能够花费多少时间来恢复并重新开始运行。在第12章中可以了解到更多关于DevOps的内容。