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
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Gerardo Di Iorio
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Andremo alla scoperta di Git (https://git-scm.com/), un source control che si ad
atta alle esigenze degli sviluppatori, ottimizeremo il codice passando per l'app
roccio del Continuous Integration ed in fine useremo Docker (https://www.docker.
com/) per deploy rapidi e scalabili.
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
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Gerardo Di Iorio
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Andremo alla scoperta di Git (https://git-scm.com/), un source control che si ad
atta alle esigenze degli sviluppatori, ottimizeremo il codice passando per l'app
roccio del Continuous Integration ed in fine useremo Docker (https://www.docker.
com/) per deploy rapidi e scalabili.
History and Basics of containers, LXC, Docker and Kubernetes. This presentation is given to Engineering colleage students at VIT DevFest 2018. Beginner to Intermediate level.
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps.
Learn More: http://www.collabnix.com
In this talk we will discuss how to build and run containers without root privileges. As part of the discussion, we will introduce new programs like fuse-overlayfs and slirp4netns and explain how it is possible to do this using user namespaces. fuse-overlayfs allows to use the same storage model as "root" containers and use layered images. slirp4netns emulates a TCP/IP stack in userland and allows to use a network namespace from a container and let it access the outside world (with some limitations).
We will also introduce Usernetes, and how to run Kubernetes in an unprivileged user namespace
https://sched.co/Jcgg
Docker is one of the fastest-growing open source projects ever, and the ecosystem that has grown around it is evolving at a similar pace. For these reasons, we want to introduce developers, system administrators, and other computer users of a mixed skillset to the Docker project and Linux container concepts.
Paul Angus - CloudStack Backup and Recovery FrameworkShapeBlue
This presentation will demonstrate the long awaited Backup & Recovery Framework feature. The presentation will feature a real-world demonstration as well explain the design philosophy and how the feature has been built to be agnostic of the backend Backup and Recovery software in use.
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps.
History and Basics of containers, LXC, Docker and Kubernetes. This presentation is given to Engineering colleage students at VIT DevFest 2018. Beginner to Intermediate level.
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps.
Learn More: http://www.collabnix.com
In this talk we will discuss how to build and run containers without root privileges. As part of the discussion, we will introduce new programs like fuse-overlayfs and slirp4netns and explain how it is possible to do this using user namespaces. fuse-overlayfs allows to use the same storage model as "root" containers and use layered images. slirp4netns emulates a TCP/IP stack in userland and allows to use a network namespace from a container and let it access the outside world (with some limitations).
We will also introduce Usernetes, and how to run Kubernetes in an unprivileged user namespace
https://sched.co/Jcgg
Docker is one of the fastest-growing open source projects ever, and the ecosystem that has grown around it is evolving at a similar pace. For these reasons, we want to introduce developers, system administrators, and other computer users of a mixed skillset to the Docker project and Linux container concepts.
Paul Angus - CloudStack Backup and Recovery FrameworkShapeBlue
This presentation will demonstrate the long awaited Backup & Recovery Framework feature. The presentation will feature a real-world demonstration as well explain the design philosophy and how the feature has been built to be agnostic of the backend Backup and Recovery software in use.
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps.
Linux è ampiamente usato in area server, ma permane la "leggenda metropolitana" che non sia ancora una valida alternativa per il desktop, perché difficile da installare da parte di non esperti o mancante di funzionalità comunemente richieste dagli utenti. Spesso, quando si cerca di approfondire e si chiede su che cosa si basa questa convinzione, si scopre che sono preconcetti basati su esperienze vecchie di anni. La realtà è ben diversa: oggi le maggiori distribuzioni sono facili da installare e ricche di applicazioni già pronte all'uso. Se rispetto ai più diffusi OS proprietari la gestione dei formati multimediali può non essere completa e alcune applicazioni commerciali non sono disponibili, questo non è un ostacolo all'utilizzo di un desktop Linux per l'area della produttività personale. Una postazione di lavoro con tutto quello che l'utente medio utilizza quotidianamente in ufficio può essere rapidamente approntata con il DVD di installazione di una moderna distribuzione Linux non commerciale, azzerando il costo delle licenze software di sistema operativo, applicazioni di ufficio e "accessori" come antivirus e firewall, e guadagnando in sicurezza e prestazioni.
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Annunciato per la prima volta nel 2013 a Santa Clara durante l’annuale conferenza per sviluppatori Python, Docker è diventato uno strumento maturo utilizzato da molti webmaster e sviluppatori per creare, testare e distribuire applicazioni più rapidamente.
I più famosi CMS come WordPress, Drupal e Joomla possono essere installati su Docker funzionante sul vostro PC, permettendovi di risparmiare tempo nello sviluppo e nelle fasi di prova ed evitando tutti gli inconvenienti che possono nascere invece con le virtualizzazioni.
Distribuzione più rapida del software, risparmio economico e trasferimenti ottimizzati sui siti di produzione sono solo alcuni dei vantaggi più evidenti dell'uso di Docker.
Ne parliamo con Mauro Cicolella, consulente IT, sviluppatore dall'esperienza decennale, che cura il canale Youtube EmmeCiLab dedicato all'Informatica e alla Matematica.
una panoramica sulle distro (distribuzioni) debian-like - linux day 2009 - itis divini, 24 otobre 2009 - Carlo Guerrini - camelug ( www.camelug.it )
Vedi album foto
http://www.flickr.com/photos/divini/sets/72157622536133409/
Corso base linux, percorre i concetti fondamentali per l'amministrazione di una distribuzione linux. In particolar modo, ci sofferma su: file system, partizionamento, shell, bash, kernel, distribuzioni, amministrazione utenti, sicurezza e cron. Sono presenti alcuni esercizi pratici di programmazione bash per una comprensione pratica dello strumento.
Introduzione alla piattaforma documentale Alfresco.
Presentazione Generale della Piattaforma
- Document Management
- Record Management
- Web Content Management
L’Architettura
- I Componenti Open Source
- I Protocolli e gli Standard Supportati
- Standard JSR-170
Estendere il Modello dei Contenuti
- Custom Data Model
- Esempi
Comunicare con il Repository
- Web Script
- Esempi
Il Modello Relazionale Dei Dati
Il Workflow
- Il Simple Workflow
- Il Workflow Avanzato
Alfresco Share
- Le API di Alfresco
- API RAAR
Conclusioni
Uno dei principali motivi per adottare un approccio DevOps è di soddisfare le richieste di mercato nel minor tempo possibile: ciò è possibile se un nostro prodotto ha una architettura ben composta e flessibile. In questo contesto, i microservizi sono un'ottima scelta: per la loro natura rappresentano l'approccio architetturale migliore per adottare una cultura DevOps e mantenere la complessità bassa. In questa sessione parleremo sia di aspetti architetturali che pratici relativi alla fusione di questi due mondi.
Uno dei principali motivi per adottare un approccio DevOps è di soddisfare le richieste di mercato nel minor tempo possibile: ciò è possibile se un nostro prodotto ha una architettura ben composta e flessibile. In questo contesto, i microservizi sono un'ottima scelta: per la loro natura rappresentano l'approccio architetturale migliore per adottare una cultura DevOps e mantenere la complessità bassa. In questa sessione parleremo sia di aspetti architetturali che pratici relativi alla fusione di questi due mondi.
Azure Synapse: data lake & modern data warehouse dalla A alla ZRoberto Messora
Con Azure Synapse abbiamo finalmente a disposizione un ambiente integrato in cui poter implementare compiutamente un modern Data Warehouse. Abbiamo ormai capito sul campo che non ha senso mettere in competizione fra di loro data lake e data warehouse, con Azure Synapse la piena collaborazione fra di loro diventa il punto di forza di una strategia sui dati che unifica in un unico ambiente data ingestion, data preparation e analytics.In questa sessione verrà mostrato come Azure Synapse permetta di fare tutto questo a partire dal dato grezzo proveniente dalle più svariate fonti dati.
Azure Data Factory: l'evoluzione della specie della data integrationRoberto Messora
Microsoft definisce Azure Data Factory come un servizio gestito di hybrid data integration, una descrizione fin troppo generica per una delle componenti più importanti della cloud data platform.
In questa sessione entreremo nel merito delle funzionalità offerte da Data Factory, degli scenari di data integration supportati e delle opzioni di security soprattutto in contesti ibridi cloud/on-premise.
Scopriremo che trasferire e trasformare dati nel cloud può essere semplice e relativamente poco costoso.
Analytics, machine e deep learning, data/event streaming
Big data streaming: abilitare la macchina del tempo
Real time event streaming e nuovi paradigmi concettuali:
- Transazioni distribuite
- Consistenza eventuale
- Proiezioni materializzate
Real time event streaming e nuovi paradigmi architetturali:
- Enterprise service bus
- Event store
- Database delle proiezioni
Cenni di Domain Driven Design: una visione strategica della modellazione del proprio dominio di business nell'era dei bi Data.
Sviluppare un'applicazione web basata su ASP.NET Core nel mondo reale con Visual Studio Code
Codice della demo:
https://github.com/robymes/JoinTheExpert-WebDay
L'avvento dei container nello scenario IT ci fornisce una soluzione in più per il consolidamento dei nostri server di esercizio. In questa sessione vedremo come utilizzare Docker al fine di effettuare il deploy di una soluzione che utilizza alcune delle applicazioni più diffuse, sia on-premise che in-the-cloud, Azure o Amazon che sia, in modo da ridurre drasticamente l'incertezza dei side-effect di ambiente passando da uno all'altro.
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extensionRoberto Messora
Real time monitoring and Internet of Things are key success factors in many business activities.
In this presentation we will show how we solved a common issue in managing a large number of different types of event per second that contain some sort of geographical information.
We built a processing pipeline leveraging the high ingestion capabilities of Windows Azure Event Hub and Stream Analytics, then applying location analytics procedures with ArcGIS GeoEvent Processor.
In this way we can select just the informations we need to be processed by the ArcGIS platform, reducing the number of events and normalizing data content.
Code quality e test automatizzati con JavaScriptRoberto Messora
JavaScript è ormai ovunque nel mondo dello sviluppo web, è sbarcato persino sul server, la produzione di codice è aumentata a dismisura, framework e librerie sono spuntati come funghi, ma... siamo sicuri di mandare in produzione codice di qualità? quali strumenti e quali tecniche abbiamo a disposizione per aumentare la confidenza circa la bontà di ciò che scriviamo? Quali strategie possiamo adottare per migliorare il ciclo di vita delle nostre soluzioni e le attività di sviluppo?
In questa sessione proveremo a illustrare come organizzare la codebase di una tipica solution JavaScript, quali strategie adottare per migliorare la qualità del codice a cominciare dallo unit testing, quali strumenti utilizzare per automatizzare tutte le attività ripetitive a valle della scrittura del codice,
L'obiettivo è quello di proporre un modo per disciplinare le attività di sviluppo e rendere il più possibile confortevole la vita professionale dello sviluppatore web.
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione ci occuperemo di tutti quegli aspetti di organizzazione di una solution in termini di codebase, unit testing e processo di build, presentando alcuni strumenti che stanno emergendo fra quelli disponibili.
Demo: http://www.communitydays.it/events/2014-Roma/web02/
Abbiamo sdoganato JavaScript a tutti i livelli: è diventato un linguaggio di programmazione di prima classe e ne abbiamo cominciato a conoscere i segreti e le caratteristiche. Ma non basta, le applicazioni web client si fanno sempre più complesse e non è pensabile fare debug solo a colpi di F5 e Firebug. In questa sessione vi svelerò un segreto: anche in Javascript è possibile fare Unit Testing, darò alcune indicazioni su come organizzare la codebase in modo da farlo con intelligenza.
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione proveremo a capire che cosa sia una SPA a partire dal ruolo centrale che riveste Javascript sia in termini di librerie di base che di organizzazione del codice applicativo. Affronteremo anche temi inerenti la UI, i servizi di back-end, lo unit testing, la security, il mobile in modo da offrire un panorama completo di che cosa sia in effetti una SPA HTML5.
Javascript avanzato: sfruttare al massimo il webRoberto Messora
Javascript è uno dei linguaggi più sottovalutati e più incompresi dell'intero panorama dei linguaggi di programmazione, eppure è anche uno dei più utilizzati.
Da una parte le molteplici e differenti declinazioni degli strumenti di navigazione web, dall'altra l'infelice scelta storica di usare il termine "script", hanno contribuito alla creazione del mito di un linguaggio poco rigoroso, al servizio di ogni sorta di trucco o pezza di codice.
La verità invece racconta di un linguaggio dinamico ad oggetti a tutti gli effetti, con caratteristiche molto interessanti, seppur con qualche difetto, ma soprattutto un linguaggio che, sull'onda di HTML5, rivestirà se possibile ancora più importanza nell'immediato futuro.
In questa sessione verranno presentati aspetti poco conosciuti, ma molto importanti, di Javascript (scoping, hoisting, closures, ecc.), verranno presentati alcuni design patterns che permettono di strutturare in maniera intelligente le nostre librerie applicative in funzione della manutenibilità e delle performance, senza tralasciare, ove possibile, uno sguardo ad alcuni framework come jQuery o KnockoutJS.
Con l'avvento su scala globale di HTML5 le tecnologie web si sono evolute cercando di offrire all'utente una migliore esperienza applicativa sempre più simile a quella desktop. Sul piano tecnico questo viene realizzato spostando la logica di presentazione sul browser client facendo leva su Javascript e CSS3. In questa sessione vedremo come KnockoutJS, un presentation framework Javascript basato sul pattern Model-View-ViewModel, permette di sviluppare Rich Internet Application (RIA) analizzando le sue caratteristiche implementative e mostrando esempi di casi reali anche in ambito mobile.
MV* presentation frameworks in Javascript: en garde, pret, allez!Roberto Messora
HTML5 is the playing area, the strip, Javascript presentation frameworks are the fences and they are fierce and proud. In this presentation we will attend an interesting match between two of the emerging contenders in the MV* family: KnockoutJS and BackboneJS. We'll try to understand how they solve the same issues in modern web software development to better decide which one is suitable in our scenario.
3. L’esigenza
• Minimizzare fino ad eliminare il problema del deployment
in diversi ambienti di esecuzione
• Ottimizzare al massimo l'uso delle risorse hw (startup time
e densità di allocazione)
1/19
Capitolo 1
6. La tecnologia
“A container image is a lightweight, stand-alone, executable
package of a piece of software that includes everything
needed to run it: code, runtime, system tools, system
libraries, settings. Available for both Linux and Windows
based apps, containerized software will always run the
same, regardless of the environment. Containers isolate
software from its surroundings, for example differences
between development and staging environments and help
reduce conflicts between teams running different software
on the same infrastructure.”
4/19
Capitolo 2
7. Un po’ di storia
5/19
• Sviluppato inizialmente come progetto interno in dotCloud,
una società che si occupava di servizi PaaS
• Pubblicato su github come progetto open source nel
Marzo 2013
• Nel Marzo 2014 viene rilasciata la sua principale libreria,
libcontainer, sviluppata in Go
• Fra i maggiori contributori del progetto ci sono: il team di
Docker, Cisco, Google, Huawei, IBM, Microsoft, Red Hat
8. Dockersu Linux
6/19
• Docker è un progetto open-source che automatizza il
deployment di applicazioni all'interno di container software,
fornendo un'astrazione addizionale grazie alla
virtualizzazione a livello di sistema operativo di Linux
• Utilizza le funzionalità di isolamento delle risorse del kernel
Linux per consentire a container indipendenti di coesistere
sulla stessa istanza di Linux, evitando l'installazione e la
manutenzione di una macchina virtuale
• Le risorse possono essere isolate, i servizi limitati ed i
processi avviati in modo da avere una prospettiva
completamente privata del sistema operativo, col loro
proprio identificativo, file system ed interfaccia di rete
9. Dockersu Linux
7/19
• Namespace del kernel: isolano ciò che l'applicazione
può vedere dell'ambiente operativo (l'albero dei processi,
la rete, gli ID utente ed i file system montati)
• Cgroups del kernel: isolamento delle risorse (CPU,
memoria, I/O a blocchi, rete)
• Libreria libcontainer: uso delle funzionalità di
virtualizzazione del kernel
12. Dockersu Windows
10/19
• Con Windows Server 2016 Docker è disponibile
nativamente anche su Windows
• I principi di base sono gli stessi di Linux: accesso limitato
e controllato alle risorse del kernel
• Un container Linux NON può essere ospitato su un host
Windows e viceversa: i kernel sono differenti, le API
utilizzate dal container sono specifiche per i due sistemi
operativi (API Windows e API Linux)
• Un client Docker è in grado di supportare entrambe le API:
un solo prodotto per enrambi i sistemi operativi
13. Dockersu Windows
11/19
• I container Windows sono di due tipi
• Windows Container: i container condividono il kernel
con il sistema operativo host (Windows Server 2016),
altamente efficienti, ma adatti per ambienti trusted
• Hyper-V Container: ad ogni container è assegnato un
kernel virtualizzato e le relative risorse (CPU, memoria,
…), meno efficienti, ma isolamento totale
14. L’ecosistema
L’ecosistema Docker è composto da una serie di elementi
• Docker Engine
• Docker Machine
• Docker Compose
• Docker Swarm
• Docker Registry
12/19
Capitolo 3