Informatica senza server 101

Autore: Roger Morrison
Data Della Creazione: 22 Settembre 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Informatica Tutorial | Learn Informatica In 60 Minutes | Informatica PowerCenter Training | Edureka
Video: Informatica Tutorial | Learn Informatica In 60 Minutes | Informatica PowerCenter Training | Edureka

Contenuto


Fonte: Wavebreakmediamicro / Dreamstime.com

Porta via:

L'elaborazione senza server è in realtà un termine improprio: i server sono effettivamente coinvolti, sono solo nel cloud.

Per chi non lo sapesse, l'idea stessa dell'elaborazione senza server sembra incredula perché nella storia dello sviluppo del software, i server sono stati indispensabili. Bene, lo sono ancora. L'elaborazione senza server non ha bisogno di essere presa alla lettera, perché non rende i server obsoleti. Nello schema di elaborazione serverless delle cose, i server continuano a svolgere un ruolo importante, ma con alcune differenze.

Gli sviluppatori di software non sono più tenuti a pensare ai server o ad adattare la codifica in base ai server. Possono concentrarsi interamente sulla codifica mentre i server, ospitati nel cloud, si occupano dell'elaborazione del codice. Non è necessario pianificare la capacità dei server perché nel cloud sono in grado di ridimensionarsi su e giù in base ai requisiti. L'intero server non rimane sempre attivo. In base ai requisiti, alcune parti diventano attive, fanno il loro lavoro e diventano dormienti.


Molti ritengono che l'elaborazione senza server possa migliorare l'efficienza di elaborazione e ridurre i costi operativi; lo vedono come un modo rivoluzionario di elaborazione. Ma non tutti sono d'accordo. Dall'altra parte dell'argomentazione, viene contrastato il fatto che l'elaborazione senza server aumenterà la complessità e non ci sono molti modi per gestirla.

Che cos'è il calcolo senza server?

Come già detto, il calcolo senza server non significa che il calcolo o lo sviluppo del software possano avvenire senza server. In effetti, i server sono semplicemente ospitati nel cloud da un fornitore di terze parti. Pertanto, gli sviluppatori di software devono solo concentrarsi sul loro codice e non devono pensare a server, capacità, distribuzione o qualcosa del genere. I server hanno parti diverse al loro interno, note come funzioni, che elaborano il codice. A differenza del calcolo tradizionale, l'intero server non rimane sempre attivo. Le funzioni svolgono attività specifiche, ad esempio convalida e ricerca, e vengono attivate solo quando necessario. Le funzioni possono essere ingrandite o ridotte in base ai requisiti. Proprio come altri servizi cloud come software come servizio (SaaS) o piattaforma come servizio (PaaS), le funzioni sono offerte anche su abbonamento. Il cliente viene addebitato solo per il tempo in cui una funzione rimane attiva.


Storia

L'elaborazione senza server è un concetto piuttosto nuovo nello sviluppo del software e le sue origini risalgono al 2006. Nel 2006, un servizio chiamato Zimki ha offerto una soluzione che ha permesso agli sviluppatori di software di scrivere codice e caricarlo sul server Zimkis. L'esecuzione del codice è stata eseguita da funzioni offerte sotto forma di API (Application Programming Interface).

Il prossimo importante sviluppo è avvenuto nel 2014, quando Amazon ha introdotto il sistema pay-as-you-go per una piattaforma di esecuzione del codice sotto forma di AWS Lambda. Tuttavia, è interessante notare che ci è voluto tanto tempo prima che un concetto così nuovo trovasse trazione (dal 2006 al 2014). Per qualche ragione, gli sviluppi dell'elaborazione senza server non sono stati così grandi come altre idee come il cloud computing o l'Internet of Things (IoT). Tuttavia, AWS Lambda è stata la prima offerta senza server di una grande impresa e sono seguite molte altre offerte, tra cui l'offerta di Google, nota come Google Cloud Functions. Nel 2016, sia IBM che Microsoft sono passati al carrozzone di elaborazione serverless svelando rispettivamente OpenWhisk e Funzioni di Azure.

Più profondo

Un buon punto per iniziare a comprendere l'elaborazione senza server a un livello più profondo è un confronto tra elaborazione senza server e PaaS. Sebbene siano diversi come concetti, PaaS è stato in realtà il primo passo verso le offerte senza server. Mentre PaaS offre una piattaforma e un ambiente che consente agli sviluppatori di creare applicazioni software su Internet, è ancora necessario pianificare la capacità necessaria per il software nel cloud. Tuttavia, non è necessario pensare ai server in alcun modo quando si lavora con l'elaborazione senza server. Gli sviluppatori di software semplicemente codificano e caricano il codice sul cloud, quindi i server prendono il controllo.

L'elaborazione senza server è anche chiamata funzioni come servizio (FaaS) perché sono offerte piccole funzioni su un modello di business pay-as-you-go. Tali funzioni svolgono piccole attività, ad esempio la convalida delle credenziali dell'utente. Le funzioni sono offerte sotto forma di API. Possono essere necessarie diverse funzioni per un'applicazione software, ma non tutte le funzioni diventano attive contemporaneamente; sono attivi solo quando sono richiesti. Ad esempio, se una funzione ha ricevuto un volume elevato di traffico ed è sovraccarica, può essere ridimensionata e la sua capacità aumentata. Pertanto, non è necessario ridimensionare l'intera applicazione.

Nessun bug, nessuno stress: la tua guida passo passo alla creazione di software che ti cambia la vita senza distruggere la tua vita

Non puoi migliorare le tue capacità di programmazione quando a nessuno importa della qualità del software.

Perché il calcolo senza server è importante?

L'importanza dell'elaborazione senza server sta nella sua differenza con l'informatica tradizionale. L'informatica tradizionale ha servito bene le aziende, ma pone alcune sfide: spese, dispendiose in termini di tempo, nessuna codifica mirata e difficoltà nel ridimensionamento. Le imprese hanno cercato una soluzione a questi problemi. I vantaggi unici dell'elaborazione senza server includono:

  • Concentrati sulla codifica
    Nell'informatica tradizionale, gli sviluppatori dovevano pensare ai server e adattare di conseguenza la codifica. Nel computing senza server, devono solo concentrarsi sulla codifica e il resto è curato dai server ospitati nel cloud. Questa maggiore attenzione porta a una migliore qualità del codice.
  • La codifica è potenzialmente più semplice
    Se i tuoi codici sono orientati al computing senza server, tutto ciò che dovrai fare è scrivere piccoli pezzi di codice che vengono elaborati da specifiche funzioni rispettive e assicurarti che il codice si integri bene con altri pezzi di codice.
  • Più facile da ridimensionare
    Poiché l'intera infrastruttura di elaborazione senza server riguarda piccole funzioni, non è necessario aumentare o ridurre l'intera infrastruttura: basta ridimensionare la funzione richiesta. In questo modo, l'elaborazione e il ridimensionamento avvengono anche molto più rapidamente.
  • Meno caro
    In genere, un'azienda che utilizza servizi di elaborazione senza server paga l'abbonamento e quindi l'utilizzo della funzione. Tuttavia, paga solo per il tempo in cui una funzione è attiva e viene utilizzata. In altre parole, le imprese pagano solo per ciò che consumano.

Un esempio di calcolo senza server

AWS Lambda è uno degli esempi più importanti di offerte senza server. Consente alle aziende di scrivere e caricare il codice su Lambda. Se necessario, Lambda può ridimensionare automaticamente l'applicazione eseguendo i codici in risposta al trigger. Quando il carico di lavoro su una funzione o API aumenta, la funzione viene ridimensionata. Il cliente viene fatturato sulla base della misurazione sub-second, il che significa che il client viene addebitato per ogni 100 ms che il codice viene eseguito e il numero di volte in cui il codice viene attivato. In questo modo, non è necessario pagare in assenza di esecuzione del codice.

Conclusione

Nonostante tutta la sua unicità, le offerte senza server non sono prive di limiti. Diverse piccole funzioni possono potenzialmente costituire un sistema estremamente complesso, tanto più se l'applicazione software è enorme. La situazione è inoltre aggravata dalla disponibilità limitata di strumenti per gestire tali complessità. Tuttavia, il computing senza server sarà visto come una soluzione ai sistemi monolitici che le aziende devono affrontare. È ancora in uno stato nascente e le organizzazioni stanno ancora trovando il modo di farlo funzionare per loro, poiché ottiene maggiore accettazione tra le imprese.