Tak zwana mgła obliczeniowa, czyli fog computing (określana też jako fogging lub fog networking) ma przede wszystkim poprawić wydajność i bezpieczeństwo oraz zmniejszyć ilość danych przesyłanych do chmury obliczeniowej w celu ich przetwarzania, analizy i przechowywania.

Mgła (ang. fog) to zjawisko meteorologiczne, które można uznać za rodzaj chmury, która dotyka ziemi. Mgła i chmury to de facto bardzo małe kropelki płynnej wody. Mgła tworzy się, gdy powietrze przy ziemi ochładza się na tyle, że para wodna zmienia się w ciekłą wodę lub lód.

Przechodząc do świata teleinformatyki, w przypadku edge computing inteligencja i moc obliczeniowa mogą znajdować się w punkcie końcowym lub bramce (ang. gateway). Ponadto przetwarzanie danych na brzegu sieci zapewnia redukcję potencjalnych punktów awarii, ponieważ każde urządzenie działa niezależnie i określa, które dane przechowywać lokalnie, a które przesłać do bramy lub chmury w celu dalszej analizy. Ci, którzy wolą fog computing zamiast edge computing twierdzą, że ten model przetwarzania danych jest bardziej skalowalny i zapewnia lepszy, całościowy obraz sieci, ponieważ w ramach tego modelu wiele punktów przesyła dane do przetwarzania.

Podstawowym celem fog computing jest praca nad poprawą wydajności i zmniejszeniem nadmiarowości związanych z transportem danych do chmury w celu ich przetworzenia i przechowywania. Zwykle ma to na celu poprawę ogólnej wydajności procesów obliczeniowych.

Czynniki napędzające rozwój fog cmputing to przepustowość i opóźnienia. Aplikacje, takie jak np. autonomiczna jazda czy mobilne 5G, wymagają odpowiedzi o niskim opóźnieniu. Tutaj lokalny serwer brzegowy jest w stanie odpowiedzieć znacznie szybciej niż zdalny serwer w chmurze.

Jak działa fog computing?

Fog computing uzupełnia (nie zastępuje) przetwarzania w chmurze; fogging umożliwia krótkoterminowe analizy na brzegu sieci, podczas gdy chmura wykonuje długoterminowe analizy wymagające dużych zasobów. Chociaż urządzenia brzegowe i czujniki są miejscem generowania i gromadzenia danych, czasami nie mają one dostatecznych zasobów obliczeniowych i pamięci masowej do wykonywania zaawansowanych zadań analitycznych i uczenia maszynowego (ang. machine learning). Chociaż serwery w chmurze mają taką możliwość, często znajdują się zbyt daleko, aby przetwarzać dane i reagować w odpowiednim czasie.

(źr. OpenFog Consortium)

Ponadto, posiadanie wszystkich punktów końcowych łączących się z chmurą i wysyłających tam surowe dane przez internet może mieć konsekwencje dla prywatności, bezpieczeństwa i obowiązujących regulacji prawnych, zwłaszcza w przypadku danych wrażliwych podlegających różnym przepisom w poszczególnych krajach.

Fog computing działa poprzez rozmieszczanie węzłów fog w całej sieci. Urządzenia z kontrolerów, przełączników, routerów i kamer wideo mogą działać jako węzły fog. Gdy urządzenie IoT generuje dane, można je następnie przeanalizować za pośrednictwem jednego z tych węzłów bez konieczności wysyłania ich z powrotem do chmury.

Zalety i wady fog computing

Zalety:

  • redukuje ilość danych przesyłanych do chmury,
  • oszczędza przepustowość sieci,
  • poprawia czas reakcji systemu,
  • poprawia bezpieczeństwo dzięki utrzymywaniu danych na brzegu sieci,
  • wspiera mobilność,
  • minimalizuje opóźnienia sieci i internetu,
  • zapewnia niezależność od sieci; chociaż fog computing generalnie umieszcza zasoby obliczeniowe na poziomie sieci LAN – w przeciwieństwie do poziomu urządzenia, co ma miejsce w przypadku obliczeń brzegowych – sieć może być uważana za część architektury fog computing. Jednocześnie fog computing jest niezależne od rodzaju sieci (sieć może być przewodowa, WiFi, a nawet 5G).

Wady:

  • lokalizacja fizyczna; ponieważ architektura fog computing jest związana z fizyczną lokalizacją, podważa niektóre korzyści „w dowolnym miejscu i czasie” związane z przetwarzaniem w chmurze,
  • potencjalne problemy z bezpieczeństwem; w pewnych okolicznościach fog computing może przysparzać problemy związane z bezpieczeństwem, takie jak fałszowanie adresów IP (IP address spoofing) czy ataki typu MitM (man in the middle).
  • koszty początkowe; fog computing to rozwiązanie wykorzystujące zarówno zasoby brzegowe, jak i chmurowe, co oznacza, że wiążą się z tym wydatki na sprzęt,
  • dwuznaczna koncepcja; mimo że fog computing funkcjonuje od kilku lat, to nadal istnieje pewna niejasność wokół jednoznacznej definicji tego modelu przetwarznnia danych, ponieważ różni dostawcy różnie definiują ten model przetwarzania,
  • kwestie prywatności,
  • obawy dotyczące zaufania i uwierzytelniania,
  • obawy dotyczące bezpieczeństwa sieci bezprzewodowych.

Fog computing i IoT

Edge computing zwykle jest realizowane bezpośrednio na urządzeniach, do których podłączone są czujniki lub na urządzeniu będącym bramą, które jest fizycznie „blisko” czujników. W przypadku fog computing dane są przetwarzane w węźle fog lub bramie IoT, która znajduje się w sieci lokalnej (LAN).

Ponieważ przetwarzanie w chmurze nie jest opłacalne w przypadku wielu aplikacji Internetu Rzeczy (IoT – Internet of Things), często używa się modelu fog computing, którego rozproszone podejście odpowiada na potrzeby IoT i przemysłowego IoT (IIoT), a także przetwarzania ogromnej ilości danych generowanych przez inteligentne czujniki i urządzenia IoT, których przesłanie do chmury w celu przetworzenia i analizy byłoby kosztowne i czasochłonne. Fog computing zmniejsza wymagania w zakresie przepustowości oraz ogranicza komunikację między czujnikami a chmurą, co może negatywnie wpływać na wydajność IoT.

Fog computing pomaga tworzyć połączenia sieciowe o niskich opóźnieniach między urządzeniami i ich punktami końcowymi, gdzie przeprowadzana jest analiza. Ta architektura z kolei zmniejsza zapotrzebowanie na przepustowość w porównaniu z chmurą.

Zastosowania fog computing

Popularne aplikacje, gdzie fog computing znajduje zastosowanie to: smart grids, smart cities, inteligentne budynki, pojazdy podłaczone do sieci oraz definiowane programowo sieci (ang. software-defined networks).

Jednym z coraz częstszych zastosowań fog computing jest kontrola ruchu. Ponieważ czujniki – takie jak te używane do wykrywania ruchu – są często połączone z sieciami komórkowymi, miasta czasami rozmieszczają zasoby obliczeniowe w pobliżu wież komórkowych. Te możliwości obliczeniowe umożliwiają analizę danych o ruchu w czasie rzeczywistym, dzięki czemu sygnały ruchu mogą reagować w czasie rzeczywistym na zmieniające się warunki.

Ta podstawowa koncepcja jest również rozszerzana na pojazdy autonomiczne, które zasadniczo funkcjonują jako urządzenia brzegowe ze względu na swoją dużą pokładową moc obliczeniową. Pojazdy te muszą być w stanie pobierać dane z ogromnej liczby czujników, przeprowadzać analizę danych w czasie rzeczywistym, a następnie odpowiednio reagować.

Fogging a 5G

Fog computing to architektura obliczeniowa, w której szereg węzłów odbiera dane z urządzeń IoT w czasie rzeczywistym. Węzły te przetwarzają w czasie rzeczywistym otrzymywane dane z milisekundowym czasem odpowiedzi. Węzły okresowo wysyłają do chmury informacje z wynikami analitycznymi. Aplikacja oparta na chmurze analizuje następnie dane otrzymane z różnych węzłów w celu zapewnienia praktycznego wglądu.

Ta architektura wymaga czegoś więcej niż tylko możliwości obliczeniowych. Wymaga szybkiej łączności między urządzeniami IoT i węzłami. Celem jest możliwość przetwarzania danych w ciągu milisekund. Oczywiście opcje łączności różnią się w zależności od aplikacji. Na przykład czujnik IoT na hali produkcyjnej może prawdopodobnie korzystać z połączenia przewodowego. Jednak zasób mobilny, taki jak pojazd autonomiczny, lub zasób izolowany, taki jak turbina wiatrowa w środku pola, będą wymagały alternatywnej formy łączności. 5G to szczególnie atrakcyjna opcja, ponieważ zapewnia szybką łączność niezbędną do analizy danych w czasie zbliżonym do rzeczywistego.

(grafika tytułowa – źr. Pixabay)

Napisane przez Stefan Kaczmarek