Skip to main content

Layered architecture of a modern web application - Analyzing needs of CMS

 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

Popular posts from this blog

What is DevOps and what should I learn? - Aniruddha Banerjee - Medium

The most necessary and well-discussed topic was, why should I learn DevOps….. Most of the tech guys like me prefer to introduce myself as a Scrum specialist, Agile developer or maybe the latest term “Fullstack Developer”. Well, what I want to say that, all these impressive adjectives are basically referring to those who work within the periphery of DevOps. DevOps is Dev(development) and Ops(operation), that we all know. We know that it’s a culture, but when the question arises, what should I learn, become a DevOps cultured geek, I found myself into tons of Certifications, billions of tools, trillions of methodologies. Not a joke, but if you fall under a situation like me, when Corporate pushing me to become DevOps cultured, but I feared about Exams(it’s a childhood phobia I adopted :P), rather practically implement something worthy, or at least tried it, I became aware at the end that, this someone already had achieved, I should try something new. To study DevOps, I think, i...

Composer and dependency injection

According to wikipedia, COMPOSER is an application-level package manager for PHP, and we will learn few more features about it. Download & Setup Windows : Download and run  Composer-Setup.exe Preferred way: Know your PHP version open cmd or gitbash and run php –v Prepare a shell script/bat file (composersetup.sh/composersetup.bat) Content of the shell script executable are: php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52 599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061’) { echo 'Installer verified'; } else { echo 'Installer corrupt’; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" Perhaps you noticed the php execution statement is in blue color. Whats in it? ...