Vai al paragrafo

Cos'è Cloud Foundry

Copia URL

Cloud Foundry è una soluzione utilizzata per la creazione, la distribuzione e la scalabilità dei container, capacità già presenti in Kubernetes. Connette i container alle reti e alle apparecchiature di routing, permettendo agli sviluppatori di dedicarsi alla creazione e alla distribuzione del codice applicativo tra le applicazioni.

Kubernetes, invece, mette a disposizione degli sviluppatori un framework distribuito, estendibile a cluster e applicazioni e per questo è una valida opzione per i carichi di lavoro eseguiti su più ambienti cloud e per gli sviluppatori a cui serve la flessibilità di sviluppare applicazioni su più infrastrutture cloud.

Cloud Foundry è una soluzione PaaS (Platform-as-a-service) open source progettata originariamente nel 2011 per gli sviluppatori dedicati alla realizzazione delle prime applicazioni containerizzate. Incentrata sull'esperienza dello sviluppatore, Cloud Foundry mette a disposizione degli sviluppatori una piattaforma per creare, distribuire ed eseguire applicazioni cloud native stateless. 

Kubernetes è una piattaforma di orchestrazione open source basata su container che consente di automatizzare molti dei processi manuali necessari per il deployment, la gestione e la scalabilità delle applicazioni containerizzate. Due tra le più diffuse piattaforme di containerizzazione, Cloud Foundry e Kubernetes condividono alcune funzionalità. Il confronto tra le due soluzioni mette in luce i rispettivi approcci alla gestione delle applicazioni.

Sia Cloud Foundry che Kubernetes:

  • Eseguono le applicazioni in container
  • Eseguono applicazioni raggruppate come immagini Docker
  • Eseguono carichi di lavoro di grandi dimensioni
  • Possono essere eseguite on premise o nel cloud pubblico
  • Sono open source e gestite da community indipendenti

Mentre Cloud Foundry si incentra sull'applicazione, Kubernetes è orientata al container, e questa è la principale differenza. Kubernetes aggiunge complessità al lavoro degli sviluppatori, che devono realizzare il container per l'applicazione e fornire altre configurazioni di deployment, mentre Cloud Foundry garantisce un'esperienza diversa a operatori e sviluppatori cloud grazie a un'interfaccia semplificata. Inoltre, Kubernetes offre agli sviluppatori maggiore libertà, perché possono configurare i container più adatti alle loro applicazioni.

Simile a Kubernetes, Cloud Foundry è una piattaforma di distribuzione continua che supporta l'intero ciclo di sviluppo dell'applicazione, permettendo agli sviluppatori di creare, distribuire ed eseguire applicazioni containerizzate.

Si avvale di un'architettura containerizzata per eseguire, aggiornare e distribuire le applicazioni in qualsiasi linguaggio di programmazione e su svariati provider di servizi cloud, pubblici o privati. Questo ambiente multicloud consente agli sviluppatori di utilizzare la piattaforma cloud che meglio si adatta a carichi di lavoro applicativi specifici, spostandoli tra i provider cloud secondo le esigenze, senza modificare l'applicazione stessa.

Sebbene abbia alcune funzionalità in comune con Kubernetes, Cloud Foundry offre un livello di astrazione superiore per la distribuzione delle applicazioni cloud native. Rispetto a Kubernetes, che utilizza runtime per container Linux standard, Cloud Foundry utilizza Buildpacks, un supporto per framework e runtime proprietario. Questo livello aggiuntivo rende più complessi i processi di creazione e deployment delle applicazioni, ma al contempo elimina un livello di controllo agli sviluppatori. 


Sfide

Essendo una soluzione meno recente e per questo non supportata in modo completo, Cloud Foundry pone svariate limitazioni e problematiche alle organizzazioni, che si trovano a gestire l'elevato costo di refactoring e la necessità di modernizzare le applicazioni per adattarle alla piattaforma, oltre alla carenza di supporto per le tecnologie più recenti.

Sebbene Cloud Foundry sia basata sugli stessi concetti di Kubernetes, resta una piattaforma a sé, il che si traduce in un ostacolo per le organizzazioni che distribuiscono i carichi di lavoro Kubernetes, perché rende necessaria la gestione di più piattaforme. Per ridurre queste difficoltà, puoi scegliere una piattaforma di livello enterprise comune per tutte le applicazioni containerizzate dell'ambiente.

Le organizzazioni che risentono dei limiti e delle difficoltà di offrire supporto per Cloud Foundry sono alla ricerca di alternative. Red Hat® OpenShift® offre una piattaforma applicativa completa e cloud native per le aziende che intendono eseguire la migrazione da Cloud Foundry a OpenShift. 

Red Hat OpenShift è una soluzione di cloud ibrido open source che supporta la containerizzazione e la modernizzazione delle applicazioni esistenti, oltre ai nuovi sviluppi cloud native. In quanto piattaforma per container Kubernetes enterprise ready per le applicazioni e i carichi di lavoro di produzione, Red Hat OpenShift supporta sia le applicazioni native che quelle tradizionali, consentendone l'esecuzione ovunque, e abilita l'automazione all'interno e all'esterno dei cluster Kubernetes.

I clienti che scelgono di passare da Cloud Foundry a OpenShift ottengono i vantaggi seguenti:

  • Piattaforma di sviluppo applicativo e di sviluppo Kubernetes native di livello enterprise
  • Supporto per applicazioni stateless e stateful
  • Produttività migliorata con ambiente di sviluppo standardizzato e provisioning self service
  • Sicurezza avanzata con Red Hat Advanced Cluster Security, a garanzia di sicurezza e conformità continue di infrastruttura, container e carichi di lavoro. 
  • Costi hardware significativamente ridotti con l'esecuzione di OpenShift su bare metal

Approfondisci

Articolo

Cosa sono gli operatori Red Hat OpenShift?

Gli operatori Red Hat OpenShift automatizzano la creazione, la configurazione e la gestione delle istanze di applicazioni Kubernetes-native.

Articolo

AI/ML su Red Hat OpenShift

OpenShift offre funzionalità fondamentali per l'accelerazione dei flussi di lavoro AI/ML e per la distribuzione di applicazioni basate sull'intelligenza artificiale.

Articolo

L'edge computing con Red Hat OpenShift

Estendi i servizi applicativi alle sedi remote e analizza gli input in tempo reale con le funzionalità edge computing di OpenShift.

Scopri di più su OpenShift

Prodotti

Una piattaforma applicativa aziendale che offre servizi verificati per consentire la distribuzione delle app sulle infrastrutture preferite.

Una soluzione di storage software defined che fornisce uno spazio di archiviazione dati permanente durante l'avvio e l'arresto dei container tra gli ambienti.

Una sandbox completamente supportata per lo sviluppare, addestrare e testare i modelli di machine learning (ML) in modo rapido nel cloud pubblico prima di distribuirli in produzione.

Una soluzione che permette di controllare cluster e applicazioni Kubernetes da una singola console dotata di criteri di sicurezza integrati.

Risorse

Serie Open Answers: Cos'è Red Hat OpenShift?

Sviluppo cloud native con Red Hat e Amazon Web Services

Formazione

Corso di formazione gratuito

Running Containers with Red Hat Technical Overview

Corso di formazione gratuito

Developing Cloud-Native Applications with Microservices Architectures

Corso di formazione gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview