DEV Community

Dibyojyoti Sanyal
Dibyojyoti Sanyal

Posted on • Updated on • Originally published at cloudnativemaster.com

What is Software architecture? Who are architects? Why should we care?

Passing software monolith and entering into the cloud native era, software architecture has become more important. Because in cloud native application development, we develop self sufficient micro services that are responsible to do exactly one job.

What do we want?

Software is not visible and not tangible. But we want to talk about them, share knowledge and information on software. We want to convince and defend our ideas and we want to discuss them with others. We need an efficient and easy to understand medium for communication and much more.

What is software architecture?

As per Wiki “Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.” Means software architecture is a blueprint of what runs on a machine, it's a pictorial representation of what we can't touch and see. We can depict the product as a whole with a high level of abstraction and each of its modules in detail. The pictures are called models.

Why Modelling?

We need a standard that understandable across industry, a common language and graphical notation for communication and visualization.

What is the Job of an Architect?

An Architect needs to understand the target audience. It could be anyone between a developer to a Customer. Architect needs to capture and present information, design a software system and/or part of it. An architect's work is not only limited to creating the designs he/she also needs to help assigning ”who does what?”

Who are the communication partners?

Other Architects, Software Developers, Documentation Developers, Customers, Managers.

What are the Do’s of an architect?

Draw diagrams, Write documents that explains the diagrams, structure the documents, setup context before jumping into drawings.

Read this blog post for more details.

Top comments (0)