JSON backup to backend server if connection issues
load_be_data 


Parameter name is not very descriptive. I'd say that 'file_path' would be better.
Assuming that there is some end user, it would be better to add some descriptive messages for different kinds of exceptions instead of printing the message. Also, it is a good practice to note where the exception was caught. For example, 'Exception with message XYZ was raised in load_the_data'.


get_files

I don't think there is any reason to create a local variable.
Just do :

def get_files():
    return glob("backend_data/*.json")


send_to_be


Again, parameter name is not descriptive.
Is there any reason why do you want to return boolean value instead of raising the error? The 'most pythonic' way is to ask for forgiveness than permission EAFP. In my opinion, what should happen here is that the function should raise an exception when something bad happens or continue when everything is okay. This would help you because you wouldn't need to handle errors separately. 


Try this in persist_dump:

try:
    send_to_be(load_be_data(f))
    sleep(300)
except (some exception) as ex:
    print("Exception thrown in ...")
    remove(f)
    sleep(1)



Both "insert" and "update" should be a global variables (so you can possibly reuse them somewhere else).
If create_new_component and update_component are not calculated inside the method, it would be good to make them global variables.


persist_dump

I don't think that it is a good idea to call persist_dump recursively. Assuming that you script will run for a while you are using more memory than you need to. Additionally, at some point in the future you might get RuntimeError: maximum recursion depth exceeded.