Una guida per principianti all'elaborazione serverless con WordPress
Pubblicato: 2019-06-16Comprendere l'elaborazione serverless può essere abbastanza confuso. Determinare se sia o meno una buona soluzione di sviluppo per te diventa ancora più complicato, poiché ci sono molti pro e contro da considerare.
In questo articolo, analizzeremo le basi dell'elaborazione serverless per gli sviluppatori di WordPress. Quindi discuteremo alcuni dei fattori che dovresti considerare quando decidi se questa tecnologia è giusta per te.
Facciamo un salto!
Introduzione al serverless computing per gli utenti di WordPress
All'inizio, l'elaborazione serverless può essere difficile da comprendere, soprattutto perché il suo nome è fuorviante. Anche se implica che potresti essere in grado di sviluppare un sito Web o un'applicazione senza un server, non è così.
Invece, il termine "serverless" significa che il compito di impostare e mantenere i server necessari per sviluppare il tuo progetto è lasciato a un fornitore di servizi cloud. Questo dà a te, allo sviluppatore, più tempo per impegnarti a creare effettivamente il tuo sito web o la tua applicazione.
Il provider di servizi cloud gestisce tutti i tuoi processi di back-end in base al consumo. Nel frattempo, il tuo sito Web o la tua applicazione sono basati su un'architettura altamente scalabile. Per suddividere ulteriormente tutto questo, l'elaborazione serverless è costituita da tre caratteristiche chiave:
- Server basati su cloud gestiti interamente da fornitori di servizi cloud, talvolta chiamati anche "venditori". Lo sviluppatore non deve eseguire alcuna manutenzione del server o preoccuparsi dell'infrastruttura sottostante del proprio progetto.
- Costi determinati dall'utilizzo, piuttosto che dallo spazio di archiviazione prepagato che puoi utilizzare o meno nella sua massima estensione. Con l'elaborazione serverless, paghi solo per l'esecuzione delle funzioni del tuo sito o dell'app, che si ridimensionano automaticamente in base alla frequenza di esecuzione del codice.
- Un'architettura che suddivide un sito Web o un'applicazione in singole funzioni. Questo è anche noto come Function as a Service (FaaS), in cui il codice viene eseguito in risposta a eventi specifici.
In molte situazioni, questo fornisce agli sviluppatori un modo per far funzionare i loro progetti più velocemente, poiché non devono preoccuparsi della manutenzione del server. Riduce anche i costi aumentando la scalabilità e, in alcuni casi, la velocità. Tuttavia, la tecnologia serverless non è adatta a tutti i progetti.
Come decidere se l'elaborazione serverless è adatta a te (5 fattori chiave)
Se stai cercando di decidere se l'elaborazione serverless sia o meno una scelta valida per il tuo prossimo progetto, ci sono diverse considerazioni da tenere a mente. Sebbene questo metodo di sviluppo di siti e applicazioni possa offrire molti vantaggi, dipende dalle qualità specifiche del progetto. Esploriamo cosa significa in modo più dettagliato.
1. Considera le dimensioni del tuo progetto e la sua potenziale latenza
Per cominciare, l'elaborazione serverless ha più successo quando viene utilizzata per creare siti Web statici o semplici applicazioni. I file statici e un numero limitato di semplici funzioni sono facili da utilizzare per un'architettura serverless per gli utenti finali.
Tuttavia, siti e applicazioni dinamici molto grandi con molte funzioni più complesse non andranno necessariamente bene. Con progetti più grandi, il tempo di esecuzione del codice sarà probabilmente più lungo, il che potrebbe avere effetti negativi sulla velocità del progetto e sui costi di esecuzione.
Una considerazione correlata è la frequenza con cui verrà utilizzata ciascuna delle funzioni che compongono il tuo sito web o applicazione. Quando una funzione su un'architettura serverless non viene chiamata da un po', il suo codice non è costantemente in esecuzione. Se un utente chiama una funzione raramente richiesta, sarà necessario un "avvio a freddo". Ciò si tradurrà in latenza e potrebbe influire sulla tua esperienza utente (UX), poiché ci vorrà del tempo prima che il codice si "scaldi" di nuovo.
2. Decidi quanto tempo puoi dedicare alla manutenzione
Uno dei principali vantaggi di passare senza server è la quantità di tempo che puoi risparmiare. Ad esempio, non è necessario creare l'infrastruttura su cui verrà eseguito il sito Web o l'applicazione. Puoi concentrarti esclusivamente sul codice specifico del tuo progetto.
Tuttavia, un risparmio di tempo ancora più interessante è il fatto che non dovrai preoccuparti della manutenzione del server. Il tuo provider di servizi cloud gestisce tutto questo per te, facendoti risparmiare tempo non solo durante lo sviluppo, ma nel corso della vita del tuo sito o dell'applicazione.
Detto questo, se stai già mantenendo un server per un altro progetto, assumere un po' di manutenzione aggiuntiva potrebbe non essere un grosso problema per te. Se si considera il fatto che può essere estremamente difficile spostare un progetto da un'architettura tradizionale a una serverless, attenersi a ciò che si conosce non è necessariamente una cattiva idea.

3. Determina il tuo budget e confronta i costi
La struttura di finanziamento serverless pay-as-you-go ha sicuramente i suoi vantaggi. Rispetto al metodo tradizionale di pagamento anticipato dello spazio sul server, sembra l'opzione più saggia. Dopotutto, non dovrai mai pagare per lo spazio che non hai utilizzato, come potresti fare quando paghi in anticipo.
Tuttavia, ciò non significa che l'elaborazione serverless sia sempre una proposta a basso costo. Come accennato in precedenza, le funzioni con tempi di esecuzione prolungati potrebbero aumentare notevolmente i costi. Un sito Web di grandi dimensioni o un'applicazione complessa continuerà a generare un conto piuttosto elevato.
Inoltre, le situazioni in cui viene effettuato un numero enorme di richieste tutte in una volta potrebbero finire per costarti più di quanto potresti prevedere. Ciò potrebbe includere un semplice picco di traffico o un evento meno piacevole come un attacco Denial of Service (DoS). In ogni caso, sei tu quello che pagherà per tutte quelle richieste.
In breve, non date per scontato che l'architettura serverless sia meno costosa dell'alternativa più tradizionale di gestire il proprio server e pagare in anticipo per lo storage. Considera i tuoi livelli di traffico e la complessità del tuo progetto, quindi confronta i costi potenziali prima di impegnarti nell'uno o nell'altro.
4. Scopri quanto sia importante la scalabilità per il tuo progetto
Gestire la crescita di un sito Web o di un'applicazione è un compito continuo e non sempre semplice. Se non tieni conto della crescita potenziale, il tuo progetto potrebbe bloccarsi e bruciare. Tuttavia, una sopravvalutazione potrebbe comportare il pagamento di spazio sul server costoso di cui non hai bisogno.
L'elaborazione serverless elimina la questione della scalabilità dal piatto e la pone sotto la responsabilità del provider. Un sito o un'applicazione serverless è altamente scalabile e si adatta istantaneamente alle esigenze degli utenti. Non dovrai più preoccuparti di sovraccaricare il tuo server o di altri effetti collaterali negativi per enormi picchi di traffico.
Detto questo, ci sono molti modi per rendere scalabile il tuo progetto, specialmente quando lavori con WordPress. Se ci sono più motivi per scegliere una configurazione tradizionale, la scalabilità probabilmente non dovrebbe essere l'unico fattore che spinge la scala verso il serverless.
5. Rendi conto della mancanza di controllo sul tuo server
Una delle maggiori preoccupazioni quando si tratta di elaborazione serverless è la mancanza di controllo che avrai sul tuo server. Sebbene sia conveniente che il tuo provider di servizi cloud gestisca così tanti noiosi dettagli per te, limita anche il tuo accesso ad alcune delle funzionalità del tuo progetto.
Senza accesso al tuo server, dipendi interamente da una terza parte affinché il tuo sito web o la tua applicazione funzionino correttamente. Inoltre, non sarai in grado di vedere i tuoi processi di back-end, il che renderà il debug e la risoluzione dei problemi molto più difficili rispetto a un progetto tradizionale.
Inoltre, non avrai modo di controllare in anticipo la sicurezza del tuo fornitore. Se gestisci i dati dell'utente o altre informazioni sensibili, ciò potrebbe diventare rischioso. Non avrai alcun controllo sul fatto che il tuo progetto condivida lo spazio del server con altri progetti, il che potrebbe comportare l'esposizione dei dati. Questi rischi possono essere mitigati, ovviamente, ma vale comunque la pena considerarli.
Conclusione
L'elaborazione serverless non è il concetto più semplice. Mentre sentirai molto parlare dei suoi numerosi vantaggi, ci sono anche degli svantaggi chiave da considerare. In altre parole, decidere se la tecnologia serverless è adatta al tuo progetto non è un compito da poco.
Per aiutarti a iniziare, ecco cinque fattori a cui dovresti pensare quando decidi se passare al serverless:
- Considera le dimensioni del tuo progetto e la sua potenziale latenza.
- Decidi quanto tempo puoi dedicare alla manutenzione.
- Determina il tuo budget e confronta i costi.
- Scopri quanto sia importante la scalabilità per il tuo progetto.
- Considera la mancanza di controllo sul tuo server.
Hai altre domande sull'elaborazione serverless? Fatecelo sapere nella sezione commenti qui sotto!
Immagine in miniatura dell'articolo jkcDesign / shutterstock.com
