PaaS (Platform-as-a-Service)

menu icon

PaaS (Platform-as-a-Service)

PaaS, o Platform-as-a-Service, fornisce una piattaforma cloud completa, flessibile e conveniente per lo sviluppo, l'esecuzione e la gestione delle applicazioni.

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

PaaS, o Platform-as-a-Service, è un modello di cloud computing che fornisce ai clienti una piattaforma cloud completa - hardware, software e infrastruttura - per lo sviluppo, l'esecuzione e la gestione di applicazioni senza il costo, la complessità e l'inflessibilità che spesso deriva dal costruire e manutenere quella piattaforma in locale.

Il provider PaaS ospita tutto - server, reti, storage, software del sistema operativo, database, strumenti di sviluppo - nel suo data center. Generalmente i clienti possono pagare una quota fissa per fornire una determinata quantità di risorse per un determinato numero di utenti, oppure possono scegliere la tariffazione "pay-as-you-go" per pagare solo le risorse che utilizzano. Entrambe le opzioni consentono ai clienti PaaS di costruire, testare, implementare, eseguire, aggiornare e scalare le applicazioni più rapidamente ed economicamente di quanto potrebbero fare se dovessero costruire e gestire la propria piattaforma in locale.

Ogni principale fornitore di servizi cloud, tra cui Amazon Web Services (AWS), Google cloud, IBM Cloud e Microsoft Azure, ha la sua offerta PaaS. Le soluzioni PaaS più popolari sono anche disponibili come progetti open source (ad esempio Apache Stratos, Cloud Foundry) o da fornitori di software (ad esempio Red Hat OpenShift e Salesforce Heroku).

Vantaggi di PaaS

I vantaggi più comunemente citati di PaaS, rispetto a una piattaforma in locale, includono:

  • Time to market più rapido. Con PaaS, non c'è bisogno di acquistare e installare l'hardware e il software che si usa per costruire e mantenere la propria piattaforma di sviluppo di applicazioni - e non c'è bisogno che i team di sviluppo aspettino mentre lo si fa. È sufficiente attingere al PaaS del provider di servizi cloud per iniziare a predisporre le risorse e sviluppare immediatamente.
  • Accesso conveniente a una più ampia varietà di risorse. Le piattaforme PaaS tipicamente offrono l'accesso a una gamma più ampia di scelte su e giù per lo stack delle applicazioni - inclusi sistemi operativi, middleware, database e strumenti di sviluppo - di quanto la maggior parte delle organizzazioni possa praticamente o economicamente manutenere da sola.
  • Più libertà di sperimentare, con meno rischi. PaaS permette anche di provare o testare nuovi sistemi operativi, lingue e altri strumenti senza dover fare investimenti sostanziali su di essi, o nell'infrastruttura necessaria per farli funzionare.
  • Scalabilità facile, conveniente. Con una piattaforma in locale, scalare è sempre costoso, spesso dispendioso e a volte inadeguato: è necessario acquistare ulteriore capacità di calcolo, di storage e di rete in previsione di picchi di traffico; gran parte di questa capacità rimane inattiva durante i periodi di basso traffico e nessuno di essi può essere aumentato in tempo per ospitare picchi imprevisti. Con PaaS, è possibile acquistare funzionalità aggiuntive e iniziare a usarle immediatamente, ogni volta che se ne ha bisogno.
  • Maggiore flessibilità per i team di sviluppo. I servizi PaaS forniscono un ambiente di sviluppo software condiviso che permette ai team di sviluppo e operativi di accedere a tutti gli strumenti di cui hanno bisogno, da qualsiasi luogo con una connessione internet.
  • Minori costi complessivi. Chiaramente PaaS riduce i costi consentendo a un'organizzazione di evitare le spese di capitale associate alla costruzione e alla scalabilità di una piattaforma applicativa. Ma PaaS può anche ridurre o eliminare i costi delle licenze software. E gestendo patch, aggiornamenti e altre attività amministrative, PaaS può ridurre i costi complessivi di gestione delle applicazioni.

Come funziona PaaS

In generale, le soluzioni PaaS hanno tre parti principali:

  • Infrastruttura cloud tra cui macchine virtuali (VM), software del sistema operativo, storage, rete, firewall
  • Software per la creazione, l'implementazione e la gestione di applicazioni
  • Una interfaccia utente grafica, o GUI, dove i team di sviluppo o DevOps possono fare tutto il loro lavoro durante l'intero ciclo di vita dell'applicazione

Poiché PaaS fornisce tutti gli strumenti di sviluppo standard attraverso l'interfaccia online della GUI, gli sviluppatori possono accedere da qualsiasi luogo per collaborare ai progetti, testare nuove applicazioni o lanciare prodotti completati. Le applicazioni sono progettate e sviluppate proprio nel PaaS utilizzando il middleware. Con flussi di lavoro semplificati, più team di sviluppo e operativi possono lavorare sullo stesso progetto simultaneamente.

I fornitori di PaaS gestiscono la maggior parte dei servizi di cloud computing, come i server, il runtime e la virtualizzazione. Come cliente PaaS, la tua azienda mantiene la gestione delle applicazioni e dei dati.

PaaS, IaaS e SaaS

Come PaaS, Infrastructure-as-a-Service (IaaS) e Software-as-a-Service (SaaS) sono modelli di servizio di cloud computing molto comuni. In realtà è molto comune per un'organizzazione usare tutti e tre - anche se non li acquista specificamente. Per chiarire:

IaaS è l'accesso via internet all'infrastruttura IT "grezza" - server fisici, macchine virtuali, storage, rete, firewall - ospitata da un provider di cloud. IaaS elimina il costo e il lavoro di detenere, gestire e manutenere l'infrastruttura in locale. Con IaaS l'organizzazione fornisce la propria piattaforma applicativa e le applicazioni.

Qualsiasi offerta PaaS include necessariamente le risorse IaaS necessarie per ospitarla, anche se queste risorse non sono distinte o indicate come IaaS.

SaaS è un software applicativo che usi tramite il cloud, come se fosse installato sul tuo computer (in alcuni casi, parti di esso sono installate sul tuo computer). SaaS permette alla tua organizzazione di utilizzare un'applicazione senza la spesa di creare l'infrastruttura per eseguirla, e lo sforzo e il personale per manutenerla (applicare correzioni e aggiornamenti di errori, affrontare le interruzioni, ecc.) Salesforce e Slack sono esempi di offerte SaaS popolari; la maggior parte delle applicazioni web sono considerate SaaS.

Ogni offerta SaaS include le risorse IaaS necessarie per ospitarla e, come minimo, i componenti PaaS necessari per eseguirla. Alcuni venditori SaaS forniscono anche un PaaS separato che permette a terze parti di personalizzare l'offerta SaaS.

Un altro modo per confrontare IaaS, PaaS e SaaS è basato sulla quantità di gestione lasciata al cliente rispetto alla quantità di gestione lasciata al provider di servizi cloud:

IaaS, PaaS, Serverless e SaaS scaricano una crescente responsabilità di gestione al provider del cloud

 

Leggi di più su IaaS, PaaS e SaaS.

Casi di utilizzo per PaaS

Fornendo una piattaforma integrata e pronta all'uso, e consentendo alle organizzazioni di scaricare la gestione dell'infrastruttura al provider di cloud e di concentrarsi sulla creazione, l'implementazione e la gestione delle applicazioni, PaaS può facilitare o anticipare una serie di iniziative IT, tra cui:

  • Sviluppo e gestione delle API: grazie ai suoi framework integrati, PaaS rende molto più semplice per i team sviluppare, eseguire, gestire e proteggere le API (application programming interfaces) per condividere dati e funzionalità tra le applicazioni.
  • IoT (Internet of Things): out of the box, PaaS può supportare una serie di linguaggi di programmazione (Java, Python, Swift, ecc.), strumenti e ambienti applicativi utilizzati per lo sviluppo di applicazioni IoT e l'elaborazione in tempo reale dei dati generati dai dispositivi IoT.
  • Sviluppo agile e DevOps: PaaS può fornire ambienti completamente configurati per automatizzare il ciclo di vita delle applicazioni software, compresa l'integrazione, la distribuzione, la sicurezza, i test e il rilascio.
  • Migrazione cloud e sviluppo cloud-native: con i suoi strumenti pronti all'uso e le sue caratteristiche di integrazione, PaaS può semplificare la migrazione delle applicazioni esistenti verso il cloud, - in particolare tramite il riplatforming (spostando un'applicazione nel cloud con modifiche che sfruttano meglio la scalabilità del cloud, il bilanciamento del carico e altre funzionalità) o il refactoring (riarchitettando parte o tutta un'applicazione utilizzando microservizi, contenitori e altre tecnologie cloud native).
  • Strategia di cloud ibrido: il cloud ibrido integra i servizi del cloud pubblico, i servizi del cloud privato e le infrastrutture in locale e fornisce orchestrazione, gestione e portabilità delle applicazioni su tutti e tre. Il risultato è un ambiente di calcolo distribuito unificato e flessibile, dove un'organizzazione può eseguire e scalare i suoi carichi di lavoro tradizionali (legacy) o cloud-native sul modello di calcolo più appropriato. La giusta soluzione PaaS permette agli sviluppatori di creare una volta, poi distribuire e gestire ovunque in un ambiente cloud ibrido.

Tipi di PaaS costruiti ad hoc

Molti fornitori di cloud, software e hardware offrono soluzioni PaaS per creare specifici tipi di applicazioni, o applicazioni che interagiscono con specifici tipi di hardware, software o dispositivi.

  • AIPaaS (PaaS per l'intelligenza artificiale) permette ai team di sviluppo di creare applicazioni di intelligenza artificiale (AI) senza la spesa spesso proibitiva per l'acquisto, la gestione e il mantenimento della significativa potenza di calcolo, capacità di storage e capacità di rete che queste applicazioni richiedono. AiPaaS include tipicamente modelli pre-addestrati di machine learning e deep learning che gli sviluppatori possono usare così come sono o personalizzare, e API pronte per l'integrazione di funzionalità di AI specifiche, come il riconoscimento vocale o la conversione discorso-testo, in applicazioni esistenti o nuove.
  • iPaaS (integration platform as a service) è una soluzione ospitata nel cloud per l'integrazione delle applicazioni. iPaaS fornisce alle organizzazioni un modo standardizzato per collegare dati, processi e servizi attraverso il cloud pubblico, il cloud privato e gli ambienti on-premises senza dover acquistare, installare e gestire il proprio hardware, middleware e software di integrazione backend. (Si noti che le soluzioni Paas spesso includono un certo grado di capacità di integrazione - la gestione delle API, per esempio - ma iPaaS è più completo).
  • cPaaS (communications platform as a service) è un PaaS che permette agli sviluppatori di aggiungere facilmente funzionalità di voce (chiamate in entrata e in uscita), video (comprese le teleconferenze) e messaggistica (testo e social media) alle applicazioni, senza investire in hardware e software specializzati per le comunicazioni.
  • mPaaS (mobile platform as a service) è una PaaS che semplifica lo sviluppo di applicazioni per i dispositivi mobili. mPaaS tipicamente fornisce metodi a basso codice (anche semplice drag-and-drop) per accedere alle caratteristiche specifiche del dispositivo, tra cui la fotocamera del telefono, il microfono, il sensore di movimento e le capacità di geolocalizzazione (o GPS).

PaaS e IBM Cloud

IBM fornisce soluzioni PaaS ricche e scalabili per lo sviluppo di applicazioni cloud native da zero, o la modernizzazione di applicazioni esistenti per beneficiare della flessibilità e scalabilità del cloud.

IBM Red Hat OpenShift su IBM Cloud è un servizio OpenShift completamente gestito che utilizza la scalabilità e la sicurezza aziendale di IBM Cloud per automatizzare gli aggiornamenti, lo scaling e il provisioning, e per gestire picchi di traffico imprevisti. I tuoi team possono avviare lo sviluppo e la modernizzazione delle app con una serie di strumenti e funzionalità, e distribuire cluster altamente disponibili e completamente gestiti con un solo clic. IBM Red Hat OpenShift su IBM Cloud è stato nominato leader nel The Forrester Wave: Multicloud Container Development Platforms, Q3 2020 (PDF, 415 KB).

IBM Cloud Pak for Application ti aiuta a modernizzare le applicazioni esistenti, a incorporare una maggiore sicurezza e a sviluppare nuove applicazioni che consentono di liberare le iniziative digitali. Offre soluzioni di sviluppo nativo del cloud in grado di erogare rapidamente valore, in aggiunta a licenze flessibili che possono essere personalizzate in base alle tue esigenze specifiche.

Per iniziare con PaaS su IBM Cloud, registrati per un IBMid e crea il tuo account IBM Cloud.