This device would be on wifi in small retail stores. Seems everyone is saying MQTT.
Curious if you have similar thoughts about how to update firmware remotely? My original idea was running docker and watchtower but maybe that's not the typical in production way either
Too many unknowns to answer. O/S, available RAM/fixed storage, transport/bandwidth, power consumption... all matter and change the possible approach. Maybe look at Mender.