# 解决方案架构的含义
如果要询问解决方案架构的定义,我们可能会得到很多不同的答案,这些答案因为人所处的组织结构不同,组织的业务需求不同,组织的层次和方案的复杂程度不同,最终得出各种不同的解决方案视角。
简而言之,解决方案架构就是从企业战略和战术视角,对业务解决方案进行定义和展望,解决方案架构不仅仅是软件解决方案,它还包括系统基础设施、网络、安全、合规性要求、运维、成本和可靠性等方方面面。
解决方案架构包含如下几类问题:
- 全球团队:在全球化的试点,很多产品会有分布在全球各地的用户,很多软件开发会采用在岸-离岸模式,该模式下团队跨时区工作以提高工作效率,并优化项目成本,解决方案设计需要根据团队结构制定相应计划。
- 合规性要求。在设计部署解决方案时,每个国家和地区都有其法律和合规制度,不同行业的合规性要求也不一样,解决方案架构在设计阶段就需要考虑这些合规性。行业标准和明确定义的解决方案架构可以在技术解决方案中解决业务需求,并确保交付预期结果。
- 成本和预算。解决方案架构能协助相关方更好的估计项目成本,并确定预算。预算包括资本支出(CapEx),即前期成本,以及运维支出(OpEx),即持续成本。它有助于为人力资源、基础设施资源以及其他许可相关的成本制定整体预算。
- 实施组件。实施组件预先提供了产品不同实施过程的高层次概述,这有助计划执行过程。
- 业务需求。解决方案架构包括功能性需求和非功能性需求,它将确保业务兼容,并在利益相关方之间取得平衡。
- 基础设施。解决方案架构预先规划计算、存储、网络等基础设施,将有助于合理规划IT资源。
- 技术选型。在解决方案架构设计过程中,进行概念验证和原型开发,根据企业实际需求推荐实施技术和工具,解决方案架构需要选择进行内部自建或者向第三方采购工具,并定义软件标准。
- 终端用户。解决方案架构应该特别关注终端用户的需求,因为他们是产品的实际消费者,解决方案架构中要提供标准文档和典型的结构,以确保可以满足核心用户的诉求。
- 方案维护。解决方案架构不仅涉及设计和实施,还需要负责上线后的活动,例如解决方案的可伸缩性、灾难恢复等等。
- 项目时间表。解决方案架构设计根据每个组件的复杂性布局其细节,通过提供资源估算和相关风险信息,进一步确定项目里程碑和时间表。
解决方案架构的初始设计可以在售前环节或者早期进行构思,然后再创建原型或进行概念验证以发现风险。同时还要确定是构建解决方案还是采购解决方案,这有助于技术选型。解决方案架构需要能够满足业务需求,保持业务上下文的完整性。好的解决方案架构会将需求规格落实到定义明确的解决方案中,这有助于交付并完成最终产品,并在产品上线后实现顺畅的可维护性。
一个好的解决方案架构会有如下几个特征:
- 清晰的输出了方案设计,同时也定义了相关标准,消除业务人员和技术人员之间的需求冲突和误解,降低方案的歧义,以确保交付质量。
- 提供不同的策略来选用各种平台、技术和工具,来构建安全的产品原型。
- 能够平衡多种如资源、技术、成本、质量、时间、变更等制约因素,可以确保方案的端到端交付,同时保障安全、合规、基础设施和项目管理的支持。
# 云解决方案架构
云计算架构最大的优势在于,可以端到端查看所有架构组件,包括前端平台、应用程序开发平台、服务器、存储、数据库、自动化、交付,以及管理整个解决方案环境所需的网络。
公有云是完全虚拟化的环境,它在标准计算模式的基础上,服务提供商通过互联网向客户提供虚拟机、应用程序、存储等资源。在公有云模式中,客户只需为使用期间所申请的服务付费,这样通过优化IT资源,减少闲置时间就可以为客户节约成本。
私有云(本地环境)可以看做公司现有数据中心的副本或扩展,出于许可或合规的需要,企业可能配置专用的物理服务器。
混合云通常用于那些将工作负载从企业内部转移到云上的大型企业,他们可能仍然拥有无法直接迁移到云的应用程序,这样的情况下,企业必须在本地维护部分环境,其他程序部署在公有云。有的企业也会将测试环境放在公有云,将生产环境放在本地。
云计算主要由三种类型:
- 基础设施即服务(Infrastructure aS a Service,IaaS)。在laaS模式下,供应商以托管服务的方式提供基础设施资源,如计算服务器网络组件和数据存储空间。它帮助客户使用T资源,而不用担心处理数据中心的开销,如加热和冷却、机架和堆叠、物理安全等。
- 平台即服务(Platform aS a Service, Paas)。Paas模式增加了一层服务,供应商负责开发平台所需的资源,如操作系统、软件维护、补丁等,以及基础设施资源。PaaS模式通过代替客户承担所有的平台维护负担,让团队专注于编写业务逻辑和处理数据。
- 软件即服务 (Software as a Service, Saas) :SaaS模式在PaaS和laaS模式的基础上又增加了一个抽象层,即供应商提供现成的软件,而你为服务付费。例如,使用Gmail、雅虎邮箱、AOL等电子邮件服务时,你可以获得自己的电子邮件空间,而不必考虑底层应用程序和基础设施。