Erlug

download Erlug

If you can't read please download the document

description

Presentazione fatta all'ERLUG

Transcript of Erlug

  • 1. LOpen Source nelle Grandi RealtRiccardo Capecchi @ Cineca AkaAdmin @ Linuxaria

2. Cosa Cineca ? Da www.cineca.it:Cineca un Consorzio Interuniversitario senza scopo dilucro formato da 54 universit italiane, Costituito nel 1969come Consorzio Interuniversitario per il Calcolo AutomaticodellItalia Nord Orientale, oggi il Cineca il maggiore centrodi calcolo in Italia, uno dei pi importanti a livello mondiale.Oltre alla parte di calcolo sviluppa, distribuisce e forniscesoluzioni tecnologiche per tutti gli atenei consorziati,essendo cos anche una grossa realt come softwareHouse e centro per lerogazione di servizi. 3. E quindi tecnologicamente ?Offre un panorama molto ampio e variegato di soluzioni, siva da Fermi lultimo sistema di super calcolo composto da10.000 nodi e pi di 160 TB di Ram alla ottimizzazione egestione di macchine virtuali per lerogazione di servizi webcon 512 Mb di Ram .Oltre a questo gli oltre 400 dipendenti Cineca lavorano ognigiorno in un contesto altamente informatizzato con unaricerca continua di soluzioni tecnologiche per tutte le varieproblematiche che affrontano nel loro lavoro. 4. Ok, ma tu ?Io lavoro al Cineca dal 1999, sono entrato come sistemistaUnix, in particolare AIX nellambito sviluppo ed erogazionedei servizi, sono poi passato alla gestione dei sistemi Linuxed alla progettazione di soluzioni interne ed esterne.Al momento lavoro nel dipartimento infrastrutturale e seguola parte progettuale middleware che si occupa didisegnare soluzioni tecnologiche per i nostri clienti o per leesigenze interne del consorzio. 5. Bene, di cosa parleremo ?In questa presentazione voglio mostrare come si possonoutilizzare alcuni ottimi software Open Source per otteneresoluzioni eccellenti a livello aziendale che non hanno nullada invidiare agli equivalenti commerciali.In particolare andremo a vedere alcuni dei prodotti e dellesoluzioni adottate dal dipartimento che si occupa di gestirelinfrastruttura Cineca.Non parler invece dei seguenti ambiti, principalmente permia ignoranza sugli stessi:- Sicurezza, sui sistemi e di rete.- Linguaggi di programmazione e Sviluppo.- Ide e framework per lo sviluppo. 6. Asset ManagementPer gestione degli asset si intende la gestione di tutti i benifisici, la raccolta delle informazioni che li riguardano, i lorocambiamenti nel tempo ed in generale tutto il loro ciclo divita.Questo concetto si pu estendere anche ad assetimmateriali come Software o Servizi.Su questo fronte sono particolarmente forti alcuni softwarefrancesi: GLPI, ocsinventory e fusioninventory cheGLPIpossono essere utilizzati da soli o abbinati tra di loro perrealizzare soluzioni modulari. 7. GLPIGLPI un Information Resource-Manager conuninterfaccia Web Amministrativa ed un sistema di TroubleTicket integrato.Si pu utilizzare per costruire un database con linventariodi tutti gli oggetti della vostra azienda (computer, software,stampanti...).Le principali funzionalit dellapplicazione sono:1) inventario preciso di tutte le risorse tecniche. Tutte le lorocaratteristiche sono archiviate in un database Mysql.2) la gestione e la storia delle azioni di manutenzione edelle procedure associate.3) Architettura modulare, con molti plugin per estendere lefunzioni e le tipologie di asset trattabili. 8. GLPI - La lista dei computer 9. GLPI- Una pagina di dettaglio 10. OCSinventory & FusioninventoryEntrambi i software forniscono un agent genericomultipiattaforma (Android compreso nel caso di fusion) dainstallare sui computer. possibile eseguire una vasta gamma di attivit digestione, quali linventario locale, la distribuzione/gestionedel software o uno scan della rete con protocollo SNMP alfine di inventariare apparati che rispondano a questoprotocollo.Possono essere utilizzati sia standalone, o in combinazionecon un server compatibile (OCS, GLPI, OTRS, Uranos,...)che agisce come punto di controllo e raccolta centralizzata. 11. GLPI + OCS + FusionUna possibile soluzione quella di utilizzare GLPI come puntocentrale di raccolta e fruizione delle informazioni, essendoquesto il software con una interfaccia pi solida e completa edutilizzare uno (o entrambi) i software come agent perlacquisizione automatica delle informazioni, a questoproposito alcuni plugin di GLPi permettono di:- Ribaltare automaticamente tutte le informazioni di un DBOCS in informazioni fruibili da GLPI.- Avere una schermata di controllo degli scan SNMP di fusionin GLPI, dove possibile determinare range IP, orari efrequenze degli scan.Questa soluzione permette di avere un server da cui fruire ditutte le informazioni raccolte automaticamente dai diversiagenti e metodologie ed usarle ed arricchirle con leinformazioni gestibili da GLPI. 12. IPAM e DNSIn una grossa realt importante avere una chiaramappatura delle reti IP, delle VLAN e dei singoli IP.Una volta bastava il foglio excel, ma non unostrumento condiviso e non fornisce funzionalitaggiuntive alla mera registrazione delle informazioni.GestiIP un software Web based di gestione degliindirizzi IPv4/IPv6 (IPAM) . dotato di funzioni diindividuazione delle reti ed offre funzioni di ricerca efiltro per reti e host.Questo permette di trovare le informazioni che sicercano facilmente e rapidamente e di saperevelocemente quali IP sono online o hanno un indirizzoDNS associato.GestiIP incorpora anche un sistema automatizzato digestione VLAN. 13. GestioIP Vista reti 14. GestioIp Vista singola rete 15. DNS - BindLa gestione di tutta la parte DNS viene affidata ad alcunemacchine che svolgono il lavoro di Resolver per i soliserver interni, di DNS verso lesterno e di gestione del tuttotramite interfaccia Web scritta internamente, a causa deinumerosi domini in gestione e necessit di fare modifichedegli stessi da parte del personale con le giusteautorizzazioni.Tutta linfrastruttura si basa su progetti open source tra cui iprincipali sono : Debian e Bind. Bind 16. Raccolta dei dati di performanceUn altro aspetto importante per la corretta gestione deiservizi, analisi dei problemi e corretta gestione dellacapacity la raccolta dei dati sulle performance.Abbiamo adottato alcuni prodotti che raccolgono differentitipologie di dati: Collectd, Cacti ed Nfsen. CollectdPer la parte database abbiamo Oracle Enterprise Manager(OEM) ed equivalente per Mysql (MEM), ma essendoproprietari, e molto costosi, oggi non ci interessano. 17. Collectd Tutto sui servercollectd un demone che raccoglie periodicamente lestatistiche sulle prestazioni di sistema e forniscemeccanismi per memorizzare i valori in una variet di modi,per esempio nei file RRD (Round Robin Database), i datipossono essere poi spediti ad un server centrale su cui sipu installare un software di visualizzazione (ne esistonomolti) per visualizzare in comodi grafici i dati raccolti.E un sistema modulare a plugin, oltre ai parametri disistema (cpu, ram, swap, traffico sulle diverse interfacce odischi) si possono raccogliere informazioni su Apache,Mysql, informazioni statistiche da Mbean JMX o via SNMP,e nel caso che proprio manchi quello che ci interessa facilmente estendibile con plugin scrivibili in perl, java oeseguibili generici. 18. Collectd esempi di output 19. Cacti Tutto con SNMPCacti un demone che raccoglie periodicamentestatistiche da varie fonti, noi lo abbiamo specializzato perraccogliere tutti i dati statistici acquisibili con il protocolloSNMP, viene utilizzato per tutti gli apparati di rete e storage(FC).Conserva i dati in formato RRD e fornisce una console divisualizzazione dei dati via grafici.E un sistema modulare a plugin, i plugin aggiuntivipermettono di mandare mail al superamento di soglieprogrammate (thold), di mappare Mac Address sulle varieinterfacce (MacTrack) o di mandare report programmati viamail (nectar) 20. Cacti esempio di output 21. Nfdump/NfSen Tutto sui flussiNfdump un demone che si occupa di effettuare la raccoltadelle informazioni prodotte tramite il protocollo NetFlowdagli apparati di rete e collezionarli in file binari.NfSen uninterfaccia grafica web-based nata per lavisualizzazione di queste informazioni.Con NfSen possibile :visualizzare i dati del flusso di rete: flussi, pacchetti e bytesraccolti in file RRDnavigare con facilit attraverso i dati dei flussi di reteprocessare i dati dei flussi di rete allinterno di un lasso di tempospecificocreare profili storicizzaticonfigurare alerts in base a diverse condizioni e scrivere pluginsproprianalizzare i dati del flusso di rete in intervalli regolari. 22. NfSen esempio di output 23. Monitoraggio - NagiosNagios uno tra i sistemi di monitoraggio ed allarmistica opensource pi famosi, viene utilizzato in Cineca dal 1999 quandoancora si chiamava NetSaint. E usato come punto centrale peraggregare in unico punto la situazione di tutti i servizi ed i lorocomponenti.Viene utilizzato come punto per fare le statistiche trimestralidi uptime di tutti i servizi.Alcune particolarit:Come interfaccia grafica utilizziamo un front-end alternativo:Thruk che aggiunge molte funzionalit interessanti rispetto alfront end classico, come ad esempio la selezione di pi servizi elapplicazione di una certa azione a tutti loro, con pochi click. 24. Nagios - GearmanPer poter incrementare le prestazioni e il numero deipossibili controlli processati in Nagios, utilizziamo Gearmane ModGearman, che riescono a programmare ilModGearmancontrollo dei servizi in maniera distribuita su pi host.ModGearman comprende il modulo NEB, che si trova nelcore stesso di Nagios, che non fa altro che accodare icontrolli sui servizi al demone Gearman.Gearman fornisce un framework generico che reindirizza ilcarico di lavoro ad altre macchine o ad altri processi,permettendo di definire regole per far andare alcuni jobsempre su code definite.Permette perci di avere molte pi attivit in parallelo, comeordine di grandezza siamo sui 10K check su una macchinabiprocessore con 4 GB di Ram. 25. Nagios Business ProcessIl plugin Business Process di nagios permette di definiredelle formule che definiscono le relazioni tra gli host e iservizi. Esistono 3 tipi di relazioni: and, or e min-of.Tramite queste logiche si possono definire le relazioniesistenti tra i singoli componenti per la corretta erogazionedel servizio.Ad esempio avendo un sito in bilanciamento su 3 server sipu definire il processo aziendale Sito web che in statoOk solo quando 2 dei 3 sono funzionanti:website = 2 of: server1:HTTPD + server2:HTTPD + server3:HTTPD 26. Nagios BP esempio 27. Nagios NagiosQLPer la configurazione di tutti i componenti Nagios altamente consigliato utilizzare una interfaccia Web digestione, che non viene fornita nel prodotto Open, tra lemolte disponibili noi abbiamo utilizzato per alcuni progettiNagiosQL, che permette di salvare le configurazioni su DBNagiosQLMysql e poi farne una copia su file al momento in cui si da ilcommit per attivarle.Permette anche di gestire da un unico punto piinstallazioni di Nagios, e distribuire le configurazioni tramiteftp o sftp, compatibile anche con Icinga. Icinga 28. TTS- Request Tracker (RT)Per avere una corretta tracciatura di tutti gliincidenti/richieste ed eventi che arrivano al dipartimentoinfrastrutturale viene utilizzato un software di TroubleTicketing System, ovvero ad ognuna di queste richiesteviene assegnato un numero ed unoperatore che si occupadella risoluzione della stessa.Utilizziamo RT da quasi 10 anni e lo abbiamo adottatoanche in progetti Europei di cui siamo partner, facilmenteinstallabile ( presente come pacchetto su Debian) econfigurabile, ma al tempo stesso permette di aggiungerefacilmente hook ed azioni che permettono di trattare etracciare le richieste anche in workflow complessi. 29. TTS Dashboard personale 30. Gestione Documentale - PloneCome sistema di documentazione interno stiamoutilizzando da molti anni il software Plone, che permette diPloneconservare documenti e file in vario formato online, wiki,calendari ed altre cose.Per mancanza di conoscenze interne di python e delprodotto stesso stiamo ora pensando di migrare ad altro, trai software in fase di valutazione ci sono Alfresco eConfluece, un prodotto commerciale di Atlassian. 31. Erogazione dei serviziFino ad adesso abbiamo visto strumenti per la gestionedellinfrastruttura, molti prodotti Open source sono ancheutilizzati nellerogazione dei servizi, tra questi i pi diffusi sono:- Apache HTTPD server, il web server per eccellenza,serverviene utilizzato praticamente in ogni soluzione che prevedelerogazione di servizi Web.- Apache Tomcat, Nel panorama Java abbiamo molta piuTomcateterogenit, Tomcat il pi diffuso Java application server,seguito da Jetty e prodotti commerciali Oracle o Jboss.- PHP, assieme a Java uno dei linguaggi pi utilizzati per laPHPscrittura di codice in ambito Web.- Varnish, Un potente reverse proxy/Cache server cheVarnishpermette di aumentare notevolmente le performance di unsito. 32. Erogazione dei servizi 2Shibboleth, strumento estremamente potente cheShibbolethpermette di creare federazioni di autenticazione edautorizzazione, delegandole a questo servizio.Drupal, CMS open source di grande successo che siDrupalpresta a molte personalizzazioni ed utilizzato perrealizzare portali interni e fornire soluzioni verso enti/clientiesterni.Moodle, Piattaforma di e-learning open source,Moodleestremamente potente e personalizzabilePentaho, Piattaforma Open source per la BusinessPentahoIntelligence, utilizzata in vari ambiti per analisi di grossemole di dati.Zimbra, Piattaforma utilizzata per la gestione della postaZimbrainterna e come servizio per enti/clienti. 33. Ed in futuro ?Al momento stiamo valutando nuovi strumenti open souceche forse entreranno nellecosistema aziendale, tra cui:MongoDB, Hadoop, Puppet, Jenkins e Selenium 34. ConclusioniHo presentato un lungo elenco di prodotti Open sourceutilizzati, quindi si potrebbe pensare che il rapportodellazienda verso lopen source di piena fiducia ecollaborazione, in parte cos e sicuramente molti tra itecnici spingono per queste soluzioni.Rimane sempre lannoso dilemma, ma se qualcosa va malea chi mi rivolgo ?Tra i livelli pi alti non accettabile non avere un supportoa pagamento a cui scalare le proprie urgenze, da questopunto di vista, sono favorite le soluzioni disponibili con ladoppia modalit: Open e con supporto come ad esempioMysql, Jboss, Zimbra o Alfresco.