Minireport sul tutorial “Giornata di formazione dedicata al Cloud Computing” svoltosi al CNAF il 6/2/2013 Antonio Forte 09/06/2016Minireport tutorial sul Cloud Computing - SICR1
Elenco delle presentazioni Introduzione al Cloud Computing e al suo interesse per INFN Tecnologie di Cloud Computing: use case identificati nell'INFN Tecnologie di Cloud Computing negli esperimenti WLCG: stato e prospettive Progetti con partecipazione INFN legati al Cloud Computing e relazione con cloud-wg Comparazione tecnica di stack cloud e loro uso nell'INFN Tecnologie di Cloud Computing e alta disponibilità Transparent networking e tecnologie per la virtualizzazione della rete Strumenti per la gestione delle immagini di Macchine Virtuali Monitoring e accounting nel Cloud Computing Tecnologie di Cloud Storage Servizi di brokering Conclusioni 09/06/2016Minireport tutorial sul Cloud Computing - SICR2
Introduzione al Cloud Computing e al suo interesse per INFN Grids vs Clouds – Grid is a system that: 1) coordinates resources that are not subject to centralized control … 2) … using standard, open, general-purpose protocols and interfaces … 3) … to deliver nontrivial qualities of service. (Ian Foster, What is the Grid? A Three Point Checklist, 2002) – Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. (NIST Working Definition of Cloud Computing) I framework sviluppati per Grid di fatto nascondono all’utente la complessità della Grid (facendola “apparire” quasi come fosse una Cloud) INFN e Cloud: spunti di riflessione – Le infrastrutture distribuite implementante dall’INFN con il Grid computing sono ormai estremamente diffuse attraverso “interfacce Cloud” in ambito sia commerciale che accademico/di ricerca – Finanziamenti per il “Grid computing” in via di esaurimento (EMI Aprile 2013, EGI Aprile 2014), eventuali nuovi finanziamenti saranno per “Cloud computing/Storage” – Esperienze su tematiche di “Cloud Computing” già esistenti in diverse sezioni INFN Gruppo cloud-wg – mailing list con 19 – wiki – Sezioni rappresentate: Genova, Roma1, Bologna, LNF, CNAF, LNL, Bari, Perugia, Torino, LNGS, Pisa – compiti: definizione degli obiettivi, analisi degli use case, comparazione degli stack cloud in uso nell’INFN, integrazione con altri progetti, attività tecnologiche (alta diponibilità, virtualizzazione della rete, gestione delle immagini, monitoring e accounting, brokering, cloud storage) 09/06/2016Minireport tutorial sul Cloud Computing - SICR3
Tecnologie di Cloud Computing: use case identificati nell'INFN (1/2) Modelli di servizio nel Cloud Computing: – IaaS (Infrastructure-as-a-Service) [Amazon EC2] il provider mette a disposizione la propria infrastruttura per l’esecuzione di virtual machines e per la loro gestione con assegnazione di risorse on demand. lasciando sotto la responsabilità dell’utente la gestione del sistema operativo, dell'eventuale middleware e della parte di runtime. – PaaS (Platform-as-a-Service) [Google App Engine] il provider fornisce anche il sistema operativo, il middleware e l’ambiente runtime necessari per eseguire l’applicazione, che quindi rimane l’unica cosa sotto la responsabilità dell'utente, oltre alla definizione del modello (numero e dimensione dei server, datacenter, caratteristiche del networking, ecc.) da utilizzare per l’esecuzione dell’applicazione. – Saas (Software|Storage-as-a-Service) [Google Apps, Dropbox] consiste nell'utilizzo di programmi installati su un server remoto, cioè fuori del computer fisico o dalla LAN locale, spesso attraverso un server web. Tipologie di Cloud: – Public cloud (Amazon Web Service) – Private cloud (virtualization datacenter, infrastracture provisioning) – Hybrid cloud (cloudbursting) 09/06/2016Minireport tutorial sul Cloud Computing - SICR4
Tecnologie di Cloud Computing: use case identificati nell'INFN (2/2) Use case identificati nell’INFN: – Cloud per i servizi calcolo farm di esperimento, public login, ecc. servizio di object-storage per la sezione (Dropbox-like) infrastuttura ad alta disponibilità cloud “geografica” per HA e “disaster resilience” per servizi nazionali – Cloud per il calcolo scientifico Supporto alla fisica sperimentale – LHC – Laboratori o strutture INFN che producono dati sperimentali – Cloud IaaS – Analisi dati – Farm in Cloud, accesso batch, creaazione di pool dinamici per interattivo – Simulazioni – Farm in Cloud con accesso batch Supporto alla fisica teorica – Farm HTC, accesso batch Integrazione con cloud commerciali (Cloudbursting) Collaborazioni per progetti con EU (FP7, Horizon 2020) e altri enti e istituzioni 09/06/2016Minireport tutorial sul Cloud Computing - SICR5
Tecnologie di Cloud Computing negli esperimenti WLCG: stato e prospettive CERN perspective – Outsource hardware maintenance (distributed Tier-0) Extension of the CERN Tier-0 at Budpest – Batch and disk storage split across the two sites – Access to remote resources via a Cloud interface – Developing the CERN Agile Infrastructure to manage local and remote resources » Provide a new toolset to manage CERN resources » Uses OpenStack to control resources Experiments perspective – Natural extension of pilot-jobs – Gain control on resources Pilot-job frameworks implement separation of resource allocation and job management – Job management is entirely in experiments domain – Resource allocation continues to be shared Cloud interfaces can’t do job management but are optimized for resource allocation – A pilot-job framework can be extended to use a Cloud interface instead of a Grid interface to automatically provision resources without modifying the job management Example: CMS Glidein System – Ease the reuse of specialized online farms to offline tasks Sites perspective – Virtualization simplifies support in multi-VO sites Conclusion – Clouds are an opportunity because address our (HEP) use case with industry-standard middleware – Experiments getting ready to use Clouds – Use of Cloud interfaces still not as efficient as the current (Grid) access model – Major work needed in storage access optimization – Work needed in accounting, federated identity management, intra- and inter-cloud scheduling 09/06/2016Minireport tutorial sul Cloud Computing - SICR6
Progetti con partecipazione INFN legati al Cloud Computing e relazione con cloud-wg Progetti cloud in corso: – PRISMA (PON Smart Cities) Obiettivo: costruzione di uno stack di Cloud IaaS per fornire una una soluzione di base utilizzabile anche in altri progetti del bando Smart Cities, perchè è l’unico progetto infrastrutturale sulle CLOUD sopravvissuto e il ministero ha chiaramente indicato che tutti devono usare un unica infrastruttura di Cloud Sedi INFN coinvolte: Bari, Catania e Napoli (con contributi di altre sedi) Collaborazione con enti di di ricerca: UNIBA – Cagliari 2020 (PON Smart Cities) Obiettivo: sviluppo di soluzioni innovative per la mobilità urbana (ed eventualmente metropolitana) a basso impatto ambientale al fine di migliorare le performance energetiche eambientali della città Partner: VITROCISET (45%), SPACE (5%), Università di Cagliari (25%), INFN (10%), CRS4 (15%) Coinvolgimento INFN – Sistema di acquisizione dati rilevamento traffico – Sviluppo di specifici strumenti per l'integrazione su piattaforme cloud delle applicazioni per l'analisi e l'elaborazione dei dati – Marche Cloud Obiettivo: Sviluppo di un prototipo di infrastruttura Cloud computing con servizi di di monitoring e progettazione parziale del sistema finale Mcloud Protocollo d’Intesa sottoscritto tra INFN e Regione Marche; Sedi INFN coinvolte: CNAF, Perugia – EGI InSPIRE (Federated Cloud Task Force) INFN partecipa sia come resource provider sia come Technology Provider con la soluzione WNoDeS Utile esercizio per valutare le potenzialità della soluzione INFN e confrontarla con altre soluzioni sul mercato Progetti in fase di valutazione: – Cloud4eGov (Smart Cities) - Sedi INFN coinvolte: CNAF, Padova, Torino – Open City Platform (Smart Cities) - Sedi INFN coinvolte: Bari, CNAF, Padova, Perugia, Torino – Acceler8 (FP7) - Sedi INFN coinvolte: Bari, CNAF, Padova, Torino – SM4DCS (FP7) - Sedi INFN coinvolte: CNAF – DHTCS (FOE) - evoluzione dell’infrastuttura IGI multidisciplinare (con INAF, INGV, CNR e GARR) 09/06/2016Minireport tutorial sul Cloud Computing - SICR7
Comparazione tecnica di stack cloud e loro uso nell'INFN (1/3) Possibili soluzioni di infrastruttura Cloud Open Source: – OpenStack supporta flat networks, VLANs, floating Ips fornisce Object Storage e Block Storage e supporta GlusterFS, Lustre, GPFS, CEPH si integra con sistemi di directory esistenti (LDAP) formati VM supportati: Raw, Machine (kernel/ramdisk), VHD (Hyper-V), VDI (VirtualBox), qcow2 (Qemu/KVM), VMDK/OVF (VMWare), fornisce Live Migration e snapshot delle VM disponibilità di API per PHP, JAVA, C/C#, python, Ruby – OpenNebula struttura “Plugin-based”: facile da customizzare e molto flessibile interfacce supportate: OCCI, EC2, vCloud, Amazon S3, EBS hypervisor utilizzabili: Xen, KVM, VMware, Hyper-V fornisce Live Migration delle VM potente e avanzato market place 09/06/2016Minireport tutorial sul Cloud Computing - SICR8
Comparazione tecnica di stack cloud e loro uso nell'INFN (2/3) – Eucalyptus progetto finanziato dal DOE (Departiment of Energy) e da diversi enti di ricerca e università creazione di un cluster-on-demand supporta l'uso e l'interazione con i batch system usati a livello di farm locale capacità di scalare a diverse centinaia o migliaia di nodi fisici – Nimbus interfaccia web per la gestione/amministrazione compatibile con amazon E2C e S3 fornisce sia object storage (S3) che block storage (EBS) robusto supporto all'uso di Storage Area Network – CloudStack facilità di installazione e configurazione e interfaccia grafica user-friendly. unico portale per la gestione di server (fino a 50K) geograficamente distribuiti infrastruttura cloud gerarchica (Zone, Pod, Cluster) con alta scalabilità orizzontale gestione centralizzata della cloud: il Management Server può gestire una o più Zone (Data Center) geograficamente distribuitii fornisce Live Migration e Snapshot delle VM – WNoDeS (Worker Nodes on Demands Service) progetto INFN che mira alla costruzione di una soluzione scalabile, flessibile e integrabile nelle farm scientifiche sfruttando il batch system (LSF, Tourque, SLURM) 09/06/2016Minireport tutorial sul Cloud Computing - SICR9
Comparazione tecnica di stack cloud e loro uso nell'INFN (3/3) Esperienze di Cloud nell’INFN – U-LITE (LNGS) si integra con batch-system Torque/MAUI basato su KVM e Proxmox VE storage condiviso per ospitare le macchine virtuali – attività presso la sezione di Torino per facilitare la gestione dell’infrastruttura di calcolo hardware: normali WNs per ospitare le VM, controller + Server Fiber Channel per fornire lo spazio disco – 2 cluster: uno per i servizi critici (fornisce Live Migration, usa IP pubblici), uno per i WNs (elevata capacità I/O, IP privati) Software: GlusterFS per il file-system condiviso, OpenNebulaper la gestione dell’IaaS, OpenWRT per la gestione della rete – (CNAF: MCLOUD) piattaforma basata su OpenStack per fornire la possibilità di esportare servizi SaaS in modo dinamico e trasparente con una IaaS di base l’infrastruttura pilota deve essere ridondante e auto-consistente, integrabile in installazioni e infrastrutture pre-esistenti (WP1 – INFN-CNAF/IGI) – CLOUD - Progetto PRISMA sezione di Bari: test su WNoDeS su SLURM, OpenNebula, CloudStack sezione di Napoli: test su OpenStack – ATTIVITÀ nata dalle esigenze di ATLAS per gestione dinamica delle risorse interattive e estensione dinamica delle risorse per PROOF soluzione basata su OpenStack la sezione di Roma1 collabora al progetto promosso dalla ditta ISED, che prevede la costruzione di una cloud per la diffusione del Made in Italy nel mondo – ATTIVITÀ sviliuppo della soluzione CLEVER (implementata e sviluppata a Messina) si tratta di un environment light (in pratica in package jar) multipiattaforma e con requisiti minimali sull’host 09/06/2016Minireport tutorial sul Cloud Computing - SICR10
Tecnologie di Cloud Computing e alta disponibilità Service Availability (VM Availability) – linux-HA/Pacemaker come wireless gateways, u-lite controller node(assieme a DRBD) in un ambiente cloud l'hypervisor è lo stonith device – Linux Virtual Server (LVS) come web services, ldap, dns, proxy cache, cloud storage (ad esempio owncloud, assieme a glusterfs e mysql master- master replica) – Cisco SLB (simile a LVS) NON gratuito… – alcuni cloud stack, come VMWare, vSphere, Proxmox, OpenNebula che riaccendono le VM automaticamente su un altro hypervisor se il primo fallisce Data Availability – DRBD, in combinazione con linux-HA – GPFS o glusterfs anche in combinazione con linux-ha, LVS, cisco SLB ecc. – redundant SAN – db master-master in combinazione con LVS – master-slave replica in combinazione con linux-HA Infrastructure Availability – Proxmox realizza un cluster di hypervisor che sono pari tra loro – hardware con componenti ridondati (RAID, doppi alimentatori). – centri di calcolo con impianti (elettrici, di raffreddamento) ridondati. Disaster Recovery – storage basato su GlusterFS implementato su rete geografica 09/06/2016Minireport tutorial sul Cloud Computing - SICR11
Transparent networking e tecnologie per la virtualizzazione della rete Networking nel Cloud Computing – utilizza la virtualizzazione per costruire un'infrastruttura dinamicamente scalabile e soddisfare i requisiti di applicazioni eterogenee – un ambiente che fa largo uso della virtualizzazione è caratterizzato da alta mobilità delle entità (VM) – in un Cloud IaaS, gli utenti richiedono di accedere alle proprie risorse con privilegi di amministratore: problemi di sicurezza Soluzioni di virtualizzazione – VLAN tagging: aggiunta di tag nell’intestazione Ethernet per identificare un flusso di pacchetti (802.1Q e 802.1ad) – Labeling: aggiunta di un header fra intestazione IP e Ethernet (MPLS, ViNE, SoftUDC) – Tunneling: incapsulamento di datagram come payload del protocollo di tunneling (IP-over-IP, Ethernet-over-IP) – OpenFlow: protocollo standard, permette di controllare i device di rete attraverso software che risiede su di un controller esterno; realizza reti in grado di modificare il proprio comportamento in base alle condizioni al contorno (Software Defined Networks) WNoDeS Dynamic Virtual Networks – approccio Tunneling basato su GRE – tutto il traffico dell VM circola nei tunnel – topologia "Hub and Spoke” – ogni rete virtuale usa tunnel separati per garantire l'isolamento – implementato interamente con tool Linux (iproute, iptables, bridge) – ogni rete virtuale usa una subnet privata – Componenti: DVN Manager gestisce il deployment delle reti virtuali utilizzando un database (SQLite) Policy Enforcement Service gestisce le regole di controllo del traffico Il nodo GW fa da GRE Gateway verso altri segmenti di rete Il nodo GW può essere ridondato mediante Heartbeat 09/06/2016Minireport tutorial sul Cloud Computing - SICR12
Strumenti per la gestione delle immagini di Macchine Virtuali Images generation – Getting virtual machine images from the WEB Ubuntu images Fedora images OpenSUSE and SLES (SUSE Linux Enterprise Server) 11 images Rackspace Cloud Builders (multiple distros) images – Tools for creating your own images Oz (KVM) BoxGrinder (KVM, Xen, VMWare) VMBuilder (KVM, Xen) VeeWee (KVM) imagefactory Marketplaces – OpenNebulaApps (AppMarket) It is not an image repository but an “public” image registry Everyone can download an appliance but only “Developers” (people who have a valid account) can upload Images are tagged with MD5/RSA signatures – StratusLab Marketplace Image signing with X509 certs Validation Possibility to define local policies Contextualization – Tipically is the end-phase of the VMs provisioning – OpenNebula approach Very simple approach using an ISO image that contains all the scripts, config. and data needed to contextualize the VM – Cloud-Init Python package and a set of associated scripts which can be used to automate the initialization of a virtual machine instance – Using an External Tool Using an ENC (External Node Classifier) and a configuration management system ; at bootime (and runtime) a client service on the VM asks a server which kind of node the VM is supposed to be (examples:The Foremann + puppet, Chef) 09/06/2016Minireport tutorial sul Cloud Computing - SICR13
Monitoring e accounting nel Cloud Computing (1/2) Caratteristiche principali: – Monitoraggio delle risorse – Alerting system – Log Monitoring – User-friendly interface 3 strati da monitorare nella Cloud: – Risorse fisiche – Risorse virtuali – Application service Dati di monitoring in OpenStack – Infrastrutturali (dalla Dashboard di Openstack) AMQP/Nova Principalmente legato alle istanze: – quante/quali – metadati dell’istanza – Disponibilità – controllo delle VM – storico su DB-Nova interno – Servizio (da hypervisor) – Il monitor di Openstack non interfaccia direttamente con il virtualizzatore ma espone delle API che permettono l’interfacciamento a tool indipendenti sia tramite plugin specifici che via libVirt 09/06/2016Minireport tutorial sul Cloud Computing - SICR14
Monitoring e accounting nel Cloud Computing (2/2) Dati di monitoring in OpenNebula – Infrastrutturali (da Sunstone) OpenNebula Core Principalmente legato alle istanze: – quante/quali – metadati dell’istanza – disponibilità – uso globale delle risorse fisiche – Servizio globale/user-level (da Sunstone) OpenNebula Core Principalmente legato all’ uso delle risorse virtuale: – quanto/come – visualizzare il trend e lo storico dell’ uso – livello dell’ uso in una VM o in un Cluster – rivelazione dei problemi – Performances Dati di monitoring in WNoDeS – Infrastrutturali (da Command Line) WNoDeS components Principalmente legato alle istanze: – quante/quali – metadati dell’istanza – Disponibilità – controllo delle VM – Servizio (da hypervisor) Il monitor di Openstack non interfaccia direttamente con il virtualizzatore ma espone delle API che permettono l’interfacciamento a tool indipendenti sia tramite plugin specifici che via libVirt 09/06/2016Minireport tutorial sul Cloud Computing - SICR15
Tecnologie di Cloud Storage (1/2) Requisiti per un Cloud Storage – Disponibilità “dinamica” dello storage all’aumentare delle richieste dell’utente – High-Availability – High Level API – Accesso trasparente allo storage OpenStack Swift – software OpenSource tra i più usati e più completi per fornire un’interfaccia Object Storage – data availability basata sulla replica dei dati – scalabilità sia dello spazio di storage che dei metadati – REST API (consentono manipolazione risorse da applicazioni Web) – API in molti linguaggi di programmazione (C/C#, php, python, etc) Ceph – sistema di storage distribuito progettato per offrire eccellenti prestazioni, affidabilità e scalabilità; si basa su RADOS – Supportato da OpenStack (per immagini e volumi) – Supportato da CloudStack (block device) Infrastrutture di storage che forniscano Disaster Recovery basate su: – Hadoop-fs (HDFS) – GlusterFS geo-replication Master/slave basato su rsync; Asincrono interfaccia Object Storage compatibile con quella di Swift 09/06/2016Minireport tutorial sul Cloud Computing - SICR16
Tecnologie di Cloud Storage (2/2) ownCloud – Open source Dropbox-like software – Sperimentato a LNGS, Torino e Bari – Sistema di sincronizzazione desktop-server efficiente – Gestione via web di sharing dei files sufficiente per piccoli gruppi di lavoro – Buona gestione del versioning dei files GARRBox – Prototipo di Cloud Storage con accesso via IDEM – Simile a DropBox ma realizzato da un ente italiano – I dati risiedono sul suolo italiano, legislazione chiara – Policy sui dati concordate tra pari e non imposte dall’alto – Creazione delle chiavi Amazon S3 – Condivisione pubblica di file – Condivisione di cartelle tra gli utenti del sistema – Quote differenziate per utente, gruppo ed ente – Replica locale e geografica dei dati Federazioni di Xrootd – Utilizzate da tempi dagli esperimenti LHC – Autenticazione X509 (ATLAS, CMS) e Token (ALICE) – Fornire i dati in modo trasparente, anche con accesso in WAN, con o senza caching – Scalabilità orizzontale e verticale, con possibilità di espansione dei singoli storage e di aggregare più storage – Protocolli di accesso non-standard (Xrootd) Federazioni di HTTP – Interesse recente da parte degli esperimenti LHC – Supporto nativo per le redirezioni – Efficace in termini di performance e robustezza in applicazioni WAN – Supporto per l’accesso diretto ai dati e ai metadati – Può essere utilizzato come protocollo di controllo di clustering 09/06/2016Minireport tutorial sul Cloud Computing - SICR17
Servizi di brokering Cloud Broker – An entity that manages the use, performance, and delivery of cloud services, and negotiates relationships between Cloud Providers and Cloud Consumer – Provides unified interface, federated cloud-subscriber credential for multiple cloud providers programming interfaces Broker functionalities – Interoperability / Abstraction – Matchmaking – Composition / Aggregation / Arbitrage Interoperability – A cloud broker must be able to consume several cloud services Interfaces – There are typically two approaches to interoperability Use standards interfaces, interfaces defined by standard bodies or made standards because of a large adoption – OGF’s OCCI, DMTF’s CIMI, AWS’s EC2 – SNIA’s CDMI, AWS’s S3 – Above IaaS the pattern of usage are very different and the abstraction very complex Adaptors – Jclouds – Deltacloud Matchmaking – The cloud brokerst has to find resources among the providers he manages, that satisfy user requirements – The cloud broker needs to calculate the best match for the user requirements – The cloud broker then activates the services and delivers them to cloud user Composition – Composition of IaaS services brings big challenges, as the resources needs to be working together – Create virtual networks that cross organization boundaries State of the art – CompatibleOne: the ‘first open source cloud computing broker’ – Optimis EU project 09/06/2016Minireport tutorial sul Cloud Computing - SICR18
Conclusioni L’INFN è interessata su diversi fronti al Cloud Computing – Servizi calcolo – Esperimenti – Partecipazione a progetti esterni Esaurimento a breve dei finanziamenti per “Grid Computing” Gruppo di lavoro cloud-wg – Costituito da pochi mesi – Ha iniziato a mettere insieme i vari contributi sul Cloud già attivi nelle varie sedi – Ha individuato i vari Use Case per l’INFN – E’ un gruppo aperto alla partecipazione di chiunque sia disposto a lavorarci (servizi calcolo, esperimenti) – Per partecipare iscriversi alla mailing-list a 09/06/2016Minireport tutorial sul Cloud Computing - SICR19