Why is monolithic architecture a problem?
Don’t put all your eggs on one basket
James Tobin
This is a common advice in economics which means that one should not concentrate all resources in a single area as one could lose everything. Although not in the exact same context, It can be similarly applied in software architect.
Monolithic Architecture
Assuming that the location-based second-hand transaction platform is a monolithic structure, its structure can be the form shown in the above picture. Business logic such as chat, transaction, and group formation is logically modularized, but the application is packaged as a single file.
Monolithic architecture has many advantages. Development tools like IDE focus on building a single application, and all in one code can be easily modified, tested and deployed.
The problem arises as the size of the application grows. As services expand and transaction increases, the single code base structure becomes increasingly complex. Large-scale code makes development difficult, the distribution cycle longer. As a result, the process of upgrading the technology stack becomes difficult.
This communication/development overhead is a fundamental problem of monolithic structure, and the emergence of a new architecture was inevitable.
What will change as applications scale up? What is Microservice Architecture? Let’s find out more in the next post.
Reference
Microservices Patterns by Chris Richardson