github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/design/0-inv/20221118-localstorage/README.md (about)

     1  ## Edge Computing Industry Review
     2  
     3  Motivation:
     4  
     5  - [Investigate possible LocalStorage design](https://dev.heeus.io/launchpad/#!24906)
     6  - unTill Air: [A&D: Local Storage](https://dev.untill.com/projects/#!625849)
     7    - As a restaurant owner I want my devices to work with local storage so that my restaurant can survive Internet outage
     8  
     9  ## Edge Computing
    10  
    11  [wiki: Edge Computing](https://en.wikipedia.org/wiki/Edge_computing)
    12  - Edge computing is a distributed computing paradigm that brings computation and data storage closer to the sources of data
    13  - This is expected to improve response times and save bandwidth
    14  - It is an architecture rather than a specific technology
    15  
    16  ![](images/Edge_computing_infrastructure.png)
    17  
    18  - > The term is often used synonymously with "fog computing"
    19  - > Fog computing[1][2] or fog networking, also known as fogging,[3][4] is an architecture that uses edge devices to carry out a substantial amount of computation (edge computing), storage, and communication locally and routed over the Internet backbone.
    20  
    21  ## HPE CEO predicts edge computing will be ‘the next big opportunity for us’
    22  
    23  - Oct 26, 2022, https://www.edgeir.com/hpe-ceo-predicts-edge-computing-will-be-the-next-big-opportunity-for-us-20221026
    24  
    25  - In fact, edge computing is “the next big opportunity for us,” Neri said in a recent interview.
    26  - “It’s a big market opportunity because not only is the market expanding, but we are entering new segments of the market with new offers as a part of our edge-to-cloud strategy,” stated Neri in a Yahoo Finance Live interview.
    27  - With these factors combined, the company expects significant growth over the next three years in the $250 billion edge computing market
    28  
    29  ## Azure IoT Edge и SQL Edge
    30  
    31  Azure IoT Edge
    32  
    33  ![](images/edge-high-level-diagram.png)
    34  
    35  Azure + SQL Edge
    36  
    37  ![](images/azuresqledgeoverview.png)
    38  
    39  Azure + SQL Edge, detailed
    40  
    41  ![](images/AzureSQLEdge.jpg)
    42  
    43  (!!!) Note that Azure did not help Dejavoo to develop system faster then 1.5. year
    44  
    45  ![jkjj](images/dejavoo.png)
    46  
    47  References:
    48  - [Azure IoT Edge и SQL Edge: перенос облачных нагрузок на «наземные» устройства](https://habr.com/ru/company/quarta/blog/516432), Кварта Технологии, habr, 30.05.2020
    49  - [Fascinating news: SQL server Edge for IoT Edge](https://vishvvas.wordpress.com/2020/05/30/fascinating-news-sql-serve-edge-for-iot-edge/), 25.08.2020
    50  - [How an IoT Edge device can be used as a gateway](https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-as-gateway), Microsoft, 2022
    51  
    52  ## Azure Stack
    53  
    54  > Extend Azure services and capabilities to your environment of choice—from the datacenter to edge locations and remote offices—with Azure Stack. Build, deploy, and run hybrid and edge computing apps consistently across your IT ecosystem, with flexibility for diverse workloads.
    55  >
    56  > [Azure Stack](https://azure.microsoft.com/en-us/products/azure-stack), Microsoft
    57  
    58  ![](images/azure-stack.png)
    59  
    60  ```mermaid
    61  erDiagram
    62      AzureStack ||--|| AzureStackEdgeProduct : has
    63      AzureStack ||--|| AzureStackHCIProduct : has
    64      AzureStack ||--|| AzureStackHubProduct : has
    65  ```
    66  
    67  **Azure Stack HCI**: This is a hyper convergent solution combining several products:
    68  
    69  - Equipment from Microsoft's certified OEM partner.
    70  - Windows Server 2019 Datacenter operating system.
    71  - Windows Admin Center software.
    72  - Microsoft Azure services if necessary.
    73  
    74  **Azure Stack Hub**: Azure Stack Hub broadens Azure to let you run apps in an on-premises environment and deliver Azure services in your datacenter.
    75  
    76  **Azure Stack Edge**: Purpose-built hardware-as-a-service with Azure Stack Edge
    77  - Run your applications at the edge close to the data
    78  - Transfer data efficiently and easily between the cloud and edge
    79  
    80  # Possible technical design
    81  
    82  ## Cloned Workspaces
    83  
    84  ```mermaid
    85  erDiagram
    86      Cloud ||--|| Federation1 : has
    87      Federation1 ||--|{ Cluster1_1: has
    88      Cluster1_1 ||--|| SomeWorkspace : has
    89      Restaurant ||--|| Federation2: "has"
    90      Federation2 ||--|| Cluster2_1: has
    91      Cluster2_1 ||--|| CloneOfSomeWorkspace : has
    92      SomeWorkspace ||..|| CloneOfSomeWorkspace : "is synced with"
    93  ```
    94  
    95  ## Asymmetrical Asynchronous Replication
    96  
    97  - Data is replicated one direction
    98  - Data is replicated asynchronously
    99  
   100  ```mermaid
   101  flowchart TD
   102      subgraph Restaurant
   103          subgraph Server
   104              CloneOfSomeWorkspace[(CloneOfSomeWorkspace)]
   105              Replicator["Projector[A, Replicator]"]
   106              CloneOfSomeWorkspace -.-> Replicator
   107          end
   108          WaiterDevice[Waiter's device] -.-> CloneOfSomeWorkspace
   109          
   110      end
   111  
   112      Replicator -.-> SomeWorkspace
   113  
   114      subgraph Cloud
   115          SomeWorkspace[(SomeWorkspace)]
   116      end
   117  ```
   118  
   119  Pros
   120  - Easier to implement
   121  
   122  Cons
   123  - Potential data loss if Server goes down (since replication is async)
   124  
   125  ## Asymmetrical Synchronous Replication
   126  
   127  - Data is replicated one direction
   128  - Data is replicated synchronously
   129  
   130  ```mermaid
   131  flowchart TD
   132      subgraph Restaurant
   133          subgraph Server
   134              CloneOfSomeWorkspace[(CloneOfSomeWorkspace)]
   135              CloneOfSomeWorkspace -.-> or            
   136              subgraph Replication
   137                  AReplicator["Projector[A, AReplicator]"]
   138                  SReplicator["Projector[S, SReplicator]"]
   139                  or(("Cloud is available?"))
   140                  or -.-> |no|AReplicator
   141                  or -.-> |yes|SReplicator
   142              end
   143              ReplicationController-->Replication
   144          end
   145          WaiterDevice[Waiter's device] -.-> CloneOfSomeWorkspace
   146          
   147      end
   148  
   149      AReplicator -.-> SomeWorkspace
   150      SReplicator -.-> SomeWorkspace
   151  
   152      subgraph Cloud
   153          SomeWorkspace[(SomeWorkspace)]
   154      end
   155  ```
   156  
   157  Pros
   158  - No data loss if SReplicator is working
   159  
   160  Cons
   161  - Harder to implement
   162    - Switching between AReplicator and SReplicator - very tricky