18
Vagrant e Docker a confronto; scegliere ed iniziare 1 Daniele Mondello Linux Day 2015

Vagrant e Docker a confronto;scegliere ed iniziare

Embed Size (px)

Citation preview

Page 1: Vagrant e  Docker a confronto;scegliere ed iniziare

Vagrant e Docker a confronto; scegliere ed iniziare

1Daniele Mondello

Linux Day 2015

Page 2: Vagrant e  Docker a confronto;scegliere ed iniziare

CHI SONO

2

•Management• Team Leader• Quality Manager•Web Architect• Healthcare IT Consultant• UX Expert

General O.S.

• PHP (5 years) • Javascript (10 years) • ASP(12 years) • MySQL (5 years) • HTML, CSS3 (14 years) • Ruby, Rails (1 year)

Developer

• Ubuntu, CentOS•Mac OSX•Windows• IOS - Android• Embedded OS• Raspai, Pidora

Daniele Mondello - Linux Day 2015

Page 3: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

LE DISTRIBUZIONI CON IL QUALE SON CRESCIUTO

3

MANDRAKE

UBUNTU

KNOPPIX

SLACKWARE

RED HAT

Page 4: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

VIRTUALIZZAZIONE

4

CONCETTO DI VIRTUALIZZAZIONEVirtualizzazione è la possibilità di astrarre componenti hardware di un elaboratore cosi da renderli disponibili al software in forma di risorsa virtuale. E' cosi possibile installare sistemi operativi su hardware virtuale; l'insieme delle componenti hardware virtuali (Hard Disk, RAM, CPU, NIC) prende il nome di macchina virtuale.

ViIRTUAL MACHINEMacchine Virtuali con

un proprio S.O.

HYPERVISORSoftware che permette

di gestire VM

HARDWAREMacchina fisica

rela

Page 5: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

COSA È VAGRANT

5

Vagrant è un gestore di macchine virtuali che usa diversi Hypervisor tra cui VirtualBox e VMWare. Tramite Vagrant si può creare una struttura di base comune a tutte le VM, contenente l’OS, mantenendo step comuni nella configurazione delle nostre istanze

VAGRANT

Page 6: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

INSTALLARE VAGRANT IN 4 STEP

6

Scaricare ed installare e Virtualbox (virtualbox.org) e Vagrant (www.vagrant.com)

Creare una cartella e spostarsi al suo interno e dare “vagrant init nomemacchina”per creare il vagrant file. (es: vagrant init hashicorp/precise32)

”vagrant up” per effettuar il download della Box

Per gestire la box basterà un “vagrant ssh” per essere dentro.

STEP 1

STEP 2

STEP 4

STEP 3

Page 7: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

ULTERIORI COMANDI DI VAGRANT E VAGRANTFILE

7

halt: si spegna la box salvando i datidestroy: per tornare allo stato iniziale

Spegnere una Box

Supporta Puppet, Chef e Ansible tool di Configuration Management ed IT Automation

PUPHET

Il comando “vagrant status” permette di conoscere lo stato della macchina.

Stato di una box

Sistema on li che ti permette di generare dei vagrantfile personalizzati.

PUPHET.COM

Page 8: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

PuPHPet

8

Page 9: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

COSA FA DOCKER ?

9

Docker sviluppata da Docker inc di Salomon Hykes è un sistema di virtualizzazione basato su container. Mentre nella virtualizzazione classica sono virtualizzati programmi e kernel del sistema operativo nella virtualizzazione per containers sono virtualizzati software e librerie

Page 10: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

DOCKER RISPETTO ALLA VIRTUALIZZAZIONE CLASSICA

10

ARCHITETTURA DIFFERENTE RISPETTO ALLA VIRTUALIZZAZIONE CLASSICA

Page 11: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

COSA C’E’ DI NUOVO?

11

01Namespaces

PPresenti dalla ver. 2.24.19 del kernel permettono di "etichettare" i processi cosi da differenziarli dagli altri

Presenti dalla versione 2.6.24 permettono la gestione delle risorse legata ai processi cosi che un gruppo di processi non prenda maggiori risorse rispetto a quelle a lui assegnate

02Cgroups

Libcontainer scritta dal team di Docker che astrando namespaces e Cgroups permette di gestire la virtualizzazione a container. 03

LibContainer

Page 12: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

COSA C’ È SOTTO DOCKER?

Crescita esponenziale in un mercato difficile

Sugar gummi bears. Apple pie yummy cake with candy

VISUAL CORTEX

Sugar plum gummi bears. pie yummy cake with candy

AROUND THE WORLD

12

Finanziatore commerciale di Docker, Core business diverso ma accordi congedandi player IT

DotCloud

In particola modo a quella crescente dei DevOps

Attenzione alle Comunity

Docker è sempliceSemplice

Page 13: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

COSA CONTIENE UN CONTAINER?

13

1 LIBRERIE

2 DEMONI

3 APPLICAZIONI DI SISTEMA

4 ALTRE APPLICAZIONI

Page 14: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

INSTALLARE DOCKER

14

$ sudo apt-get update$ sudo apt-get install docker.io$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker$ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

Con docker images visualizza le immagini disponibili nella macchina. Per scaricare dall’hub è possibile cercarla su https://registry.hub.docker.com/

Per esempio posso scaricare l’immagine con dentro il tutto per far girare wordpress: https://registry.hub.docker.com/u/tutum/wordpress/ che rimane in ascolto della porta 80 ed ha anche un server MySql.

Uso ll comando: docker run -d -p 80:80 tutum/wordpress

Docker scaricherà dalla rete l'immagine per installarla il locale in un container.

ATTENZIONE Docker non memorizza le modifiche avvenute all'interno dell'immagine se non glielo si comunica con un commit

Installazione su Ubuntu

Page 15: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

HUB DOCKER

15

Page 16: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

5 FALSI MITI SU DOCKER

16

Non è una VME’ Facile

Scala automaticamente le applicazioni

Indipendente da SO

Aumenta la sicurezza

Page 17: Vagrant e  Docker a confronto;scegliere ed iniziare

Daniele Mondello - Linux Day 2015

QUANDO CONVIENE UTILIZZARE L’UNO O L’ALTRO?

17

VAGRANT

Amministrazione molte macchine

VS

Diminuire il tempo di deploy

Necessità di scalabilitàIsolare e riutilizzare

DOCKER

Semplificare il deployment

Disponibilità immediataSviluppo granulare

(Microservices)Migliore testing e

rilascio Applicazioni

Page 18: Vagrant e  Docker a confronto;scegliere ed iniziare

Grazie per l’attenzione

danielemondello.it [email protected] @dmondello Facebook/dmondello

Daniele Mondello