Read only flash servers and routers
I started testing the read only filesystem option on Centos a while ago and have found it to be very stable over the years. The setup that Centos gives you is a bit limited, because by default it does not have any way of saving any files that are added or changed in the tempfs that holds files that need to still be on a read/write filesystem. This meant that I had to write a script that is run when changes need to be made and then the files are written to the persistent storage when exit is called within the shell that the script uses. The system seemed to be quite reliable in testing, so I decided that it would be a good thing to use for any Mini ITX server that I might have to set up, because it seemed a waste to have to use a whole hard disk to store the operating system, when only a few GB of space is needed. Because the file system on the flash is read only, it cannot be damaged if the power is turned off unexpectedly, which helps to reduce the amount of maintenance that is needed. The chance finally came to use it on one of the remote backup servers that I had set up for a client, because they had acquired a large amount of extra data, so the server had to be upgraded to handle it. The server consists of an 8 bay case with removable trays and the operating system is installed onto a very small USB stick that is inserted into one of the rear USB ports. The server has been working reliably so far and there was even a situation where having the operating system on a USB stick came in handy, because the had moved offices, so the external IP address for the office server had changed. All I had to do was get the Director, who's house the backup server was at, to shut it down and then bring the USB stick to the office. I could then edit the configuration files on it and then also check that it would still boot ok by running it as a virtual machine. When the Director then inserted the USB stick back into the server, it started up ok and could now contact the office server again. A photographer client was also after more storage, so I decided to use the 8 bay case and had to adjust the Netatalk configuration on the USB, so that it used the RAID filesystem for the CNID store. This client also lives in Norfolk, so I had to be sure that the setup of the system was reliable and it has been running for more than a year now, with hardly any calls being received from him about it.
If you are thinking of building a Mini ITX sized router, then a read only USB flash drive is a very good option to use, because of the large difference in price between a good quality USB flash drive and the cheapest SSDs. If you are going to build a router with 4 ports or more, then you can even run multiple read only operating systems from the one flash drive, so that the ports can be used to serve multiple separate networks, without having to worry about creating a complicated routing table. If you have somewhere that needs to be watched, because you are worried that it might be broken into, then you can also set up a low cost Mini ITX box that has a USB camera attached to it and a small hard drive in it to capture the video, with a read only USB flash drive holding the operating system. This makes it easy to spin down the hard drive to save power and a phone home script should be also running on it, so that you can tell if it is not working for any reason, if you stop receiving the still alive messages from it.