OMS e Linux, stato dell’arte

Personalmente non amo Linux e se per questo neppure Windows, sono all’antica e continuo ad amare le belle donne. Uso però tutti i giorni Linux, Windows e soprattutto le soluzioni applicative che su questi sistemi operativi si appoggiano. Nella mia esperienza lo spostamento sulla cloud ha semplificato di molto la realizzazione di ambienti misti e anche clienti che erano fortemente sbilanciati verso una delle due piattaforme, con il passaggio alla cloud pubblica, hanno iniziato ad implementare sistemi misti in numero maggiore. E questa è una buona cosa, potremo finalmente uscire dagli isterismi a me incomprensibili per concentrarci sulle soluzioni che ci forniscono la soluzione giusta per le nostre esigenze.

Ovviamente avere ambienti eterogenei ha un costo: skill diversi, molte volte diversi strumenti di gestione, oppure strumenti di gestione molto costosi che nella pratica non aiutano ad avere il controllo della situazione.

Microsoft Operations Management Suite (#MSOMS) è ormai lo strumento consolidato per la gestione delle operations con un’architettura operata dalla cloud. Si tratta di una tecnologia sempre più pervasiva alla piattaforma Azure le cui funzionalità sono esposte anche all’interno di altre soluzioni (es. Azure Security Center, Azure VM patching, …). Molti pensano che questa soluzione sia da Microsoft per Microsoft, ma non è così. Per altro System Center fu pioniere per la software house di Redmond nell’aprire le proprie funzionalità alle piattaforme non Microsoft.

## Log ingestion, monitoring e security

Una delle tecnologie più conosciute della suite OMS è Log Analytics. Anzi molte volte i due prodotti vengono identificati come uno, ma non è così. Log Analytics è un moderno engine basato su criteri “big data” per effettuare machine data ingestion. Dove per machine data si intende qualsiasi payload che sia possibile produrre in codice (eventi, performance, stati, inventory, audit, …).
Questa tecnologia applicata al mondo OSS ci permette non solo di consolidare syslog e collezionare performance data, ma anche di raccogliere le informazioni operative dello stack LAMP, di raccogliere le fix mancanti e opzionalmente di applicarle, di intercettare le informazioni di security o le security best practices non applicate, di collezionare gli alert di Nagios o Zabbix.

2017-06-24_16-26-41.png

La forza della soluzione per Linux è stata l’intuizione di non reinventare la ruota e di basare l’agente completamente open source su FluentD. In questo modo non solo lo sviluppo dell’agente è stato rapidissimo, ma ad oggi la piattaforma Linux è quella che permette di meglio integrare i dati di LA con i propri.
Per maggiori informazioni sull’agente si veda questo mio articolo in lingua inglese. Per amaggiori informazioni su come configurare l’agente Linux si veda “OMS Log Analytics e la gestione dei sistemi Linux” che se anche un po’ datato rimane valido.

In sintesi Log Analytics è organizzato per “solutions” e diverse tra queste indirizzano specificamente la piattaforma Linux:

  • La soluzione di security e audit
  • La soluzione di patching
  • La soluzione di service mapping, che costruisce mappe applicative basate sull’effettivo traffico generato dai sistemi
  • La soluzione di change tracking e file monitoring, estremamente interessante anche per chi abbia esigenze di certificazioni PCI

2017-06-24_16-22-47.png

## Automation

Quando affronto il tema Automation trovo spesso una reazione molto fredda e diffidente. In realtà automatizzare è la chiave per semplificare la complessità dei moderni sistemi IT. D’altra parte chi non sta utilizzando script e procedure per le operazioni di installazione, configurazione, manutenzione dei propri applicativi e sistemi? Una chiave di lettura immediata per Automation è: mettere ordine e sicurezza in ciò che già stiamo facendo. Un vault che ci permetta di consolidare tutti i nostri script, i segreti utilizzati, certificati, configurazioni e quindi di tracciarne in modo centralizzato l’esecuzione.
In OMS il modulo di automation nasce per eseguire Powershell workflow e quindi Powershell scripts su sistemi Windows. La naturale evoluzione (non ancora disponibile pubblicamente al momento della scrittura di questo articolo) è l’estensione a bash e python (inizialmente 2 e quindi 3) di questo medesimo sistema. La concorrenza non manca ed è agguerrita (Puppet, Chef, Salt), ma le possibilità di integrazione con Azure Automation permettono di coprire una vasta gamma di scenari.
Personalmente vedo un naturale macth tra il controllo che fornisce Azure Automation e Ansible.

2017-06-24_16-49-06.png

## Data protection

OMS ha un proprio componente di protezione dati che permette di proteggere Virtual Machines in esecuzione su qualsiasi cloud (Azure, Hyper-v, VMWare) e che ovviamente supporta workload Linux. Azure Recovery Services e Azure Backup Server sono due faccie della medesima soluzione di protezione dati tapeless. Per quanto riguarda Linux abbiamo la possiblità di:

  • effettuare il backup e restore dell’interva VM in modalità “file system consistent”, ovvero la soluzione forza un flush delle cache su disco, su qualsiasi piattaforma
  •  per le VM Linux in esecuzione su Azure abbiamo in più l’instant file recovery, dove un recovery point a scelta della VM viene montato via iSCSI come volume e permette il ripristino di singoli file
  • sempre per le VM in esecuzione su Azure abbiamo anche un application aware backup che di fatto si traduce nella possibilità di eseguire uno script pre e post operazioni di backup per garantirici che le applicazioni siano in uno stato consistente. Ovviamente al momento della general avialability l’aspettativa è che il prodotto fornisca già una serie di script pre confezionati per le soluzioni più comuni.

2017-06-24_18-36-56.png

## Disaster Recovery

OMS include anche un sistema di Disaster Recovery che permette di tenere allineati tramite replica, sistemi fisici o virtuali tra propri datacenter, tra il proprio datacenter e Azure e tra region Azure diverse. Si tratta di uno strumento estremamente flessibile che tra le altre cose può anche essere utilizzato per migrare i propri workload verso Azure.
Anche in questo caso Linux è un cittadino a tutti gli effetti e lo è stato fin da subito incluso in Azure Site Recovery. Di fatto non esistono differenze nella gestione di macchine Linux e Windows.

2017-06-24_18-46-39.png

## Application performance monitoring

L’ultimo arrivato nella famiglia OMS è Application Insights, ovvero la soluzione di Application Performance monitoring (APM) di Microsoft. Non è possibile oggi sviluppare un’applicazione commerciale senza includere un sistema APM: è come pensare di far volare un Airbus senza strumentazione con il solo volo a vista. App Insights è un APM ricco di funzioni anche di analisi (esempio quali parti del mio software sono più utilizzate?) il cui vault è ospitato sulla cloud Microsoft, ma che può instrumentare la maggior parte delle piattaforme di sviluppo oggi diffuse. Java piuttosto che Nodejs così come i framework CMS.

07-dependency.png

## Conclusione

In conclusione OMS si pone come uno strumento di gestione dove la piattaforma Windows e Linux sono o saranno a breve paritetiche (alcune delle funzionalità presentate sono oggi in preview). Si pone di fatto come il nature ponte tra le due piattaforme applicative permettendo di abbattere le difficoltà di avere sistemi di gestione diversi in un IT per silos che ha mostrato tutti i suoi limiti.