Crea la tua infrastruttura cloud e risparmia cifre considerevoli!
La gestione di aspetti quali lo spazio server, gli ambienti di sviluppo, la sicurezza, gli stack software, gli aggiornamenti, la manutenzione hardware e l’intera infrastruttura può diventare rapidamente onerosa. Le aziende che sviluppano e distribuiscono applicazioni spesso si ritrovano a dover destinare una parte significativa delle proprie risorse al mantenimento dell’operatività della piattaforma, risorse che potrebbero invece essere impiegate nello sviluppo del software stesso.
È proprio da questa necessità che sono nate le soluzioni di piattaforma cloud. Queste soluzioni adottano un modello di cloud computing per fornire tutto ciò di cui gli sviluppatori hanno bisogno per svolgere il proprio lavoro, dagli ambienti di sviluppo in hosting agli strumenti di database, fino alle funzionalità complete di gestione delle applicazioni. Gli sviluppatori che lavorano all’interno di una piattaforma cloud hanno a disposizione tutte le risorse necessarie per creare, distribuire e avviare applicazioni software. Per le aziende, una piattaforma cloud può rappresentare una base scalabile per nuove applicazioni che devono essere rilasciate in tempi brevi. Grazie a un modello di pagamento flessibile, non sono più necessari investimenti a lungo termine in infrastrutture locali.
Perché scegliere l’open source?
Dopo aver esaminato i vantaggi del cloud rispetto alle tradizionali piattaforme locali, la domanda successiva è: perché una piattaforma cloud open source è da preferire rispetto a una piattaforma proprietaria? La risposta più ovvia è il costo: le licenze delle soluzioni proprietarie comportano quasi sempre prezzi più elevati. Un altro vantaggio significativo è la flessibilità e la libertà di poter scegliere tra una vasta gamma di framework, cloud e servizi.
Le piattaforme proprietarie, d’altra parte, possono vincolarti all’uso dei loro strumenti e servizi. In cambio, offrono alcuni benefici, come l’impegno a rispettare gli SLA (accordi sul livello di servizio) e sollevano gli utenti da alcune incombenze quali test e integrazione, ma questi vantaggi difficilmente superano i benefici offerti dall’apertura.
Di seguito è riportata una selezione delle piattaforme cloud open source più affermate sul mercato.
Cloud Foundry
Originariamente sviluppata da VMware (ora di proprietà di Pivotal Software), Cloud Foundry si distingue per essere disponibile come applicazione software autonoma e open source, il che la rende indipendente dai fornitori di servizi cloud. Può essere distribuita su VMware vSphere o altre infrastrutture cloud come HP Helion, Azure o AWS, o anche ospitata su un server OpenStack.
Cloud Foundry, tramite l’uso di buildpack, facilita il supporto di runtime e framework. Quando viene eseguito il push di un’applicazione, Cloud Foundry Application Runtime sceglie il buildpack più appropriato, che si occupa della compilazione dell’app e della sua preparazione all’avvio.
Cloud Foundry è progettata per offrire uno sviluppo e un’implementazione rapida delle applicazioni grazie a un’architettura altamente scalabile e flussi di lavoro compatibili con DevOps. Il supporto linguistico include Python, Ruby, PHP, Java e Go, tra molti altri. Tuttavia, per una corretta integrazione con Cloud Foundry, è consigliabile che il progetto segua lo standard dell’applicazione Twelve-Factor, una metodologia pensata specificatamente per lo sviluppo di app SaaS (Software-as-a-Service) ottimali.
Udemy offre un interessante corso sullo sviluppo per il cloud con Cloud Foundry.
WSO2
Se si lavora spesso con architetture SOA, è molto probabile che si debba gestire un elevato numero di API, sia interne che esterne. Questo è il contesto in cui WSO2 eccelle, grazie al suo API Manager, in grado di gestire l’intero ciclo di vita di un’API. WSO2 garantisce la conformità con la maggior parte dei requisiti che i clienti potrebbero richiedere, inclusi il controllo delle versioni, la documentazione API e l’offload SSL.
WSO2 utilizza un concetto di negozio in cui gli sviluppatori possono trovare, provare e valutare le API. La distribuzione è semplice e diretta, e offre numerose opzioni per controllare il flusso delle API. Inoltre, dispone di una funzione di ripristino automatico nel caso di un’interruzione dell’endpoint. Tutte queste caratteristiche mirano a ridurre il time-to-market, semplificare la gestione dei costi e, nel complesso, migliorare l’agilità dei processi aziendali.
Un grande vantaggio di WSO2 API Manager è la sua facile integrazione con WSO2 Identity Server, una soluzione IAM (Identity and Access Manager) basata su API. Questa integrazione offre una piattaforma intuitiva per l’autenticazione in ambienti cloud.
Cloudify
Cloudify è un framework di orchestrazione progettato per modellare applicazioni e servizi automatizzandone i cicli di vita. Ciò include la possibilità di effettuare la distribuzione su qualsiasi ambiente cloud o data center ed eseguire una manutenzione continua. Offre inoltre strumenti per monitorare tutti gli aspetti delle applicazioni distribuite, rilevare le condizioni di errore e risolverle, manualmente o in modo automatico.
Una delle caratteristiche più importanti di Cloudify è la modellazione dei progetti basata su TOSCA. Questa innovazione permette agli sviluppatori di utilizzare YAML per creare progetti delle topologie dell’applicazione. YAML è un linguaggio di serializzazione dei dati di facile lettura, utilizzato per scrivere definizioni basate sulla specifica TOSCA, che offre agli sviluppatori un modo standardizzato per descrivere le interconnessioni tra applicazioni, sistemi e componenti dell’infrastruttura cloud.
L’orchestrazione cloud di Cloudify fornisce una solida base per la governance e la sicurezza IT, consentendo agli utenti di applicare restrizioni di accesso con ruoli e livelli di autorizzazione differenti. Per comunicare con servizi esterni quali contenitori Kubernetes, servizi cloud (AWS, Azure, vSphere, OpenStack) e strumenti di gestione della configurazione (Puppet, Ansible, Chef), Cloudify utilizza il proprio set di plug-in ufficiali. Molti altri servizi sono supportati da plug-in generici esistenti.
OpenShift
OpenShift è una piattaforma basata su Kubernetes, con un’installazione flessibile e rapida e un ampio supporto API, che permette agli sviluppatori di espandere la piattaforma in base alle proprie esigenze. È stata progettata tenendo conto della sicurezza, come dimostra il seguente esempio: i contenitori dovrebbero essere eseguiti come utenti non root, e, in caso contrario, OpenShift richiede una autorizzazione esplicita per eseguire il contenitore.
L’utilizzo di Kubernetes richiede un numero considerevole di server e un certo tempo per acquisire familiarità. Per questo motivo, questa piattaforma non è adatta per implementazioni di piccole dimensioni, a meno che non si preveda una distribuzione più ampia in futuro.
Gli utenti di OpenShift apprezzano le procedure di installazione e configurazione rapide, nonché la facilità di manutenzione di moduli e ingranaggi. Un altro vantaggio è la disponibilità di un proprio repository Git. Ciò che risulta meno apprezzato è la difficoltà di leggere e interpretare i log, in particolare quando si verifica un errore durante il caricamento di un progetto, rendendo difficile l’individuazione del problema.
Imparare OpenShift è facile.
Tsuru
Lanciata da Rede Globo, il secondo network televisivo commerciale più grande al mondo, Tsuru è una piattaforma PaaS (Platform-as-a-Service) basata su Docker, in grado di orchestrare ed eseguire applicazioni in un ambiente di produzione. Si tratta di una piattaforma multi-provisioner open source che supporta siti con milioni di utenti, sviluppata da Globo.com.
Gli utilizzatori di Tsuru confermano che la piattaforma migliora notevolmente il time-to-market senza compromettere semplicità, alta disponibilità, sicurezza o stabilità. Può essere eseguita su diverse infrastrutture cloud, pubbliche o private, purché supportate da una macchina Docker. Supporta inoltre la maggior parte dei linguaggi di programmazione disponibili, offrendo agli sviluppatori la libertà di scegliere in base alle proprie preferenze.
Con Tsuru è possibile utilizzare diversi archivi di dati, tra cui database SQL o NoSQL, o alternative in memoria, come Memcached o Redis. Basta selezionare quello preferito e collegarlo all’applicazione. Per gestire l’app, si può scegliere di usare la riga di comando o un’interfaccia web e distribuirla tramite Git. L’infrastruttura di Tsuru si occuperà di tutti i dettagli più importanti.
Stackato
Stackato è una piattaforma PaaS poliglotta basata su Cloud Foundry e Docker, che funziona sulla propria infrastruttura cloud e funge da piattaforma di lancio per le applicazioni. Gli utenti di Stackato affermano che offre una piattaforma applicativa agile e robusta che contribuisce ad aumentare la produttività sia degli amministratori cloud che degli sviluppatori. È adatta per implementazioni cloud aziendali, combinando la flessibilità dell’accesso diretto alla VM nell’infrastruttura cloud con la configurazione automatizzata fornita da una piattaforma PaaS completa. Le infrastrutture cloud supportate includono HP Cloud Services, Citrix XenServer, AWS, OpenStack, VMware, tra le altre.
In Stackato, ogni applicazione ha il proprio contenitore Linux (LXC), che garantisce una condivisione efficiente e sicura delle risorse. La sua gamma di servizi include: Helion Control Plane, utilizzato da Stackato per comunicare con il cloud sottostante e per gestire i cicli di vita dei servizi; Helion Service Manager, un repository di servizi aggiuntivi disponibili per le applicazioni; Helion Cloud Foundry, un runtime elastico progettato per semplificare l’hosting e lo sviluppo delle app; Helion Code Engine, un servizio di distribuzione continua integrato con repository Git, privati o pubblici, e Helion Stackato Console, un’interfaccia web per la gestione di tutte le funzionalità di Helion Cloud.
Alibaba
Nonostante non sia spesso menzionata quando si parla di piattaforme cloud open source e PaaS, l’attività di Alibaba Cloud nel settore del cloud computing è cresciuta a un ritmo elevatissimo, avendo già conquistato il 50% del mercato cinese del cloud pubblico e imparando diligentemente a servire i mercati al di fuori della Cina. Ad esempio, sta iniziando a fornire supporto per la fatturazione in dollari USA in 168 paesi e sta progettando servizi personalizzati per i mercati esteri.
I servizi della piattaforma cloud inclusi nell’offerta di Alibaba includono numerose funzionalità gratuite, come i servizi container per Docker e Kubernetes, Container Registry, Auto Scaling e DataWorks, un ambiente sicuro per lo sviluppo di dati offline. I suoi servizi sono ben documentati e accompagnati da tutto ciò di cui si può aver bisogno per iniziare subito a migrare le proprie app sul cloud, come diversi video tutorial. Seguendo pochi semplici passaggi e senza investire denaro, Alibaba invita a iniziare a costruire in pochissimo tempo.
In conclusione…
Per fortuna di tutti gli sviluppatori, l’apertura domina il mondo del cloud. Qualche anno fa, la competizione tra le tecnologie dei container (Docker, Kubernetes, Mesos, Nomad, ECS, solo per citarne alcune) minacciava di dividere il mercato in compartimenti stagni, generando notevoli rischi ogni volta che si doveva scegliere una piattaforma. Tuttavia, anche se al giorno d’oggi ci sono più piattaforme tra cui scegliere, le differenze tra le attuali opzioni open source risiedono solo nei dettagli: diversi schemi di costi, diversi strumenti di gestione, diversi approcci alla sicurezza. In altre parole, se si sceglie oggi una piattaforma cloud open source e non si è soddisfatti, si può passare a un’altra il giorno dopo senza incorrere in costi proibitivi.
Con le informazioni fornite, si spera che si possa scegliere la piattaforma più adatta alle proprie esigenze, e che ciò permetta di dimenticare problemi quali la capacità del server, il middleware, i framework, le macchine virtuali, gli archivi di dati e così via. Una volta liberati da tutto ciò, si potranno concentrare tutte le proprie risorse e attenzioni sull’unico aspetto che conta davvero: rilasciare la propria fantastica applicazione agli utenti il più velocemente possibile e renderli felici mentre la utilizzano.
Stai cercando un livello gratuito o un credito sulle piattaforme cloud? Consulta questo elenco.