#架构师#要懂得项目基础设施架构
#架构师#要懂得项目基础设施架构
大多数的软件指南都专注于软件本身,然而我们也确实需要考虑基础设施,因为软件架构是关于软件和基础设施的。
意图
这个部分描述软件将会部署到的物理/虚拟硬件和网络。虽然作为一个软件架构师,你可以不参与基础设施的设计,但还是需要了解,让你有能力满足目标就够了。这个部分的目的是回答下面几类问题。
■ 是否有清晰的物理架构?
■ 在所有的层中,什么硬件(虚拟或物理)做了这件事?
■ 如果适用,它是否满足冗余、故障转移和灾难恢复?
■ 选择的硬件组件如何改变大小和被选中是否清楚?
■ 如果使用了多个服务器和网站,它们之间的网络联系是什么?
■ 谁负责基础设施的支持和维护?
■ 有照管通用基础架构(比如,数据库、消息总线、应用程序服务器、网络、路由器、交换机、负载均衡器、反向代理、互联网连接等)的中心团队吗?
■ 谁拥有资源?
■ 开发、测试、验收、试制、生产等是否有合适的环境?
结构
这个部分的主要关注点通常是展示各种硬件/网络组件以及如何相互融合的基础设施/网络图,配合简短的叙述。
如果我在一个大型组织中工作,通常会有一个照管基础设施架构并为我创建这些图的基础设施架构师。有时候情况不是这样,尽管我会自己来画它们。
动机
写这个部分的动机是强迫我(软件架构师)走出自己的舒适区去思考的基础设施架构。如果我不理解它,有可能我创建的软件架构就不会工作,或者已有的基础设施不会支持我尝试做的事。
受众
主要是软件开发团队中的技术人员以及其他可以协助部署、支持和运营软件系统的人。
动机
写这个部分的动机是强迫我(软件架构师)走出自己的舒适区去思考的基础设施架构。如果我不理解它,有可能我创建的软件架构就不会工作,或者已有的基础设施不会支持我尝试做的事。
受众
主要是软件开发团队中的技术人员以及其他可以协助部署、支持和运营软件系统的人。
是否必须
是,所有软件指南都应该包含基础设施架构部分,因为它表明基础设施已经理解并考虑过了。