Creating Architecture diagrams

I remember in college, we were asked to do UML and User diagrams and we'd sigh. It was fun when doing but the background process of figuring out how things worked, was a headache (at least for me). Well, telling someone who's least interested to be there, to sit and draw "boxes" is a bad move already. But for someone trying to make sense of what's going on, I should have gone trying to understand. But I (we? Tell me, I'm not alone :') )figured it was a one time thing or something, which in hindsight was very dumb thing to think.

The "IT" people's "ART"

When I started my journey of figuring out Cloud Service Providers (CSPs) , I came across what are known as "architecture diagrams" pretty much early on and frequently. These are images which describe how various services (both third party and in-party) can be "put together and made to work" with various symbols and lines. This is something I never realized was important. In fact, I always wondered how these "amalgamation of icons" images came into existence and figured people just "Googled". That sounds worse :'). But it's never too late to learn and that's what our article is about.

Let's dive in. 

So, you go to a scenic location with a waterfall where the water is this beautiful shade of sky with lush green plants, dense trees, chirping birds, misty clouds with hills behind. You are blown. You go home and go around telling everyone. People are staring blankly at you like you are at this article. You write down what you saw , but they are too lazy to read or too dumb to understand. So, you decide to draw AND everyone is blown now. Everyone's wowing and awing. So, what's that got to do with us you may ask.

Communication is key


In a software environment, there's a lot going on; Developers are coding, Operations team is trying to release code in time, customers are using the products, new versions have to be published, marketing team is coming up with new ideas and a lot more. But, this is all very surface level. What happens on a microscopic level is what makes drastic differences to the end product (which is the scenic location). There are many layers to be pondered, paid for and implemented to make it a secure, user friendly and well defined product, especially for a large audience. These words aren't written just like that, and play very crucial role in setting up anything large scale or even, small on the internet.


Suddenly Alphabets make no sense

Various tools and services as well as individuals work to make a website/ web application/ any end product that is to be used by an audience (similar to the waterfall, clear water, greens and blues, flora and fauna which make the location scenic). Developers, marketing team, external consultants, management including the stakeholders and owners are required to know what they are working on. 

It's very tedious, lengthy and time consuming process to document all the tools and how they interact, and make everyone involved read it. Most likely a new version would have to be implemented by the time and now everyone's lagging. This is where architecture diagrams come into play.

Don't ask me anything

So, our brilliant minds figured a way to "draw" their "scenic location"(the magnificent end product) by using various tools such as PowerPoint, draw.io, Lucid Charts, etc. where we describe diagrammatically the microscopic (or even, macroscopic) level to individuals and management as well as consumers and students. They give the entire team a visual overview making it easier to communicate ideas and key concepts, in terms everyone can understand and be updated.

Officially, An architectural diagram is a visual representation that maps out the physical implementation for components of a software system. It shows the general structure of the software system and the associations, limitations, and boundaries between each element.

This is my attempt of an architecture diagram for a web application.

Just kidding


Logic diagram of a Web Application

Architecture diagrams can be of various types. It mostly depends on you and your company's requirements. I'm sure many of us have casually drew rectangles and diamonds to make sense of our code/program we are about to handle.  It's the same, but in an enterprise level. 

We have come to the end of our article. Hope it was as interesting a read as it was for me to type it down. Do let me know your suggestions.


Having headache is a prerequisite

Ciao! 


Comments

Popular posts from this blog

Version Control Systems (VCS)

Creating AWS EC2 instance

Linux commands - Part II - How?