How is a PBX essentially stateless
JaredBusch last edited by
But I don't feel that the source license in an essentially stateless product that can be trivially swapped out
Define this thought process to me. Because I simply do not see it.
Stateful systems store data on them. Stateless systems work "in flight" and only need to be configured. A PBX might be used to do things like record audio and store it, but that is both uncommon (just meaning less than 50% of the time) and can be easily worked around (use external block storage, send to another device, record via Skyetel, etc.) Logs are, of course, not stateless but again, that is easily handled either by not caring about them (to persist at least) or to send there somewhere externally for persistence - good practice for logs regardless.
The only state, like with any application server, is in the in flight communications. There is always some state. But essentially as with any stateless system, you lose nothing in doing a reboot, or a rebuild, other than the break in service during the time that that is happening (which could be seconds, hours, etc.)
Like a web server, a PBX can be replaced with another PBX of the same configuration and other than re-establishing any in flight networking it is "as good as new" and nothing is lost except for the down time. Stateful systems have risk to downtime and loss of data; Stateless systems have downtime risk only.
Another way to look at it...
Can IT restore the system if all is lost?
In a stateless system, IT should be able to restore the system from documentation, not from backups. This doesn't mean that you shouldn't use backups, but that it is possible to recreate without them.
In a stateful system, the state that is stored on the system is important and has to be recovered from a backup if the system is lost. IT cannot just recreate it via reconfiguration. The standard examples of this would be file servers or database servers.
And yet another way to think of it...
A stateful system is focused, at least partially, on saving to and retrieving from storage. It is a "data at rest" system.
A stateless system is focused, essentially entirely, on data "in flight". Processing of data moving from one point to another.