Network Application Architectures
The Application Architecture is designed from the perspective of application developer and defines how the application is structured on hosts. In modern network application, application developers are willing to choose one of the two most predominant application architectures: The client-server architecture or the peer-to-peer (P2P) architecture.
In client-server architecture there is an always-on dedicated end system in the network called “server”, which services the request from different clients in the network. In client-server architecture server is not always a single server it can be a data center as well.
A Web application is a classic example of client-server architecture. In Web applications Web server services the requests from the browser application hosted on the client machines.
Cloud computing and virtualization are the modern example of the client-server architecture. In cloud computing network the front end includes the applications running on the client machines that are required to access the cloud computing system where as the back end of the system includes the servers and data storage systems that create the “cloud”. In cloud computing network each application has its own dedicated server. The server services the client demands.
In peer-to-peer architecture, process can be both client and server. P2P architectures don’t require server machines and server bandwidth, hence they are cost effective. P2P applications are open and distributed so, they are not secure. The classic example of P2P architectures are file sharing, Bittorrent and database distributed applications.
Factors to be considered in choosing application architecture:
The factors that are involved in choosing the application architecture for an organization are Cost of network infrastructure, scalability, ISP friendly, security and the utilization of bandwidth, storage and...