Monday, November 13, 2023

G01

 Client Server Architecture 


Introduction


  • Every process or machine on a network can be either a server or a client in a client-server architecture. Powerful computers known as client servers are only used to manage network traffic, disk drives, and printers. 
  • Client: Any machine that makes a request to the server is considered the client. When we visit a website, for instance, we request the webpage from its domain. A Client is either a person or an organization using as a service. In the IT context, the client is a computer/device, also called a Host, that actually uses the service or accepts the information. Client devices include laptops, workstations, IoT devices, and similar network-friendly devices.
  • Server: In contrast, the server is a computer that is intended to fulfill client requests. In the aforementioned example, the client requests the webpage, and the server provides it to the client in response. A Server in the IT world is a remote computer that provides access to data and services. Servers are usually physical devices such as rack servers, though the rise of cloud computing has brought virtual servers into the equation. The server handles processes like e-mail, application hosting, Internet connections, printing, and more.


Working of Client-Server Architecture

  • A client requesting data from any server first queries the DNS (Domain Name System) for the specific server's IP address. The IP Address is returned by the DNS server.
  • The client sends a request to that IP address, along with the port number configured for that specific application, and the server answers. The response packet is eaten by the application to which it belongs when the client gets the response message and determines the port number.


Types of Client-Server Architecture

Depending on the business logic used to process requests between the client and server, there are several forms of client-server architecture. 

  1. 1-Tier Architecture
  2. 2-Tier Architecture
  3. 3-Tier Architecture
1-Tier Architecture


  • 1 tier architecture also known as single-tier architecture, is referred to that kind of software architecture in which all the required components for the working of application are available under the same package.
  • It means that the user interface, business,  layers are accessible by the application under the same local drive.  Both the client and server reside in the same machine. It is the simplest application architecture used. But this tier is not suitable for a web application. As it can only access data available in a single computer or server.
  • MS Office is a prominent example of 1 tier architecture. This is a cost-efficient architecture and applications based on this are much easier to build. The major disadvantage of this architecture is that it cannot share information from one client machine to others. Sometimes the applications based on 1 tier are unable to work if some changes are done in the machine.

2-Tier Architecture 



  • 2 tier architecture is the one in which the user interface layer and the database layer are located in two different machines. It means that the client and the server are not on the same computer.
  • The client, which is the user side device gives the instructions. Then the server which stores all the data and information is asked to provide the required data or make changes in the existing data. The business layer is present on the server machine. Both the user interface or the presentation layer and database layer communicate with each other through the Internet, Transfer Control Protocol, Internet Protocol.
  • It is easy to maintain and modify the 2 tier application architecture. Even the communication between client and server in the form of request and response is very quick. But the disadvantage with this architecture is that, if the number of clients crosses the capacity then the server finds it unable to respond to the requests made by clients. It decreases the productivity of the server The application is also required to be reinstalled in the client if some changes are done in the application. Since the business layer resides on the client-side so the client has to be of high processing power.

3 – Tier Architecture 

  • In 3 tier architecture, the layer, the business layer and the database layer are located in separate machines. Unlike 2 tier architecture, 2 servers perform the major tasks in this application. One server is for the business layer and the other is the database layer.
  • This architecture is used to design a web application. The client layer request for the data. The application server act as an interface between the client and the server layer. The application layer helps the client in communicating with the server. It receives the request from the client and sends it to the database, which then responds and the required information reaches the client passing the application layer.
  • The database layer store all of the data and respond according to the application layer logic. This layer also increases the security of the application. The main goal of 3 tier architecture is to separate the client application and the physical database, program data independence and support multiple views.

Advantages of the Client-Server Network

Following are the benefits of a client-server network:

  • Less damage since one client computer does not impact other computers in the network.
  • Easy recovery of files is possible since backups are centrally controlled by network administrators. 
  • More secure since files and everything else is centralized on such networks.
  • Larger networks can be created as new clients and servers can be added to the network. This makes this network more scalable.
  • Easy sharing of resources is possible due to the control from the server. 
  • Expandable storage capacity allows more data to be available on the server. Even hard drives can be added the server in an easy manner.
  • The server is highly accessible since it can be accessed remotely from multiple platforms.

Disadvantages of the Client-Server Network

While there are a number of benefits of such network, there are a following limitations as well:

  • An expert professional is always required for maintaining the server which makes it complex.
  • Due to the lack of resources, there is a possibility of system overload which in turn leads to network traffic congestion.
  • It is more expensive since servers are costly to buy, set up and maintain.
  • Any damage to the server will hamper the entire network #
Cloud Computing


  • Simply put, cloud computing is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale. You typically pay only for cloud services you use, helping you lower your operating costs, run your infrastructure more efficiently, and scale as your business needs change.



Cloud computing Service Model



IaaS

The most basic category of cloud computing services. With infrastructure as a service (IaaS), you rent IT infrastructure—servers and virtual machines (VMs), storage, networks, operating systems—from a cloud provider on a pay-as-you-go basis.



PaaS

Platform as a service (PaaS) refers to cloud computing services that supply an on-demand environment for developing, testing, delivering, and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure of servers, storage, network, and databases needed for development.



SaaS

Software as a service (SaaS) is a method for delivering software applications over the internet, on demand and typically on a subscription basis. With SaaS, cloud providers host and manage the software application and underlying infrastructure, and handle any maintenance, like software upgrades and security patching. Users connect to the application over the internet, usually with a web browser on their phone, tablet, or PC.






G01

  Client Server Architecture  Introduction Every process or machine on a network can be either a server or a client in a client-server archi...