Il serverless ha preso d'assalto il mondo del cloud computing, registrando una crescita massiccia negli ultimi anni e previsioni molto positive per il futuro, con un mercato che dovrebbe crescere a un tasso composto di oltre il 20% entro il 2028, secondo le recenti previsioni sul tasso di crescita annuale. .

In sostanza, l’architettura serverless libera tutto il potenziale della tecnologia basata sul cloud attraverso il software di automazione IT, consentendo alle aziende di favorire la crescita invece di dedicare tempo e risorse alla gestione dell’infrastruttura IT.

Sebbene ciò sembri promettente, le piattaforme cloud serverless sono ancora stateless e centralizzate, quindi le applicazioni devono affrontare questa lacuna dello stato di archiviazione ed evitare di essere soggette al vincolo del fornitore.

I computer Internet forniscono un ulteriore livello di sicurezza, controllo e fiducia, il tutto attraverso la decentralizzazione, senza che un singolo soggetto controlli l'hardware o il software e, inoltre, i computer Internet sono progettati per funzionare in modo stateful.

In questo articolo descriviamo come le blockchain dei computer Internet possono fornire funzionalità di elaborazione serverless con due importanti vantaggi aggiuntivi: decentralizzazione e statefulness.

Cos'è senza server?

Serverless è un nuovo paradigma di cloud computing che consente cicli di sviluppo rapidi e flessibili senza dover considerare l'infrastruttura sottostante (provisioning e ridimensionamento delle giuste macchine virtuali, installazione e manutenzione di software e framework), riducendo così i costi operativi complessivi.

Il serverless è disponibile in molte forme, la più rilevante nel nostro caso è Functions as a Service (FaaS), dove (le basi di codice di grandi dimensioni sono suddivise in) piccole funzioni con tempi di esecuzione molto brevi (da millisecondi a minuti) e le funzioni vengono utilizzate in base all'uso base Charged (cioè in base al tempo di esecuzione) più una tariffa fissa per chiamata, l'ultima caratteristica importante da menzionare è l'eccellente scalabilità per lanciare fino a migliaia di istanze della stessa funzione in un breve periodo di tempo.

Internet Computing come piattaforma serverless

Dando un breve sguardo all'architettura di Internet Computer, noterai facilmente che offre funzionalità serverless e persino vantaggi aggiuntivi.

Oggi, le funzioni FaaS sono confezionate come contenitori o semplicemente come codice (Python, Javascript, Java, Rust, ecc.) e forniscono un singolo endpoint che può essere chiamato direttamente da utenti esterni o altre funzioni.

I contratti intelligenti dei contenitori sui computer Internet possono anche essere programmati in una varietà di linguaggi, tra cui Rust, Motoko, JavaScript o Python, e possono esporre più endpoint che forniscono funzionalità diverse per ciascun contenitore.

La tabella seguente riassume le principali funzionalità serverless e i corrispondenti computer Internet, nonché i vantaggi della blockchain rispetto al serverless basato su cloud:

图片
Tabella 1. Principali funzionalità serverless rispetto alle funzionalità dei computer Internet, dove decentralizzazione, stato e affidabilità rappresentano vantaggi aggiuntivi dei computer Internet.

Come puoi vedere dalla tabella, i computer Internet soddisfano tutti i requisiti per un ambiente serverless. Gli sviluppatori potrebbero non saperlo, ma stanno già eseguendo codice serverless, come mostra la nostra ricerca, con quasi la stessa efficienza offerta dai provider cloud tradizionali. Stesso.

In alcune dimensioni (come la memoria), i computer Internet superano addirittura le capacità fornite dai tradizionali fornitori di servizi cloud. Tuttavia, le funzionalità più importanti che vogliamo evidenziare per gli sviluppatori sono: stateful e decentralizzate, serverless tradizionali. Il cloud non fornisce queste due funzionalità.

Nella Tabella 2-3, invitiamo il lettore esperto di tecnologia ad approfondire gli aspetti tecnici che rendono il computer Internet una piattaforma serverless competitiva. È importante notare qui che il computer Internet ha due tipi di esecuzione del contratto intelligente: modalità di aggiornamento e modalità query, la prima rappresenta chiamate stateful, mentre la seconda è stateless, proprio come il serverless computing generale.

Tabella 2. Funzionalità importanti per la creazione di applicazioni serverless su larga scala Lo statefulness è un altro vantaggio dei computer Internet.
图片
Tabella 3. Analisi approfondita della piattaforma delle funzionalità relative al runtime.

La persistenza dello stato dopo l'esecuzione della funzione è una funzionalità a lungo ricercata nel mondo serverless/FaaS ed è molto difficile da implementare perché spesso è in conflitto con il tipo di scalabilità fan-out continua attualmente disponibile nel cloud.

Fortunatamente, i computer Internet sono stati progettati da zero pensando allo stato e forniscono agli sviluppatori questa funzionalità senza la necessità di alcun tipo di intervento manuale, come il salvataggio dei dati su un livello di archiviazione esterno o su un database, quindi tutte le variabili o i dati saranno persisteva automaticamente dopo aver chiamato il contratto intelligente sul computer Internet.

La decentralizzazione è un'altra caratteristica importante che viene spesso trascurata. I moderni prodotti serverless sono attualmente serviti da diversi grandi cloud centralizzati, il che porta al blocco del fornitore, dove il codice e i dati dello sviluppatore sono sicuri quanto il loro fornitore e sono vulnerabili a interruzioni geografiche o semplici modifiche alla politica dei fornitori.

I computer Internet sono completamente decentralizzati, con macchine nodo che funzionano in diverse posizioni geografiche e operano con forti garanzie di consenso che possono persino tollerare guasti bizantini (dannosi).

图片

Computer Internet e piattaforme serverless tradizionali

Per valutare le prestazioni della blockchain del computer Internet in termini di cloud serverless, abbiamo eseguito un benchmark di calcolo ad uso intensivo della CPU sul computer Internet e su una delle 3 principali piattaforme serverless. Per input più piccoli, il computer Internet era migliore del tradizionale serverless Il server è più veloce e, per input più grandi, è veloce solo la metà rispetto a quello tradizionale (vedere i risultati di seguito).

Ciò è molto incoraggiante e dimostra che, anche se c'è ancora molta strada da fare, l'informatica su Internet sta guadagnando terreno in termini di prestazioni rispetto ai tradizionali cloud centralizzati. Per maggiori dettagli, invitiamo a consultare i nostri recenti articoli sottoposti a revisione paritaria del prestigioso Conferenza ATC USENIX:

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

图片
Figura 1. Aumento della velocità rispetto alle 3 principali piattaforme serverless

Migliorare la prestazione

Ulteriori funzionalità integrate, come la decentralizzazione e lo statefulness, determinano prestazioni inferiori dei computer Internet durante la gestione di carichi di lavoro di grandi dimensioni (vedere Figura 2) e, sebbene queste funzionalità siano potenti e importanti, indeboliscono anche le prestazioni grezze.

图片
Figura 2. Decentralizzazione e sovraccarico con stato dei computer Internet

Gli ingegneri e i ricercatori di DFINITY continueranno a cercare ed esplorare modi per potenziare e migliorare le prestazioni dei computer su Internet, alcune aree di miglioramento potrebbero essere l'aumento del parallelismo o la sostituzione dell'attuale livello di archiviazione con un approccio ad albero di unione strutturato in log per ridurre i tempi di checkpoint.

Sfruttare tutta la potenza delle query composte per supportare applicazioni più complesse avrà anche un impatto positivo sulle prestazioni. Il lavoro è già iniziato sulle query composte per abilitare il ridimensionamento orizzontale del dapp e semplificare il codice client, consentendo l'invocazione di query su più sottoreti e l'esecuzione replicata sono in corso.

Crea applicazioni serverless su computer Internet

图片

Esegui Enterprise Pilot sui computer Internet

Contenuti IC che ti interessano

Progresso tecnologico |. Informazioni sul progetto |

Raccogli e segui il canale IC Binance

Rimani aggiornato con le informazioni più recenti