Cloud per la Pubblica Amministrazione

La richiesta

Dal 2015 Wellnet fornisce al Cliente servizi professionali di manutenzione correttiva, adeguativa ed evolutiva, nonché servizi Cloud per le principali piattaforme che costituiscono l’ecosistema informativo in capo all’Assessorato al Turismo. In ambito IT gestisce un ecosistema formato da una moltitudine di applicazioni e software tra cui:

  • SardegnaTurismo: portale turistico ufficiale della Regione Sardegna che accoglie tutte le informazioni su punti di interesse, eventi, articoli di approfondimento e strutture ricettive presenti in Sardegna. Sviluppato in Drupal 7.x
  • Area Operatori: applicazione web che costituisce un canale di comunicazione tra le diverse categorie di operatori turistici sul territorio regionale e la RAS. Sviluppato in Drupal 7.x
  • Il SITAC: sistema informativo del turismo, artigianato e commercio.
  • Il Destination Management System: piattaforma tecnologica che consente agli operatori turistici il caricamento della propria anagrafica commerciale e delle proprie offerte.
  • Il SIRED:  sistema informativo di raccolta ed elaborazione dei dati sul movimento turistico.
  • Hyperlocal Infopoint Sardegna: sistema per la raccolta e distribuzione di informazioni iperlocali, che mette a disposizione di territori e comunità geograficamente definite un insieme di strumenti di redazione diffusa.
  • Lestru: software gestionale destinato alle aziende ricettive.

L’esigenza applicativa si traduce nell’acquisizione del contesto tecnico-progettuale di alcune applicazioni e portali sia per garantire una continuità di servizio nella manutenzione ordinaria ed evolutiva, sia per risolvere malfunzionamenti ereditati dalle precedenti forniture.

La richiesta di carattere sistemistico è di migrare sul Cloud tutta l’infrastruttura a supporto dei progetti dell’Assessorato gestendo anche i diversi fornitori terzi delle applicazioni oggetto della migrazione.

Il progetto

REQUISITI INIZIALI

  • permettere la realizzazione di ambienti virtualizzati di elaborazione anche in autonomia da parte dell’Assessorato, con la possibilità di importare ed esportare le VM
  • permettere ai fornitori la gestione, l’accensione e lo spegnimento delle istanze
  • possibilità di creare reti virtuali a se stanti, per migliorare l’isolamento e la sicurezza delle applicazioni
  • possibilità di gestire in modo efficiente lo storage attaccato alle istanze
  • garantire backup automatici
  • bilanciamento del carico
  • possibilità di avere indirizzi IP statici per alcune istanze
  • consentire una connettività dell’infrastruttura da e verso internet pari ad almeno 1Gbit/s (in/out);
  • implementare un sistema di monitoraggio che:
    • permetta di raccogliere informazioni statistiche
    • permetta l’invio di messaggistica via email, definibile in autonomia dall’Assessorato, in base ad eventi specifici quali il superamento di soglie di carico sulle istanze
    • prevedere l’erogazione di servizi RDBMS fully managed
    • consentire meccanismi di scalabilità orizzontale in base al carico rilevato sui sistemi, ad esempio creando nuove istanze o aumentando le risorse disponibili.

INFRASTRUTTURA IMPLEMENTATA

L’infrastruttura, in continua evoluzione, è attualmente composta da:

  • #17 istanze Amazon EC2
  • #2 istanze Amazon Elastic Search
  • #4 istanze Amazon RDS (1 MySQL, 1 PostgreSQL, 2 Aurora DB)
  • #2 subscriptions Acquia
  • #1 VPN con il datacenter di SardegnaIT

UTILIZZO DI DOCKER

Per tutte le applicazioni in essere sull’infrastruttura di Amazon AWS sono state realizzate una serie di immagini Docker personalizzate al fine di semplificare le operazioni di deploy. Sono stati portati su Docker stack LAMP (per Drupal), stack Java (per applicazioni di business intelligence basate sul software Pentaho), stack Python e diversi servizi accessori come reverse proxy e bilanciatori di carico. Questo approccio ha semplificato anche la gestione e la replicabilità dei server EC2 sui quali non c’è installato null’altro che il demone Docker.
Gli stack sono implementati utilizzando Docker Compose e sono versionati insieme ad ogni progetto: questo ha reso possibile la replica di ciascuno stack in locale consentendo ai singoli fornitori di proseguire con lo sviluppo e il bugfix su un ambiente identico alla produzione.

LOGGING E MONITORAGGIO

Per il monitoraggio delle applicazioni ci siamo affidati alla suite ELK (Elasticsearch/Logstash/Kibana) mettendo a disposizione dei fornitori terzi diverse dashboard con i log provenienti da tutte le componenti dell’infrastruttura. Anche lo stack ELK gira all’interno di container Docker.
Uno dei requisiti era quello di avere un unico punto di monitoraggio delle applicazioni, per questo motivo le dashboard ELK aggregano anche i log provenienti dagli ambienti di Acquia mediante uno stream websocket tra i server di produzione e Logstash.

SERVIZI ACCESSORI

Al fine di perfezionare l’infrastruttura e minimizzare i costi si stanno implementando servizi accessori come per esempio Lambda per gestire l’accensione/spegnimento automatico delle istanze, Route 53 per la gestione DNS, S3 per lo storage e IAM per la gestione delle autenticazioni e dei permessi, CloudWatch (integrato con Telegraf per estenderne le potenzialità) per l’implementazione di dashboard di monitoraggio risorse e gestione alert.

EVOLUZIONE

Per tenere il passo con le volubili esigenze dell’Assessorato e per contenere i costi del Cloud, l’infrastruttura e i servizi correlati sono costantemente in evoluzione implementando meccanismi di orchestrazione dei container (SWARM),  ottimizzando il dimensionamento delle macchine, sviluppando script per consentire al Cliente di gestire l’accensione/spegnimento istanze, e non solo.