Website System Architectures
Overview
System architecture specifies implementation details of the basic system components and their interaction to provide solutions for the customers. The system components like hardware, data, network, servers, applications, etc.
Website System Architectures
The main website architectures for developing the website are as follows:
- Client-Server Architecture
- MVC Architecture
- SOA Architecture
Client-Server Architecture
Client-Server Architecture is a 2-tier architecture. In 2-tier architecture there are two layers: servers and clients. The client requests the information from the server. The server processes the request produces the information and resources and the clients consume the information.
The disadvantage of this architecture is:
Single point of failure and Latency issues.
If the server is down the whole website would be inaccessible. All the data is stored server-side which makes it difficult to handle the web application.
MVC Architecture
MVC stands for Model-View-Controller. This architecture is a 3-tier Architecture.
- Model– The model is the data layer that handles the data of the website.
- View– The view is the presentation layer like HTML pages, JSP, etc.
- Controller– The controller is a control layer that converts user inputs to a data model and data objects and vice-versa.
Advantages:
The data, presentation, and control are abstracted into three different layers. Easy to manage the web application compared 2 tier architecture. We can customize the Website according to our needs.
Disadvantages:
Need Resources to build, deploy, manage, test, and maintain the website. Data Center, Hosting Maintenance of server hardware and hosting require huge costs. The scalability of the web application is a disadvantage. Server hardware resources are limited and become the bottleneck for website scalability. Security and Payment gateways. We need to protect the website from Hackers.
SOA Architecture
SOA stands for Service-Oriented Architecture. In this model, we will deploy or provision a SaaS cloud application to cater to the needs of the website users. SaaS stands for Software as a Service. It is Service-oriented cloud architecture. We can deploy a cloud application and customize the product website branding, information, etc.
Advantage:
Easy to implement. There is no need for acquiring physical resources to build, deploy, manage, test, and maintain the website. SaaS applications are deployed on the cloud that is tested. We need to buy and provision the resources and configure the product according to the needs. Elastic and easy to scale. Pay on demand for the data and server usage to the cloud provider. Industry-standard Security from Cloud provider. It is not that easy for Hackers to break the SaaS product compared to other architectures. Cloud data centers across the globe.
Disadvantage
Data will be stored on the cloud provider servers. Fewer customization features.