Browse Definitions :
Definition

stateless app

What is a stateless application?

A stateless app is an application program that does not save client data generated in one session for use in the next session with that client. Each session is carried out as if it was the first time and responses are not dependent upon data from a previous session.

In contrast, a stateful application saves data about each client session and uses that data the next time the client makes a request. The term stateless also is used in connection with networking, particularly when applied to stateless firewalls.

When an application is stateless, the server does not store data or other information about the client session. Instead, the session data is stored on the client and passed to the server as needed. This is an important consideration when developing apps with offline first in mind.

With an online first approach to software development, session data is stored locally on the user's device when internet connectivity is unavailable. It is then uploaded and replicated in the cloud when a connection becomes available.

The importance of stateless technology

The distributed architecture that makes horizontal scalability possible in cloud computing has driven renewed interest in stateless apps and stateless app components. There are two reasons for this:

  1. When an app's components are stateless, they can easily be redeployed in the event of a failure and scaled out to accommodate workload changes.
  2. When apps are stateless, they can easily be connected to other apps through application programming interfaces, or APIs.

functional programming, which is often used for microservices and containerization, has also driven interest in stateless apps. It's an approach to software development that uses small segments of immutable code. Each function executes its task as if it is for the first time and is aware of, but not dependent upon, other functions in the program. Because all the program's parts are stateless, programmers can assemble functions in multiple ways without worrying about dependencies breaking the program.

Stateful vs. stateless applications

Most applications in use today are considered stateful. However, the use of stateless applications is increasing. The popularity of cloud services, microservices and containers are driving this trend.

Without access to user data as is the case with stateless apps, there is greater dependence on clients to have the power to acquire the necessary state data and link it with stateless apps when needed. Cloud services have the computing resources needed to easily accommodate stateless apps.

Nevertheless, stateful apps remain popular. Several factors are behind their continued use:

  • Users can return to them frequently because all relevant data about the user is contained in the app.
  • They typically use the same server for processing user requests.
  • If a session is interrupted, it can be easily returned to its previous status.

Another reason for the popularity of stateful services and apps is their ability to use of databases and servers to supplement user data storage. As a result, they interact quickly with users and make efficient use of computing power.

Stateless applications are typically compatible with User Data Protocol, Domain Name System and Hypertext Transfer Protocol. Stateful apps are compatible with fiber to the premises and Telnet protocols, among others.

Stateless apps and containers

Providers initially envisioned containers as supporting stateless applications. However, over time the trend has been for containers to support both stateless and stateful applications. This is important because microservices and cloud computing continue to grow in popularity.

Packaging all relevant components within a container makes it easy to move from one environment to another. This is where microservices and cloud services are appropriate platforms.

Pros and cons of stateless apps

There are advantages and drawbacks to using stateless applications:

Advantages

  • Improved reliability. It's easy to recover from failures and offer high availability capabilities because no state data is maintained.
  • Ease of server flexibility and scalability. No session-related data is stored on a device, and the app can be moved to alternate servers.
  • Reduced need for system resources. This is because systems do not need to track prior transactions and related session data.
  • No communication among sessions. Communication isn't needed either before or after a session.
  • Packet independence. Each stateless packet transits the network on its own and is independent of any other packets.

Drawbacks

  • More server processing cycles. Additional server processing cycles are needed to process requests because the data to process them is new and not previously processed.
  • Reduced network performance. The number of requests needed in a session is often greater, thus requiring additional network bandwidth.
  • Slower performance. Processing performance might be slower because no prior session data is available to support the new session.
List of stateless applications pros and cons
Stateless applications have numerous advantages, but they also have some drawbacks.

Examples of stateless apps

Stateless applications are used in several ways:

  • Performing an online search. Each query is treated as a unique activity. If the session request is broken, it must be restarted from scratch.
  • Vending machines. Each transaction is unique and is not linked to prior or future transactions.
  • This is a stateless service, in that information regarding the user's activity must be stored on the user's laptop or mobile device.
  • Short Message Service (SMS). With SMS, a sender transmits a message to a specific user but receives no formal confirmation of message delivery. The sender may send follow-up messages, yet with no confirmation. This differs from email, where a return receipt confirmation message can be requested.

Learn more about state and the concept of change in modern application design.

This was last updated in December 2022

Continue Reading About stateless app

Networking
  • firewall as a service (FWaaS)

    Firewall as a service (FWaaS), also known as a cloud firewall, is a service that provides cloud-based network traffic analysis ...

  • private 5G

    Private 5G is a wireless network technology that delivers 5G cellular connectivity for private network use cases.

  • NFVi (network functions virtualization infrastructure)

    NFVi (network functions virtualization infrastructure) encompasses all of the networking hardware and software needed to support ...

Security
  • virus (computer virus)

    A computer virus is a type of malware that attaches itself to a program or file. A virus can replicate and spread across an ...

  • Certified Information Security Manager (CISM)

    Certified Information Security Manager (CISM) is an advanced certification that indicates that an individual possesses the ...

  • cryptography

    Cryptography is a method of protecting information and communications using codes, so that only those for whom the information is...

CIO
  • B2B (business to business)

    B2B (business-to-business) is a type of commerce involving the exchange of products, services or information between businesses, ...

  • return on investment (ROI)

    Return on investment (ROI) is a crucial financial metric investors and businesses use to evaluate an investment's efficiency or ...

  • big data as a service (BDaaS)

    Big data as a service (BDaS) is the delivery of data platforms and tools by a cloud provider to help organizations process, ...

HRSoftware
  • talent acquisition

    Talent acquisition is the strategic process an organization uses to identify, recruit and hire the people it needs to achieve its...

  • human capital management (HCM)

    Human capital management (HCM) is a comprehensive set of practices and tools used for recruiting, managing and developing ...

  • Betterworks

    Betterworks is performance management software that helps workforces and organizations to improve manager effectiveness and ...

Customer Experience
  • martech (marketing technology)

    Martech (marketing technology) refers to the integration of software tools, platforms, and applications designed to streamline ...

  • transactional marketing

    Transactional marketing is a business strategy that focuses on single, point-of-sale transactions.

  • customer profiling

    Customer profiling is the detailed and systematic process of constructing a clear portrait of a company's ideal customer by ...

Close