What Is the Difference Between Architecture and Infrastructure in Software?
I Just Posted a Question Asking the Difference Between Mapr and Cloudera's Architecture and Used "Architecture" and "Infrastructure" Interchangeably. Is This...
I just posted a question asking the difference between MapR and Cloudera's architecture and used "architecture" and "infrastructure" interchangeably. Is this appropriate?
To put this in context, MapR and Cloudera are distributions of Hadoop. They each contain various daemons that interact with each other in various ways. When I refer to infrastructure/architecture, I am referring to the daemons, their actions, and the relationships between the daemons.
What is the correct word I am looking for - architecture or infrastructure?
What is the difference between the two?
2 Answers
Infrastructure describes the actual set of components that make up a system, while architecture describes the design of the components and their relationships. In a nutshell, a system is built on an infrastructure that has a particular architecture.
For example:
Many multiplayer game backends provide a client-server infrastructure.
Many multiplayer game backends use a client-server architecture.
@MooseBoys provides a good summary, however for those looking for a little more detail and examples:
Classification
Must Read
Computer and Information Science, Computer Information Science (CIS), Infrastructure, Information Systems/Services & Technology (IST, IT )
Detailed Summary
Infrastructure
Describes the actual set of components that make up a system.
Typically, an enterprise Information Technology (IT) implementation is built on a Infrastructure.
Architecture
Describes the design of the components and their relationships.
IT Infrastructures' Architecture first necessitates IT Agility, providing decisions to subsequently explain the infrastructure components' relationships, agility, lifecycle events and more to provide automations, workflows, agility and relationships of each part of the infrastructure.
IMPORTANT NOTE:
"IT Agility" also known as "Infrastructure Agility," is an extremely important measurement when designing the IT Architecture to focus efforts of how efficiently the IT Infrastructure may respond to stimuli, while providing an ability to scale the IT Infrastructure in line with the demands of the business, rapidly.