Cos'è Platform-as-a-Service (PaaS)?

I fornitori di Platform-as-a-Service (PaaS) forniscono una piattaforma basata su cloud per la creazione e l'esecuzione di applicazioni.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire PaaS
  • Scoprire i vantaggi e gli svantaggi di PaaS
  • Confrontare PaaS con l'elaborazione serverless

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è Platform-as-a-Service (PaaS)?

Nel modello Platform-as-a-Service (PaaS), gli sviluppatori noleggiano essenzialmente tutto ciò di cui hanno bisogno per creare un'applicazione, affidandosi a un provider di servizi cloud per strumenti di sviluppo, infrastruttura e sistemi operativi. Questo è uno dei tre modelli di servizio del cloud computing. PaaS semplifica enormemente lo sviluppo di applicazioni Web; dal punto di vista dello sviluppatore, tutta la gestione del backend avviene dietro le quinte. Sebbene PaaS presenti alcune somiglianze con l'elaborazione serverless, tra i due ci sono molte differenze fondamentali.

Quali sono i tre modelli di servizio del cloud computing?

Modelli di servizio SaaS, PaaS e IaaS

I tre modelli di cloud computing sono PaaS, SaaS (Software-as-a-Service) e IaaS (Infrastructure-as-a-Service). IaaS si riferisce all'infrastruttura di cloud computing (server, storage, ecc.) gestita da un fornitore di servizi cloud, mentre SaaS si riferisce ad applicazioni complete ospitate nel cloud e gestite dal fornitore SaaS. Se un cliente SaaS è come qualcuno che affitta una casa, allora un cliente PaaS è come qualcuno che noleggia tutti i macchinari pesanti e gli utensili elettrici necessari per costruire rapidamente una casa, se gli utensili e le attrezzature fossero costantemente sottoposti a manutenzione e riparazione da parte del proprietario.

In cosa si differenzia PaaS dagli ambienti di sviluppo ospitati internamente?

È possibile accedere al PaaS tramite qualsiasi connessione Internet, rendendo possibile la creazione di un'intera applicazione in un browser Web. Poiché l'ambiente di sviluppo non è ospitato in locale, gli sviluppatori possono lavorare sull'applicazione da qualsiasi parte del mondo. Ciò consente ai team distribuiti in diverse sedi geografiche di collaborare. Ciò significa anche che gli sviluppatori hanno meno controllo sull'ambiente di sviluppo, sebbene ciò comporti un sovraccarico molto inferiore.

Cosa è incluso in PaaS?

Le principali offerte incluse dai fornitori PaaS sono:

  • Strumenti di sviluppo
  • Middleware
  • Sistemi operativi
  • Gestione del database
  • Infrastruttura

Diversi fornitori possono includere anche altri servizi, ma questi sono i servizi PaaS principali.

Strumenti di sviluppo

I fornitori di PaaS offrono una varietà di strumenti necessari per lo sviluppo del software, tra cui un editor del codice sorgente, un debugger, un compilatore e altri strumenti essenziali. Questi strumenti possono essere offerti insieme come un unico framework. Gli strumenti specifici offerti dipenderanno dal fornitore, ma le offerte PaaS dovrebbero includere tutto ciò di cui uno sviluppatore ha bisogno per creare la propria applicazione.

Middleware

Le piattaforme offerte come servizio solitamente includono il middleware, in modo che gli sviluppatori non debbano realizzarlo da soli. Il middleware è un software che si inserisce tra le applicazioni rivolte all'utente e il sistema operativo della macchina; ad esempio, il middleware è ciò che consente al software di accedere all'input dalla tastiera e dal mouse. Il middleware è necessario per eseguire un'applicazione, ma gli utenti finali non interagiscono con esso.

Sistemi operativi

Un fornitore PaaS fornirà e manterrà il sistema operativo su cui lavorano gli sviluppatori e su cui viene eseguita l'applicazione.

Database

I provider PaaS amministrano e gestiscono i database. Solitamente forniscono agli sviluppatori anche un sistema di gestione del database.

Infrastruttura

PaaS è il livello successivo a IaaS nel modello di servizio di cloud computing e tutto ciò che è incluso in IaaS è incluso anche in PaaS. Un provider PaaS gestisce server, storage e datacenter fisici oppure li acquista da un provider IaaS.

SaaS, PaaS, IaaS e Cloud come piramide

Perché gli sviluppatori utilizzano PaaS?

Time to market più rapido

PaaS viene utilizzato per creare applicazioni più rapidamente di quanto sarebbe possibile se gli sviluppatori dovessero preoccuparsi di creare, configurare e fornire le proprie piattaforme e infrastrutture di backend. Con PaaS, tutto ciò che devono fare è scrivere il codice e testare l'applicazione: il fornitore si occuperà del resto.

Un solo ambiente dall'inizio alla fine

PaaS consente agli sviluppatori di creare, testare, eseguire il debug, distribuire, ospitare e aggiornare le proprie applicazioni, il tutto nello stesso ambiente. Ciò consente agli sviluppatori di essere certi che un'applicazione Web funzionerà correttamente così come è ospitata prima del rilascio, semplificando il ciclo di vita dello sviluppo dell'applicazione.

prezzo

In molti casi, PaaS è più conveniente rispetto a IaaS. Il sovraccarico è ridotto perché i clienti PaaS non devono gestire e fornire macchine virtuali. Inoltre, alcuni provider hanno una struttura tariffaria con pagamento in base al consumo, in base alla quale il fornitore addebita solo le risorse informatiche utilizzate dall'applicazione, solitamente facendo risparmiare denaro ai clienti. Tuttavia, ogni fornitore ha una struttura dei prezzi leggermente diversa e alcuni fornitori di piattaforme addebitano una tariffa fissa al mese.

Facilità di licenza

I provider PaaS gestiscono tutte le licenze per i sistemi operativi, gli strumenti di sviluppo e tutto il resto incluso nella loro piattaforma.

Quali sono i potenziali svantaggi dell'utilizzo di PaaS?

Blocco di provider

Potrebbe diventare difficile cambiare fornitore PaaS, poiché l'applicazione viene creata utilizzando gli strumenti del fornitore e specificatamente per la sua piattaforma. Ogni fornitore può avere requisiti di architettura diversi. Diversi fornitori potrebbero non supportare gli stessi linguaggi, librerie, API, architettura o sistema operativo utilizzati per creare ed eseguire l'applicazione. Per cambiare fornitore, gli sviluppatori potrebbero dover ricostruire o modificare pesantemente la loro applicazione.

Dipendenza dal fornitore

Gli sforzi e le risorse necessari per cambiare fornitore PaaS potrebbero rendere le aziende più dipendenti dal loro attuale fornitore. Una piccola modifica nei processi interni o nell'infrastruttura del fornitore potrebbe avere un impatto enorme sulle prestazioni di un'applicazione progettata per funzionare in modo efficiente con la vecchia configurazione. Inoltre, se il fornitore modifica il suo modello di prezzo, il funzionamento di un'applicazione potrebbe improvvisamente diventare più costoso.

Problemi di sicurezza e conformità

In un'architettura PaaS, il fornitore esterno memorizzerà la maggior parte o tutti i dati di un'applicazione, oltre a ospitarne il codice. In alcuni casi il fornitore potrebbe addirittura archiviare i database tramite una terza parte, un provider IaaS. Sebbene la maggior parte dei fornitori PaaS siano grandi aziende dotate di misure di sicurezza rigorose, risulta difficile valutare e testare appieno le misure di sicurezza che proteggono l'applicazione e i suoi dati. Inoltre, per le aziende che devono rispettare rigide normative sulla sicurezza dei dati, la verifica della conformità di ulteriori fornitori esterni aggiungerà ulteriori ostacoli all'ingresso sul mercato.

In che modo Platform-as-a-Service è diverso dall'elaborazione serverless?

PaaS e l'elaborazione serverless sono simili in quanto in entrambi i casi lo sviluppatore deve solo preoccuparsi di scrivere e caricare il codice, mentre il fornitore gestisce tutti i processi backend. Tuttavia, il dimensionamento è molto diverso quando si utilizzano i due modelli. Le applicazioni create utilizzando l'elaborazione serverless, o FaaS, si dimensioneranno automaticamente, mentre le applicazioni PaaS non lo faranno a meno che non siano programmate per farlo. Anche i tempi di avvio variano notevolmente: le applicazioni serverless possono essere operative quasi istantaneamente, mentre le applicazioni PaaS sono più simili alle applicazioni tradizionali e devono essere in esecuzione per la maggior parte o sempre per essere immediatamente disponibili per gli utenti.

Un'altra differenza è che i fornitori di soluzioni serverless non forniscono strumenti o framework di sviluppo, come fanno invece i fornitori di soluzioni PaaS. Infine, è il prezzo a differenziare i due modelli. La fatturazione PaaS non è precisa quanto quella dell'elaborazione serverless, in cui i costi sono suddivisi in base al numero di secondi o frazioni di secondo di esecuzione di ogni istanza di una funzione.