In order to achieve our plans for CNFS we need to think differently about how the cloud should work. Instead of relying on monolithic datacenters we need to get closer to the source of data and where it's being used.
The stack should be as follows:
- Cloud Core: Where the datacenters live. Master Nodes, Auth, etc.
- Edge: This is where the boxes are, on premise, slave nodes.
- Lite: These are the IOT devices, Clients, Phones, etc, that use the gateways from the Edge and Cloud to access the network.
-
Bandwidth: The available bandwidth between sensors and the cloud is a serious constraint in Smart Cities. Datasets are so huge that the amount of bandwidth needed to transport all the data to the cloud is unacceptable. For instance, considering a video surveillance use case, where a video camera requires a connection of 10 Mb/s. Continuously sending the data from the video camera to the cloud translates into approximately 3.24 TB/monthly for a single camera. It is therefore essential to adopt Fog Computing concepts to perform data analysis operations locally, thus, reducing the amount of data transferred to the cloud.
-
Latency and Availability: Let's say a device is moved throughout the workplace, it should be able to access the network from anywhere in the building without needing to connect to a server in the cloud.
In order to scale on a massive way with millions of nodes we need to discuss an efficient way of calculating resource allocation. The calculation should include but is not limited to:
- Edge Node Memory
- Disk Space
- Network Latency
- Geographical location
- Available Ports
Reducing a central point of failure we need to run multiple Master nodes which must be isolated and only in control by us. This reduces the risk of someones taking over the network by controlling the master node.