Platform as a service (PaaS)

paas platform as a service

Cos’è PaaS?

Definizione di Platform as a service
La Platform as a service (PaaS) è ​​un modello di cloud computing in cui un fornitore terzo fornisce strumenti hardware e software agli utenti tramite Internet. Di solito, questi strumenti sono necessari per lo sviluppo di applicazioni. Un fornitore PaaS ospita l’hardware e il software sulla propria infrastruttura. Di conseguenza, PaaS libera gli sviluppatori dall’obbligo di installare hardware e software interni per sviluppare o eseguire una nuova applicazione.

Gli strumenti PaaS tendono a essere pubblicizzati come semplici da usare e convenienti. Un’organizzazione potrebbe trovare il passaggio a PaaS interessante considerando i potenziali risparmi sui costi rispetto alle alternative on-premise.

Come funziona PaaS?

Come accennato in precedenza, PaaS non sostituisce l’intera infrastruttura IT di un’azienda per lo sviluppo software. Viene fornito tramite l’infrastruttura ospitata di un fornitore di servizi cloud. Gli utenti accedono più frequentemente alle offerte tramite un browser Web. PaaS può essere fornito tramite cloud pubblici, privati ​​e ibridi per fornire servizi come l’hosting di applicazioni e lo sviluppo Java.

Altri servizi PaaS includono quanto segue:

  • collaborazione del team di sviluppo;
  • progettazione e sviluppo delle applicazioni;
  • test e distribuzione delle applicazioni;
  • integrazione dei servizi Web;
  • sicurezza delle informazioni; e
  • integrazione del database.

Gli utenti dovranno normalmente pagare per PaaS in base all’utilizzo. Tuttavia, alcuni provider addebitano una tariffa mensile fissa per l’accesso alla piattaforma e alle sue applicazioni.

Quali sono le differenze tra PaaS, IaaS e SaaS?

PaaS è una delle tre categorie principali di servizi di cloud computing. Le altre due categorie principali di cloud computing sono infrastruttura come servizio (IaaS) e software come servizio (SaaS):

  • Con IaaS, un provider fornisce l’infrastruttura di base di elaborazione, archiviazione e rete insieme all’hypervisor, ovvero il livello di virtualizzazione. Gli utenti devono quindi creare istanze virtuali come VM e contenitori, installare sistemi operativi, supportare applicazioni e dati e gestire tutta la configurazione e la gestione associate a tali attività. Alcuni esempi di servizi IaaS sono DigitalOcean, AWS, Azure e Google Compute Engine.
  • Con PaaS, un provider offre più stack di applicazioni rispetto a IaaS, aggiungendo sistemi operativi, middleware, come database, e altri runtime nell’ambiente cloud. I prodotti PaaS includono AWS Elastic Beanstalk e Google App Engine.
  • Con SaaS, un provider offre un intero stack di applicazioni. Gli utenti devono semplicemente effettuare l’accesso e utilizzare l’applicazione che viene eseguita completamente sull’infrastruttura del provider. In genere, le applicazioni SaaS sono completamente accessibili tramite browser Web Internet. I provider SaaS gestiscono il carico di lavoro dell’applicazione e tutte le risorse IT sottostanti; gli utenti controllano solo i dati creati dall’applicazione SaaS. Esempi di SaaS includono Salesforce, Dropbox e Google Workspace.

PaaS vs. SaaS

La differenza tra PaaS e SaaS può essere poco chiara. Entrambi i modelli forniscono accesso a servizi spesso basati su cloud, quindi vale la pena fare la distinzione tra piattaforme e software.

Un’offerta SaaS fornisce accesso a un’applicazione o a un carico di lavoro finito, come un’applicazione HR o finanziaria, in cambio di una tariffa ricorrente. L’applicazione SaaS è ospitata sull’infrastruttura remota del provider. Ciò elimina la necessità per un’azienda di acquistare, distribuire e gestire internamente tale applicazione, consentendo all’azienda di ridurre la propria impronta IT interna.

Un’offerta PaaS in genere fornisce accesso a una serie di applicazioni o strumenti correlati destinati ad aiutare le aziende a svolgere attività complesse interrelate; l’esempio più comune è lo sviluppo e il test del software. Anche i componenti PaaS sono ospitati sull’infrastruttura del provider e gli utenti possono accedere ai componenti della piattaforma per una tariffa ricorrente. PaaS può eliminare un intero set di strumenti dal data center locale, alleggerendo ulteriormente il carico IT dell’organizzazione.

La differenza fondamentale è che il SaaS offre un carico di lavoro finito, mentre il PaaS offre gli strumenti necessari per aiutare un’azienda a creare e gestire il proprio carico di lavoro.

 

Pro e contro di PaaS

Il vantaggio principale di PaaS è la semplicità e la praticità per gli utenti. Il fornitore PaaS fornirà gran parte dell’infrastruttura e altri servizi IT, a cui gli utenti possono accedere ovunque tramite un browser web. La possibilità di pagare su base ricorrente (abbonamento) o per utilizzo consente alle aziende di eliminare le spese in conto capitale che tradizionalmente hanno per hardware e software in sede. Di fatto, PaaS sposta la responsabilità di fornire, gestire e aggiornare gli strumenti chiave dal team IT interno al fornitore PaaS esterno.

Molti prodotti PaaS sono orientati allo sviluppo software. Queste piattaforme offrono infrastrutture di elaborazione e archiviazione, nonché servizi di modifica del testo, gestione delle versioni, compilazione e test che aiutano gli sviluppatori a creare nuovi software in modo rapido ed efficiente. Un prodotto PaaS può anche consentire ai team di sviluppo di collaborare e lavorare insieme, indipendentemente dalla loro posizione fisica.

Le architetture PaaS mantengono la loro infrastruttura sottostante nascosta agli sviluppatori e ad altri utenti. Di conseguenza, il modello è simile alle architetture di serverless computing e function-as-a-service, ovvero il fornitore di servizi cloud gestisce ed esegue il server, oltre a controllare la distribuzione delle risorse.

Illustrazione che mostra di Paas i pro e contro

In termini di svantaggi, tuttavia, la disponibilità o la resilienza del servizio possono essere un problema con PaaS. Se un provider subisce un’interruzione del servizio o un’altra interruzione dell’infrastruttura, ciò può influire negativamente sui clienti e comportare costosi cali di produttività. Tuttavia, i provider PaaS normalmente offrono e supportano tempi di attività relativamente elevati, sebbene la disponibilità sia regolata dal contratto di servizio (SLA) del provider.

Il vendor lock-in è un’altra preoccupazione comune perché gli utenti non possono facilmente migrare molti dei servizi e dei dati da una piattaforma PaaS a un’altra piattaforma PaaS concorrente. Gli utenti devono valutare i rischi aziendali di tempi di inattività del servizio e vendor lock-in quando selezionano un provider PaaS.

Anche le modifiche interne a un prodotto PaaS sono un potenziale problema. Ad esempio, se un provider PaaS smette di supportare un determinato linguaggio di programmazione, sceglie di fornire un diverso set di strumenti di sviluppo o addirittura interrompe alcuni o tutti i componenti della piattaforma, l’effetto sugli utenti può essere difficile e dirompente. Gli utenti devono seguire la roadmap del servizio del fornitore PaaS per comprendere in che modo il piano del fornitore influirà sul loro ambiente e sulle loro capacità.

Tipi di PaaS
Sono attualmente disponibili per gli sviluppatori vari tipi di PaaS:

  • public PaaS;
  • private PaaS;
  • hybrid PaaS;
  • communications PaaS (CPaaS);
  • mobile Paas (mPaaS);
  • open PaaS;
  • integration platform as a service (iPaaS);
  • database as a service (DBaaS); and
  • middleware as a service (MWaaS).

 

Public PaaS. Questo modello è più adatto per l’uso nel cloud pubblico. Il PaaS pubblico consente all’utente di controllare la distribuzione del software mentre il provider cloud gestisce la distribuzione di tutti gli altri principali componenti IT necessari per l’hosting delle applicazioni, inclusi sistemi operativi, database, server e reti di sistemi di archiviazione.

I vendor di PaaS pubblici offrono middleware che consente agli sviluppatori di impostare, configurare e controllare server e database senza dover impostare l’infrastruttura. Di conseguenza, il PaaS pubblico e l’IaaS vengono eseguiti insieme, con il PaaS che opera in cima all’infrastruttura IaaS di un vendor mentre utilizza il cloud pubblico. Sfortunatamente, questo significa che il cliente è vincolato a una singola opzione di cloud pubblico che potrebbe non voler utilizzare.

Alcune piccole e medie imprese hanno adottato PaaS pubblico, ma le organizzazioni e le aziende più grandi hanno rifiutato di abbracciarlo a causa dei suoi stretti legami con il cloud pubblico. Ciò è dovuto principalmente al gran numero di normative e problemi di conformità che ricadono sullo sviluppo di applicazioni aziendali all’interno del cloud pubblico.

Private PaaS. Un’opzione PaaS privato mira a fornire l’agilità di PaaS pubblico mantenendo la sicurezza, la conformità, i vantaggi e i costi potenzialmente inferiori del data center privato. Questo modello viene solitamente fornito come appliance o software all’interno del firewall dell’utente, che viene spesso mantenuto nel data center on-premise dell’azienda. Un PaaS privato può essere sviluppato su qualsiasi tipo di infrastruttura e può funzionare all’interno del cloud privato specifico dell’azienda.

Il PaaS privato consente a un’organizzazione di servire meglio gli sviluppatori, migliorare l’uso delle risorse interne e ridurre la costosa proliferazione del cloud che molte aziende devono affrontare. Inoltre, il PaaS privato consente agli sviluppatori di distribuire e gestire le applicazioni della propria azienda rispettando anche rigorosi requisiti di sicurezza, privacy e conformità.

Hybrid PaaS. Combinando PaaS pubblico e privato, il PaaS ibrido offre alle aziende la flessibilità di una capacità infinita fornita da un PaaS pubblico con l’efficienza dei costi e il controllo di possedere un’infrastruttura interna nel PaaS privato. Il PaaS ibrido utilizza un cloud ibrido.

Communications PaaS (CPaaS). CPaaS è una piattaforma basata su cloud che consente agli sviluppatori di aggiungere comunicazioni in tempo reale alle proprie app senza la necessità di infrastrutture e interfacce back-end. Normalmente, le comunicazioni in tempo reale si verificano in app create appositamente per queste funzioni. Esempi includono Skype, FaceTime, WhatsApp e il telefono tradizionale.

CPaaS fornisce un framework di sviluppo completo per la creazione di funzionalità di comunicazione in tempo reale senza la necessità che uno sviluppatore crei il proprio framework, tra cui interfacce di programmazione delle applicazioni basate su standard, strumenti software, app predefinite e codice di esempio.

I provider CPaaS aiutano anche gli utenti durante tutto il processo di sviluppo fornendo supporto e documentazione del prodotto. Alcuni provider offrono anche kit di sviluppo software, nonché librerie che possono aiutare a creare applicazioni su diverse piattaforme desktop e mobili. I team di sviluppo che scelgono di utilizzare CPaaS possono risparmiare su infrastruttura, risorse umane e time to market.

Mobile PaaS. MPaaS è l’uso di un ambiente di sviluppo integrato a pagamento per la configurazione di app mobili. In un mPaaS, non sono richieste competenze di codifica. MPaaS viene fornito tramite un browser Web e in genere supporta cloud pubblico, cloud privato e storage on-premise. Il servizio è solitamente in leasing con prezzi mensili, variabili in base al numero di dispositivi inclusi e alle funzionalità supportate.

MPaaS di solito fornisce un’interfaccia drag-and-drop orientata agli oggetti che consente agli utenti di semplificare lo sviluppo di app HTML5 o native tramite l’accesso diretto a funzionalità quali GPS, sensori, fotocamere e microfono del dispositivo. Spesso supporta vari sistemi operativi mobili.

Le aziende spesso utilizzano mPaaS per la creazione di applicazioni che forniranno sia utilizzi interni che rivolti al cliente. Questa implementazione può promuovere un ambiente BYOD e app di produttività senza la necessità di sviluppatori di app mobili o supporto IT aggiuntivo.

Open PaaS. Una piattaforma di collaborazione gratuita, open source e orientata al business che è attraente su tutti i dispositivi, Open PaaS fornisce utili app Web tra cui applicazioni di calendario, contatti e posta. Open PaaS è stato progettato per consentire agli utenti di distribuire rapidamente nuove applicazioni. Ha l’obiettivo di sviluppare una tecnologia PaaS dedicata alle applicazioni collaborative aziendali, in particolare quelle distribuite su cloud ibridi.

Integration platform as a service (iPaaS). IPaaS è un ampio ombrello per i servizi utilizzati per integrare carichi di lavoro e applicazioni disparati che altrimenti potrebbero non comunicare o interagire in modo nativo. Una piattaforma iPaaS cerca di offrire e supportare tali integrazioni disparate e di semplificare le sfide dell’organizzazione nel far funzionare insieme carichi di lavoro diversi nell’azienda.

Database as a service (DBaaS). DBaaS è un carico di lavoro di database ospitato dal provider offerto come servizio. DBaaS può coinvolgere tutti i tipi di database, come applicazioni di database NoSQL, MySQL e PostgreSQL. Un modello DBaaS è generalmente fornito tramite un abbonamento ricorrente e include tutto ciò di cui gli utenti hanno bisogno per gestire il database, a cui è possibile accedere tramite carichi di lavoro locali e basati su cloud tramite API.

Middleware as a service (MWaaS). MWaaS fornisce una suite di integrazioni necessarie per connettere le richieste client front-end alle funzioni di elaborazione o archiviazione back-end, consentendo alle organizzazioni di connettere applicazioni complesse e disparate tramite API. MWaaS è simile nel principio a iPaaS in quanto l’attenzione è rivolta alla connettività e alle integrazioni. In alcuni casi, MWaaS può includere funzionalità iPaaS come sottoinsieme di funzioni MWaaS, che possono anche coinvolgere l’integrazione B2B, l’integrazione di applicazioni mobili e l’integrazione IoT.

Qual è la differenza tra PaaS e iPaaS?

Sebbene PaaS e iPaaS abbiano nomi simili, sono supportati da tecnologie diverse e i due servizi cloud hanno scopi diversi.

Gli strumenti di automazione IPaaS collegano le applicazioni software distribuite in ambienti diversi e sono spesso utilizzati per integrare dati e applicazioni on-premise con quelli archiviati in un cloud. Una piattaforma iPaaS è più strettamente allineata con — e trattata come — middleware e può essere inclusa come parte delle offerte MWaaS.

PaaS, d’altra parte, fornisce un’infrastruttura cloud, nonché strumenti di sviluppo delle applicazioni forniti tramite Internet.

PaaS Come è utilizzato?

Gli strumenti PaaS sono spesso utilizzati nello sviluppo di applicazioni mobili. Tuttavia, molti sviluppatori e aziende utilizzano PaaS anche per creare app multipiattaforma perché fornisce uno strumento veloce, flessibile e dinamico che ha la capacità di creare un’applicazione che può essere utilizzata su quasi tutti i dispositivi. In sostanza, PaaS fornisce un modo più rapido e semplice per le aziende di creare ed eseguire applicazioni.

Un altro utilizzo di PaaS è negli strumenti DevOps. PaaS può fornire funzionalità di gestione del ciclo di vita delle applicazioni, nonché funzionalità specifiche per adattarsi alle metodologie di sviluppo dei prodotti di un’azienda. Il modello consente inoltre ai team DevOps di inserire strumenti di integrazione continua basati su cloud che aggiungono aggiornamenti senza produrre tempi di inattività. Inoltre, le aziende che seguono il modello Waterfall possono distribuire un aggiornamento utilizzando la stessa console che impiegano per la gestione quotidiana.

PaaS può anche essere utilizzato per ridurre il time-to-market di un’applicazione automatizzando o eliminando completamente le attività di housekeeping e manutenzione. Inoltre, PaaS può ridurre la gestione dell’infrastruttura contribuendo a ridurre l’onere di gestione dell’infrastruttura scalabile. PaaS rimuove le complessità del bilanciamento del carico, della scalabilità e della distribuzione di nuovi servizi dipendenti. Invece di sviluppatori che controllano queste attività, i provider PaaS si assumono la responsabilità.

Con il supporto che PaaS fornisce per i nuovi linguaggi di programmazione e tecnologie, gli sviluppatori possono utilizzare il modello per introdurre nuovi canali di crescita tecnica, come con la tecnologia dei container e le funzioni serverless. Ciò è particolarmente rilevante per i settori in cui il cambiamento tecnologico è un processo lento, ad esempio, bancario o manifatturiero. PaaS consente a queste organizzazioni di adattarsi alle offerte più recenti senza modificare completamente i loro processi aziendali.

Esempi di PaaS: prodotti e fornitori

Esistono molti esempi di fornitori e prodotti PaaS che forniscono gli strumenti e i servizi necessari per creare applicazioni aziendali e integrazioni nel cloud. Di seguito sono riportati alcuni dei principali fornitori e piattaforme:

  • Google Cloud
  • Microsoft Azure
  • AWS
  • IBM Cloud
  • Red Hat OpenShift
  • VMware (Pivotal) Cloud Foundry
  • Oracle Cloud Platform (OCP)
  • Heroku container-based PaaS
  • Mendix aPaaS
  • Engine Yard Cloud PaaS
  • OpenStack
  • Apache CloudStack
  • Wasabi Cloud Storage

Google App Engine supporta applicazioni web distribuite tramite Java, Python, PHP e Go. Red Hat OpenShift è un’offerta PaaS per la creazione di applicazioni open source tramite un’ampia gamma di linguaggi, database e componenti. Heroku PaaS offre istanze di elaborazione di container in stile Unix che eseguono processi in ambienti isolati supportando linguaggi quali Ruby, Python, Java, Scala, Clojure e Node.js.

Microsoft Azure supporta lo sviluppo di applicazioni in .NET, Node.js, PHP, Python, Java e Ruby e consente agli sviluppatori di utilizzare kit per sviluppatori software e Azure DevOps per creare e distribuire applicazioni.

AWS Elastic Beanstalk consente agli utenti di creare, distribuire e scalare applicazioni e servizi web sviluppati con Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker su server comuni, quali Apache, Nginx, Passenger e IIS.

Cosa è incluso in una piattaforma come servizio?

Le funzionalità specifiche di PaaS possono variare tra diversi fornitori e prodotti. Tuttavia, la suite principale di funzionalità PaaS in genere include infrastruttura, strumenti di sviluppo, middleware, sistemi operativi, strumenti di gestione del database e analisi:

  • Infrastruttura. PaaS include tutto ciò che include IaaS. Ciò significa che i provider PaaS gestiranno i server, lo storage, i data center e le risorse di rete. Ciò può includere anche l’interfaccia utente o il portale che gli utenti utilizzano per interagire con l’infrastruttura e i servizi PaaS.
  • Strumenti di progettazione, test e sviluppo delle applicazioni. PaaS fornisce ai clienti tutto ciò di cui hanno bisogno per creare e gestire le applicazioni. È possibile accedere a questi strumenti tramite Internet tramite un browser, indipendentemente dalla posizione fisica. Gli strumenti di sviluppo software specifici spesso includono, ma non sono limitati a, un debugger, un editor di codice sorgente e un compilatore.
  • Middleware. PaaS in genere include anche middleware, il software che colma il divario tra sistemi operativi e applicazioni per utenti finali. Pertanto, gli abbonati PaaS non devono impegnare i propri sviluppatori e risorse interne per creare middleware.
    Sistemi operativi. I sistemi operativi su cui eseguire le applicazioni, nonché da cui gli sviluppatori possono creare l’applicazione, sono forniti dal fornitore PaaS.
  • Database. I provider PaaS spesso gestiscono i database, oltre a fornire agli sviluppatori dell’organizzazione cliente strumenti di gestione dei database.
  • Strumenti di monitoraggio e gestione. I provider PaaS spesso includono servizi di business intelligence, come monitoraggio e analisi, per aiutare gli utenti aziendali a comprendere come viene utilizzato il PaaS e per spiegare i costi per utilizzo e il carattere di utilizzo