Internet of Things, w skrócie IoT to sieć połączonych z sobą fizycznych urządzeń podłączonych do internetu w celu wzajemnej komunikacji tj. pobierania informacji oraz udostępniania własnych. Urządzenie IoT może być dowolnym urządzeniem fizycznym, jedyne wymagania stanowi możliwość podłączenia do sieci IoT, może to być stojący w szczerym pomiaru czujnik zbierający pomiary, jak i również termometr znajdujący się w lodówce, lub nawet samolot.Potencjał IoT polega na umożliwieniu cyfryzacji urządzeń i zarządzaniu nimi z wyższego poziomu abstrakcji odbierając konieczność manualnej interakcji przez człowieka.
To właśnie możliwość usunięcia człowieka z łańcucha koniecznych interakcji do poprawnego funkcjonowania urządzenia i zastąpienie tego komunikacją między maszynami jest główną ideą w IoT.
Rynek IoT
Światowy rynek IoT w 2021 roku wyceniany był przeciętnie w okolicach 380 miliardów dolarów podtrzymując w poprzednich latach passę wzrostu w okolicach 20%. Podobny wzrost przewidywany jest na rok 2022. Szacuje się, że przed końcem dekady rynek IoT osiągnie 2.5 biliona dolarów wartości.
W rynek IoT zaliczamy wszystkie rozwiązania związane z wykorzystaniem urządzeń IoT, przykładowo najpopularniejsze smartwatche, smartphony, smart home, jak i w przyszłości być może takie projekty jak smart city lub smart vehicle, który poza samodzielną jazdą zapewnioną przez sztuczną inteligencję będzie się w stanie komunikować jak urządzenie IoT w czasie rzeczywistym z serwerem.
Korzyści wynikające z wykorzystania IoT
IoT wykorzystywane jest z wielu dziedzinach, począwszy od medycyny, przez rolnictwo, kończąc na przemyśle. Niektóre zastosowania IoT wynikają z korzyści wyłącznych jedynie dla dziedziny, w której są zastosowanie, natomiast wiele zysków z wykorzystania inteligentnych urządzeń sprawdza się w dowolnym polu. W szczególności automatyzacja procesów dzięki wykorzystaniu IoT umożliwia:
- oszczędność czasu i pieniędzy potrzebnej na zarządzanie urządzeniami
- wspierać pracę ludzką poprzez dokładniejszą dane oraz automatyzację żmudnych procesów
- zapobieganie awarii urządzeń poprzez trwały monitoring ich stanu
- zwiększona kontrola nad urządzeniami
Urządzenia IoT oraz przepływ informacji
Z racji tego, że wymagania, aby określić jakieś urządzenie jako urządzenie IoT są niewielkie, a mianowicie:
- możliwość podłączenia go do sieci
- spełnienie wymogów komunikacyjnych
praktycznie każde urządzenie, któremu możemy nadać adres IP zaliczane jest do urządzeń IoT.
Szacuje się, że już teraz jest około 20 miliardów urządzeń IoT, a więc ponad 3 przypadające na 1 człowieka. Ich liczba rośnie z roku na rok w okolicach 20%, a więc już w ciągu tej dekady szacuje się, że przekroczone zostanie 50 miliardów urządzeń.
Urządzenia IoT zwykle komunikują się z serwerem odpowiedzialnym za monitorowanie stanu tych urządzeń. Zwykle właśnie z poziomu serwera wykonywane są standardowe operacje, takie jak np. udostępnienie urządzeniom aktualizacji oprogramowania.
Na jeden serwer może przypadać od kilku tysięcy do nawet kilku milionów urządzeń, w zależności od sytuacji i zapotrzebowań.
Komunikacja z serwerem takiej ilości urządzeń powoduje przepływ nierealnej ilości danych przez sieć w czasie rzeczywistym z odległych lokalizacji i nieprzyjaznych środowisk operacyjnych niemal z każdego miejsca na świecie.
Z racji tego, w IoT wykorzystywane są specjalistyczne protokoły skierowane w celu redukcji ilości danych płynących przez sieć oraz odciążenie urządzenia. Urządzenia IoT dosyć często posiadają słabe zdolności pamięciowe oraz obliczeniowe, dlatego jakakolwiek redukcja danych może znacząco wydłużyć życie ich baterii, poprawić prędkość przetwarzania wiadomości oraz zmniejszyć czas przepływu jej przez sieć.
Mimo to, coraz częściej serwery IoT mogą zostać przeciążone natłokiem wiadomości od urządzeń, których nie są w stanie przetworzyć na czas. Powoduje to początkowo zwiększenie czasu odpowiedzi na pytania, które kolejkują się w serwerze.
Zjawisko takie kończy się odrzuceniem tych wiadomości przez serwer przez ich natychmiastowe odrzucenie lub nawet przeciążeniem serwera, które uniemożliwia mu dalszą pracę.
Jest to zjawisko chaosu, gdyż jednostka centralna odpowiedzialna za kontrolę stanu urządzeń jest niezdolna do spełnienia swojego obowiązku, a urządzenia nie otrzymują potrzebnych im informacji.
Z racji tego, że protokoły używane w IoT są przystosowane do komunikacji między maszynami to ich format w odróżnieniu od popularnych protokół poza IoT jak np. HTTP nie nadaje się do przetworzenia przez człowieka. W takim przypadku posiadamy natłok informacji w sieci, które zrozumiałe są jedynie dla serwera, który nie jest w stanie ich obsłużyć.
Jak walczyć z chaosem informacyjnym
Model z serwerem centralnym obsługującym wszystkie urządzenia nie jest wystarczający na potrzeby IoT. Ciągłe podnoszenie możliwości łącza również nie przyniesie zamierzonych skutków z racji tego, że ilość urządzeń nieustannie rośnie w zatrważającym tempie, przez co takie rozwiązanie zawsze będzie jedynie chwilowe.
Właśnie dlatego powstały modele architektury takie jak Edge Computing oraz Fog Computing. Oba te modele polegają na odciążeniu serwera centralnego z niektórych zadań poprzez rozmieszczenie serwerów lokalnych, preferowalnie w pobliżu urządzeń, aby jednocześnie zmniejszyć czas potrzebny na przepływ danych.
Edge computing
Edge computing, czyli przetwarzanie brzegowe to architektura rozproszonej technologii informacyjnej (IT), w której dane klienta są przetwarzane na obrzeżach sieci, jak najbliżej źródła, z którego pochodzą. Mówiąc najprościej, jest to kwestia lokalizacji danych. W tradycyjnym przetwarzaniu danych w przedsiębiorstwie dane są wytwarzane w punkcie końcowym klienta, takim jak komputer użytkownika. Dane te są przesyłane przez sieć WAN, taką jak Internet, przez firmową sieć LAN, gdzie są przechowywane i przetwarzane przez aplikację korporacyjną. Wyniki tej pracy są następnie przekazywane z powrotem do punktu końcowego klienta. Pozostaje to sprawdzonym podejściem do przetwarzania klient-serwer dla większości typowych aplikacji biznesowych.
Jednak liczba urządzeń podłączonych do Internetu oraz ilość danych wytwarzanych przez te urządzenia i wykorzystywanych przez firmy rośnie zbyt szybko, aby mogła pomieścić tradycyjną infrastrukturę centrów danych. Perspektywa przenoszenia tak dużej ilości danych w sytuacjach, które często mogą być wrażliwe na czas lub zakłócenia, stanowi ogromne obciążenie dla globalnego Internetu, który sam często podlega przeciążeniu i zakłóceniom.
Dodatkowo szacuje się, że 98% całego ruchu urządzeń IoT jest nieszyfrowane, co pozwala na ujawnienie osobistych i poufnych danych w sieci.
Dlatego architekci IT przenieśli punkt ciężkości z centralnego centrum danych na logiczną krawędź infrastruktury — zabierając zasoby pamięci masowej i obliczeniowe z centrum danych i przenosząc je do punktu, w którym dane są generowane. Koncepcja przetwarzania brzegowego nie jest nowa i jest zakorzeniona w kilkudziesięcioletnich ideach zdalnego przetwarzania — takich jak zdalne biura i oddziały — gdzie bardziej niezawodne i wydajne było umieszczanie zasobów obliczeniowych w pożądanej lokalizacji niż polegać na jednej centralnej lokalizacji.
Przetwarzanie brzegowe umieszcza pamięć masową i serwery tam, gdzie znajdują się dane, często wymagając niewiele więcej niż częściowy sprzęt do działania w zdalnej sieci LAN w celu lokalnego gromadzenia i przetwarzania danych. Przetwarzanie często wiąże się z normalizacją i analizą strumienia danych w celu wyszukania analizy biznesowej, a tylko wyniki analizy są przesyłane z powrotem do głównego centrum danych.
Z drugiej strony, z punktu widzenia bezpieczeństwa dane na brzegu mogą być kłopotliwe, zwłaszcza gdy są obsługiwane przez różne urządzenia, które mogą nie być tak bezpieczne, jak systemy scentralizowane lub oparte na chmurze. Wraz ze wzrostem liczby urządzeń IoT konieczne jest, aby dział IT rozumiał potencjalne problemy z bezpieczeństwem i upewniał się, że te systemy mogą być zabezpieczone. Obejmuje to szyfrowanie danych, stosowanie metod kontroli dostępu i ewentualnie tunelowanie VPN.
Ponadto różne wymagania dotyczące urządzeń w zakresie mocy obliczeniowej, elektryczności i łączności sieciowej mogą mieć wpływ na niezawodność urządzenia brzegowego. To sprawia, że zarządzanie nadmiarowością i przełączaniem awaryjnym ma kluczowe znaczenie dla urządzeń przetwarzających dane na brzegu sieci, aby zapewnić prawidłowe dostarczanie i przetwarzanie danych w przypadku awarii pojedynczego węzła.
Fog Computing
Fog computing to warstwa obliczeniowa między chmurą a brzegiem. Tam, gdzie przetwarzanie brzegowe może wysyłać ogromne strumienie danych bezpośrednio do chmury, mgła obliczeniowa może odbierać dane z warstwy brzegowej, zanim dotrą do chmury, a następnie zdecydować, co jest istotne, a co nie. Odpowiednie dane są przechowywane w chmurze, podczas gdy nieistotne dane można usunąć lub przeanalizować w warstwie mgły w celu uzyskania zdalnego dostępu lub poinformowania zlokalizowanych modeli uczenia się.
Dobrym przykładem obliczeń mgły może być aplikacja osadzona na linii produkcyjnej, w której czujnik temperatury podłączony do serwera brzegowego mierzyłby temperaturę co sekundę. Dane te byłyby następnie przekazywane do aplikacji w chmurze w celu monitorowania skoków temperatury. Wyobraź sobie, że wszystkie pomiary temperatury w każdej sekundzie całodobowego cyklu pomiarowego są wysyłane do chmury.
W przypadku warstwy mgły serwer brzegowy najpierw wysyłałby dane do warstwy mgły za pośrednictwem zlokalizowanej sieci. Serwer mgły otrzymywałby te dane i według określonych parametrów decydował, czy warto je wysłać do chmury. Efektem końcowym jest zmniejszony ruch. W przypadku prostych odczytów temperatury te oszczędności danych mogą wydawać się nieistotne. Ale wyobraź sobie, że ciągle przesyłasz strumieniowo złożone informacje lub duże pliki, takie jak obrazy lub wideo. Wpływ na przepustowość i opóźnienia może być ogromny w zależności od aplikacji.
Korzyścią zastosowania tego rozwiązania jest wydajność ruchu danych i zmniejszenie opóźnień. Dzięki wdrożeniu warstwy mgły dane otrzymywane przez chmurę dla konkretnej aplikacji osadzonej są znacznie mniej zaśmiecone. Tam, gdzie chmura musiałaby najpierw przeszukać stos niepotrzebnych danych przed podjęciem jakichkolwiek działań lub zwróceniem wyników, może teraz działać bezpośrednio na danych otrzymanych z warstwy mgły.
Jedną rzeczą, która powinna być jasna, jest to, że fog computing nie może zastąpić edge computing. Jednak przetwarzanie brzegowe może zdecydowanie żyć bez obliczeń mgły. Wadą jest więc to, że przetwarzanie mgły wymaga inwestycji. Jest to bardziej złożony system, który należy zintegrować z obecną infrastrukturą. To kosztuje pieniądze, czas, ale także wiedzę na temat najlepszego rozwiązania dla Twojej infrastruktury. Obliczenia mgły nie są idealnym rozwiązaniem w każdym scenariuszu. Jednak w przypadku niektórych aplikacji korzyści mogą być atrakcyjne dla tych, którzy obecnie korzystają z architektury danych typu direct edge to cloud.
W skrócie, przetwarzanie brzegowe to przetwarzanie danych, które odbywa się na brzegu sieci, w bliskiej odległości od fizycznej lokalizacji, w której są tworzone dane. Z drugiej strony, przetwarzanie mgły działa jako mediator między brzegiem a chmurą do różnych celów, takich jak filtrowanie danych. W końcu, przetwarzanie we mgle nie może zastąpić obliczeń brzegowych, podczas gdy przetwarzanie brzegowe może żyć bez obliczeń mgły w wielu aplikacjach.
Podsumowanie
Szybki rozwój rynku IoT bezsprzecznie powoduje przepływ ogromnych ilości danych, który mógłby przytłoczyć naszą obecną infrastrukturę. Na szczęście od lat istnieją skuteczne rozwiązania architekturowe, które pozwalają nam nie utonąć w morzu informacji.
Jeżeli jednak chcemy tworzyć bardziej zaawansowane rozwiązania jak systemy IoT obejmujące całe miasta, konieczny jest ciągły rozwój rozwiązań technologicznych w tej dziedzinie.
Literatura
https://www.simplilearn.com/iot-devices-article
https://www.arm.com/glossary/iot-devices
https://www.techtarget.com/iotagenda/definition/fog-computing-fogging
https://www.onlogic.com/company/io-hub/fog-computing-vs-edge-computing/
https://financesonline.com/iot-statistics
https://www.networkworld.com/article/3224893/what-is-edge-computing-and-how-it-s-changing-the-network.html
https://www.techtarget.com/iotagenda/tip/Top-8-IoT-applications-and-examples-in-business
Świetny artykuł! Bardzo dokładnie opisuje zarówno szanse, jak i wyzwania związane z wprowadzeniem kryptowalut, NFT i technologii blockchain do współczesnej…