Mesosphere e la scalabilità dei Data Center

Mesos(sphere) Data Center scalabili

Mesos(sphere) Data Center scalabili

Mesosphere , per chi ancora non la conoscesse, è una startup con sede a San Francisco che si è concentrata sullo sviluppo di un sistema operativo per garantire la scalabilità di un Data Center attraverso il componente open source Apache Mesos, nato dalle viscere della UC Berkeley e già adottato e riadattato nell’uso da giganti del calibro di Twitter, eBay e Airbnb ed anche Apple, che ha ricostruito il progetto SIRI proprio sulla piattaforma tecnologica di Mesos.

L’obiettivo di Mesosphere è semplice, ossia rendere Mesos e le tecnologie a esso affini adatte all’uso anche nelle piccole enterprise, cioè in tutte quelle realtà che non possono permettersi un esercito di ingegneri pronti a prototipare e mettere in produzione un sistema proprietario. In questo modo, anche le piccole realtà potrebbero godere dei vantaggi di cui gode Google, tanto per citarne uno (a caso), che ha sviluppato la tecnologia proprietaria BORG, ossia un substrato software capace di orchestrare le applicazioni, suddividendone l’esecuzione fra tutte le risorse disponibili nei data center globali dell’azienda.

Per capire meglio come funziona BORG e come funziona Mesosphere, basti pensare a tutti i servizi che Google mette a disposizione della propria utenza, come Google Search, Gmail, Google Maps, YouTube e via discorrendo. Mountain View ha organizzato tutte queste applicazioni in modo che condividessero i workload fra tutte le risorse di tutti i data center della società, evitando di assemblare dei cluster separati di server per ogni servizio. [Elementi fondamentali, i workload, nella progettazione del moderno ambiente IT, infatti un buon design dei workload serve per permettere alle applicazioni di essere eseguite con maggior efficienza].

Cosi come il segreto della scalabilità dei servizi di Google sembra risiedere in BORG, Mesosphere punta alla scalabilita’ dei Data Center e, lavora per offrire un sistema operativo per Data Center anche a chi non ha le opportunità di investimento al pari di Mountain View.

Il nome di questo sistema operativo e’ DCOS, ossia Data Center Operating System, il quale è capace di astrarre CPU, memoria, storage e altre risorse computazionali dai server fisici, per riunirli in una piattaforma di gestione unica e facilmente scalabile. Secondo Mesosphere, questo sistema operativo, attualmente in fase beta, permette agli amministratori IT di scalare i cluster data center aggiungendo fino a 50 mila server.

La base del DCOS è un insieme di strumenti open source di cui molti disponibili via Apache Licenses. Questi tools giacciono su un sistema kernel distribuito, che offre le API necessarie alla gestione e all’organizzazione delle applicazioni distribuite. Fra i componenti del nuovo sistema operativo per il cloud computing ci sono un init system distribuito (Marathon), un pianificatore di attività distribuito (Chronos) e un service discovery (DNS). L’architettura supporta già ed è compatibile con Apache Spark, Apache Cassandra, Kafka, Hadoop, YARN, HDFS e Google Kubernetes.

La flessibilità del nuovo sistema operativo di Mesosphere è comprovatadalla capacità di supportare tutte le versioni Linux più recenti delle distribuzioni CoreOS, CentOS, Ubuntu e Red Hat e, dalla possibilita’ di poter essere eseguito su bare metal o in un ambiente di private cloud virtualizzato su alcuni dei più importanti cloud provider come AWS, Google Compute Engine, Digital Ocean, Microsoft Azure, Rackspace e VMware vCloud Air e, dal supporto ad altri strumenti di gestione data center come OpenStack, Docker, Cloud Stack e VMware vCenter Orchestrator.

La crescita di Mesosphere è garantita da una serie di finanziamenti per startup, di cui l’ultimo ricevuto è pari a 10 milioni di dollari. Il nuovo finanziamento, permetterà quindi a Mesosphere di uscire dalla fase beta e proporre DCOS in due differenti versioni, una a pagamento offerta con supporto tecnico e servizio di consulenza e una gratuita per la community.

 

#MesosilnuvoSystemperDataCeter

CoreOS nuova rivoluzione nel Cloud

CoreOS new Cloud System

CoreOS new Cloud System

Poco tempo fa ho pubblicato un breve articolo introduttivo riguardante CoreOS ed il suo uso nei DataCenter, ma in pratica cos’ha di così interessante CoreOS ? Lo sviluppatore di CoreOS, Alex Polvi, è partito da ChromeOS, il sistema operativo sviluppato da Google intorno al browser Chrome, per ottenerne molto di più.

Dunque, partendo da questo presupposto si potrebbe affermare che CoreOS e’ in definitava una distribuzione Linux pensata per gli ambienti server, ma a differenza dei prodotti Linux-based già riservati al settore server ed enterprise, CoreOS prevede solo il kernel di Linux ed il systemd, ossia il gestore dei processi per avviare i servizi essenziali all’inizializzazione del sistema.

In pratica questo sistema operativo è pensato per i clienti che devono avviare e gestire cluster di centinaia di server e si inserisce quindi come un server Linux per le distribuzioni ad alto volume di dati e di traffico (IaaS, PaaS, SaaS). In maniera molto semplicistica, potremmo dire che CoreOS impacchetta Internet in una singola postazione, permettendo di ospitare infrastrutture simili a quelle di Amazon e Google sul proprio computer, grazie alla potenza di questo sistema operativo altamente scalabile che portera’ non poco risparmio alle startup del mondo cloud computing.
CoreOS offre quindi l’infrastruttura necessaria a ospitare i componenti di qualsiasi applicazione Web e non è dotato di null’altro, se non dei bit sufficienti per eseguire i contenitori. A tale riguardo, come gestore dei contenitori, CoreOS utilizza Docker e, come già spiegato in precedenza, la scelta dei contenitori, a differenza della virtualizzazione, permette di gestire meglio le performance della macchina e di distribuire la medesima configurazione su differenti hardware.

CoreOS, inoltre, si rifà a ChromeOS per quanto riguarda la questione degli aggiornamenti, infatti il sistema operativo supporta gli aggiornamenti automatici in background e non crea problemi d’inconsistenza dati, in quanto funziona su due partizioni disco, attivate alternativamente uno alla volta, in questo caso la partizione inattiva potra’ essere aggiornata offline effettuado uno swap dei dischi seguito da un riavvio, in modo da poter procedere con gli aggiornamenti. Il riavvio potra’ richiedere da mezzo secondo a un secondo netto.

Infine, CoreOS utilizza una partizione di sola lettura per il filesystem e include il componente etcd come servizio distribuito di configurazione.

Nel prossimo articolo vedremo come funziona nella pratica, nel frattempo vi invito a dare un’occhiata al video qui riportato dal titolo parlante : “PlayStation: Developing Apps on CoreOS”

 

DMAIL – Questo messaggio si autodistruggera’

Dmail - Self Destruct E-Mail

Dmail – Self Destruct E-Mail

Per chiunque di voi sia un’appassionato di film di spionaggio la seguente frase e’ sempre stata un “must”
«Questo messaggio si autodistruggerà entro 10 minuti»
ma questa fantastica frase alla Mission Impossible era finora inapplicabile alle email che, una volta spedite, non potevano più essere richiamate.

Certo, sappiamo che Gmail ci consente di annullare l’invio di un messaggio entro 30 secondi dalla spedizione, ma il mezzo minuto messo a disposiione di certo non è sufficiente per rendersi conto di aver fatto un errore e bloccare l’inviodi quella email.

Adesso pero’ e’ arrivata Dmail, decisa a cambiare definitivamente tutto ciò che conoscevamo. In pratica si tratta di un’estensione per Chrome che è in grado di rendere illeggibile un’email precedentemente già inviata tramite Gmail, indipendentemente dal tempo trascorso dal suo invio.

Come funziona

Quando si spedisce un messaggio da Gmail utilizzando Dmail si può impostare un tempo massimo trascorso il quale il messaggio stesso diventerà illeggibile; oppure si potra’ decidere di revocare manualmente l’accesso all’email da parte del destinatario in un secondo tempo.
Tutto ciò è possibile perché Dmail crittografa l’email con un algoritmo a 256 bit prima di spedirla; il messaggio quindi viene salvato sui server di Dmail in forma crittografata e quindi illeggibile da chi non ha la chiave.

Il destinatario dell’email ricevera’ un link tramite il quale potra’ accedere al messaggio e una chiave che verra’ utilizzata automaticamente per decrittare il testo.

Se il destinatario utilizza anch’egli Dmail allora vedrà il messaggio apparire all’interno di Gmail, in maniera del tutto trasparente.

Trascorso il tempo impostato dal mittente, oppure se quest’ultimo decide di revocare l’accesso, da quel momento il destinatario non avrà più modo di leggere il messaggio.

Dmail è stato sviluppato da alcuni membri del team di Delicious e per ora funziona soltanto con Gmail; lo sviluppo è però tuttora in corso e tra gli obiettivi ci sono la compatibilità con altre piattaforme, una applicazione per iOS e una per Android, e la possibilità di cifrare anche i documenti allegati.

Alla fine, Dmail dovrebbe trasformarsi in un servizio freemium: le funzionalità di base saranno disponibili a tutti, mentre le opzioni avanzate saranno accessibili soltanto dopo il pagamento di una quota.

Installazione

L’installaione e’ davvero semplice in quanto, come abbiamo accennato si tratta di un’estensione per Gmail, dunque ci bastera’ puntare con il Browser a questo link : https://mail.delicious.com/
e selezionare in alto a destra la voce “Get the chrome extension”

Per essere sicuri che abbia funzionato potete entrare nei Settings/Extensions del Browser Chrome e verificare che, a fianco dell’icona di Dmail sia spuntata la voce Enable (attualmente la versione installabile e’ la 1.2.4).

Una volta ultimate le verifiche , collegandovi nuovamente, o effettuando nuovamente il login, alla vostra utenza di Gmail troverete, in alto di fianco al vostro nome, la voce relativa a Dmail.

Come usarlo

Per utilizzarlo, sarà sufficiente comporre un Nuovo Messaggio, attivare Dmail a fondo messaggio e impostare il Timer Destroy.

In questo modo, in caso non ci fidassimo del nostro interlocutore per quanto riguarda lo scambio di informazioni segrete e che non dovrebbero essere divulgate, non dovremmo essere più titubanti: sarà sufficiente avere Dmail attivo e impostare il Timer.

Nel momento in cui decidiamo di impostare il Timer e inviamo la mail, il nostro destinatario otterrà il messaggio da noi previsto che si autodistuggerà una volta scaduto il Timer.

Il servizio permette dunque al mittente del messaggio di posta di revocare al destinatario la possibilità di accedere allo stesso messaggio in qualsiasi momento successivo all’invio, ed inoltre è possibile impostare un timer per l’eliminazione automatica dell’email dopo un’ora, un giorno o una settimana.

La cosa più interessante è che Dmail funziona anche se il destinatario non utilizza l’estensione, questo perché il servizio non elimina i messaggi dalle caselle dei destinatari, ma cripta e decripta la posta su richiesta.

Insomma Dmail Secure and Destroy

 

#Dmailquestomessagiosiautodistruggera

MaxScale DB Proxy scalabile

 

MaxScale DB Proxy Server

MaxScale DB Proxy Server

Il suo nome per esteso e’ “MariaDB MaxScale” ed è il nuovo database proxy server open source sviluppato da MariaDB Corporation Ab.

In pratica  MaxScale ci permetta di avere database ad alte prestazioni, in grado di consentire la costruzione di architetture flessibili. Ecco nel dettaglio le sue caratteristiche e funzionalità principali.

 

Innanzitutto ricordiamo a tutti che, un proxy è un server che fa da intermediario in una connessione: riceve le richieste da un client e le reindirizza verso altri server che sono i destinatari delle richieste. In altre parole un proxy è un mezzo per deviare una connessione tra due computer in modo da non collegarli direttamente. Un proxy funziona, nella sua pratica, come un centralinista: riceve la chiamata da chi vuole telefonare e la gira all’interno desiderato.

MaxScale si può inserire in modo trasparente tra l’applicativo e il server MySQL, esattamente come fa un proxy web tra il nostro browser (es. Chrome) e il sito che stiamo cercando di visitare.

Grazie ad un proxy è possibile avere:

  • Ridondanza: usando più di un database dietro al proxy. Un solo server non fornisce l’affidabilità e l’alta disponibilità in caso di down di una macchina.
  • Diminuizione dei costi di infrastruttura: perché generalmente due server piccoli sono meno costosi che un unico server molto performante.

Vedremo ora due tipologie di database proxy server:

I proxy di livello trasporto come HAProxy
I proxy di livello applicativo come MaxScale

HAProxy: un proxy efficiente, rapido e funzionale

Fino ad oggi il proxy più usato in ambito MySQL è l’HAProxy che lavora ad un livello più basso (livello 4: trasporto). HAproxy non conosce nulla di MySQL e si occupa solo di bilanciare le connessioni tra più server. E’ molto veloce, leggero ed efficente, tuttavia questo bilanciamento è fatto senza conoscere cosa sta smistando. Questo rende il sistema meno efficente poiché un server può ricevere molte richieste pesanti, mentre altri server possono essere scarichi. Quindi l’HAProxy non è la scelta vincente in tutti i casi.

MaxScale: un proxy che può fare cose incredibili

MaxScale lavora a livello più alto (livello 7: applicativo), monitorando i server riesce a capire cosa sta succedendo all’interno dell’infrastruttura. Conoscendo il protocollo MySQL può intervenire manipolando il traffico tra client e server. Ecco alcune delle sue principali funzionalità:

  • Filtro delle query al database
  • Gestione del routing: instradamento delle richieste a uno o più database server
  • Modifica delle query al volo prima che raggiungano il database
  • Possibilità di nascondere la struttura interna dell’infrastruttura lasciando un singolo punto d’accesso.
  • Alta affidabilità e scalabilità del sistema
  • Possibilità di spostare un database dal server locale ad un server esterno senza modificare la configurazione delle applicazioni
  • Divide automaticamente le scritture sul server MasterR e le letture su uno o più database Slave.

MaxScale può fornire un Load Balacing delle connessioni senza bisogno di utilizzare applicazioni o CMS che prevedano questa funzionalità. Questo significa che CMS come WordPress o Joomla possono trarne dei benefici, usando una replicazione Master/Slave per rendere scalabile il proprio sito.

Caratteristiche di MaxScale

Il punto di forza di MaxScale è sicuramente la sua modularità che permette una notevole libertà adattandosi a molti casi d’uso, infatti MaxScale è:

  • Modulare: un sistema di moduli ne definisce le funzionalità
  • Estendibile: è possibile applicare più filtri anche in cascata
  • Flessibile: i moduli e i filtri possono essere aggiunti dinamicamente

I moduli base di MaxScale

Quelli elencati qui sotto sono i 5 moduli che costituiscono il cuore di MaxScale:

  • Protocol: da la possibilità di utilizzare più protocolli es. MySQL client, http, telnet
  • Authentication: il sistema di autenticazione permette ai client di accedere a MaxScale usando le credenziali presenti sui server di Backend
  • Monitor: legge la configurazione dello stato del sistema direttamente dai server di backend
  • Router: smista le connessioni a uno o più database di backend
  • Filter e logging: i filtri permettono di modificare le query oppure di scrivere un file di log con tutte le richieste e le risposte ricevute.

1. Protocollo di connessione
I client si connettono a MaxScale anziché al database MySQL senza accorgersi della differenza. Possono usare le stesse librerie di connessione utilizzate fino ad ora: es. MySQL client o MariaDB client.

2. Autenticazione
MaxScale non ha un sistema di autenticazione o un database di utenti. Vengono utilizzati gli stessi utenti presenti sui database di backend, caricati all’avvio dell’applicazione.

3. Monitor
Viene utilizzato per capire in ogni momento lo stato di tutti i database di backend collegati a MaxScale. In questo modo è possibile sapere qual’è il server Master e quanti Slave stanno replicando correttamentei dati.

4. Router
Dirige il traffico dal client ai server utilizzando una regola specifica:

  • Connection routing: normale router di connessione ad un database
  • Read/Write Split router: smista le richieste di scrittura sul Master e le richieste di lettura su uno degli Slave collegati

5. Filtri e log delle query
Tra i più potenti strumenti messi a disposizione di MaxScale ci sono sicuramente i filtri che permettono di effettuare operazioni avanzate sulle query senza modificare il comportamento dell’applicazione:

  • Processando query SQL e risultati
  • Utilizzando una semplice regex
  • Analizzando, modificando o rifiutando le query
  • Mettendo più filtri in cascata

Insomma, da questo primo articolo, si deduce che le potenzialita’ sono tutte a favore di MaxScale

 

#MaxscaledbproxyserverMysql

CoreOS anche su Big G

CoreOS Cloud System

CoreOS Cloud System

Da meta’ Maggio la piattaforma di cloud IaaS di “Big G” è in grado di ospitare virtualizzazioni del sistema operativo CoreOS; tramite un annuncio sul blog del servizio è stata resa nota la disponibilità alla creazione di infrastrutture basate su questo sistema innovativo e che permetterà di realizzare infrastrutture in maniera semplice ed efficace.

Il progetto CoreOS è nato da due ingegneri di Rackspace, Alex Polvi e Brandon Philips, e da un ex dipendente Google, Michael Marineu: i tre hanno dato vita ad un sistema operativo dedicato alla tecnologia cloud, molto leggero nel consumo di risorse e in grado di attivare un cluster complesso in poco tempo grazie a degli strumenti di orchestrazione unici. I due componenti chiave di CoreOS si chiamano etcd e fleet: entrambi sono scritti nel linguaggio Go e servono ad alimentare rispettivamente le configurazioni del cluster e il deploy delle applicazioni tramite dei container Docker.

Google si allinea quindi a Amazon EC2, Rackspace Cloud e altri provider di infrastrutture cloud dove CoreOS è già selezionabile, il sistema operativo è già compatibile con OpenStack e KVM, aspettiamoci di vedere presto crescere le quote di mercato di questo prodotto possiamo ritenere che riempa il buco dei sistemi operativi dedicati al clouding.

 

#Coreoscloudcomputingsystem