Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between architecture and infrastructure in software?

Tags:

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?

like image 814
Matthew Moisen Avatar asked Mar 25 '14 23:03

Matthew Moisen


People also ask

What is the difference between IT infrastructure architecture and software architecture?

Technology Infrastructure vs Software ArchitectureTechnology infrastructure are basic foundational services such as networks, computing and storage services upon which software services are built. Software architecture defines the structure of software.

What is infrastructure of a software?

Infrastructure is the foundation or framework that supports a system or organization. In computing, information technology infrastructure is composed of physical and virtual resources that support the flow, storage, processing and analysis of data.

What is the difference between architecture and software architecture?

One of the biggest differences between the jobs seems to be that building architects deal with physical design and software architects with software design. Also, software architects require an understanding of both the design and implementation.

What does infrastructure mean in architecture?

Infrastructure Architecture is a structured and modern approach for supporting an organization and facilitating innovation within an enterprise. It concerns modeling the hardware elements across an enterprise and the relationship between them.


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.

like image 58
MooseBoys Avatar answered Oct 09 '22 04:10

MooseBoys


@MooseBoys provides a good summary, however for those looking for a little more detail and examples:

Classification

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.


Examples of Infrastructure & Architecture in a Sentence:

Infrastructure

  • Many multiplayer game applications' backend provides a client-server infrastructure.

  • "We provide core infrastructure technology services to the campus." — (source)

  • "A hybrid cloud approach could involve a public cloud environment and a private cloud environment with infrastructure (facilitated by application programming interfaces, middleware, or containers) facilitating workload portability." — (source)

Architecture

  • Many multiplayer game applications' backend use a client-server architecture.

  • "This portability is facilitated by microservices, an architectural approach to writing software where applications are broken down into their smallest components, independent from each other." (source)

  • "In order for a microservices architecture to work as a functional cloud application, services must constantly request data from each other through messaging. Building a service mesh layer into an application simplifies interservice communication, but a microservices architecture may also need to integrate with your legacy applications and other data sources." — (source)

like image 26
Zach Gover Avatar answered Oct 09 '22 06:10

Zach Gover