Esploriamo docker per scegliere tra un'approccio monolitico tramite le VM o un approccio modulare per una gestione più efficiente e leggera delle applicazioni in ambiente Linux.
Esploriamo docker per scegliere tra un'approccio monolitico tramite le VM o un approccio modulare per una gestione più efficiente e leggera delle applicazioni in ambiente Linux.
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
Pitch presentato al Linux Day 2015 a Palermo su Vagrant e docker per confrontarli, scegliere ed iniziare. Partendo dal concetto di virtualizzazione, proseguendo con l'analisi delle due soluzioni fino a dare cenni sull'installazione ed un primo utilizzo.
Introduzione a Docker e alla Dockerizzazione.
Filosofia e progettazione Docker
Comandi principali per gesitere immagini, container, volumi e reti
Dockerfile e docker-compose
Valerio Radice @ Nextre (Maggio 2017)
TAG: docker , Dockerfile , docker-compose , italian , nextre
Nell'ultimo quinquennio un nuovo attore si è affacciato sulla scena dell'Information Technology, il suo nome è Docker. Con una crescita esponenziale ed una diffusione ancor più rapida, Docker ha trasformato il modo di percepire e utilizzare l'ICT. Una trasformazione così radicale ed estesa da non poter ignorare la domanda: Cos'è Docker?
Lo scopo di questa giornata è di fornire una risposta a questo interrogativo, mostrando ai partecipanti nuovi scenari, per le realtà dell'Università e della Ricerca, grazie alle possibilità che Docker offre.
Latini Giuliano li guiderà lungo un percorso articolato secondo questi temi:
- Infrastruttura, Isolamento, Idempotenza e DevOps ovvero i vantaggi e i vincoli della definizione formale di un'infrastruttura, concetti teorici e glossario;
- Docker, un facilitatore per utilizzare i Container e le tecnologie ad essi collegate;
- Container vs Hypervisor, le due facce della stessa medaglia: pro, contro ed esempi d'uso;
- Dalla Vm alla Infrastruttura di Servizi, un modo per rimescolare le carte a nostro vantaggio;
- Sviluppo software: esempio d'uso di Docker nello sviluppo di una procedura PHP;
- Gestione di Sistemi: esempio di un'infrastruttura Wordpress organizzata a servizi, definizione formale implementata con Docker;
- Docker Swarm la clusterizzazione ed alta affidabilità, come il sistema risponde e si adatta alle sollecitazioni esterne in un sistema di calcolo;
L'obiettivo finale è fornire ai partecipanti un gruppo di concetti ed esempi grazie ai quali poter approfondire autonomamente Docker, personalizzandone l'uso per le proprie necessità; in alternativa ad una trattazione dettagliata ed esaustiva di tutti i temi illustrati, impossibile nel tempo a disposizione.
A conclusione del corso verrano messi a disposizione, come materiale didattico da approfondire: slide, esempi e bibliografia di riferimento.
Parleremo di come configurare e utilizzare Docker in un progetto Laravel per uno sviluppatore che si inserisce in un nuovo Team per la prima volta. Prendedermo come esempio alcuni progetti già pre-costituiti come Laravel Homestead e Laradock fino ad arrivare ad a costruire un ambiente docker più strutturato con Laravel, Redis, Memcached, Laravel Echo Server per avere un ambiente facilmente deployable sul cloud.
Distribuire una libreria Java per usarla come dipendenza gradlePaolo Montalto
L'utilizzo di dipendenze software è una tecnica entrata già da tempo nella pratica quotidiana di ciascun buon programmatore. I suoi vantaggi sono indubbi ma non tutti sanno come funzionano le dipendenze e come sia possibile rendere disponibile pubblicamente la propria libreria.
In questo talk cerco di spiegare per quale motivo è importante utilizzare dipendenze software, come funzionano, perché può essere utile pubblicare le proprie librerie e come è possibile farlo, mostrando un caso reale basato su Gradle.
Benvenuto nel nostro approfondimento interattivo sul Java, il linguaggio di programmazione Object-Oriented ampiamente adottato, conosciuto per la sua robustezza, sicurezza e portabilità. Questa presentazione è il tuo gateway per comprendere il perché Java, con la sua sintassi intuitiva e la famosa piattaforma indipendente, continua a essere il pilastro dello sviluppo di software in vari ambienti operativi. Scoprirai i meccanismi alla base della Java Virtual Machine (JVM) e come la piattaforma Java fornisce una base ineguagliabile per lo sviluppo di applicazioni enterprise, mobile e web di alto livello. Dal principiante appassionato di tecnologia al veterano dello sviluppo software, immergiti nella lingua che ha ridefinito i codici della programmazione.
WASM promised to made web apps much faster, and so a growing number of application can move on the web.
It happen that WASM is also relevant on the server, thanks to WASI (WebAssemby System Interface) that allow programs compiled in WASM to access the server system calls.
The WASM bytecode is very small in size, also fast, and safe as the WASM specifications was written with the browser and the web in mind (we have a long experience on security issues and learned a lot from that).
Docker launched a beta version of Docker Desktop that allow running WASM binaries without an image.
Let's look what that means and how can it be cool to have this in the future.
The async/await paradigm is implemented in a variety of different popular programming languages, but it is not the same thing everywhere.
In this presentation I'll show you an overview of the basic asyncrounous programming in Rust "flavor".
We will se the why the community had decided to introduce this paradigm, and how it has matched some critical aspects with the Rust philosophy.
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
Pitch presentato al Linux Day 2015 a Palermo su Vagrant e docker per confrontarli, scegliere ed iniziare. Partendo dal concetto di virtualizzazione, proseguendo con l'analisi delle due soluzioni fino a dare cenni sull'installazione ed un primo utilizzo.
Introduzione a Docker e alla Dockerizzazione.
Filosofia e progettazione Docker
Comandi principali per gesitere immagini, container, volumi e reti
Dockerfile e docker-compose
Valerio Radice @ Nextre (Maggio 2017)
TAG: docker , Dockerfile , docker-compose , italian , nextre
Nell'ultimo quinquennio un nuovo attore si è affacciato sulla scena dell'Information Technology, il suo nome è Docker. Con una crescita esponenziale ed una diffusione ancor più rapida, Docker ha trasformato il modo di percepire e utilizzare l'ICT. Una trasformazione così radicale ed estesa da non poter ignorare la domanda: Cos'è Docker?
Lo scopo di questa giornata è di fornire una risposta a questo interrogativo, mostrando ai partecipanti nuovi scenari, per le realtà dell'Università e della Ricerca, grazie alle possibilità che Docker offre.
Latini Giuliano li guiderà lungo un percorso articolato secondo questi temi:
- Infrastruttura, Isolamento, Idempotenza e DevOps ovvero i vantaggi e i vincoli della definizione formale di un'infrastruttura, concetti teorici e glossario;
- Docker, un facilitatore per utilizzare i Container e le tecnologie ad essi collegate;
- Container vs Hypervisor, le due facce della stessa medaglia: pro, contro ed esempi d'uso;
- Dalla Vm alla Infrastruttura di Servizi, un modo per rimescolare le carte a nostro vantaggio;
- Sviluppo software: esempio d'uso di Docker nello sviluppo di una procedura PHP;
- Gestione di Sistemi: esempio di un'infrastruttura Wordpress organizzata a servizi, definizione formale implementata con Docker;
- Docker Swarm la clusterizzazione ed alta affidabilità, come il sistema risponde e si adatta alle sollecitazioni esterne in un sistema di calcolo;
L'obiettivo finale è fornire ai partecipanti un gruppo di concetti ed esempi grazie ai quali poter approfondire autonomamente Docker, personalizzandone l'uso per le proprie necessità; in alternativa ad una trattazione dettagliata ed esaustiva di tutti i temi illustrati, impossibile nel tempo a disposizione.
A conclusione del corso verrano messi a disposizione, come materiale didattico da approfondire: slide, esempi e bibliografia di riferimento.
Parleremo di come configurare e utilizzare Docker in un progetto Laravel per uno sviluppatore che si inserisce in un nuovo Team per la prima volta. Prendedermo come esempio alcuni progetti già pre-costituiti come Laravel Homestead e Laradock fino ad arrivare ad a costruire un ambiente docker più strutturato con Laravel, Redis, Memcached, Laravel Echo Server per avere un ambiente facilmente deployable sul cloud.
Distribuire una libreria Java per usarla come dipendenza gradlePaolo Montalto
L'utilizzo di dipendenze software è una tecnica entrata già da tempo nella pratica quotidiana di ciascun buon programmatore. I suoi vantaggi sono indubbi ma non tutti sanno come funzionano le dipendenze e come sia possibile rendere disponibile pubblicamente la propria libreria.
In questo talk cerco di spiegare per quale motivo è importante utilizzare dipendenze software, come funzionano, perché può essere utile pubblicare le proprie librerie e come è possibile farlo, mostrando un caso reale basato su Gradle.
Benvenuto nel nostro approfondimento interattivo sul Java, il linguaggio di programmazione Object-Oriented ampiamente adottato, conosciuto per la sua robustezza, sicurezza e portabilità. Questa presentazione è il tuo gateway per comprendere il perché Java, con la sua sintassi intuitiva e la famosa piattaforma indipendente, continua a essere il pilastro dello sviluppo di software in vari ambienti operativi. Scoprirai i meccanismi alla base della Java Virtual Machine (JVM) e come la piattaforma Java fornisce una base ineguagliabile per lo sviluppo di applicazioni enterprise, mobile e web di alto livello. Dal principiante appassionato di tecnologia al veterano dello sviluppo software, immergiti nella lingua che ha ridefinito i codici della programmazione.
WASM promised to made web apps much faster, and so a growing number of application can move on the web.
It happen that WASM is also relevant on the server, thanks to WASI (WebAssemby System Interface) that allow programs compiled in WASM to access the server system calls.
The WASM bytecode is very small in size, also fast, and safe as the WASM specifications was written with the browser and the web in mind (we have a long experience on security issues and learned a lot from that).
Docker launched a beta version of Docker Desktop that allow running WASM binaries without an image.
Let's look what that means and how can it be cool to have this in the future.
The async/await paradigm is implemented in a variety of different popular programming languages, but it is not the same thing everywhere.
In this presentation I'll show you an overview of the basic asyncrounous programming in Rust "flavor".
We will se the why the community had decided to introduce this paradigm, and how it has matched some critical aspects with the Rust philosophy.
"Fearless Concurrency" is the promise Rust make to those that use to multi-thread programming.
How it is well known from programmers, dealing with multi-threads programming means sove a complex problem, where errors can rise from unexpected situations.
With Rust the language will take care to provide constructs that made simple handling those issues, forcing the programmer to use the needed discipline throught the Ownership rules and the Type System.
How is Rust able to enforce safety in your code?
The simple answer to this question is: the borrow checker.
This presentation is an overview on the language concepts that helps the developer to allocate and deallocate memory in an efficient way just like in C/C++, and also safe.
Rust learnt from C/C++ design patterns and included those in the language, adding the concept of Ownership and Borrowing.
3. Cos'è un LXC (Linux Container)
E’ un programma in user space che emula un
sistema operativo.
Sfrutta il kernel che lo ospita, ma tiene separati
i contesti.
5. Che cosa è Docker
Docker container
libs / tools
Your App
Docker daemon
Docker
Registry
Docker
client
6. Che cosa è il Dockerfile
●
FROM java:7-jre
●
●
ENV CATALINA_HOME /usr/local/tomcat
●
ENV PATH $CATALINA_HOME/bin:$PATH
●
RUN mkdir -p "$CATALINA_HOME"
●
WORKDIR $CATALINA_HOME
7. Che cosa è il Dockerfile 2
●
# see https://www.apache.org/dist/tomcat/tomcat-8/KEYS
●
RUN gpg --keyserver pool.sks-keyservers.net --recv-keys
●
05AB33110949707C93A279E3D3EFE6B686867BA6
●
07E48665A34DCAFAE522E5E6266191C37C037D42
●
...
●
●
ENV TOMCAT_MAJOR 6
●
ENV TOMCAT_VERSION 6.0.44
●
ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-
$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-
$TOMCAT_VERSION.tar.gz
8. Che cosa è il Dockerfile 3
●
RUN set -x
●
&& curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz
●
&& curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc
●
&& gpg --verify tomcat.tar.gz.asc
●
&& tar -xvf tomcat.tar.gz --strip-components=1
●
&& rm bin/*.bat
●
&& rm tomcat.tar.gz*
●
●
EXPOSE 8080
●
CMD ["catalina.sh", "run"]
9. DockerHub
Docker Hub: registry pubblico/privato
Docker registry: registry locale (aziendale)
Docker Trusted Registry: servizio a pagamento
10. DockerHub
Docker Hub: registry pubblico/privato
Docker registry: registry locale (aziendale)
Docker Trusted Registry: servizio a pagamento