Edge Computing Group/Edge Reference Architectures

= Objective =

Define a reference architecture for edge and far edge deployments including OpenStack services and other open source components as building blocks.

"Edge" is a term with varying definitions depending on the particular problem a deployer is attempting to solve. These permutations of perspectives drive a paucity of aligned user stories to share with the OpenStack and StarlingX communities.

= Overview =

"The most mature view of edge computing is that it is offering application developers and service providers cloud computing capabilities, as well as an IT service environment at the edge of a network." - Cloud Edge Computing: Beyond the Data Center by the OSF Edge Computing Group

"We define Edge computing as an infrastructure deployment focused on reducing latency between an application and its consumer by increasing geographical proximity to the consumer." - Denver PTG (2018) definition



Tiers of computing sites
The below table captures the discussions at the PTG and refers to the definitions we created earlier in collaboration with the OPNFV Edge Cloud Project as they are described in their whitepaper.

= User Stories =

There isn't a one size fits all solution to infrastructure. One must select a design pattern which best addresses their needs. The following patterns have been developed to address specific user stories in edge compute architecture. They assume the deployer has tens of regional datacenters, 50+ edge sites, and hundreds or thousands of far edge cloudlets. User Stories are tracked in Storyboard The team is working on to define related Glance and Keystone scenarios.

= Design decisions =
 * Use bare metal installation of OpenStack
 * no control plane HA
 * Vanilla ML2 OvS Neutron should be used

= Deployment Scenarios =

Distributed Control Plane Scenario
This design describes an architecture in which an independent control plane is placed within each edge site. A deployment of this type will benefit from greater autonomy in the event of a network partition between the edge site and the main datacenter. This comes at the cost of greater effort in maintaining a large quantity of independent control planes.



OpenStack Example


While we defined multiple layers of edge sites in a hierarchical structure we don't require all of them present in order to apply the minimal reference architecture. In a distributed control plane scenario we consider a deployment without the 'small edge' nodes present to be a valid architecture option as well as it is depicted below.



Note: An optional IdP node at the edge site is required if full autonomy is required at the edge site in the event of network isolation; i.e. such that local users at the edge site can locally authenticate with their normal userid and credentials in order to manage the edge site and the workloads on the edge site.

Centralized Control Plane Scenario
This design describes an architecture in which edge and far edge cloudlets are managed from a control plane in a Main datacenter. A deployment of this type will enjoy simplified management of compute resources across regions. This comes at the cost of losing the ability to manage instances in an edge or far edge cloudlets during a network partition between the Regional data center and Edge.



OpenStack Example


While we defined multiple layers of edge sites in a hierarchical structure we don't require all of them present in order to apply the minimal reference architecture. In a centralized control plane scenario we consider a deployment without the 'large/medium edge' nodes present to be a valid architecture option as well as it is illustrated below.

In this case the centralized DC has all the required control plane services which doesn't require the large/medium edge site present if the use case doesn't demand it in order to have the expected functionality available on the small edge site.



Other edge architecture options

 * Tripleo
 * Tripleo edge team
 * Config guide from RedHat

= Links =
 * 

= Old Diagrams =