Wiele organizacji, które przyjęły chmurę, traktuje Edge jako naturalne rozszerzenie swoich rozwiązań opartych na niej. Z drugiej strony, te firmy, które są na samym początku podróży ku chmurze, są często znacznie bardziej świadome możliwości obu technologii, więc rozważają ich równoczesne wykorzystanie od samego początku.
Pytania są więc następujące:
- Czy Edge zastąpi chmurę?
- Czy korzystanie z Edge’a w chmurze przeniesie ciężar rozwoju oprogramowania z powrotem do on-premise?
Wspólnie zastanówmy się nad odpowiedziami, zapraszam do lektury.
Czym dokładnie jest Edge?
Edge ma wiele znaczeń, z których dwa są najbardziej trafne:
- Fizyczne urządzenie kontrolowane z poziomu chmury, ale umieszczane lokalnie, blisko źródła danych lub procesu.
- Struktura oprogramowania, która umożliwia wdrożenie potrzebnej funkcjonalności i pozwala na jego bezpieczne zarządzanie.
Czy Edge jest tożsame z chmurą?
Edge Computing to „stack” technologiczny, który wykorzystuje np. „computer vision” i techniki przetwarzania danych wykonywane blisko źródeł danych. Chmura obliczeniowa ma podobne zastosowania, ale operacje wykonywane są na znacznie większą skalę. Edge może wchodzić w interakcje z urządzeniami w czasie rzeczywistym, ponieważ w przeciwieństwie do chmury, nie potrzebuje do tego typu operacji Internetu.
Edge Computing z technicznej perspektywy
Jak już wspomniałem, Edge to fizyczne urządzenie z zainstalowanym na nim dedykowanym oprogramowaniem. W zależności od środowiska pracy, Edge powinien spełniać różne oczekiwania. Na przykład w środowisku przemysłowym powinien być zaprojektowany na komputerze klasy przemysłowej (mieć zwiększoną odporność na wilgoć, kurz i wibracje), gdy podczas korzystania z niego w branży np. opieki zdrowotnej lub szeroko pojętego „well-being” wystarczy inteligentna opaska lub standardowy telefon komórkowy.
W przypadku rozwiązań IoT, Edge powinien wykorzystywać protokoły Cloud Native zabezpieczone certyfikatami oraz wspierać zabezpieczenia sprzętowe (HSM – hardware secure module, przykładem implementacji tego standardu może być TPM – trusted platform module).
Edge Computing z perspektywy biznesowej
Z biznesowego punktu widzenia Edge jest narzędziem, które może sprostać wyzwaniom powszechnie występującym w świecie IoT.
Przykłady takich zastosowań:
A. Tłumaczenie protokołów
Czy kiedykolwiek zastanawiałeś się, jak połączyć się z Twoją platformą na urządzeniu, które nie mówi w języku „chmurowym”?
A może jest tak stare, że nie ma pojęcia o łączności internetowej?
Cóż, ktoś już to zrobił, a odpowiedzią jest właśnie Edge!
W tym przypadku może to działać na wiele sposobów. Posłużę się prostym porównaniem: Edge jest bramą, która z jednej strony łączy się z urządzeniem i odczytuje z niego dane, a z drugiej strony wysyła te same dane (lub może lekko przetworzone) do chmury za pomocą protokołów natywnych, takich jak AMQP lub MQTT. Oczywiście taka translacja może mieć różne ”oblicza” – dane mogą być powiązane z jednostkowym urządzeniem lub mogą być sumą informacji ze wszystkich urządzeń i wtedy Edge działa jako swoisty agregator danych – wybór należy do architekta rozwiązania.
B. Wstępne przetwarzanie danych
Czasami konieczne jest wstępne przetworzenie uzyskanych danych przed wysłaniem ich do chmury. Na przykład dane z akcelerometrów. Przetwarzanie surowych danych wymaga pozyskania tysięcy pomiarów na sekundę. Nie ma więc sensu wysyłać ich w takiej surowej formie do chmury. W tym scenariuszu wykonywane są pewne obliczenia i wstępna agregacja (średnia, odchylenie standardowe itp.).
Źródło: Microsoft
C. Scenariusz offline
Jest to powszechny przypadek użycia, szczególnie w szeroko pojętej produkcji, przemyśle morskim czy wytwarzaniu pojazdów autonomicznych. Edge z założenia ma komunikować się z chmurą, być aktualizowany z poziomu chmury itp. W idealnym świecie wszystko powinno działać tak, jak zostało zaprojektowane, ale… wciąż istnieją organizacje, które są daleko od niezawodnej łączności internetowej. W przypadku przemysłu morskiego łatwo sobie wyobrazić, że nadal istnieją miejsca bez łączności sieciowej chociażby na oceanach.
Co wtedy?
Jeśli Edge jest używany tylko do akwizycji danych lub wstępnego przetwarzania danych, nie stanowi to problemu. Edge buforuje dane (gdzie jedynym ograniczeniem jest pojemność dysku twardego), zastanówmy się jednak:
Co jeśli niektóre algorytmy obliczają np. prędkość żeglugi, biorąc pod uwagę aktualne położenie statku i informacje kontekstowe, takie jak prognoza pogody?
W takich scenariuszach rozsądne jest utrzymywanie tych źródeł danych tak blisko nadzorowanych przez urządzenia Edge, jak to tylko możliwe. Załóżmy, że łączność sieciowa z chmurą jest zerwana. W takim przypadku Edge może nadal działać, zapewniając płynne działanie linii produkcyjnych i wykonując obliczenia dla potencjalnych problemów (takich jak przegrzanie robota spawalniczego), nawet bez dostępu do platformy chmurowej. Ten przypadek użycia jest też silnie związany z samym Edge Computing.
Czy Edge rozszerza chmurę, czy też chmura jest rozszerzeniem Edge?
Jeśli pomyślimy o tym pytaniu bardzo pragmatycznie, odpowiedź jest prosta – chmura była przed Edge, więc Edge musi rozszerzyć chmurę. Scenariusze z życia wzięte pokazują, że bycie w 100% pragmatycznym nie zawsze jednak ma rację bytu. Szczera odpowiedź brzmi (i jest to moja ulubiona) – to zależy!
Zależy to od architektury lub przypadków użycia chmury i Edge. Można powiedzieć, że jeśli wszystkie główne zadania obliczeniowe, konserwacja predykcyjna, długoterminowe przechowywanie itp. są uruchamiane w chmurze, a Edge służy jedynie do agregacji danych, prostego przetwarzania wstępnego i tłumaczenia protokołów, można uczciwie powiedzieć, że Edge rozszerza chmurę.
Z drugiej strony, jeśli wszystkie główne zadania obliczeniowe, wykorzystanie pamięci masowej itp. są uruchamiane na Edge, a chmura jest tylko narzędziem synchronizacji, które pozwala porównać wszystkie wskaźniki typu KPI fabryk, OEE, wydajność produkcji, zapewnia środowisko dedykowane dla naukowców danych i niektóre zagregowane wizualizacje, można szczerze powiedzieć, że chmura rozszerza Edge!
Jak widać, odpowiedź nie jest taka prosta i wymaga głębokiej wiedzy na temat rozwiązań, których dotyczy, więc musimy być ostrożni.
Czy Edge zastąpi chmurę?
To, czy Edge Computing zastąpi Cloud Computing, jest tematem ciągłej debaty i ewolucji w świecie technologii. Zarówno Edge, jak i Cloud Computing służą różnym celom i mają swoje mocne i słabe strony.
Po pierwsze, powinniśmy zdać sobie sprawę, że technologia Edge Computing nie jest wymienna i nie może zastąpić innych. Komputery Edge przetwarzają dane wrażliwe na czas, podczas gdy przetwarzanie w chmurze koncentruje się na bardziej asynchronicznych procesach opartych na danych.
Należy dodać, że Edge i Cloud Computing niekoniecznie muszą ze sobą bezpośrednio konkurować; mogą się wzajemnie uzupełniać w architekturze hybrydowej.
Te dwa paradygmaty będą współistnieć i zostaną zintegrowane w celu zaspokojenia różnorodnych potrzeb cyfrowego krajobrazu. Przyszłość będzie prawdopodobnie świadkiem ciągłej ewolucji i udoskonalania tych technologii w celu stworzenia płynnego, wydajnego oraz responsywnego ekosystemu komputerowego.
Czy uruchamianie Edge bez mocy obliczeniowej chmury ma sens?
W tym przypadku odpowiedź jest nieco łatwiejsza niż w poprzednim pytaniu.
Edge może obejmować wszystkie scenariusze w różnych domenach i w takich scenariuszach można go uznać za standardowy serwer lokalny hostujący dedykowane rozwiązanie. Podobnie jak w przypadku Edge z łącznością w chmurze, możemy wykorzystać zasoby sklepów internetowych i skorzystać z niektórych gotowych komponentów, a następnie uruchomić je jako kontenery w ekosystemie mikrousług w ramach naszego rozwiązania.
Właściwe pytanie brzmi, czy korzystać z rozwiązania opartego na chmurze, czy jednak z rozwiązania lokalnego?
Istnieje mnóstwo materiałów w sieci na ten temat, które być może już przeczytałeś/aś lub obejrzałeś/aś, więc podam kilka przykładów na korzyść wykorzystania Edge razem z chmurą:
- wysoka dostępność,
- redundancja pamięci masowej,
- łatwe dostarczanie zasobów
- łatwe wdrażanie na wielu urządzeniach Edge w oparciu o predefiniowane metadane (tagi, takie jak typ i model urządzenia, lokalizacja, firma, wersja oprogramowania itp.)
Podsumowując: teoretycznie uruchamianie Edge bez chmury ma sens ponieważ w mniejszym lub większym stopniu jesteśmy w stanie osiągnąć powyższe funkcjonalnosci, natomiast…
Z pragmatycznego punktu widzenia uruchamianie Edge bez chmury jjednak go nie ma.
Zużycie zasobów dla „frameworka”, którego nie będziemy w pełni używać, jest dość wyraźne (kosztowne). Zamiast tego zalecam zakup sprzętu typu Edge i umieszczenie tam niestandardowego rozwiązania, które spełni wszystkie oczekiwania dotyczące wydajności.
Korzyści: Edge Computing vs. Cloud Computing
Chmura została zaprojektowana z myślą o skalowalności, a uruchamianie wszystkich zadań obliczeniowych wymagających dużej ilości zasobów w chmurze ma sens, ponieważ mamy (prawie) „nieograniczone” zasoby do wykorzystania.
Edge Computing został zaprojektowany do czegoś innego – jego celem jest wykonywanie obliczeń blisko źródła danych, w większości przypadków będąc z nim fizycznie połączonym. Dzięki temu Edge może reagować na potencjalne problemy znacznie szybciej niż chmura, która jako medium łączności musi wykorzystywać Internet.
Z drugiej strony, w prostym scenariuszu, w którym chcemy wytrenować model ML do wykrywania przegrzania maszyn i użyć go w odniesieniu do danych z naszych urządzeń – sensowne jest zbudowanie i wytrenowanie modelu po stronie chmury i wdrożenie go na Edge’u.
Wybór pomiędzy Edge a chmurą obliczeniową jest raczej wirtualny, ponieważ oba zajmują się różnymi przypadkami użycia, tj.:
- Duże zbiory danych, skomplikowane obliczenia, renderowanie to zadanie dla chmury.
- Scenariusze offline, analiza statystyczna strumienia danych lub tłumaczenie starszych protokołów na protokoły natywne dla chmury to zadania dla Edge.
Wiele organizacji przyjmuje podejście hybrydowe, aby wykorzystać mocne strony obu paradygmatów.
Czy więc Edge jest nową chmurą, czy jednak nie?
Odpowiem na to pytanie z wielu punktów widzenia. Każdy aspekt jest ważny i determinuje odpowiedź. Zacznijmy od zdefiniowania chmury. Jest to abstrakcja dla zasobów i usług. Czy z tej perspektywy możemy powiedzieć, że Edge jest nową chmurą – cóż, tak! Jeśli nałożymy abstrakcję na wszystko, co się dzieje i co jest obliczane na urządzeniu, można to uznać za prywatną chmurę z ograniczonym dostępem.
Przejdźmy dalej:
- Jakie są modele usług w chmurze?
- IaaS, PaaS i SaaS – co przenosi się z IaaS do PaaS?
Według Marca Russinovicha to przejście (z IaaS do PaaS) nazywa się innowacją (myślę w ten sam sposób)! Czy z tej perspektywy możemy powiedzieć, że Edge to nowa chmura? Nie!
Definiując innowacje w taki sam sposób jak w chmurze, Edge to nic innego jak kolejny serwer lokalny z uruchomionym na nim niestandardowym oprogramowaniem.
Kontynuujmy – czy Edge można potraktować tylko jako „framework” zarządzany w chmurze?
Odpowiedź brzmi „do diabła, nie!”. Nie można zarządzać czymś nowszym, z definicji lepszym i bardziej niesamowitym za pomocą czegoś starego, nie tyle starszego co już nawet przestarzałego – byłoby to strzelanie sobie w stopę!
A co ze sprzętem?
Czy urządzenie obsługujące Edge można traktować jako nową chmurę?
Pozwolę sobie odpowiedzieć w ten sposób – ja już to gdzieś widziałem. Czy w tym kontekście nie jest to powrót do serwerów lokalnych i niestandardowego rozwoju?
Jak widać, nie ma prostej odpowiedzi na to pytanie, ponieważ, podobnie jak w przypadku sztucznej inteligencji, wszystko zależy od kontekstu, w którym je zadajemy. Nie chcę jednak pozostawiać Cię w zawieszeniu. Istnieje odpowiedź, która może być interesująca, a teoria stojąca za tym pytaniem faktycznie pokrywa się z rzeczywistymi scenariuszami.
Edge powinien być traktowany jako naturalne rozszerzenie chmury, tak jak chmura jest naturalnym rozszerzeniem Edge’a!
W domenach IoT istnieją „miejsca”, w których nie można pominąć korzystania z Edge, a także „miejsca”, w których Edge jest niepotrzebnym kosztem – wszystko zależy od przypadku użycia i powinno odpowiadać potrzebom i oczekiwaniom klienta.
To jest prawdziwy powód, dla którego architekci chmury zarabiają tak dużo – konieczność decydowania, gdzie, kiedy oraz której usługi użyć z kilku tysięcy dostępnych usług w chmurze.
Mam nadzieję, że znajdziesz w tym artykule coś interesującego, co ułatwi Ci życie, a przynajmniej będziesz w stanie zaimponować komuś podczas małej rozmowy przy kubku kawy. Jeśli masz dodatkowe pytania i chcesz porozmawiać o zastosowaniu Edge/Chmury lub obu tych rozwiązań w swoim przedsiębiorstwie napisz na: contact@ttpsc.pl.