Skip to content

Instantly share code, notes, and snippets.

@KickedDroid
Created March 12, 2020 19:24
Show Gist options
  • Save KickedDroid/d930cd3183d8842b02c76dc6eaecc011 to your computer and use it in GitHub Desktop.
Save KickedDroid/d930cd3183d8842b02c76dc6eaecc011 to your computer and use it in GitHub Desktop.

Hybrid Computing Infrastructure

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.

What This Addresses

  • 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.

Resource Allocation

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

High Availability

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment