What are stateless servers?

+12 votes
Jul 25, 2018 in Cloud Computing by hemant
• 5,750 points
357 views

2 answers to this question.

+1 vote
Best answer

State is what networking people call memory. One of the important design principles in the Internet has always been to minimise the number of places that need to keep track of who is doing what.

In the case of stateless information servers this means that they do not keep track of which clients are accessing them. In other words, between one access and the next, the server and protocol are constructed in such a way that they do not care who, why, how, when or where the next access comes from.

This is essential to the reliability of the server, and to making such systems work in very large scale networks such as the Internet with potentially huge numbers of clients: if the server did depend on a client, then any client failure, or network failure would leave the server in the lurch, possibly not able to continue, or else serving other clients with reduced resources.

Another use of the term stateless is to describe whether or not the server keeps note of the actual data from each access by a client (irrespective of whether it notes who the client was). This is called server caching.

Server Caching is a way of improving the response time of a server. Usually, servers keep data on disk. If they keep a copy of all the most frequently or most recently accessed data in memory, they may be able to respond to new (or repeating) clients more quickly.

answered Jul 27, 2018 by Priyaj
• 56,920 points
+2 votes
Let us start by understanding what is State full application. An application is considered 'Stateful' when it remembers details specific to a user, such as user details, profile, preferences and user's previous actions. This information is considered 'state' of a system. Think of your shopping cart when using any website that lets you shop. Each time you select an item and put it your cart, it needs to add it to items you previously added, and eventually needs to navigate to payment page.

In case of web applications that have server-side logic implmented as 'Stateful', all of the above details for each current user, will have to be remembered (in some kind of memory) by the server. As the number of concurrent users grow, the memory used by the application for storing a large number of users increases, which adversely affects the performance of the application. It is then known as an application that 'scales poorly'.

As the volume of concurrent users grow, more servers running the applications can be added and the load can be distributed evenly between those servers using a load-balancer. But because each server 'remembers' each logged-in user's state, it becomes necessary to configure this load balancer in 'sticky-mode'. In otherwords, even when distributing load across servers, the load-balancer is required to send each user's request to the same server that responded to that user's previous request. This defeats the purpose of load balancing, because load is not distributed in a true round-robin fasion.

To get around this issue of 'Stateful' applications, the server-side logic needs to be coded in such a way that it does not depend on 'previously stored state'. Which means, the state information is sent along with each request, to the server using which server can proceed with servicing the request. This way, the load-balancer need not worry about routing requests to the same server and truly uniform load balancing can be achieved. Application servers where previously stored state is no longer a concern we call them stateless servers
answered Jul 25, 2018 by code_ninja
• 6,220 points

Related Questions In Cloud Computing

+1 vote
2 answers

What if I delete default VPC in AWS?What are the consequences?

If you wish to recreate the default ...READ MORE

answered Apr 20, 2018 in Cloud Computing by DragonLord999
• 8,380 points
164 views
0 votes
1 answer

AWS: What is the number of buckets that are created in by default?

100 buckets can be created in each ...READ MORE

answered Jul 10, 2018 in Cloud Computing by Meci Matt
• 9,420 points
49 views
0 votes
1 answer

What are the different types of cloud?

Cloud are basically of 4 different types:- ...READ MORE

answered Jul 13, 2018 in Cloud Computing by Priyaj
• 56,920 points
97 views
0 votes
1 answer

Can Some one tell me what are the Various Layers in Cloud Architecture?

These are the layers you should know ...READ MORE

answered Jul 18, 2018 in Cloud Computing by DragonLord999
• 8,380 points
34 views
+13 votes
2 answers

What are Migration strategies in AWS?

These are six strategies or six R ...READ MORE

answered Jul 19, 2018 in Cloud Computing by code_ninja
• 6,220 points
48 views
0 votes
1 answer

What are some of the popular DevOps Tools we can use or we should learn?

If you ask me, I would say ...READ MORE

answered Jul 23, 2018 in Cloud Computing by hemant
• 5,750 points
27 views
0 votes
1 answer

What are the different ways to send a request to Simple Storage Service in AWS?

There  are two ways: Using REST API Using AWS ...READ MORE

answered Jul 23, 2018 in Cloud Computing by brat_1
• 7,080 points
44 views
0 votes
1 answer

What are AWS Step Functions?

AWS Step Functions lets you coordinate multiple ...READ MORE

answered Aug 23, 2018 in Cloud Computing by code_ninja
• 6,220 points
63 views
0 votes
1 answer

What are the limitations of AWS lambda?

You can get a brief knowledge about ...READ MORE

answered Aug 9, 2018 in Cloud Computing by Priyaj
• 56,920 points
117 views
0 votes
1 answer

What are the benefits of using Cloud over On-premise data centers ?

Cloud is also Data centers just with ...READ MORE

answered Jul 13, 2018 in Cloud Computing by Priyaj
• 56,920 points
45 views