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  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  34 35 Azure + SQL Edge 36 37  38 39 Azure + SQL Edge, detailed 40 41  42 43 (!!!) Note that Azure did not help Dejavoo to develop system faster then 1.5. year 44 45  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  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