Czy faktycznie Edge Computing ma szansę zastąpić dotychczas popularny paradygmat przetwarzania w chmurze? A czy może jest to tylko (i aż) nowy styl architektoniczny dla rozproszonego systemu informatycznego? Na te i inne pytania postaram się odpowiedzieć w niniejszym artykule.
Przetwarzanie w chmurze zdążyło się już dobrze zadomowić zarówno w firmach, jak i w rozwiązaniach dla konsumentów. Jednak, jak pokazują dotychczasowe doświadczenia, istnieje cała klasa zastosowań, w których cloud computing nie był najlepszym rozwiązaniem. Są to sytuacje, w których albo ilość danych płynąca do centrum danych jest ogromna, albo szybkość odpowiedzi danych po ich przetworzeniu powinna być bliska rzeczywistej. Do tego dochodzą jeszcze kwestie zarządzania poufnością danych osobowych. Nowe regulacje w tym zakresie wprowadzają wiele restrykcji.
Co to jest edge computing?
Naprzeciw tym problemom wychodzi edge computing, który w rzeczywistości jest stylem architektonicznym dla rozproszonych systemów informatycznych. W swoich założeniach przypomina on trochę bardzo popularny niegdyś styl klient-serwer. Główne założenie edge computing polega na tym, aby przenieść przetwarzanie danych (a przynajmniej jego część) bliżej miejsca ich powstawania, czyli na krawędź Internetu. Takie rozwiązanie wpływa nie tylko na obniżenie wolumenu przesyłanych danych (a więc obniża wymagania na przepustowość łącz), ale również może zmniejszać opóźnienie odpowiedzi. Wpływa również na polepszenie bezpieczeństwa całości systemu. Do centralnego systemu przetwarzania (przechowywania) wysyłana jest tylko część, zagregowanych wstępnie danych.
W modelu edge computing (przetwarzanie na krawędzi ?) dodatkowa warstwa mini-centrów przetwarzania danych nazywana jest cloudlet-ami. Zadaniem cloudlet-ów jest zbieranie danych z lokalnych urządzeń oraz ich wstępne przetwarzanie. Jeśli zakres przetwarzania danych, który jest zrealizowany w cloudlet-cie wystarcza, to dane nie muszą być dalej przesyłane do centralnego systemu (chyba, że do celów analitycznych w wysoce zagregowanej formie). Innym przypadkiem jest sytuacja, w której w cloudlet odpowiedzialny jest za zbieranie i wstępną obróbkę danych. Następnie dane w takiej formie przesyłane są dalej do systemu centralnego.
W modelu edge computing nie jest do końca określone, czy przetwarzanie danych powinno odbywać się bezpośrednio w urządzeniach, które tworzą i konsumują dane, czy wyłącznie w cloudlet-ach, a następnie w systemie centralnym. Jeśli możliwe byłoby zrealizowanie przetwarzanie bezpośrednio na urządzeniach, to wówczas cały pomysł edge computing sprowadzałby się do stylu architektonicznego klient-serwer – ze wszystkimi jego zaletami i wadami.
Zalety modelu edge computing
Podstawową zaletą modelu edge computing jest obniżenie wymagań dotyczących przepustowości łącz internetowych. Związane z tym jest również częściowe uniezależnienie się od samego Internetu (do pewnego stopnia). Te cechy powodują, że model edge computing będzie się dobrze sprawdzał w miejscach, gdzie dostęp do Internetu nie jest łatwy, lub może ulegać awariom. Przeniesienie przetwarzania danych bliżej miejsca ich powstawania obniża ryzyko przestojów spowodowanych przez awarie łącz internetowych.
Kolejną zaletą edge computing jest obniżenie wymagań na moc obliczeniową w centralnym systemie. W zamian za to możliwe jest wykorzystanie wielu, tanich mini-centrów przetwarzania danych. Ta zmiana może wpływać na obniżenie całkowitych kosztów sprzętu niezbędnego do uruchomienia i eksploatacji systemu.
Równie istotną zaletą edge computing jest łatwiejsze spełnienie wymogów regulacyjnych dotyczących poufności przetwarzania danych. Dzięki zlokalizowaniu przetwarzania danych na krawędzi Internetu, poufne dane osobowe (a w szczególności dane wrażliwe) nie będą opuszczały obszarów chronionych, nad którymi organizacja posiada pełną kontrolę.
Wady edge computing
Jak każdy styl architektoniczny, tak i edge computing ma swoje wady. Podstawowym jest większy poziom skomplikowania całego systemu. Wprowadzenie dodatkowej warstwy, którą trzeba zarządzać, konserwować powoduje, że koszty związane z utrzymaniem systemu mogą wzrosnąć.
Kolejną wadą jest trudność w integracji takiej architektury z systemami dostawców zewnętrznych. W przypadku cloud computing, mamy do czynienia z czystą formą SaaS (Software as a Service), gdzie klient kupuje usługę i tyle. Tutaj konieczne jest wprowadzenie jeszcze jednej warstwy dla przetwarzania danych (potencjalnie implementowanej przez dostawcę usługi), ale zlokalizowanej w sieci klienta (na krawędzi Internetu). Może to rodzić różnego rodzaju problemy natury prawnej, jak i organizacyjnej. Oczywiście, wada ta nie będzie występować w sytuacji, w której „dostawcą”, a więc właścicielem rozwiązania, a jednocześnie jej konsumentem będzie jedna organizacja.
Typową wadą stylu klient-serwer, której można się spodziewać również w edge computing jest większa trudność utrzymania i aktualizacja oprogramowania do przetwarzania danych. Trudność ta ostatecznie przekłada się na zwiększone koszty utrzymania całego rozwiązania
Czy edge computing zastąpi cloud computing?
Krótka odpowiedź – nie! Edge computing to kolejny styl architektoniczny dla rozproszonych systemów. Ma on swoje niepodważalne zalety, ale posiada również wady. Z tego powodu należ stosować go z rozmysłem w sytuacjach, w których zalety będą mocno przeważały nad wadami. Sądzę jednak, że model centralnego systemu z dostępem przez terminal (czyli cloud computing) pozostanie dominującą formą dla SaaS.