I thought it might be a good idea to have a discussion about data backup and best practices in Tago IO.
I was running a data prune/deletion analysis script today for a handful of devices to free up some space for a client and had a horrible moment when I thought I might have selected all of the devices in the profile (about 30) to prune data from rather than the 5 I wanted to prune.
As it happened, I had only selected the 5 but WHAT IF I had accidentally selected all of the devices in my script?
While there are some rollback features in Tago IO (such as Analysis script history) there does not appear to be any such protection for data.
The obvious thing to do is to immediately send a copy of the data out to another service (or duplicate the sending of data from say TTN so that Tago and some other storage system gets a copy of the raw data). In the first case, this will use up Tago Analysis and Data Output bandwidth; in the second case, you have to potentially manage another system and if disaster strikes some how import the data back into Tago.
Tago uses AWS as the back-end and I presume it is using DynamoDB for the No-SQL storage. DynamoDB seems to promote itself as having and automatic backup feature as well as a restore function. Is any of this functionality available in Tago IO? I don't know.
Another option for Scale customers is to use multiple (now free) profiles to split the device estate into chunks so that you cannot loose everything to a rogue script or admin person.
As well as any comments from Tago support, I'd be interested to hear what other organisations doing in terms of best practice for data protection when using Tago. Has anyone had the need for a full restore?