Question

What are some advantages and drawbacks of stateless applications?

Answer
By Justin Stoltzfus | Last updated: July 10, 2017
Presented by Turbonomic

What are some advantages and drawbacks of stateless applications?

In the fundamental design of user interfaces, engineers can choose from stateless or stateful systems. A stateless system is one that has no resident memory used to store information between sessions. Stateful systems, on the other hand, will put input into resident memory and store it for future operations.

One of the best examples of stateless applications is the HTML applications used to run internet sites and pages. These applications are stateless as they do not keep and store information about users or user activity after a user has left a site.

As a result, webpages rely on small digital files called cookies to store user information. The cookies will be actively used in future sessions to determine who is accessing the system and what they have done in the past.

Some of the biggest benefits of stateless applications is that the maintaining parties don't have the responsibility of managing the resident memory. Stateless applications can be less costly than a similar stateful application. They can also be less complex, as there’s no requirement to take in data and keep it on hand, to record it for use later. Every session is brand new and the same programming occurs.

The downside of stateless applications is that, as mentioned, they will not keep information about a particular user session. This issue is evident in the design of cookies to handle user session information on the internet. Generally speaking, using cookies is less efficient than any in-memory system would be. Webmasters have the responsibility of manipulating and maintaining the cookies. So stateless systems are inherently less capable. It may be annoying to users to not have certain session information stored. Customers may feel that stateful capability adds value.

In the end, whether to choose stateless or stateful design depends on the specific uses of the software itself. For example, public kiosk systems can benefit a great deal from stateless technologies. There’s often no need to preserve data between sessions, as numbers of public users handle the system in sequence. For more personalized systems, stateful design can add a lot of convenience and desired functionality.

Share this Q&A

  • Facebook
  • LinkedIn
  • Twitter

Tags

User Interfaces (UI) Software Applications Technology Trends

Presented By

Logo for Turbonomic

Written by Justin Stoltzfus | Contributor, Reviewer

Profile Picture of Justin Stoltzfus

Justin Stoltzfus is a freelance writer for various Web and print publications. His work has appeared in online magazines including Preservation Online, a project of the National Historic Trust, and many other venues.

More Q&As from our experts

Related Terms

Related Articles

Term of the Day

Multithreading

Multithreading is a CPU (central processing unit) feature that allows two or more instruction threads to execute...
Read Full Term

Tech moves fast! Stay ahead of the curve with Techopedia!

Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.

Resources
Go back to top