【问题标题】:What is the difference between architecture and infrastructure in software?软件中的架构和基础架构有什么区别?
【发布时间】:2014-05-04 02:45:03
【问题描述】:

我刚刚发布了一个问题,询问 MapR 和 Cloudera 的架构之间的区别,并且可以互换使用“架构”和“基础设施”。这样合适吗?

为了说明这一点,MapR 和 Cloudera 是 Hadoop 的发行版。它们每个都包含以各种方式相互交互的各种守护进程。当我提到基础架构/架构时,我指的是守护进程、它们的操作以及守护进程之间的关系。

我要查找的正确词是什么 - 架构或基础架构?

两者有什么区别?

【问题讨论】:

标签: architecture terminology infrastructure


【解决方案1】:

Infrastructure 描述了组成系统的实际组件集,而 architecture 描述了组件的设计及其关系。简而言之,系统建立在具有特定架构基础设施之上。

例如:

许多多人游戏后端提供客户端-服务器基础设施

许多多人游戏后端使用客户端-服务器架构

【讨论】:

  • 我们可以说基础设施是资产,架构是使用这些资产的设计。
【解决方案2】:

@MooseBoys 提供了一个很好的总结,但是对于那些寻求更多细节和示例的人来说:

分类

计算机和信息科学、计算机信息科学 (CIS)、基础设施、信息系统/服务与技术(IST、IT)


详细总结

基础设施

描述构成系统的实际组件集。

通常,企业信息技术 (IT) 实施建立在基础设施之上。

架构

描述组件的设计及其关系。

IT 基础架构的架构首先需要 IT 敏捷性,提供决策以随后解释基础架构组件的关系、敏捷性、生命周期事件等以提供自动化,基础架构各部分的工作流程、敏捷性和关系。


重要提示:

IT 敏捷性”也称为“基础设施敏捷性”,是设计 IT 架构时极其重要的衡量标准strong> 重点关注IT 基础架构 对刺激的响应效率,同时提供根据业务需求快速扩展 IT 基础架构的能力。


Infrastructure & Architecture 的例子:

基础设施

  • 许多多人游戏应用程序的后端提供客户端-服务器基础设施

  • “我们为校园提供核心基础设施技术服务。” — (source)

  • “混合云方法可能涉及公共云环境和私有云环境,其基础设施(由应用程序编程接口、中间件或容器促进)促进工作负载的可移植性。” — (source)

架构

  • 许多多人游戏应用程序的后端使用客户端-服务器架构

  • “微服务促进了这种可移植性,这是一种编写软件的架构方法,其中应用程序被分解成最小的组件,彼此独立。” (source)

  • “为了使微服务架构作为功能性云应用程序工作,服务必须通过消息传递不断地相互请求数据。在应用程序中构建服务网格层可以简化服务间通信,但微服务架构可能还需要集成与您的旧应用程序和其他数据源。” — (source)

【讨论】: