Cos'è PaaS? Spiegazione di Platform-as-a-Service

Platform-as-a-service (PaaS) è ​​un tipo di offerta di cloud computing in cui un fornitore di servizi fornisce una piattaforma ai clienti, consentendo loro di sviluppare, eseguire e gestire applicazioni aziendali senza la necessità di costruire e mantenere l'infrastruttura di tale software i processi di sviluppo in genere richiedono.

Poiché le architetture PaaS mantengono l'infrastruttura sottostante fuori dalla vista di sviluppatori e altri utenti, il modello è simile ai concetti di elaborazione senza server e FaaS (function-as-a-service), in cui un provider di servizi cloud fornisce e gestisce il gestisce l'allocazione delle risorse. 

FaaS è un tipo di offerta serverless che consente alle aziende di sviluppare ed eseguire funzioni discrete guidate da eventi senza la complessità di costruire e mantenere l'infrastruttura tipicamente necessaria per lo sviluppo e il lancio di un'applicazione.

I servizi PaaS e di elaborazione serverless in genere addebitano solo le risorse di elaborazione, archiviazione e rete consumate. FaaS porta questo approccio all'estremo, caricando solo quando le funzioni vengono eseguite, rendendo FaaS una scelta naturale per le attività intermittenti. 

Tutto nella famiglia cloud

Come con altri servizi cloud come IaaS (Infrastructure-as-a-Service) e SaaS (Software-as-a-Service), PaaS viene offerto tramite l'infrastruttura ospitata di un provider di servizi cloud. Gli utenti in genere accedono alle offerte PaaS tramite un browser web.

PaaS può essere fornito tramite cloud pubblici, privati ​​o ibridi. Con un PaaS su cloud pubblico, il cliente controlla l'implementazione del software mentre il provider di cloud fornisce tutti i principali componenti IT necessari per ospitare le applicazioni, inclusi server, sistemi di archiviazione, reti, sistemi operativi e database.

Con un'offerta di cloud privato, PaaS viene fornito come software o appliance all'interno del firewall di un cliente, in genere nel suo data center in loco. Il cloud ibrido PaaS offre un mix dei due tipi di servizio cloud.

Piuttosto che sostituire l'intera infrastruttura IT di un'organizzazione per lo sviluppo del software, PaaS fornisce servizi chiave come l'hosting di applicazioni o lo sviluppo Java. Alcune offerte PaaS includono progettazione, sviluppo, test e distribuzione di applicazioni. I servizi PaaS possono includere anche l'integrazione del servizio Web, la collaborazione del team di sviluppo, l'integrazione del database e la sicurezza delle informazioni.

Come con altri tipi di servizi cloud, i clienti pagano PaaS in base all'utilizzo, con alcuni fornitori che addebitano una tariffa mensile fissa per l'accesso alla piattaforma e alle applicazioni ospitate sulla piattaforma.

Video correlato: qual è l'approccio nativo del cloud?

In questo video di 60 secondi, scopri come l'approccio cloud-native sta cambiando il modo in cui le aziende strutturano le loro tecnologie, da Craig McLuckie, fondatore e CEO di Heptio, e uno degli inventori del sistema open source Kubernetes.

Vantaggi PaaS 

Uno dei maggiori vantaggi di PaaS è che le aziende possono ottenere un ambiente in cui creare e distribuire nuove applicazioni senza la necessità di spendere tempo e denaro per costruire e mantenere un'infrastruttura che includa server e database.

Ciò può portare a uno sviluppo e una consegna più rapidi delle applicazioni, un enorme vantaggio per le aziende che cercano di ottenere un vantaggio competitivo o che devono immettere rapidamente i prodotti sul mercato.

PaaS consente inoltre loro di testare rapidamente l'uso di nuovi linguaggi, sistemi operativi, database e altre tecnologie di sviluppo, perché non devono sostenere l'infrastruttura di supporto per loro. PaaS rende anche più facile e veloce l'aggiornamento dei propri strumenti.

E l'uso di PaaS costringe gli sviluppatori di software aziendali a utilizzare le tecniche cloud nelle loro applicazioni, aiutando quindi ad adottare principi moderni e sfruttare al meglio le piattaforme di infrastruttura cloud (IaaS).

Poiché le organizzazioni che utilizzano PaaS possono gestire le proprie applicazioni e dati, la perdita del controllo non è un problema importante, come spesso accade quando si utilizzano infrastrutture o applicazioni cloud.

Applicazioni PaaS 

Fornire un ambiente ospitato per lo sviluppo, il test e la distribuzione delle applicazioni è uno degli usi più comuni di PaaS. Ma non è certo l'unico motivo per cui le aziende utilizzano PaaS.

La società di ricerca Gartner cita una varietà di casi d'uso per PaaS, tra cui:

  • Sviluppo e gestione delle API. Le aziende possono utilizzare PaaS per sviluppare, eseguire, gestire e proteggere interfacce di programmazione di applicazioni e microservizi. Ciò include la creazione di nuove API e nuove interfacce per le API esistenti, nonché la gestione delle API end-to-end.
  • Analisi / intelligence aziendale. Gli strumenti forniti tramite PaaS consentono alle aziende di analizzare i propri dati per trovare intuizioni aziendali e modelli di comportamento in modo che possano prendere decisioni migliori e prevedere in modo più accurato eventi futuri come la domanda di prodotti del mercato,
  • Gestione dei processi aziendali (BPM). Le organizzazioni possono utilizzare PaaS per accedere a una piattaforma BPM fornita come servizio come con altre offerte cloud. Le suite BPM integrano i componenti IT necessari per la gestione dei processi, inclusi dati, regole aziendali e accordi sul livello di servizio.
  • Comunicazioni. PaaS può anche fungere da meccanismo di consegna per le piattaforme di comunicazione. Ciò consente agli sviluppatori di aggiungere funzionalità di comunicazione come voce, video e messaggistica alle applicazioni.
  • Banche dati. Un provider PaaS può fornire servizi come l'impostazione e la manutenzione del database di un'organizzazione. La società di ricerca Forrester Research definisce il database PaaS come "una piattaforma di database self-service on-demand, sicura e scalabile che automatizza il provisioning e l'amministrazione dei database e può essere utilizzata da sviluppatori e personale non tecnico".
  • Internet delle cose. Si prevede che l'IoT costituirà una parte importante dell'utilizzo di PaaS nei prossimi anni, supportando l'ampia gamma di ambienti applicativi e linguaggi di programmazione e strumenti che utilizzeranno le varie implementazioni IoT.
  • Gestione dei dati master (MDM). Ciò copre i processi, la governance, le politiche, gli standard e gli strumenti che gestiscono i dati aziendali critici di cui un'impresa possiede, fornendo un unico punto di riferimento per i dati. Tali dati potrebbero includere dati di riferimento come informazioni sulle transazioni dei clienti e dati analitici a supporto del processo decisionale.

Tecnologie PaaS 

PaaS include più componenti dell'infrastruttura cloud sottostante, inclusi server, apparecchiature di rete, sistemi operativi, servizi di archiviazione, middleware e database.

Tutte queste offerte tecnologiche sono di proprietà, gestite, configurate e gestite dai fornitori di servizi. Questi servizi di infrastruttura completamente gestiti non solo sollevano il cliente dal carico amministrativo IT, ma rappresentano anche un interessante argomento finanziario per i clienti. Possono evitare di dover pianificare investimenti in questi componenti IT fondamentali che potrebbero non essere in grado di utilizzare nella misura più completa possibile.

PaaS include anche risorse come strumenti di sviluppo, linguaggi di programmazione, librerie, sistemi di gestione di database e altri strumenti del provider cloud.

Esempi PaaS

Tra i principali fornitori di PaaS ci sono Amazon Web Services (AWS), Microsoft, Google, IBM, Salesforce.com, Red Hat, Pivotal, Mendix, Oracle, Engine Yard e Heroku. I linguaggi, le librerie, i contenitori e gli strumenti correlati più utilizzati sono disponibili sui cloud di tutti i principali provider PaaS.

Amazon, Microsoft e Google in particolare offrono set completi di servizi basati su cloud tra cui elaborazione, archiviazione, database, analisi, networking, back-end mobile, strumenti per sviluppatori, strumenti di gestione e sicurezza. In molti casi si tratta di servizi completamente gestiti che completano i servizi PaaS in questi cloud pubblici. 

Non è un caso che molti fornitori di PaaS siano anche fornitori leader di strumenti di sviluppo software. Gartner stima che oggi ci siano circa 200 provider PaaS.

Ecco un breve sguardo ad alcune delle principali offerte PaaS. 

AWS Elastic Beanstalk

Con Elastic Beanstalk, le aziende possono distribuire e gestire rapidamente le applicazioni nel cloud AWS senza dover conoscere l'infrastruttura che esegue le applicazioni. Elastic Beanstalk gestisce automaticamente i dettagli di provisioning della capacità, bilanciamento del carico, scalabilità e monitoraggio dello stato delle applicazioni.

AWS Lambda

AWS Lambda è una piattaforma di elaborazione serverless basata su eventi che esegue il codice in risposta agli eventi e gestisce automaticamente le risorse di elaborazione necessarie per quel codice. AWS Lambda ha reso popolare il concetto di FaaS, sebbene sia precedente al termine. 

Google App Engine

Google App Engine è un'offerta PaaS per lo sviluppo e l'hosting di applicazioni web nei data center gestiti da Google. Le applicazioni sono in modalità sandbox, eseguite e ridimensionate automaticamente su più server. 

Google Cloud Functions

Google Cloud Functions è progettato per semplificare agli sviluppatori l'esecuzione e la scalabilità del codice nel cloud e la creazione di applicazioni serverless basate su eventi.

Servizio app di Azure

Il servizio app di Microsoft Azure è un PaaS completamente gestito che integra siti Web Microsoft Azure, servizi mobili e servizi BizTalk in un'unica offerta. Il servizio app di Azure fornisce l'integrazione tra i sistemi locali e cloud.

Funzioni di Azure

Microsoft Azure Functions è una piattaforma di elaborazione serverless che consente agli sviluppatori di agire collegandosi a origini dati o soluzioni di messaggistica, semplificando l'elaborazione e la reazione agli eventi. Gli sviluppatori possono usare Funzioni di Azure per creare endpoint API basati su HTTP accessibili da una gamma di applicazioni.

Red Hat OpenShift

OpenShift è una famiglia di offerte PaaS, che possono essere ospitate nel cloud o distribuite in locale, per la creazione e la distribuzione di applicazioni containerizzate. Il prodotto di punta è OpenShift Container Platform, un PaaS locale costruito attorno ai container Docker orchestrati e gestiti da Kubernetes su una base di Red Hat Enterprise Linux. 

Pivotal Cloud Foundry 

Cloud Foundry è un PaaS open source governato dalla Cloud Foundry Foundation. È stato originariamente sviluppato da VMware e poi trasferito a Pivotal Software, una joint venture di EMC, VMware e General Electric. Come OpenShift, Cloud Foundry è progettato per creare ed eseguire applicazioni basate su container, utilizzando Kubernetes per l'orchestrazione. 

Rischi PaaS

Dato che PaaS è un servizio basato su cloud, presenta molti degli stessi rischi intrinseci di altre offerte cloud, come le minacce alla sicurezza delle informazioni. PaaS si basa sul concetto di utilizzare risorse condivise come reti e server, quindi i rischi per la sicurezza includono l'inserimento di dati critici in questo ambiente e il furto dei dati a causa di accessi non autorizzati o attacchi da parte di hacker o altri malintenzionati.

D'altra parte, i principali fornitori di cloud sono stati più efficaci nel prevenire tali violazioni rispetto al tipico data center aziendale, quindi il rischio per la sicurezza delle informazioni non si è dimostrato essere quello che molti nell'IT inizialmente temevano.

Con PaaS, le aziende sono obbligate ai fornitori di servizi che integrano controlli di accesso appropriati e altre disposizioni e politiche di sicurezza nelle loro infrastrutture e operazioni. Le aziende sono anche responsabili della fornitura delle proprie protezioni di sicurezza per le proprie applicazioni.

Inoltre, poiché le organizzazioni si affidano all'infrastruttura e al software di un particolare provider di servizi, esiste un potenziale problema di vincolo del fornitore con gli ambienti PaaS. Una domanda legittima che l'IT deve porre è: il PaaS che sceglie interagirà con le sue implementazioni IaaS e SaaS attuali e future?

Un altro rischio con PaaS è quando l'infrastruttura del provider di servizi subisce tempi di inattività per qualsiasi motivo e l'impatto che potrebbe avere sui servizi. Inoltre, cosa succede se il provider apporta modifiche alla sua strategia di sviluppo, ai linguaggi di programmazione o in altre aree?

Non aspettarti che questi possibili ostacoli ti impediscano di fare il grande passo nel PaaS. Fornisce maggiore flessibilità proprio perché il fornitore gestisce le piattaforme mentre tu gestisci la programmazione.

iPaaS

Qualsiasi discussione su PaaS dovrebbe includere la menzione di iPaaS, piattaforma di integrazione come servizio. iPaaS è un insieme di strumenti automatizzati per il collegamento di applicazioni distribuite in ambienti diversi. I principali esempi di provider iPaaS includono Dell Boomi, Informatica, MuleSoft e SnapLogic. 

iPaaS ha senso per le aziende che hanno bisogno di integrare applicazioni e dati locali con applicazioni e dati cloud, il che include un numero crescente di aziende che sfruttano ambienti cloud ibridi.