Multiple separate physical stations, one server?

Hello. I am thinking about a business venture. I want to have someone develop software for physical store sales and inventory and sell that along with one machine that can handle 2-4 separate physical stations (as in 4 employees= 4 monitors, 4 keyboards and 4 mice). Would something like this require thin clients or could it be somehow ran on a single machine running vms? What would be your hardware configuration for something like this?

I looked at doing something like this, DIY style, once-upon-a-time. The two possible solutions I brainstormed were:
1 - Thin client (RPi?) that auto-connects to a VM or Remote Desktop session.
2 - RJ45 USB extender and HDMI/DP/whatever over RJ45 to workstation from passthrough to VM.

The problem with both is the hardware ends up costing close to what a cheap workstation PC would be, so there’s no cost savings for the customer. Most places I’ve done work at are moving to web/cloud based systems that don’t require any kind of on-site server and only minimal workstation horsepower. Also has the added bonus of being able to nuke the workstation if/when a minimum wage debil absentmindedly dumps a cryptolocker on the system. No software to reload; just factory reset and re-add shortcut to the POS login page. Don’t even need to bother with antivirus. Some places even do an image restore on every reboot using something like “Deep Freeze” from Faronics: http://www.faronics.com/products/deep-freeze/

1 Like

raspberry pi’s booting into a browser on each station (pi+monitor+sd card+USB power+keyboard+mouse can be had for $100), if you need a local server, you can get a nuc or some other small form factor pc.

Citrix Server? thats what it sounds like your thinking.

Congratulations you invented mainframes and time sharing. :smiley:

There is a disadvantage to this setup: you have a single point of failure. The store is out of business if the central server borks. The “cloud” solutions described by @eggmaster are more resilient in theory but you have to ignore (or handle) network outages.

2 Likes

so this https://www.youtube.com/watch?v=YnZ6ggAuq-A

Having a router that can failover part of traffic to e.g. 3g/lte and can separate POS from other systems using VLANs (for PCI compliance) (e.g. OpenWRT with mwan3) might actually be cheaper than having a local server… businesses need a router anyway.

… or, it might just be the local server. There’s no reason for a simple POS system web app written in go couldn’t run on a dual core arm with 512MB ram on the same server, sweet sweet LAN latency, the downside is it’s harder to manage something deployed on a bunch of systems like that compared to something deployed centrally that you can deploy to at will and keep backed up, keep properly audited etc…

How about each POS is a node in a distributed system that can tolerate multiple failures? No reason you can’t centrally manage a distributed cluster.

A distributed cluster of thousands of $20k servers sitting in a couple of datacenters – been there, done that, not super easy but with enough time it runs itself and you can go back to your life; on the other hand, a hundred cheap (possibly crappy) systems spread around the world, it’s a whole different ball game…

Raspberry PIs are cool because you can distribute instructions to end users on how to flash the SD cards, they’re small and simple and fairly unscrewable that way.
Assuming they have a couple of systems in the store, chances are they don’t necessarily need all of them running at the same time, and the opportunity for users to fix some stuff themselves instead of having to wait for a call out might be considered a big benefit. Most network systems aren’t like that.

This is the IoT age, distributed systems of crappy nodes spread all over the world is the status quo.

Crappy is fine as long as it’s easily re-buildable or re-imageable, and updatable with some A-B booting mechanism, such as Pi-s that were mentioned above, and Chromebooks and phones that aren’t really meant to hold any data not backed up in the cloud

Most IOT is not that.

Sales records, invoices and inventory will be backed up to a server of my own, either in real time or nightly. Personal files will have to be backed up by the user or optionally by me. The OSes are going to be Linux, probably Ubuntu LTS and will be replaced every LTS cycle (so less of a danger of infecting the machine). One problem is MS Office stuff which will have to be run somehow seamlessly (haven’t thought it through yet).

The Software and Hardware will be identical for everyone so any failures probably won’t be that critical, since replacement will be plug and play with extra hardware ready to go (maximum downtime should be 4 hours with some strategic placement of parts around my country).

Network outages are far more likely to happen than either power or hardware failures, so cloud based systems are not really an option for the near future. Plus 3G and LTE is really expensive over here and not available in lots of remote areas (LTE). ADSL Modem/routers are provided by the ISP and are the norm, no need for separate routers if you are not doing anything more advanced with them.

99% of the buyers are not going to be tech savvy, so a call out or live chat within my software is going to be much better than them trying to fix it themselves. We are talking about people that have never seen a Linux Desktop or CMD window in their lifetime so trying to flash an SD card themselves is really out of the question. The transition from Windows to Linux is going to be somewhat difficult for them but, it is a work machine and should not be used for anything other than that (that’s how I see it at least). I am really going to focus on my software, train them on how to use it and will provide documentation for it, I expect from them to not mess around with the OS or any other programs other than browsers (with Firefox and Chrome preinstalled).

Cloud solutions will be heavy on power consumption, which is a no go for me at an equivalent of $0.3/KWh over here, esp when you factor in network problems. The machines are not going to be sold, they are going to be leased on a yearly contract with upgrade options after 5 years or if more POSs are needed in the future. More POSs = higher price (still beating the competition and costing them less than buying separate desktops and Windows copies). My target is a specific kind of store that I would prefer not to disclose.

I can easily and cheaply build a 6 core Ryzen system with 32 GB of RAM, a 128GB SSD and a good enough GPU that can support a host Linux OS plus 4 vms running Linux and a single program, my problem is the IO and how to tie each POS to a VM (and also cost if more parts are needed). The host OS is going to handle the databases with the vms reading and writing from/to them.

These stores running competitor programs already have 0 failure tolerances and competitors only support software, so hardware problems must be handled by the owner. One machine is running the MySQL databases while others have read/write permission to them but are separate physical machines. You need a full on desktop PC for every POS, plus Windows licenses, with absolutely no hardware support from software vendors, which don’t give a damn about your hardware. 4 hours of hardware induced downtime seems exceptionally good in this case. Factor in no backups in case of an HDD failure and you see how compelling my idea is.

1 Like

some times its best to leave big details to PMS else you could make competitors for your self. over all i have had this same thought a million times while working for burger king. who uses lunix for there training PC . but windows for there POS units.

1 Like

These aren’t really POS machines/systems/stations / till systems in a retail sales sense as much as regular computers that just happen to be used by sales - entirely different from what I imagined you were working on.

Going back to msoffice, if MS office is a requirement, then my gut feeling is that anything other than office 365 for licensing and office+windows on bare metal isn’t going to get you good feedback, and then you’re basically a windows admin, and you’re in retail you’ll need a separate system for PCI compliance (windows 10 with phone home features is challenging to certify).

Good luck!

Why not just get a few cheap tablets or similar? I don’t see how a centralized terminal server has any advantage in this situation. You’re spending more money, wasting power, adding unnecessary complexity, hindering usability, and creating a single point of failure.

Can you defend the virtualized desktop system from a business perspective?

Uhh, you don’t need to comission anyone for this project. Quickbooks already has a Point of Sale program:
https://quickbooks.intuit.com/point-of-sale/

Yeah that might be a way to go. It all depends on what is being used. Frankly, a used Dell is a better thin client than most thin clients.

We called it Shitrix

1 Like

Now networking is getting so fast Gbit. Thin clients are possibly a real come back as perfectly working client PC’s.

At 10Mbit thin client worked for some things like the desktop but now gaming is not out of the question.