How to make IOT Device work 24/7?

I Made a PCB which has

  1. Atmega328p-pu
  2. SIM800L module
  3. Lm2596 based power supply gives 4v 2A to GSM
  4. BMP180
  5. LCD16*2
    This board is connected to BLYNK server, It worked properly for two days,every second it pinged properly to BLYNK server, but today It was disconnected from network, But MCU was working Displaying sensor data also,Then I manually restarted the Device, it again started to work normally ( ie GPRS connection ), but I don’t want to Do this manually , I want to use this in Agricultural field, how to make it work forever without human intervention ?

I want to know

  1. How IOT Product manufacturers solve these kind of problem
  2. Do I need to use Reset & supervisor IC?
  3. Do I need to turn off and On every hour ?
  4. Watch dog timer and GSM power cutoff ?

Have checks and timeouts in firmware. Reboot the module if there is no response from it. Its normal. No software is perfect