Przetwarzanie danych na brzegu sieci staje się coraz bardziej popularne, gdyż pozwala zoptymalizować działanie aplikacji internetowych i urządzeń podłączonych do sieci. Jest to sposób na zredukowanie obciążenia przepustowości i skrócenie opóźnień w przesyłaniu informacji, co stanowi ważny argument za jego szybkim rozwojem w cyfrowym świecie.
W dzisiejszych czasach każdego dnia powstają ogromne ilości danych generowanych przez różnorodne podmioty – od firm i przedsiębiorstw, przez fabryki, aż po szpitale i instytucje finansowe.
Skuteczne zarządzanie, magazynowanie oraz analiza tych danych nabierają kluczowego znaczenia. Jest to szczególnie istotne dla firm, które muszą błyskawicznie przetwarzać informacje, aby minimalizować zagrożenia związane z bezpieczeństwem i przyspieszyć swoje procesy biznesowe.
W takich sytuacjach Edge Computing może okazać się nieocenioną pomocą.
Ale na czym właściwie polega to rozwiązanie? Czy dotychczasowe rozwiązania oparte na chmurze obliczeniowej nie są wystarczające?
Aby rozwiać wszelkie wątpliwości, przyjrzyjmy się bliżej koncepcji przetwarzania brzegowego.
Czym jest przetwarzanie brzegowe?
Przetwarzanie brzegowe to innowacyjna, rozproszona architektura obliczeniowa, która polega na przesunięciu procesów związanych z magazynowaniem i przetwarzaniem danych bliżej ich źródła. Pozwala to zredukować obciążenie sieci i skrócić czas reakcji.
W praktyce, przetwarzanie brzegowe oznacza zmniejszenie liczby operacji wykonywanych w chmurze. Przenosi ono te procesy obliczeniowe na urządzenia znajdujące się na obrzeżach sieci, takie jak urządzenia IoT, serwery brzegowe lub komputery użytkowników. Takie podejście, polegające na lokalizowaniu obliczeń na „brzegu” sieci, ogranicza komunikację między serwerem a klientem na duże odległości. W efekcie, zmniejsza się wykorzystanie przepustowości i opóźnienia.
Przetwarzanie brzegowe to bardziej architektura niż konkretna technologia. Jest to przetwarzanie specyficzne dla danej lokalizacji, które nie opiera się w swojej pracy wyłącznie na chmurze obliczeniowej. Nie oznacza to jednak, że chmura całkowicie znika z pola widzenia; po prostu zostaje „przesunięta” bliżej.
Historia powstania Edge Computing
Koncepcja przetwarzania brzegowego narodziła się w latach 90. XX wieku w ramach sieci dostarczania treści (CDN). Celem było przyspieszenie dostarczania treści wideo i internetowych poprzez wykorzystanie serwerów brzegowych umieszczonych bliżej użytkowników. W roku 2000 sieci te ewoluowały, zaczynając hostować aplikacje i ich komponenty bezpośrednio na serwerach brzegowych.
W ten sposób pojawiły się pierwsze komercyjne zastosowania Edge Computing. Z czasem opracowano rozwiązania i usługi przetwarzania brzegowego, które wspierały działanie aplikacji takich jak koszyki zakupowe, agregacja danych w czasie rzeczywistym, wstawianie reklam i wiele innych.
Architektura przetwarzania brzegowego
Każde zadanie obliczeniowe wymaga odpowiedniej architektury. Nie istnieje uniwersalna zasada, która sprawdziłaby się w każdej sytuacji. Różne rodzaje zadań wymagają odmiennego podejścia architektonicznego.
Przetwarzanie brzegowe z czasem stało się istotnym elementem wspierającym rozproszone przetwarzanie danych oraz lokalizowanie zasobów pamięci masowej i obliczeniowych w bliskim sąsiedztwie źródła ich pochodzenia.
Mimo że wykorzystuje ono zdecentralizowaną architekturę, która może być wymagająca pod względem ciągłej kontroli i monitoringu, przetwarzanie brzegowe skutecznie rozwiązuje zaawansowane problemy sieciowe, takie jak transfer dużych ilości danych w krótszym czasie niż inne metody obliczeniowe.
Unikalna architektura przetwarzania brzegowego ma za zadanie radzić sobie z trzema głównymi wyzwaniami sieciowymi: opóźnieniami, przepustowością i przeciążeniem sieci.
Opóźnienie
Jest to czas potrzebny pakietowi danych na przebycie drogi z jednego punktu w sieci do drugiego. Im mniejsze opóźnienie, tym lepsze doświadczenia użytkownika. Problem polega na tym, że odległość między użytkownikiem (klientem) wysyłającym zapytanie a serwerem obsługującym to zapytanie bywa spora. Opóźnienie może wzrosnąć wraz ze zwiększaniem odległości geograficznej i przeciążeniem sieci, co skutkuje wydłużeniem czasu reakcji serwera.
Dzięki umieszczeniu obliczeń bliżej źródła danych, odległość fizyczna między serwerem a klientem ulega skróceniu, co pozwala osiągnąć szybsze czasy odpowiedzi.
Przepustowość
To ilość danych, jaką sieć może przesłać w określonym czasie, mierzona w bitach na sekundę. Każda sieć, zwłaszcza bezprzewodowa, ma swoje ograniczenia w tym zakresie. W rezultacie, jedynie określona liczba urządzeń może wymieniać dane w sieci. Zwiększenie przepustowości może wiązać się z dodatkowymi kosztami. Kontrolowanie wykorzystania przepustowości w sieci łączącej dużą liczbę urządzeń również nie należy do najprostszych zadań.
Przetwarzanie brzegowe rozwiązuje ten problem. Ponieważ wszystkie obliczenia są realizowane blisko źródła danych, takiego jak komputery czy kamery internetowe, przepustowość jest wykorzystywana wyłącznie do ich potrzeb, co eliminuje marnotrawstwo.
Przeciążenie
Internet to miliardy urządzeń wymieniających dane na całym świecie. To ogromne obciążenie dla sieci, które może powodować zatory i opóźnienia w odpowiedzi. Dodatkowo, awarie sieci mogą jeszcze bardziej pogłębić przeciążenie i zakłócić komunikację między użytkownikami.
Dzięki umieszczeniu serwerów i pamięci masowej w miejscu generowania danych, przetwarzanie brzegowe umożliwia wielu urządzeniom pracę w wydajniejszej, lokalnej sieci LAN, gdzie urządzenia generujące dane mogą w pełni wykorzystać dostępną przepustowość. W efekcie, znacznie zmniejsza to zatory i opóźnienia.
Jak działa Edge Computing?
Koncepcja przetwarzania brzegowego nie jest zupełnie nowa. Jej korzenie sięgają dziesięcioleci i są związane ze zdalnym przetwarzaniem. Na przykład, oddziały firm i zdalne miejsca pracy lokalizowały zasoby obliczeniowe w miejscach, w których mogły one przynosić największe korzyści, zamiast polegać na centralnej lokalizacji.
W tradycyjnych systemach komputerowych, gdy dane były tworzone po stronie klienta (np. na komputerze użytkownika), były one przesyłane przez Internet do firmowej sieci LAN w celu przechowywania i przetwarzania za pomocą firmowej aplikacji. Następnie, przetworzone dane były przesyłane z powrotem, również przez Internet, do urządzenia klienta.
Obecnie współcześni architekci IT odchodzą od koncepcji scentralizowanych centrów danych, na rzecz infrastruktury brzegowej. W tym modelu, zasoby obliczeniowe i pamięć masowa są przenoszone z centrum danych do miejsca, w którym użytkownik generuje dane (czyli do źródła danych).
Oznacza to, że centrum danych zostaje „przesunięte” bliżej źródła danych, a nie odwrotnie. Wymaga to częściowego „zębatego” rozwiązania, które umożliwia działanie w zdalnej sieci LAN i gromadzenie danych lokalnie w celu ich przetworzenia. Sprzęt może być umieszczany w specjalnych obudowach, które chronią go przed wysoką temperaturą, wilgocią i innymi warunkami atmosferycznymi.
Proces przetwarzania brzegowego obejmuje normalizację i analizę danych w celu znalezienia cennych informacji biznesowych. Tylko istotne dane, po ich analizie, są przesyłane do głównego centrum danych. Analiza biznesowa w tym kontekście może obejmować:
- Monitoring wizyjny w sklepach
- Analizę danych sprzedażowych
- Analitykę predykcyjną na potrzeby napraw i konserwacji sprzętu
- Produkcję energii
- Utrzymanie jakości produktów
- Zapewnienie prawidłowego działania urządzeń i wiele innych.
Zalety i wady
Zalety
Do korzyści wynikających z przetwarzania brzegowego należą:
#1. Szybsze czasy odpowiedzi
Przeniesienie procesów obliczeniowych na urządzenia brzegowe lub w ich pobliże, pozwala zredukować opóźnienia, jak zostało to wyjaśnione wcześniej.
Na przykład, wyobraźmy sobie pracownika, który chce pilnie przesłać wiadomość innemu pracownikowi w tej samej firmie. W tradycyjnym modelu, wiadomość musiałaby opuścić budynek, skomunikować się z odległym serwerem (gdziekolwiek na świecie), a następnie wrócić do adresata. To zajmuje sporo czasu.
Dzięki przetwarzaniu brzegowemu, router odpowiada za przesył danych w obrębie biura, co znacząco redukuje opóźnienia. Znacząco oszczędzana jest również przepustowość.
#2. Efektywność kosztowa
Przetwarzanie brzegowe pomaga oszczędzać zasoby serwera i przepustowość, co z kolei obniża koszty. Gdybyśmy chcieli użyć zasobów chmury do obsługi dużej liczby urządzeń w biurach i domach, koszt byłby wysoki. Przetwarzanie brzegowe może zredukować te wydatki, przenosząc część obliczeń wykonywanych przez te urządzenia na brzeg sieci.
#3. Bezpieczeństwo danych i prywatność
Przesyłanie danych między serwerami zlokalizowanymi w różnych zakątkach świata, rodzi obawy związane z prywatnością, bezpieczeństwem oraz kwestiami prawnymi. W przypadku przejęcia danych przez osoby niepowołane, konsekwencje mogą być poważne.
Przetwarzanie brzegowe utrzymuje dane bliżej ich źródła, w ramach regulacji dotyczących danych takich jak HIPAA czy RODO. Pozwala to przetwarzać dane lokalnie i unikać przesyłania wrażliwych informacji do chmury lub centrum danych. Dzięki temu dane pozostają bezpieczne.
Dodatkowo, dane przesyłane do chmury lub odległych serwerów mogą być szyfrowane poprzez implementację edge computing. Zwiększa to poziom bezpieczeństwa danych przed cyberatakami.
#4. Łatwa konserwacja
Przetwarzanie brzegowe wymaga minimalnego wysiłku i kosztów utrzymania urządzeń i systemów brzegowych. Zużywa mniej energii elektrycznej do przetwarzania danych, a potrzeby związane z chłodzeniem systemów są również mniejsze.
Niedogodności
Do wad przetwarzania brzegowego należą:
#1. Ograniczony zakres
Wdrożenie przetwarzania brzegowego może być efektywne, ale jego cel i zakres są ograniczone. To jeden z powodów, dla których wiele osób nadal wybiera chmurę.
#2. Łączność
Przetwarzanie brzegowe wymaga dobrej łączności, aby efektywnie przetwarzać dane. Utrata łączności wiąże się z koniecznością posiadania solidnego planu awaryjnego, który pozwoli rozwiązać pojawiające się problemy.
#3. Luki bezpieczeństwa
Wraz ze wzrostem liczby wykorzystywanych inteligentnych urządzeń, rośnie liczba potencjalnych wektorów ataku, które mogą być wykorzystane do przejęcia kontroli nad urządzeniami.
Zastosowania Edge Computing
Przetwarzanie brzegowe znajduje zastosowanie w wielu branżach. Jest wykorzystywane do agregowania, przetwarzania, filtrowania i analizowania danych w pobliżu lub na obrzeżach sieci. Oto niektóre z obszarów, w których jest ono stosowane:
Urządzenia IoT
Często pojawia się błędne przekonanie, że przetwarzanie brzegowe i IoT to to samo. W rzeczywistości, przetwarzanie brzegowe jest architekturą, a IoT to technologia wykorzystująca przetwarzanie brzegowe.
Inteligentne urządzenia, takie jak smartfony, inteligentne termostaty, samochody, zamki, zegarki itp., łączą się z Internetem i wykorzystują kod uruchamiany na tych urządzeniach, a nie w chmurze, aby działać efektywnie.
Optymalizacja sieci
Przetwarzanie brzegowe pomaga zoptymalizować sieć, mierząc i poprawiając jej wydajność dla użytkowników. Pozwala znaleźć ścieżkę o najmniejszym opóźnieniu i największej niezawodności dla ruchu sieciowego. Może również eliminować zatory, zapewniając optymalną wydajność.
Opieka zdrowotna
Branża opieki zdrowotnej generuje ogromne ilości danych, w tym dane pacjentów z urządzeń medycznych, czujników i innych sprzętów.
W związku z tym, rośnie potrzeba sprawnego zarządzania, przetwarzania i przechowywania danych. Przetwarzanie brzegowe pomaga w tym, wykorzystując uczenie maszynowe i automatyzację dostępu do danych. Pozwala zidentyfikować problematyczne dane, które wymagają natychmiastowej uwagi lekarzy, co skutkuje lepszą opieką nad pacjentem i eliminacją potencjalnych zagrożeń zdrowotnych.
Przetwarzanie brzegowe jest wykorzystywane w systemach monitorowania medycznego, aby zapewnić szybką reakcję w czasie rzeczywistym, bez konieczności oczekiwania na działanie serwera w chmurze.
Sprzedaż detaliczna
Firmy detaliczne również generują duże ilości danych ze śledzenia zapasów, sprzedaży, nadzoru i innych informacji biznesowych. Wykorzystanie obliczeń brzegowych umożliwia zbieranie i analizowanie tych danych oraz poszukiwanie nowych możliwości biznesowych, takich jak prognozowanie sprzedaży, optymalizacja zamówień dostawców, prowadzenie skutecznych kampanii marketingowych i wiele innych.
Produkcja
Przetwarzanie brzegowe jest wykorzystywane w sektorze produkcyjnym do monitorowania procesów produkcyjnych oraz do stosowania uczenia maszynowego i analiz w czasie rzeczywistym, w celu poprawy jakości produktów i wykrywania błędów produkcyjnych. Obsługuje również czujniki środowiskowe, które są instalowane w zakładach produkcyjnych.
Dodatkowo, przetwarzanie brzegowe zapewnia wgląd w składniki magazynowe i czas ich użytkowania. Pomaga producentom podejmować trafne i szybsze decyzje biznesowe dotyczące operacji i zarządzania fabryką.
Budownictwo
Branża budowlana wykorzystuje przetwarzanie brzegowe głównie w celu zwiększenia bezpieczeństwa w miejscu pracy. Polega to na zbieraniu i analizowaniu danych pochodzących z urządzeń bezpieczeństwa, kamer i czujników. Ułatwia to firmom przegląd warunków bezpieczeństwa w miejscu pracy i zapewnia przestrzeganie przez pracowników protokołów bezpieczeństwa.
Transport
Sektor transportowy, a zwłaszcza pojazdy autonomiczne, generują każdego dnia terabajty danych. Pojazdy autonomiczne wymagają gromadzenia i analizowania danych w czasie rzeczywistym, podczas jazdy, co wymaga ogromnej mocy obliczeniowej. Konieczne jest również zbieranie danych o stanie pojazdu, prędkości, lokalizacji, warunkach drogowych i okolicznych pojazdach.
Aby sprostać tym wymaganiom, same pojazdy stają się „brzegiem”, na którym odbywa się przetwarzanie. Dane są przetwarzane w przyspieszonym tempie, aby sprostać potrzebom związanym z gromadzeniem i analizą danych.
Rolnictwo
W rolnictwie obliczenia brzegowe są wykorzystywane w czujnikach do monitorowania gęstości składników odżywczych i zużycia wody oraz optymalizacji zbiorów. Czujniki zbierają dane o warunkach środowiskowych, temperaturze i glebie. Analizują ich wpływ, aby pomóc w zwiększeniu plonów i zapewnić ich zbiór w najbardziej sprzyjających warunkach.
Energia
Przetwarzanie brzegowe jest przydatne w sektorze energetycznym do monitorowania bezpieczeństwa w mediach gazowych i naftowych. Czujniki monitorują wilgotność i ciśnienie. Nie można utracić łączności, ponieważ w razie awarii, nie wykrycie np. przegrzania rury olejowej może doprowadzić do katastrofy. Wyzwaniem jest to, że większość tych obiektów znajduje się w odległych obszarach o słabej łączności.
Zastosowanie przetwarzania brzegowego w tych systemach, zapewnia lepszą łączność i możliwości ciągłego monitoringu. Może ono również wykrywać awarie sprzętu w czasie rzeczywistym. Czujniki mogą monitorować energię generowaną przez różne maszyny, takie jak pojazdy elektryczne i systemy farm wiatrowych, za pomocą sterowania siecią, co pomaga w redukcji kosztów i wydajnej produkcji energii.
Inne zastosowania przetwarzania brzegowego to m.in. wideokonferencje (które zużywają dużą przepustowość), wydajne buforowanie w sieciach brzegowych CDN, usługi finansowe (np. banki) dla bezpieczeństwa i wiele innych.
Daleka krawędź a bliska krawędź
Przetwarzanie brzegowe wiąże się z wieloma terminami, takimi jak „bliska krawędź”, „daleka krawędź”, co może wprowadzać pewne zamieszanie. Wyjaśnijmy różnicę między daleką a bliską krawędzią.
Daleka krawędź
Jest to infrastruktura wdrożona najdalej od centrum danych w chmurze, a jednocześnie najbliżej użytkowników.
Na przykład, infrastruktura „Far Edge” dla agencji usług mobilnych może znajdować się w pobliżu stacji bazowych wież telefonii komórkowej.
Przetwarzanie „Far Edge” jest wdrażane w przedsiębiorstwach, fabrykach, centrach handlowych itp. Aplikacje działające w ramach tej infrastruktury wymagają wysokiej przepustowości, skalowalności i niskich opóźnień, co jest idealne do strumieniowania wideo, AR/VR, gier wideo itp. W zależności od hostowanych aplikacji, wyróżniamy:
- „Enterprise Edge” – obsługuje aplikacje dla przedsiębiorstw
- „IoT Edge” – obsługuje aplikacje IoT
Bliska krawędź
Jest to infrastruktura obliczeniowa wdrożona między centrami danych w chmurze a „Far Edge”. Obsługuje ogólne aplikacje i usługi, w przeciwieństwie do „Far Edge”, który obsługuje aplikacje o konkretnym przeznaczeniu.
Na przykład, infrastruktura „Near Edge” może być wykorzystywana do buforowania CDN, przetwarzania mgły itp. Przetwarzanie „we mgle” umieszcza zasoby pamięci masowej i obliczeniowe w danych lub w ich pobliżu. Jest to rozwiązanie pośrednie między centrum danych w chmurze (znajdującym się daleko) a „krawędzią” u źródła, która ma ograniczone zasoby.
Edge Computing a Cloud Computing – podobieństwa i różnice
Zarówno przetwarzanie brzegowe, jak i przetwarzanie w chmurze obejmują rozproszone przetwarzanie danych oraz wdrażanie zasobów pamięci masowej i obliczeniowych w oparciu o generowane dane. Nie są to jednak rozwiązania tożsame.
Oto główne różnice:
- Wdrożenie: Cloud computing wdraża zasoby w globalnych lokalizacjach, z dużą skalowalnością do uruchamiania procesów. Może obejmować scentralizowane przetwarzanie bliżej źródeł danych, ale nie na obrzeżach sieci. Przetwarzanie brzegowe natomiast wykorzystuje zasoby w miejscach, w których generowane są dane.
- Centralizacja/Decentralizacja: Dzięki centralizacji, chmura oferuje wydajne i skalowalne zasoby z bezpieczeństwem i kontrolą. Przetwarzanie brzegowe jest zdecentralizowane i służy do rozwiązywania tych problemów i przypadków użycia, które nie są przewidziane w podejściu centralizacji przetwarzania w chmurze.
- Architektura: Architektura przetwarzania w chmurze składa się z kilku luźno powiązanych komponentów. Dostarcza aplikacje i usługi w modelu pay-as-you-go. Przetwarzanie brzegowe wykracza poza ten model, oferując bardziej stabilną architekturę.
- Programowanie: Tworzenie aplikacji w chmurze jest relatywnie proste i często ogranicza się do jednego lub kilku języków programowania. Przetwarzanie brzegowe może wymagać różnych języków programowania do tworzenia aplikacji.
- Czas odpowiedzi: Średni czas odpowiedzi jest zazwyczaj dłuższy w przypadku przetwarzania w chmurze niż w przypadku przetwarzania brzegowego. Dlatego przetwarzanie brzegowe zapewnia szybsze procesy obliczeniowe.
- Przepustowość: Przetwarzanie w chmurze zużywa więcej przepustowości i mocy, ze względu na większą odległość między klientem a serwerem. Przetwarzanie brzegowe wymaga stosunkowo mniejszej przepustowości i mocy.
Jakie są zalety Edge Computing nad Cloud Computing?
Proces przetwarzania brzegowego jest bardziej wydajny niż przetwarzanie w chmurze, ponieważ pobranie żądanych danych zajmuje mniej czasu. Przetwarzanie w chmurze może opóźniać przesyłanie informacji do centrum danych, co spowalnia proces podejmowania decyzji.
W efekcie, organizacje mogą ponosić straty pod względem kosztów, przepustowości, bezpieczeństwa danych, a nawet narażać się na zagrożenia w miejscu pracy, szczególnie w branży produkcyjnej i budowlanej. Oto kilka zalet przetwarzania brzegowego nad przetwarzaniem w chmurze:
- Potrzeba szybszej, bezpieczniejszej i bardziej niezawodnej architektury spopularyzowała rozwój przetwarzania brzegowego. Firmy coraz częściej wybierają ten model zamiast chmury. W obszarach, w których liczy się czas reakcji, przetwarzanie brzegowe sprawdza się idealnie.
- Gdy proces obliczeniowy odbywa się w odległych lokalizacjach, przetwarzanie brzegowe działa lepiej ze względu na ograniczoną lub całkowity brak łączności, co uniemożliwia scentralizowane podejście. Pomaga ono w lokalnym przechowywaniu danych, działając jako mikro centrum danych.
- Edge computing jest lepszym rozwiązaniem do obsługi inteligentnych i wyspecjalizowanych urządzeń, które wykonują specjalne funkcje i różnią się od zwykłych urządzeń.
- W porównaniu z przetwarzaniem w chmurze, przetwarzanie brzegowe pozwala skutecznie rozwiązywać problemy związane z wykorzystaniem przepustowości, wysokimi kosztami, bezpieczeństwem i zużyciem energii.
Obecni dostawcy Edge Computing
Aby szybko i łatwo wdrożyć przetwarzanie brzegowe w firmie, potrzebny jest dostawca usług przetwarzania brzegowego. Dostawcy ci pomagają przetwarzać dane, sprawnie je przesyłać, oferują solidną infrastrukturę IT i zarządzają ogromnymi ilościami danych generowanych przez urządzenia brzegowe.
Oto niektórzy z godnych uwagi dostawców przetwarzania brzegowego:
#1. Amazon Web Services
AWS oferuje spójne doświadczenia w modelu brzegowym w chmurze. Zapewnia rozwiązania i usługi dla IoT, ML, sztucznej inteligencji, analiz, robotyki, pamięci masowej i obliczeń.
#2. Dell
Dell oferuje orkiestrację i zarządzanie przetwarzaniem brzegowym za pośrednictwem OpenManage Mobile. Dell jest idealny dla miast cyfrowych, sprzedawców detalicznych, producentów i innych.
#3. Clear Blade
Clear Blade wydało aplikację „Edge Native Intelligent Asset Application”, która pozwala administratorom „brzegów” tworzyć urządzenia alarmowe i łączyć się z urządzeniami IoT bez konieczności kodowania.
Innymi godnymi uwagi dostawcami przetwarzania brzegowego są m.in. Cloudflare, StackPath, Intel, EdgeConnex.
Słowo na koniec 👩🏫
Przetwarzanie brzegowe może być wydajnym, niezawodnym i oszczędnym rozwiązaniem dla współczesnych firm, które w coraz większym stopniu korzystają z usług i rozwiązań cyfrowych. Jest to również doskonała koncepcja do wspierania kultury pracy zdalnej, ułatwiając szybsze przetwarzanie danych i komunikację.