what is the difference between distributed application and web application?
Software that executes on two or more computers in a network. In a client-server environment, distributed applications have two parts: (1) the 'front end' that requires minimal computer resources and runs on the client computer(s), and (2) the 'back end' that requires large amounts of data crunching power and/or specialized hardware, and runs on a suitably equipped server computer.
A web application is an application that is accessed over a network such as the Internet or an intranet.It uses a web browser as a client. The application can be as simple as a message board or a guest sign-in book on a website, or as complex as a word processor or a spreadsheet.
What are distributed applications (distributed apps)?
Here we are going to talk about the distributed application and see the importance of such applications in running modern business. These modern businesses are collecting huge data sets which can?t be handled by one computer and here the distributed application plays a significant role in providing solution round the clock.
The distributed applications are also known as distributed apps and these are the applications that run on the multiple computers within a network or distributed across global clusters. Usually all the application in a cluster are secured using some sort of firewall and there exists a single point of access (or access through load balancer) to outside world. These applications can run on cloud computing or in mixed environment.
The traditional application runs on a single system while distributed applications run on multiple systems (or multiple servers) to server clients. In case of distributed application all the machines in a cluster work together to run single task or job or application.
Distributed applications communicate with each other in the network and serve the client. If any of the server fails other sever handles the client request without downtime or performance issues. Distributed applications uses the data stored on the distributed cluster for faster processing of client requests. The heavy processing is delegated between computers to fast process the client request or any other software processing jobs.
Distributed application can be scaled up or down to meet the client requirement. If there is huge processing requirement it can be automatically scaled up and when demand drops it can be down scaled to save the processing cost.
So, distributed applications can be scaled up to meet any amount of processing requirement based on the loads generated due to increased number of clients accessing the applications.
Distributed applications can be accessed by multiple users at a time without any performance degradation or down time issues. It can handle 100s to 1000s to millions of customers at a time.
These days Docker is being used for auto deployment of the applications to meet high load requirement. All the deployment process can be automated in the cloud environment. There are other ways to deploy distributed applications but Docker way is most preferred way these days.
Following diagram shows you the architecture of Distributed applications:
Features of Distributed Applications:
Due to these features of distributed applications it is used in enterprise environments very extensively.