Statefull vs Stateless



  • Without sounding to ignorant, What is considered a Stateless system vs a Statefull?

    I see many conversations here where "Stateless" is mentioned and I am having a small issue comprehending the entire meaning.

    I can basically understand what stateless protocol is but applying it to a system confuses me what type of system this would be and its use.

    If anyone has a link, that would be great.



  • A simple webserver serving static pages would be stateless, as in doesn't keep track of the state of the client or the request.

    The http protocol itself is stateless. The client just requests information and the server delivers.

    But I assume you had something specific in mind when asking this question?



  • @pete-s

    My mind gets tangled in details many times instead of staying generalized.

    In many of the posts I've read, individuals speak of creating stateless machines. One of many examples being, whip up a new/identical system in minimal amount of time. I get confused when I think, "How can a machine be stateless? Where is the data and configuration? Those can't be stateless?"

    That is where I get confused. Separating the two.



  • @pmoncho said in Statefull vs Stateless:

    @pete-s

    My mind gets tangled in details many times instead of staying generalized.

    In many of the posts I've read, individuals speak of creating stateless machines. One of many examples being, whip up a new/identical system in minimal amount of time. I get confused when I think, "How can a machine be stateless? Where is the data and configuration? Those can't be stateless?"

    That is where I get confused. Separating the two.

    In cases like this, think of a file server, that is running the OS and the shares, but the data resides on something else (a NAS for example). All the server does is connect to the remote storage for that data share and hands it out.

    If you deleted the server, the data would still be intact and ready to be shared out again. So you'd clone your server, power it on and your system is back online.



  • @pmoncho said in Statefull vs Stateless:

    @pete-s

    My mind gets tangled in details many times instead of staying generalized.

    In many of the posts I've read, individuals speak of creating stateless machines. One of many examples being, whip up a new/identical system in minimal amount of time. I get confused when I think, "How can a machine be stateless? Where is the data and configuration? Those can't be stateless?"

    That is where I get confused. Separating the two.

    I think part of the statelessness is including a way for the new machine to access the data, or have it included as part of the setup.

    Something like Salt, Chef, Puppet, and Ansible are good examples of ways to accomplish this.



  • Well, a webserver can easily be stateless

    @pmoncho said in Statefull vs Stateless:

    @pete-s

    My mind gets tangled in details many times instead of staying generalized.

    In many of the posts I've read, individuals speak of creating stateless machines. One of many examples being, whip up a new/identical system in minimal amount of time. I get confused when I think, "How can a machine be stateless? Where is the data and configuration? Those can't be stateless?"

    That is where I get confused. Separating the two.

    Well, if you consider that the configuration is static (at least for a while) and the data could reside on another machine then it could be stateless. For instance a webserver connected to a database on another machine.



  • @pete-s said in Statefull vs Stateless:

    Well, a webserver can easily be stateless

    That is where I get confused. Separating the two.

    Well, if you consider that the configuration is static (at least for a while) and the data could reside on another machine then it could be stateless. For instance a webserver connected to a database on another machine.

    @dustinb3403 said in Statefull vs Stateless:

    In cases like this, think of a file server, that is running the OS and the shares, but the data resides on something else (a NAS for example). All the server does is connect to the remote storage for that data share and hands it out.

    If you deleted the server, the data would still be intact and ready to be shared out again. So you'd clone your server, power it on and your system is back online.

    Taking both of these posts at once since they are similar.

    So basically, If I had a generic Linux machine setup and ready to go with all updates that will be used as a master. That is considered the stateless machine correct?

    Then I would (try to) write a script for generic file server config/ web server config like @scottalanmiller did for NC which would connect to the backend data?

    I am guessing that keeping the data separated from the OS is the key (whether it be a separate volume or server)?



  • @pmoncho think of stateless as being easily restored and assuring that whatever the system was providing is exactly what it was prior to the restore.

    Using the file server example, it's not quite stateless but gives you an idea of how stateless operates.



  • @pmoncho said in Statefull vs Stateless:

    Without sounding to ignorant, What is considered a Stateless system vs a Statefull?

    I see many conversations here where "Stateless" is mentioned and I am having a small issue comprehending the entire meaning.

    Basically...

    a stateless system exists as it is and doesn't change (other than patches) after it is installed. Application servers, web servers, etc. The bulk of workloads.

    a stateful system stores data. Basically, it is databases and fileservers. They hold business data and they change.



  • @pmoncho said in Statefull vs Stateless:

    I get confused when I think, "How can a machine be stateless? Where is the data and configuration? Those can't be stateless?"

    Configuration is normally stateless. It is set at install time and doesn't get tweaked. If it does, you should tweak it in your build process so recreating the box doesn't require tweaking again.

    In IT, most systems, maybe 90%, don't store data. In the SMB, it is common for shops, mostly because of Windows licensing, to smoosh their data into their application servers and merge them making stateless systems be stateful. But at any scale, they are normally separate with many application layer serves for very few data storage servers.



  • @scottalanmiller said in Statefull vs Stateless:

    @pmoncho said in Statefull vs Stateless:

    I get confused when I think, "How can a machine be stateless? Where is the data and configuration? Those can't be stateless?"

    In IT, most systems, maybe 90%, don't store data. In the SMB, it is common for shops, mostly because of Windows licensing, to smoosh their data into their application servers and merge them making stateless systems be stateful. But at any scale, they are normally separate with many application layer serves for very few data storage servers.

    This makes a bunch of sense to me. I have been in SMB my entire career and never have not had any exposure to larger enterprises.

    Thanks to all who have made the mud seem much clearer. This is my "learn something new everyday" item ! 🙂



  • @pmoncho said in Statefull vs Stateless:

    @scottalanmiller said in Statefull vs Stateless:

    @pmoncho said in Statefull vs Stateless:

    I get confused when I think, "How can a machine be stateless? Where is the data and configuration? Those can't be stateless?"

    In IT, most systems, maybe 90%, don't store data. In the SMB, it is common for shops, mostly because of Windows licensing, to smoosh their data into their application servers and merge them making stateless systems be stateful. But at any scale, they are normally separate with many application layer serves for very few data storage servers.

    This makes a bunch of sense to me. I have been in SMB my entire career and never have not had any exposure to larger enterprises.

    Thanks to all who have made the mud seem much clearer. This is my "learn something new everyday" item ! 🙂

    You can do this in the SMB, too. But might not make sense. If you are a Linux shop, it is often pretty easy.



  • @scottalanmiller
    We are basically windows but I am starting to put in a couple different Linux machines. I have one Ubuntu 18.04 for Samba file server, 1 Ubuntu 16.04 Fax server (Driver for Digi only works on 16.04 to date) and looking to change over some other Windows to Linux (Logging is coming soon).

    I guess my question now becomes, if I want to make my soon-to-be-implemented Samba file server a stateless system (all configuration is done with file paths setup but no data), I should just create a clone and move off to another type of storage?



  • @pmoncho said in Statefull vs Stateless:

    I guess my question now becomes, if I want to make my soon-to-be-implemented Samba file server a stateless system (all configuration is done with file paths setup but no data), I should just create a clone and move off to another type of storage?

    File servers aren't stateless, by definition their job is to store and share data. You are starting to discuss stateful vs stateless portions of a server, rather than a stateless server. That's a very different discussion. A good on, but quite different.



  • @pmoncho said in Statefull vs Stateless:

    1 Ubuntu 16.04 Fax server (Driver for Digi only works on 16.04 to date)

    Now a Fax server would be stateless natively.



  • @scottalanmiller said in Statefull vs Stateless:

    @pmoncho said in Statefull vs Stateless:

    1 Ubuntu 16.04 Fax server (Driver for Digi only works on 16.04 to date)

    Now a Fax server would be stateless natively.

    Gotcha. 🙂


Log in to reply