Popularność urządzeń internetu rzeczy rośnie niezwykle dynamicznie. Ich mnogość i szerokie zastosowanie sprawia, że konieczne stało się odpowiednie dopasowanie sposobu i miejsca przetwarzania rejestrowanych przez nie danych. Rzućmy więc okiem na rozwiązanie znacznie bardziej dopasowane do potrzeb IoT – przetwarzanie na krawędzi sieci.
Do chmury, do chmury!
Zanim jednak o właściwym edge computing, wróćmy pamięcią kilka lat wstecz, a konkretnie do momentu, w którym szeroką popularność zdobyły rozwiązania chmurowe. A zdobyły one swoją popularność między innymi dlatego, że wzrosła mobilność użytkowników oraz liczba urządzeń, z których ci korzystają. Nie tak dawno przeciętny pracownik biurowy miał do dyspozycji jedno narzędzie – komputer stacjonarny (zamiennie z laptopem). Z biegiem czasu do komputera dołączył laptop dedykowany do pracy poza biurem, smartfon oraz tablet.
Oznaczało to konieczność ciągłej, ręcznej synchronizacji danych między trzema-czteroma urządzeniami. Gdy przemnożymy czas potrzebny na synchronizację razy liczbę pracowników danego przedsiębiorstwa okaże się, że powstanie ogromna strata czasowa, którą pracownicy mogliby wykorzystać zdecydowanie bardziej produktywnie. W takiej sytuacji rozwiązania chmurowe, zapewniające dostęp do tych samych danych z każdego urządzenia, okazały się być na wagę złota.
Drugim aspektem przemawiającym za rozwiązaniami cloud computing był szybki wzrost ilości przetwarzanych danych. Okazało się, że urządzenia, którymi dysponują pracownicy, w wielu przypadkach są zbyt mało wydajne do przeprowadzania obliczeń wymagających większej mocy obliczeniowej. W takich przypadkach możliwość wykorzystania zasobów potężnych jednostek pracujących w serwerowniach była niezwykle kusząca.
I z powrotem…
Niestety, cloud computing, jak większość technologii, ma również dość istotne wady i ograniczenia. Pierwszym, najbardziej podstawowym jest przepustowość sieci. Brak albo ograniczenie dostępu do sieci powoduje, że rozwiązania chmurowe automatycznie przestają funkcjonować, a użytkownicy tracą dostęp do danych zapisanych na serwerach. Drugim poważnym problemem jest kwestia bezpieczeństwa i powstająca konieczność zabezpieczenia transmisji między serwerem a urządzeniem końcowym. Trzecie powstaje zwłaszcza wtedy, gdy do chmury przeniesiona zostanie zbyt duża ilość obliczeń i niepotrzebnych danych, co spowoduje odczuwalny spadek wydajności całego systemu.
By lepiej zobrazować różnicę, wyobraźmy sobie pracownika biurowego, który do codziennych zajęć wykorzystuje wyłącznie terminal podłączony do sieci – wszystkie zadania wykonywane są, za pośrednictwem pulpitu zdalnego, w chmurze. W przypadku konieczności pracy na sporej bazie danych czy wykonania złożonych obliczeń dostęp do chmury sprawi, że stanie się to znacznie szybciej niż w przypadku ich przeprowadzenia na komputerze stacjonarnym wyposażonym w jeden z dolnopółkowych procesorów.
Co jednak w sytuacji, gdy pracownik operuje na niewielkiej bazie, a wykonywane obliczenia sprowadzają się do prostych formuł w Excelu? Opóźnienia sieci i ograniczenia wynikające z jej przepustowości sprawią, że będzie to nieporównywalnie mniej komfortowe i zajmie więcej czasu, niż gdyby tą samą operację przeprowadzić lokalnie.
Z urządzeniami internetu rzeczy jest dokładnie tak, jak w tym drugim przykładzie. Nie wymagają potężnej mocy, za to bardzo przyda im się błyskawiczna komunikacja o najwyższym możliwym poziomie bezpieczeństwa. Oznacza to, że korzystanie z cloud computing w przypadku internetu rzeczy z pewnością nie jest optymalnym rozwiązaniem. Postanowiono więc powrócić do korzeni, ale w nieco inny sposób.
Na krawędzi sieci
Biorąc pod uwagę rosnącą popularność urządzeń internetu rzeczy, ale również ograniczenia prawne w swobodnym przesyłaniu danych do chmury (np. RODO) ustalono, że optymalnym miejscem do przetwarzania większości danych będzie krawędź (ang. edge) sieci, stąd pomysł na edge computing.
Edge computing oznacza w praktyce przetwarzanie danych zarówno samodzielnie przez część urządzeń końcowych, jak i w miejscach położonych możliwie najbliżej nich. Przykładem takiego zastosowania może być komputer, do którego spływają dane z urządzeń internetu rzeczy, na przykład sieci czujników czy zdalnie sterowanych przełączników. Lokalne przetwarzanie danych oznacza, w tym przypadku, brak ograniczeń wynikających z opóźnień czy przepustowości sieci oraz bardzo wysoki poziom bezpieczeństwa.
Czy zatem edge computing jest lepszy niż cloud computing i powinniśmy, czym prędzej wrócić do dawnych czasów, gdy dane przetwarzane były wyłącznie lokalnie? Zdecydowanie nie! Chcąc jednak zaprojektować sieć, która sprosta współczesnym wymaganiom, należy odpowiednio zadbać o warstwę chmurową, jak i krawędziową.
Współdziałanie – rozwiązanie optymalne
Współczesna koncepcja idealnie funkcjonującej sieci komputerowej zakłada optymalne wykorzystanie zarówno edge computing jak i cloud computing. Procesy wymagające, z różnych względów, lokalnego przetwarzania, powinny być realizowane poprzez edge computing, a te, które potrzebują zdecydowanie większej mocy obliczeniowej czy powszechnej dostępności w całej organizacji – cloud computing.
Należy jednak wziąć pod uwagę, że budowa tego typu sieci wiąże się z koniecznością zapewnienia odpowiednio szybkiego i stabilnego połączenia między edge computing a cloud computing. To między innymi z myślą o tym zadaniu powstają wysokowydajne sieci 5G czy WiFi 6e.
Podsumowując, optymalnym rozwiązaniem, z perspektywy urządzeń internetu rzeczy, jest właśnie edge computing, jednak sieć to nie tylko internet rzeczy, ale też bardziej konwencjonalne zastosowania, w których lepiej radzi sobie chmura. Kluczem do sukcesu jest zatem ich odpowiednia integracja i to właśnie z tym zadaniem będą musieli zmierzyć się administratorzy sieci i producenci sprzętu w najbliższym czasie.