Technologia bezserwerowa szturmem podbiła świat przetwarzania w chmurze, odnotowując ogromny wzrost w ciągu ostatnich kilku lat i bardzo pozytywne prognozy na przyszłość, przy czym oczekuje się, że rynek będzie rósł w łącznym tempie ponad 20% do 2028 r., zgodnie z najnowszymi prognozami rocznej stopy wzrostu .

Zasadniczo architektura bezserwerowa odblokowuje pełny potencjał technologii opartej na chmurze za pośrednictwem oprogramowania do automatyzacji IT, umożliwiając firmom napędzanie wzrostu zamiast tracić czas i zasoby na zarządzanie infrastrukturą IT.

Choć brzmi to obiecująco, bezserwerowe platformy chmurowe są nadal bezstanowe i scentralizowane, dlatego aplikacje muszą zaradzić tej niedociągnięciu związanej ze stanem przechowywania i unikać uzależnienia od dostawcy.

Komputery internetowe zapewniają kolejną warstwę bezpieczeństwa, kontroli i zaufania — wszystko dzięki decentralizacji, w której żadna pojedyncza strona nie kontroluje sprzętu ani oprogramowania, a ponadto komputery internetowe są zaprojektowane do działania w sposób stanowy.

W tym artykule opisujemy, w jaki sposób sieci bloków komputerów internetowych mogą zapewnić możliwości przetwarzania bezserwerowego z dwiema ważnymi dodatkowymi korzyściami: decentralizacją i stanowością.

Co to jest bezserwerowe?

Bezserwerowe to nowatorski paradygmat przetwarzania w chmurze, który umożliwia szybkie i elastyczne cykle programowania bez konieczności uwzględniania podstawowej infrastruktury (wyposażanie i skalowanie odpowiednich maszyn wirtualnych, instalowanie i utrzymywanie oprogramowania i struktur), zmniejszając w ten sposób ogólne koszty operacyjne.

Rozwiązanie bezserwerowe występuje w wielu postaciach, najbardziej odpowiednia w naszym przypadku jest funkcja Functions as a Service (FaaS), gdzie (duże bazy kodu są podzielone na) małe funkcje o bardzo krótkim czasie działania (od milisekund do minut) i funkcje są używane w zależności od użycia Płatne (tzn. na podstawie czasu działania) plus stała opłata za połączenie. Ostatnią ważną cechą, o której warto wspomnieć, jest doskonała skalowalność umożliwiająca uruchomienie nawet tysięcy instancji tej samej funkcji w krótkim czasie.

Internetowe przetwarzanie danych jako platforma bezserwerowa

Rzucając okiem na architekturę komputera internetowego, łatwo zauważysz, że oferuje on możliwości bezserwerowe, a nawet dodatkowe korzyści.

Obecnie funkcje FaaS są pakowane w postaci kontenerów lub po prostu w postaci kodu (Python, Javascript, Java, Rust itp.) i zapewniają pojedynczy punkt końcowy, który może być wywoływany bezpośrednio przez użytkowników zewnętrznych lub inne funkcje.

Inteligentne kontrakty kontenerowe na komputerach internetowych można również programować w różnych językach, w tym Rust, Motoko, JavaScript lub Python, i mogą udostępniać wiele punktów końcowych, które zapewniają inną funkcjonalność dla każdego kontenera.

Poniższa tabela podsumowuje główne możliwości bezserwerowe i odpowiadające im komputery internetowe, a także zalety technologii blockchain w porównaniu z rozwiązaniami bezserwerowymi opartymi na chmurze:

图片
Tabela 1. Kluczowe funkcje bezserwerowe w porównaniu z funkcjami komputera internetowego, przy czym decentralizacja, stanowość i zaufanie to dodatkowe zalety komputera internetowego.

Jak widać z tabeli, komputery internetowe spełniają wszystkie wymagania środowiska bezserwerowego. Deweloperzy mogą o tym nie wiedzieć, ale już wykonują kod bezserwerowy, jak pokazują nasze badania, z niemal taką samą wydajnością, jaką oferują tradycyjni dostawcy usług w chmurze. To samo.

W niektórych wymiarach (takich jak pamięć) komputery internetowe przewyższają nawet możliwości zapewniane przez tradycyjnych dostawców usług chmurowych. Jednak najważniejsze możliwości, na które chcemy zwrócić uwagę programistom, to: stanowość i zdecentralizowana, tradycyjna bezserwerowa Chmura nie zapewnia tych dwóch funkcji.

W Tabeli 2-3 zachęcamy czytelnika znającego się na technologii do zagłębienia się w aspekty techniczne, które sprawiają, że komputer internetowy jest konkurencyjną platformą bezserwerową. Należy tutaj zauważyć, że komputer internetowy ma dwa typy wykonywania inteligentnych kontraktów – tryb aktualizacji i trybie zapytań, pierwszy reprezentuje wywołania stanowe, podczas gdy drugi jest bezstanowy, podobnie jak ogólne przetwarzanie bezserwerowe.

Tabela 2. Ważne funkcje tworzenia wielkoskalowych aplikacji bezserwerowych Stateczność to kolejna zaleta komputerów internetowych.
图片
Tabela 3. Dogłębna analiza platformy pod kątem funkcji związanych ze środowiskiem wykonawczym.

Utrzymywanie stanu po wykonaniu funkcji jest od dawna poszukiwaną funkcją w świecie rozwiązań bezserwerowych/FaaS i jest bardzo trudne do wdrożenia, ponieważ często koliduje z płynną skalowalnością typu fan-out dostępną obecnie w chmurze.

Na szczęście komputery internetowe zostały zaprojektowane od podstaw z myślą o stateczności i zapewniają programistom tę funkcjonalność bez jakiejkolwiek ręcznej interwencji, takiej jak zapisywanie danych w zewnętrznej warstwie pamięci lub bazie danych, dzięki czemu wszystkie zmienne Lub dane zostaną automatycznie utrwalone po wywołanie inteligentnej umowy na komputerze internetowym.

Decentralizacja to kolejna ważna cecha, która jest często pomijana. Nowoczesne produkty bezserwerowe są obecnie obsługiwane przez kilka dużych, scentralizowanych chmur, co prowadzi do uzależnienia od dostawców, w przypadku których kod i dane programistów są tak samo bezpieczne jak ich dostawca i są podatne na zakłócenia geograficzne proste zmiany w polityce dostawców.

Komputery internetowe są całkowicie zdecentralizowane, a maszyny węzłowe działają w różnych lokalizacjach geograficznych i działają w oparciu o silne gwarancje konsensusu, które są w stanie tolerować nawet bizantyjskie (złośliwe) awarie.

图片

Komputery internetowe i tradycyjne platformy bezserwerowe

Aby ocenić wydajność łańcucha bloków komputera internetowego w chmurach bezserwerowych, przeprowadziliśmy testy porównawcze intensywnie obciążające procesor na komputerze internetowym i jednej z 3 najlepszych platform bezserwerowych. W przypadku mniejszych danych wejściowych komputer internetowy był lepszy niż tradycyjna platforma bezserwerowa. Serwer jest szybszy, a w przypadku większych danych wejściowych jest tylko o połowę szybszy niż tradycyjny (zobacz wyniki poniżej).

To bardzo zachęcające i pokazuje, że choć przed nami jeszcze długa droga, komputery internetowe zyskują na popularności pod względem wydajności w porównaniu z tradycyjnymi scentralizowanymi chmurami. Aby uzyskać więcej informacji, zachęcamy do zapoznania się z naszymi najnowszymi recenzowanymi artykułami opublikowanymi na stronie prestiżowa konferencja USENIX ATC:

  • usenix.org/system/files/atc23-arutyunyan.pdf

图片
Rysunek 1. Przyspieszenie w porównaniu do 3 najlepszych platform bezserwerowych

Popraw wydajność

Dodatkowe wbudowane funkcje, takie jak decentralizacja i stanowość, powodują niższą wydajność komputerów internetowych podczas obsługi dużych obciążeń (patrz rysunek 2) i chociaż te funkcje są potężne i ważne, osłabiają także samą wydajność.

图片
Rysunek 2. Decentralizacja i obciążenie stanowe komputerów internetowych

Inżynierowie i badacze DFINITY będą w dalszym ciągu poszukiwać i badać sposoby na ulepszenie i poprawę wydajności komputerów w Internecie. Niektóre obszary ulepszeń mogą obejmować zwiększenie równoległości lub zastąpienie bieżącej warstwy przechowywania podejściem opartym na drzewie scalania o strukturze dziennika, aby skrócić czas punktów kontrolnych.

Uwolnienie pełnej mocy zapytań złożonych do obsługi bardziej złożonych aplikacji będzie miało również pozytywny wpływ na wydajność. Rozpoczęto już prace nad zapytaniami złożonymi, aby umożliwić poziome skalowanie dapp i uprościć kod klienta, umożliwiając wywoływanie zapytań między podsieciami i dalsze prace replikowane są w toku.

Twórz aplikacje bezserwerowe na komputerach internetowych

图片

Uruchom Enterprise Pilot na komputerach internetowych

Treści IC, na których Ci zależy

Postęp technologiczny |. Informacje o projekcie |. Wydarzenia globalne

Zbieraj i śledź kanał IC Binance

Bądź na bieżąco z najświeższymi informacjami