Layered architecture of a modern web application discussed nowadays, in any framework
Throughout my entire career, I have searched for the word design and architecture, and I am talking about Application Design in Software Development.
Today I am going to discuss one same thing with you.
When design a web applications solution architecture, the aspects are commonly Performance, Scalability, Cost effective and Robust.
Now performance and scalability comes with layers in an application. A web application serving a particular requirement. And a specific feature which you can break down from the requirement, obviously asks for a feature, and that is scalability. Think about a shopping cart feature, and it requires to be scalable in terms of number of end users interreacting at any specific time.
We generally think about how the feature can be scalable enough and then comes the obvious factor which is layers. A layer can be a hosting solution, a framework, a third party solution like sending mail in bulk..and so on.
Now adding layers can have many diversions. And obviously it depends on the application you are building. So to limit, I will talk about Web applications, and more specifically websites.
Websites generally having contents, media, user data collection campaigns, structured data, and different type of animations.
Now a well accepted concept in web development is to put all contents and media and the configurations like categorizations to store in database.
This requires a RDBMS database, which slows down the data fetching, because of integrity and constraints and join queries. Here many debates are possible and some of you may not agree with me here, but think about a perspective: a content or a structured content is static in nature until it's being edited.
My thoughts are to keep content and configuration/structure of contents in files, or in NoSQL. Another point of debate indeed.
However you have to manage this content anyhow, even those are files. Here JSON or Markdown have major role, as those are structured data. And a CMS kind of application should know how to control these files.
Media should be in CDN, and should seek a download time window when requested by user.
Your consumer input are now the only data, that you need to secure. Hence any paid service you can procure.
So layers are:
a static html javascript build site with hybrid nature to - call APIs
- a CMS to handle structured data
- paid API service
Hola, I am wrapping this discussion now, however not ending this. Please share your thoughts and inputs.
#layeredarchitecture #Architecture #architecturedesign #contentmanagement
Comments
Post a Comment
Thank you for leaving your valuable feedback, it's important, however, I'd like to review once more. Allow me, and stay tuned