I am a new user of spark. I got a basic question regarding the communication between cores and cloud. Based on my understanding, cloud is able to send REST requests to the core. We know that spark core is working behind the router and as long as I know, you cannot access devices behind the router as a server, unless you open a port in the router. Now my question is, how exactly cloud calls core functions? Is there anything that I missed here?