Jak wdrożyć Edge Computing
Przewidywany wzrost zainteresowania rozwiązaniami przetwarzania brzegowego (Edge Computing) w ciągu najbliższych kilku lat oznacza, że coraz więcej firm będzie wdrażać te możliwości do swojej infrastruktury IT. Wpłynie to na dostosowanie wymagań biznesowych i technicznych, które znacznie odbiegają od potrzeb wynikających z niescentralizowanego systemu. Poniżej przyjrzymy się niektórym czynnikom, które przedsiębiorstwa powinny wziąć pod uwagę wdrażając rozwiązania EC w swojej firmie.
Potrzebne jest nowe spojrzenie na Edge Computing
EC w przeciwieństwie do tradycyjnego Cloud Computingu opartego na kilku większych lokalizacjach, zapewnia elastyczność i prostotę przetwarzania rozproszonego w wielu małych lokalizacjach. Możliwości zastosowań rozwiązań EC jest wiele i zależą one od określonych potrzeb firmy. Mogą obejmować od kilku klastrów obliczeniowych do milionów urządzeń peryferyjnych. Infrastruktura EC opiera się na dowolnej liczbie kombinacji urządzeń, bramek i serwerów peryferyjnych, a także mini-klastrów lub mikrocentrów danych.
Podczas gdy infrastruktura chmury obliczeniowej jest statyczna i zorientowana na sprzęt, infrastruktura EC jest oparta na oprogramowaniu i ma bardziej elastyczny charakter. Biorąc pod uwagę względy technologiczne i operacyjne, Edge Computing od Cloud Computingu różni się również w poniższych obszarach:
- “Iluzja nieskończonej przepustowości”, gdzie podaż napędza popyt, a użytkownicy mogą domagać się większych zasobów na żądanie, nie sprawdza się w przypadku wdrożeń urządzeń edge, gdzie przepustowość jest zapewniona dla mniejszego natężenia. Oznacza to konieczność starannego planowania i zarządzania zasobami.
- Edge Computing wymaga nie tylko zapewnienia platformy obliczeniowej, ale również zarządzania całym zestawem sprzętu i oprogramowania w sposób spójny i powtarzalny – od firmware’u przez sprzęt, oprogramowanie, aż po usługi.
Przy planowaniu wdrożenia technologii EC ważne jest, aby rozważyć, w jaki sposób proces ten wpłynie na wszystkie podmioty, których dotyczy ta zmiana. Spójrzmy na niektóre z kluczowych wymagań z perspektywy biznesu, operacji i programisty:
Biznes
Niezawodność: Z punktu widzenia kluczowych funkcji biznesowych, rozwiązania typu edge muszą być bardzo odporne na awarie. Systemy powinny działać nieprzerwanie, nawet w przypadku pewnych ograniczeń – np. pracy w trybie offline, wynikającej z problemów z siecią.
Sprzęt: Wraz z rozwojem funkcji procesora, staje się możliwe wykonywanie wielu, kompleksowych i złożonych czynności takich jak te oparte na sztucznej inteligencji lub nauczaniu maszynowym w systemach edge. Jednak żeby sprostać ciągle zwiększającym się wymaganiom, będą potrzebne nowe, bardziej zaawansowane modele sprzętu. Mogą one obejmować procesory ogólne, jednostki GPU, FPGA i procesory dedykowane dla konkretnych aplikacji.
Bezpieczeństwo: Rozwiązania edge często mają mniejsze fizyczne zabezpieczenia, co zwiększa ryzyko celowego lub przypadkowego zakłócenia. Ponadto, wprowadzenie do sieci mniej wydajnych narzędzi (np. mikrokontrolerów przemysłowych, urządzeń uruchamiających) bez odpowiedniej ochrony nie jest bezpieczne. Systemy edge działają jako zapora ogniowa i chronią całą infrastrukturę niższego szczebla przed fizycznymi lub wirtualnymi atakami. Muszą być wzmacniane od podstaw – od firmware’u przez system operacyjny po podsystem pamięci, pamięć masową i kanały komunikacyjne.
Prostota obsługi: W zdalnych oddziałach może brakować pracowników ze specjalistyczną wiedzą techniczną, dlatego wszelkie prace serwisowe powinny być na tyle proste, aby móc je wykonać bez zaplecza informatycznego.
Środowisko: Zdalne placówki, takie jak platformy wiertnicze lub kopalnie stoją przed wyzwaniami związanymi z niezawodnością zasilania, przestrzeni, chłodzenia i łączności. Edge Computing musi być projektowany z uwzględnieniem indywidualnych potrzeb dla poszczególnych środowisk.
Koszt: Potencjał wdrożenia Edge Computingu na masową skalę, generuje spore koszty. W przypadku implementacji niewielkich systemów, ale rozproszonych w kilku lokalizacjach koszty stałe i ogólne w przeliczeniu na dany obiekt, nie amortyzują się tak, jak w przypadku wdrożeń scentralizowanych. Wraz ze wzrostem liczby rozwiązań edge, nawet niewielka zmiana kosztów, powtarzająca się w setkach tysięcy lokalizacji, może mieć duży wpływ na budżet.
Otwartość: Stosowanie jednolitych rozwiązań brzegowych na masową skalę, wykorzystujących indywidualnie dobrane narzędzia bez integracji z pozostałą infrastrukturą i procesami informatycznymi, może być bardzo kłopotliwe. Zastosowanie modułowego podejścia do projektowania, opartego na otwartych interfejsach API, daje przedsiębiorstwom wybór w zakresie budowania rozwiązań, które spełniają ich obecne i przyszłe potrzeby.
Operacje
Zdalne: Firma może mieć dziesiątki tysięcy elementów brzegowych, które muszą zostać wdrożone, naprawione, zmodernizowane lub przeniesione za pomocą operacji zdalnych z centralnej bazy. Wymaga to zaawansowanych możliwości zdalnego zarządzania tymi jednostkami.
Deterministyczne: Wszystkie operacje zarządzania muszą być wysoce powtarzalne, w przeciwnym razie rozwiązywanie problemów może stać się ogromnym problemem. Konfiguracje EC muszą być wysoce precyzyjne, a rozbieżności – wykrywane i dokumentowane centralnie.
Automatyczne: Zarządzanie musi przebiegać zdalnie z centralnej lokalizacji, przy nakładzie niewielkiej liczby osób. Wymaga to w pełni zautomatyzowanej zdolności operacyjnej przy minimalnej lub praktycznie żadnej ingerencji użytkownika.
Raportowanie: Kluczowym wymogiem dla zarządzania zdalnego rozwiązaniami EC jest centralne rejestrowanie i raportowanie.
Programista
Umiejętności: Programiści powinni być w stanie tworzyć i wdrażać aplikacje zdalnie. Oznacza to, że do tworzenia aplikacji brzegowych nie powinny być potrzebne żadne specjalne umiejętności programistyczne.
API (Interfejs programowania aplikacji): EC umożliwia przedsiębiorstwom oferowanie nowych kategorii usług w oparciu o dane lokalizacyjne w czasie rzeczywistym, które następnie mogą być udostępnianie partnerom. Interfejsy API umożliwiają płynną wymianę danych, jak również dostęp do nich w sposób programowy, np. twórcy urządzeń końcowych mogą uzyskać dostęp do danych urządzeń IoT bez konieczności martwienia się o interfejsy sprzętowe lub sterowniki urządzeń.
Zarządzanie aplikacjami: Natywne aplikacje edge i cloud są tworzone, instalowane, konfigurowane i udostępniane przez różne zespoły w podobny sposób. Platformy zarządzania aplikacjami powinny być w stanie obsługiwać różne scenariusze, w tym także wdrażanie tych aplikacji na różnych szczeblach.
Podsumowanie
Edge Computing musi zapewnić elastyczność i prostotę, tak jak w przypadku cloud computingu. Jednak między tymi dwoma rozwiązaniami istnieją znaczne różnice, ponieważ idea “rzekomo” nieskończonych zasobów nie sprawdza się w przypadku wdrożeń EC. Platforma Edge Computing musi zarządzać całym zestawem sprzętu i oprogramowania – od firmware’u, przez sprzęt, oprogramowanie, aż po usługi – w sposób spójny i powtarzalny.
Przy planowaniu wdrożenia EC należy uwzględnić potrzeby z perspektywy różnych stron. Obejmują one wymagania biznesowe, takie jak niezawodność, stan sprzętu, bezpieczeństwo, poziom umiejętności technicznych, niekorzystne środowisko, kwestie kosztów i elastyczność rozwiązań opartych na otwartym kodzie źródłowym. Względy operacyjne obejmują możliwości zdalne, konfigurację analityczną, automatyzację i raportowanie. Natomiast programiści powinni wziąć pod uwagę takie czynniki jak brak specjalnych umiejętności w zakresie aplikacji brzegowych, wykorzystanie API i elastyczne rozwiązania do zarządzania aplikacjami.
Chociaż do masowych wdrożeń EC pozostało jeszcze kilka lat, podjęte dziś decyzje będą miały trwały wpływ na przyszłe możliwości. Zamiast przyjmować jednolite rozwiązania typu cloud to edge, przedsiębiorstwa powinny zastanowić się, jak wykorzystać istniejące narzędzia do zarządzania wdrożeniami typu edge. Na przykład, należy rozważyć wykorzystanie narzędzi używanych do zarządzania, dostarczania i konfigurowania hybrydowej chmury w systemach brzegowych. Podejście to zapewnia spójne spojrzenie na zarządzanie wszystkimi systemami, w tym systemami typu edge.
Edge Computing może korzystać z najlepszych praktyk IT w zakresie dostarczania rozwiązań opartych na standardach, które mogą być bezpiecznie wdrażane na dużą skalę. Open source jest oczywistym wyborem, który zapewnia elastyczność i zabezpiecza przyszłe inwestycje w EC.