Most of the time, it happens that when we open an old application we find ourselves utterly lost and the dullness overshadows the interest. It gives birth to the urge of building something truly interesting with the element of fun, but the real challenge comes next to the idea. You have the idea but not aware of what to do, it’s just like the fact that you win the lottery but not sure where and how to spend it. The guideline to implement your idea is your software architecture, the map to the journey of a well-architected software application.
The idea of software architecture
To comprehend the idea of software architecture let’s take a look at the tale of software meadows where the seeds of idea used to flourish. This story will fascinate all those who own the treasure of ideas but are clueless how to implement and those who are in the hunt of the perfect implementation plan.
A long time ago there were software meadows with a variety of software that were getting old and undernourished with the passage of time and the meadows were turning barren. The unnourished trees of old software were attacked by unidentified bugs and almost at the end of life with no scope of growth. Many brave software developers set out to rescue the glory of the trees with endless effort yet many trees died by the time it restored. The reason was “poor architecture”.
One of the developers promised that day that he will never let any other plant die in the line of poor architecture. So he worked out that in order to nurture the software trees with endless growth and ease of maintenance, the architecture needs to be focused.
Ideal software architecture
Ideal software architecture must possess the following qualities
- Definite path and direction to the developer
- Ease of testing, debugging and maintenance
- Ease of understanding code and structure
- Support expansion and adaptability
This time he was all set to plant the tree with proper plan to nurture the idea. After all the work he came up with two architectures one was microservice and the other was monolithic. He had to choose the best option for the seed of his ideas to flourish
At this moment he realized it is not just a simple rule of engineering it is more like art where he can use one of it or both in the same structure with endless possibilities to nurture the tree of the unique and aesthetically designed software.