Docker: distribuiamo applicazioni

Slides:



Advertisements
Presentazioni simili
OpenShift Origin – Cosa è
Advertisements

Virtualizzazione nell’INFN Andrea Chierici 11 Dicembre 2008.
Sistema Informativo. Mansioni Gestione della piattaforma hardware e sistemistica del sistema informativo INFN In realta’ il mansionario e’ in continua.
Giuseppe Andronico CCR-WS10 Santa Tecla, 18 Maggio 2010 Introduzione MPI & GPU.
Eugenia Franzoni Il software libero Catnic Srl. Si può comprare un software?
I dispositivi di rete. La Scheda Di Rete La scheda di rete, o LAN adapter è un circuito stampato che collega il cavo per il collegamento internet al PC.
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
Fabrizio Felici Linux e Windows a confronto, perché passare a Linux 27 ottobre 2007.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
Università degli Studi - “ G. d'Annunzio ” Chieti - Pescara FACOLTÀ DI ECONOMIA Corso di laurea in Economia Informatica/s Seminario di: Giovanni Placentino.
Linux Day 2006 – Giornata nazionale dedicata al Software Libero e GNU/ Linux – Trusted Computing: Ecco il tuo Futuro Antonio Angelotti.
E’ costituita da due blocchi:  Interfaccia di rete  Blocco di simulazione L’ interfaccia di rete fornisce il collegamento elettrico con la rete sotto.
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
Facile da usare Un'interfaccia amministrativa completamente rinnovata, iniziare con Drupal è più facile!
Corso di Elementi di Informatica
Sistemi e Applicazioni per l’Amministrazione Digitale
Infrastruttura cloud servizi realizzata nella Sezione di Napoli
La storia del Telefax Ricerca di Boattini Viola Anno Scolastico
Corso per Webmaster base
NAT, Firewall, Proxy Processi applicativi.
OLPC-Italia Brescia 16 Ottobre 2008.
Riccardo Veraldi - Massimo Donatelli CCR 3-4 Marzo 2008
Comparazione File System Domenico Chiefali a.k.a. JDaemon
dCache Test effettuati al CNAF
WPC069 Il deployment automatizzato di Windows 10
CARATTERISTICHE DI UN DATACENTER
Gestione delle fasi del tirocinio attraverso un’ App Android e interfaccia Web e relativa gestione documentale della tesi Università degli Studi di Napoli.
Breve report su corso RedHat Enterprise Virtualization (RH318)
Programmazione per la Musica | Adriano Baratè
Sistema di Analisi e di Acquisizione
Cloud per HA nei Servizi
The Virtual Machine Monitor Introduzione. Installazione. Utilizzo.
GridFlex: gestione di software
KVM QEMU Virtual Machine Manager Massimo Nuvoli
Realizzato e gestito internamente da studenti e docenti dell'Istituto, il sito web è uno strumento fondamentale per la comunicazione tra i.
SISTEMA OPERATIVO - INTERPRETE DEI COMANDI -
Reti di comunicazione Appunti.
Introduzione alle griglie computazionali
Amministrazione dei servizi di stampa
Laboratorio II, modulo LabView.
LA GESTIONE DEI PACCHETTI
Scenario mail in Ateneo
LA GESTIONE DEI PACCHETTI
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Sono stati sperimentati software in grado di rilevare se sono stati compromessi determinati componenti di un sistema operativo.
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Cosa sono il Software Libero e GNU/Linux? Scopriamolo insieme!
Managed Workplace RMM Il monitoraggio e la gestione da remoto (Remote Monitoring and Management) resi semplici. Ottieni gli strumenti e le conoscenze necessarie.
INSEGNARE e IMPARARE LIBERAMENTE
analizzatore di protocollo
Virtualizzazione desktop e server
Corso di Ingegneria del Web A A Domenico Rosaci 1
istalliamo l’ambiente di sviluppo - ide
Windows Admin Center La rivoluzione della gestione di Windows Server
Caratteristiche e funzioni della scheda Arduino
Progetto di Tecnologie Web 2014/2015 THERMOWEB
INTERNET «IL MONDO DI OGGI»
Smart City.
Concetti introduttivi
Introduzione alla nuova versione di PowerPoint
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Introduzione alla nuova versione di PowerPoint
© 2007 SEI-Società Editrice Internazionale, Apogeo
Le reti informatiche di Roberto Minotti 17/01/2019.
Le reti informatiche di Roberto Minotti 15/02/2019.
OpenLayers Client di mappe “non solo” WMS
CLOUD.
Transcript della presentazione:

Docker: distribuiamo applicazioni di Elia Bellussi – e.bellussi@gmail.com Linux Day 2016 - Torino

Phisical vs Hipervisors Containers vs Hypervisors Chi sono Alcune definizioni Cosa è Docker Un po’ di storia Come funziona Phisical vs Hipervisors Containers vs Hypervisors Linux Day 2016 - Torino

Come funziona Registrator Docker per gli sviluppatori Cos’è Swarm Come funzione Swarm Cos’è Consul Come funziona Consul Cos’è Registrator Come funziona Registrator Docker per gli sviluppatori Docker per i sistemisti Linux Day 2016 - Torino

Le alternative Riferimenti Linux Day 2016 - Torino

Chi sono System Engineer per Consoft Sistemi S.p.A. Nel 2011 ho fondato l’associazione culturale Museo Piemontese dell’Informatica che dal prossimo anno diventerà Museo Internazionale dell’Informatica. Sono membro di NordEst Digitale, Torino Digitale, Stati Generali dell’Innovazione, IEEE. Linux Day 2016 - Torino

Chi sono http://www.mubit.it Linux Day 2016 - Torino

Alcune definizioni in ordine alfabetico Container: come dice la parola stessa esso è un apparato software, che contiene del codice. Control Groups: è una funzionalità del Kernel Linux che limita, conta ed isola l’uso delle risorse di un insieme di processi. Cluster: è un insieme di computer connessi tra loro tramite una rete telematica per distribuire il carico di lavoro. Linux Day 2016 - Torino

Alcune definizioni Daemon: programma eseguito in background che, tipicamente, fornisce un servizio all’utente. File System: insieme di tipi di dati astratti necessari per la memorizzazione, l’organizzazione gerarchica, la manipolazione, la navigazione, l’accesso e la lettura dei dati. Immagine: file che contiene dati, nella loro struttura tipica, di un dispositivo o di un supporto di memorizzazione. Linux Day 2016 - Torino

Alcune definizioni Inter Process Communication: tutte quelle tecnologie software il cui scopo è consentire a diversi processi di comunicare tra loro scambiandosi dati e informazioni. Kernel Linux: fornisce tutte le funzioni essenziali per il sistema; in particolare la gestione della memoria primaria, delle risorse hardware del sistema e delle periferiche, assegnandole di volta in volta ai processi in esecuzione. Linux Day 2016 - Torino

Alcune definizioni LXC: o Linux Container è un ambiente di virtualizzazione a container che opera a livello di sistema operativo. Namespace: è una collezione di simboli usati per organizzare oggettidi vario tipo in modo che questi possano essere ricollegati ad un nome. Orchestration: è l’automazione, coordinazione e gestione di sistemi informatici e servizi. Linux Day 2016 - Torino

Alcune definizioni Overhead: definisce le risorse accessorie richieste rispetto a quelle strettamente necessarie per un determinato scopo. Repository: ambiente in cui vengono gestiti i metadati. REST: REpresentational State Transfer (REST) è un tipo di architettura software per i sistemi di ipertesto distribuiti come il World Wide Web. Un insieme di interfacce uniformi separa i client dai server. Linux Day 2016 - Torino

Alcune definizioni Virtual machine: un software che crea un ambiente virtuale che emula tipicamente il comportamento di una macchina fisica grazie all'assegnazione di risorse hardware. Linux Day 2016 - Torino

Che cos’è Docker Docker è un progetto open-source che automatizza la distribuzione di applicazioni all'interno di container software, fornendo un'astrazione addizionale grazie alla virtualizzazione a livello di sistema operativo di Linux. Linux Day 2016 - Torino

Un po’ di storia Solomon Hykes ha creato Docker come un progetto interno di dotCloud, un'azienda platform as a service, grazie al lavoro di altri ingegneri di dotCloud tra cui Andrea Luzzardi e Francois-Xavier Bourlet. Linux Day 2016 - Torino

Un po’ di storia Jeff Lindsay è stato coinvolto nel progetto come collaboratore esterno. Docker rappresenta l'evoluzione della tecnologia proprietaria di dotCloud, a sua volta realizzato grazie a precedenti software open-source come Cloudlets. Linux Day 2016 - Torino

Un po’ di storia Docker è stato pubblicato come open source nel marzo 2013. Il 13 marzo 2014, con il rilascio della versione 0.9, Docker non utilizza più LXC come ambiente di esecuzione di default, sostituito dalla propria libreria libcontainer scritta nel linguaggio di programmazione Go. Linux Day 2016 - Torino

Un po’ di storia Il 13 aprile 2015 il progetto aveva oltre 20700 stelle su GitHub (rendendolo il ventesimo progetto più seguito di GitHub), più di 4700 fork e quasi 900 contributori. Linux Day 2016 - Torino

Come funziona Docker utilizza le funzionalità di isolamento delle risorse del kernel Linux come ad esempio cgroups e namespaces per consentire a "container" indipendenti di coesistere sulla stessa istanza di Linux, evitando l'installazione e la manutenzione di una macchina virtuale. Linux Day 2016 - Torino

Come funziona I namespace del kernel Linux per lo più isolano ciò che l'applicazione può vedere dell'ambiente operativo, incluso l'albero dei processi, la rete, gli ID utente ed i file system montati, mentre i cgroups forniscono l'isolamento delle risorse, inclusa la CPU, la memoria, i dispositivi di I/O a blocchi e la rete. Linux Day 2016 - Torino

Physical vs Hypervisors Difficile da migrare Overhead minimo Facile da migrare Overhead massimo Physical Virtual Machine Linux Day 2016 - Torino

Containers vs Hypervisors Namespace Cgroups Chroots Linux Day 2016 - Torino

Containers vs Hypervisors Namespace Cgroups Chroots Docker client libcontainer Docker daemon Linux Day 2016 - Torino

Containers vs Hypervisors La virtualizzazione permette di essere più efficienti rispetto all’uso di hardware specifico per ogni applicazione. La tecnologia dei container permette di migliorare ancora lo sfruttamento delle risorse e di risparmiarle evitando di doverle suddividere con uno strato aggiuntivo relativo agli n sistemi operativi da installare. Linux Day 2016 - Torino

Containers vs Hypervisors L’uso di container permette, inoltre, di risparmiare tempo, (ore/uomo) perché evita di dover realizzare configurazioni specifiche di macchine virtuali per ogni applicazione. Viene configurata un’unica macchina anche virtuale in modo da clonarla e ridistribuirla. Dopo di che si provvede alla pubblicazione delle applicazioni tramite i container. Linux Day 2016 - Torino

Cos’è Swarm Si tratta di un sistema di clustering navito per Docker. Esso serve a rendere un pool di host Docker come un’unico host virtuale. Usando API standard di Docker ogni tool che comunica con Docker può usare trasparentemente Swarm per scalare trasparentemente con host multipli. Linux Day 2016 - Torino

Come funziona Swarm Una volta installato Swarm, un host farà da manager per orchestrare e schedulare i container nell’intero cluster. Esso gestirà una serie di agenti chiamati anche nodi. Gli agenti sono dedicati ad ospitare i container e sono daemon di Docker, pertanto vi si può comunicare tramite le API di quest’ultimo. Swarm, tra le alternative di clustering, può sfruttare Consul. Linux Day 2016 - Torino

Come funziona Swarm Swarm permette di avere alta disponibilità per la gestione dei failover dell’istanza di gestione creando un manager primario e più repliche. Il primario è il single point of contact del cluster anche se si può comunicare direttamente con le repliche che fanno da proxy verso il primario. Linux Day 2016 - Torino

Cos’è Consul Consul fornisce più funzionalità a Docker. Abbiamo: Service Discovery Healt Checking Key/Value Store Multi Datacenter Linux Day 2016 - Torino

Cos’è Consul Consul è un sistema distribuito ad alta disponibilità. Ogni nodo ha un agente Consul anche se questo non è richiesto per scoprire altri servizi. L’agente è responsabile per il controllo dello stato di vita del servizio sul nodo e del nodo stesso. Linux Day 2016 - Torino

Come funziona Consul Gli agenti comunicano con uno o più server Consul. I server Consul ospitano e replicano le informazioni ed eleggono tra loro un leader. Le componenti dell’infrastruttura che necessitano di conoscere altri servizi o nodi possono richiedere le informazioni ai server o ai nodi che girano la richiesta ai primi. Linux Day 2016 - Torino

Cos’è Registrator Registrator tiene d’occhio nuovi container Docker e li analizza per determinare quali servizi mettono a disposizione. Inserisce automaticamente nell’elenco dei servizi, ad esempio in Consul, ogni servizio che trova in un container. Linux Day 2016 - Torino

Come funziona Registrator Un servizio è qualsiasi cosa che ascolta tramite una porta. Se un container ascolta su più porte, allora verranno elencati più servizi. Registrator, per ogni servizio che elenca, prende informazioni dal container relativo e tra esse abbiamo anche metadata definite dell’utente. Il servizio viene poi inserito nel registro apposito. Linux Day 2016 - Torino

Docker per gli sviluppatori Nuovo codice Immagine Docker Linux Day 2016 - Torino

Docker per i sistemisti Cluster Swarm Gestione Forward Forward Richieste alle API Linux Day 2016 - Torino

Le alternative Kubernetes: è un sistema di distribuzione automatica, scalabilità e gestione di applicazioni in container. Apache Mesos: è un sistema di astrazione di CPU, memoria, hard drive e altre risorse sia fisiche sia virtuali. Marathon: è un software di orchestrazione dei container per Apache Mesos. Linux Day 2016 - Torino

I riferimenti http://progrium.com/blog/ https://hub.docker.com/r/progrium/consul/ https://hub.docker.com/r/progrium/registrator/ http://gliderlabs.com/projects/ https://www.consul.io/ https://docs.docker.com/swarm/ Linux Day 2016 - Torino

I riferimenti https://www.youtube.com/watch?v=Q5POuMHxW-0 https://www.youtube.com/user/dockerrun https://www.docker.com/products/resources/video-tutorials https://training.docker.com/self-paced-training Linux Day 2016 - Torino

I riferimenti http://kubernetes.io/ http://mesos.apache.org/ https://mesosphere.github.io/marathon/ Linux Day 2016 - Torino