Welcome on the forums, glad to have you!
Alright, so there are two main question:
-Is there a local cloud available? yes:
This is a 'light' version of the 'real' cloud, and thus might still be lacking some features.
-How does the communication work?
The Particle device establishes a TCP/IP connection to the cloud server. That allows it to communicate. When it first connects, it makes all the functions and variables available to the cloud, for future reference.
Interacting with your device works with a REST API. You make HTTP requests to the cloud, which then relays that to the device. If you want to execute a function, you make the appropriate call to the cloud, which in turn passes that message on to the device. Variable calls are similar: you make the request to the cloud, the cloud requests the data from the device and sends it back to you.
Then there are SSE (Server Sent Events), which allow the device itself to send a message to the cloud, which in turn will broadcast to anyone who's listening (and has permission). You can look at it as the "twitter for the internet of things".
So what you want to do is the following(?): have the devices send information to your server, which you can then store up to a years worth of data. The devices need to send that information in 15 minute intervals without external influences in order to save battery?
If that's correct, you don't even need a local cloud You do need a server to store/visualize your data as you please. If you use the SSE you can have the devices publish data, which gets picked up by your server, and can then be handled any way you like. It uses the Particle Cloud, which saves you the hassle of setting up and maintaining your own. SSEs require no outside interaction, so that's ideal for battery-saving application. There's a Javascript SDK available for use with node.js, which you can run on a server, although most programming languages should be able to handle SSEs.
Give it a try with the Photon, and let us know if you need any assistance :)!