8 Novembre 2019 @ ContainerDay (GrUSP) / Bologna
Con l'acronimo KISS (Keep It Simple and Stupid) si evoca un modo di fare software antico: la UNIX Way. Ma non è tutto racchiuso lì dentro, si tratta piuttosto di una filosofia progenitrice del movimento DevOps. Declinata oggi nel mondo Linux da migliaia di tecnici e organizzazioni, che include assunti come modularità, semplicità, composizione e chiarezza nel fare. Tutto evolve portandosi dietro principi solidi e al tempo stesso pronti al cambiare: dai modelli open-source ai flussi Git, dalla gestione dei pacchetti ai container, dalle infrastrutture a risorse finite agli orchestratori del cloud; fino a mescolare le definizioni stesse di sistema operativo e applicazione tra user-space e kernel-space. Henry Spencer, padre delle RegEx, scrisse coloro che non capiscono Unix sono condannati a inventarlo di nuovo. In questo talk racconto ciò che ho imparato da questa filosofia che già in tempi non sospetti si occupava di sistemi complessi, e ha ancora molto da regalare a chi è coinvolto nella produzione e nel mantenimento di software.
Intervento al Linux Day 2010@Pisa, organizzato da parte del GULP. L'intervento ha l'obiettivo di presentare il sistema Ubuntu mostrandone gli aspetti principali
Intervento al Linux Day 2010@Pisa, organizzato da parte del GULP. L'intervento ha l'obiettivo di presentare il sistema Ubuntu mostrandone gli aspetti principali
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.
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
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
LinuxDay - 10/2012
Una panoramica su qualche software opensource da usare in ufficio o nella piccola azienda. Quello che ho imparato.
Browser, Mail, Office, Backup, Encrypt, versioning con GIT, PDF, Video, Audio. Un crm Opensource: vTiger.
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.
Durante la sessione verrà esplorato il panorama offerto da Microsoft Azure per implementare servizi basati su Linux. Dopo una rapida introduzione, il talk si concentrerà sulla creazione di: una VM RedHat, una Webapp .NET Core e un cluster ACS con Docker Swarm. Saranno descritti i passi necessari per lo startup di un ambiente su cui testare le potenzialità offerte da questi approcci infrastrutturali in Microsoft Azure.
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/
Esperimenti Kanban: tra economia e teoria delle code.Fabio Mora
9 Novembre 2019 @ Italian Agile Days (Italian Agile Movement) / Modena
Ci sono un team, un processo, una kanban-board, delle metriche e... La Domanda: «quanto metti a fare...?». Stime o no, ci concentriamo spesso sul tempo lavorazione (process-time). Ma proviamo ad allargare l'orizzonte al tempo di completamento (lead-time): «quanto stai in attesa?», «quanto impieghi a consegnare?».
Classifichiamo le lavorazioni per varianza e prevedibilità, poi facciamoci aiutare da una conoscenza già nota a tecnici e sistemisti: la teoria delle code. Quanto conviene fare in contemporanea (batch-size)? È pericoloso lavorare al 100% delle capacità?
Qualche riflessione su come un team di prodotto potrebbe far meglio, tra: Product Development Flow e Lean, Economic Lot Size e Work-in-Progress-limit, Little’s Law e modelli stocastici.
Italian Agile Days - 18 November 2017, Urbino
Abbiamo smesso di parlare di Agile. Perché lo diamo per scontato, perché è nel DNA delle aziende, perché è mainstream!
Ma continuiamo ad arrabbiarci, a lamentarci che i processi non funzionano e “Sì, da noi facciamo Agile, ma...”. Abbiamo smesso di parlare di Agile. Abbiamo smesso di fare XP. Perché? Racconto principi, valori e anti-pattern. Magari pratiche. Ve lo ricordate XP? É uno dei metodi agili più antichi, prometteva di rendere possibile costruire software che funziona, con costi ragionevoli.
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.
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
Linux & Tools: per la piccola azienda e i freelanceFabio Mora
LinuxDay - 10/2012
Una panoramica su qualche software opensource da usare in ufficio o nella piccola azienda. Quello che ho imparato.
Browser, Mail, Office, Backup, Encrypt, versioning con GIT, PDF, Video, Audio. Un crm Opensource: vTiger.
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.
Durante la sessione verrà esplorato il panorama offerto da Microsoft Azure per implementare servizi basati su Linux. Dopo una rapida introduzione, il talk si concentrerà sulla creazione di: una VM RedHat, una Webapp .NET Core e un cluster ACS con Docker Swarm. Saranno descritti i passi necessari per lo startup di un ambiente su cui testare le potenzialità offerte da questi approcci infrastrutturali in Microsoft Azure.
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/
Esperimenti Kanban: tra economia e teoria delle code.Fabio Mora
9 Novembre 2019 @ Italian Agile Days (Italian Agile Movement) / Modena
Ci sono un team, un processo, una kanban-board, delle metriche e... La Domanda: «quanto metti a fare...?». Stime o no, ci concentriamo spesso sul tempo lavorazione (process-time). Ma proviamo ad allargare l'orizzonte al tempo di completamento (lead-time): «quanto stai in attesa?», «quanto impieghi a consegnare?».
Classifichiamo le lavorazioni per varianza e prevedibilità, poi facciamoci aiutare da una conoscenza già nota a tecnici e sistemisti: la teoria delle code. Quanto conviene fare in contemporanea (batch-size)? È pericoloso lavorare al 100% delle capacità?
Qualche riflessione su come un team di prodotto potrebbe far meglio, tra: Product Development Flow e Lean, Economic Lot Size e Work-in-Progress-limit, Little’s Law e modelli stocastici.
Italian Agile Days - 18 November 2017, Urbino
Abbiamo smesso di parlare di Agile. Perché lo diamo per scontato, perché è nel DNA delle aziende, perché è mainstream!
Ma continuiamo ad arrabbiarci, a lamentarci che i processi non funzionano e “Sì, da noi facciamo Agile, ma...”. Abbiamo smesso di parlare di Agile. Abbiamo smesso di fare XP. Perché? Racconto principi, valori e anti-pattern. Magari pratiche. Ve lo ricordate XP? É uno dei metodi agili più antichi, prometteva di rendere possibile costruire software che funziona, con costi ragionevoli.
Fabio Mora - http://fabiomora.com
PHP User Group Milano / 21 June 2017, 19.30
In large scale web applications, design, draft, write and validate the value of a feature is a process that requires attention and care. Developers risk tech-debt, products managers need lo learn fast and have feedback on tests’ results, users need an available site and a consistent UX.
In a practical way I’ll present one of the many ways to balance all stakeholder needs. The mix includes Feature Branching, Feature Toggling, a PHP solution to control rollouts (by quotes, switch, percentage) and the monitoring, telemetry with an analytics platform and a backend time-series databases. All together with some very quick A/B testing statistical background. Plus: quick overview of lesson learned.
Continuous Delivery di una WebApp - by exampleFabio Mora
Codemotion Rome - 27 Marzo 2015
Una feature non è completa finché non è nelle mani di chi la deve usare. Solo da lì inizia a produrre valore, sia economico o feedback. Che si tratti di master, preview o prod, con l’automazione delle build si possono evitare operazioni ripetitive, complesse, risparmiare tempo ed ottenere interessanti metriche. Tutto al fine di arrivare a poter rilasciare ogni poche ore (ogni volta che la build è verde!). Una overview di una delle 12 pratiche di Extreme Programming: continuous integration (e delivery) con gli strumenti al momento più interessanti. Esempio con una webapp in PHP.
L’elefante nella stanza! [con LiquidO™] - Codemotion 2014Fabio Mora
Essere developer Agili ma lavorare con il management tradizionale è una sfida: significa evolvere vincolati da distanza tra chi “chi decide” e “chi fa”. Recentemente però ho sperimentato sul campo la creazione di un modello d'azienda diverso. Come? Una kanban con un flow nuovo, processi decisionali adatti all’intelligenza collettiva, un sistema di stima del valore generato ed uno di reputazione interna. Un filone di aziende a governance “liquida” sta crescendo e potrebbe abilitare una delle prossime evoluzioni di Extreme Programming. Affrontare problemi, gap di onwership alla nascita é vitale!
L’elefante nella stanza! [con LiquidO™] Fabio Mora
Essere dev Agili ma lavorare con il management tradizionale è una sfida: evolvere vincolati da distanza tra chi “chi decide” e “chi fa”. Ho sperimentato sul campo un modello d’azienda diverso. Come? Una kanban con un flow nuovo, processi decisionali adatti all’intelligenza collettiva, un sistema di stima del valore generato ed uno di reputazione interna. Un filone di aziende a governance “liquida” sta crescendo e potrebbe abilitare una nuova evoluzione di modelli organizzativi d’impresa.
Una user story non è completa finché non è nelle mani di chi la deve usare. Solo da lì inizia a produrre valore, sia esso economico o sia feedback. Che si tratti di master, preview o production, con l’automazione delle build si possono evitare operazioni ripetitive, complesse, risparmiare tempo, ottenere interessanti metriche sul codice, tutto al fine di arrivare a poter rilasciare ogni poche ore (o, se volete, ogni volta che la build è verde!). Farlo in modo frequente è possibile anche con Symfony2. Mettiamo in pratica con un esempio una delle 12 pratiche di Extreme Programming: continuous delivery e integration tra git, bash, Jenkins e strumenti deploy.
Il 4° punto del Manifesto Agile può essere molto complicato non solo in XP, ma anche sul piano personale, relazionale e caratteriale. Sono aspetti fondamentali e trasversali del lavoro (e non solo). Ma abbracciare il cambiamento non è esattamente nella natura umana; è sfidante, è difficile… Fortunatamente però siamo in grado di apprendere e modificare il nostro comportamento in modi infiniti. Per arrivare ad ottimi risultati.
Siete in una situazione in cui sapete di poter dare molto, ma non riuscite ad innescare la scintilla del cambiamento?
Oppure desiderate che un vostro collega, il vostro team lo facesse ed invece non sembra esserci speranza?
Nel management classico o tradizionale si leggono libri con titoli come “Gestione delle risorse umane e motivazione al lavoro”. Ma forse essere trattati come risorse e non persone non è più sufficiente, e poi non è molto efficace motivare al cambiamento attraverso trucchetti o persuasione. Qualche suggerimento per capire meglio perché è difficile, gli ingredienti utili per cambiare e per capire la motivazione.
Sempre tenendo presente che la “svolta indotta”, quella che inizia con “Da domani iniziamo a…” o “Ho deciso che da oggi…” è quella più difficile da portare avanti.
If "Embrace Change" is Hard (@milano-xpug)Fabio Mora
Il 3° dei "Basic Principles" di Kent Beck può essere molto complicato non solo in XP, ma anche sul piano personale, relazionale e caratteriale. Sono aspetti fondamentali e trasversali del lavoro (e non solo). Ma abbracciare il cambiamento non è esattamente nella natura umana; è sfidante, è difficile... Fortunatamente però siamo in grado di apprendere e modificare il nostro comportamento in modi infiniti. Per arrivare ad ottimi risultati.
Siete in una situazione in cui sapete di poter dare molto, ma non riuscite ad innescare la scintilla del cambiamento?
Oppure desiderate che un vostro collega, il vostro team lo facesse ed invece non sembra esserci speranza?
Nel management classico o tradizionale si leggono libri con titoli come "Gestione delle risorse umane e motivazione al lavoro". Ma forse essere trattati come risorse e non persone non è più sufficiente, e poi non è molto efficace motivare al cambiamento attraverso trucchetti o persuasione. Qualche suggerimento per capire meglio perché è difficile, gli ingredienti utili per cambiare e per capire la motivazione.
Sempre tenendo presente che la "svolta indotta", quella che inizia con "Da domani iniziamo a..." o "Ho deciso che da oggi..." è quella più difficile da portare avanti.
Perchè Agile? Cambiamenti culturali work in progress.Fabio Mora
7 giugno 2013 - ITIS G. Fauser, Novara
Cambiamenti culturali work in progress. Il mondo cambia da sempre. Ma come fare a seguire la rotta giusta?
Come possiamo trovare o fare un lavoro che ci piace?
Come possiamo diventare degli sviluppatori software bravi?Qualche storia e gli strumenti dati dalle metodologie Agili e dalla passione.
8 maggio 2013, XPug Milano @ Talent Garden
Ho iniziato a scrivere codice in un Linux User Group tempo fa. Anni dopo mi sono iscritto ad un I.T.I.S. di provincia dove sono diventato Perito Informatico. Nel frattempo ho fatto volontariato, lo stagista, poi il consulente. Ho conosciuto le persone giuste ed ho fatto l’imprenditore. Dopo aver venduto faccio il dipendente, e nuovamente impresa. Vorrei raccontare quello che ho imparato, delle scelte che ho fatto, di come ho misurato me stesso, delle responsabilità prese e dei fallimenti. Con qualche suggerimento per chi sta cercando di migliorare o cambiare la propria strada, pur rimanendo un developer entusiasta. Facendo ciò che più ci piace.
1. Fabio Mora
@fabiomora — fabiomora.com
Il contenuto è disponibile in licenza CC-BY-SA 4.0, salvo diversamente specificato. — Citazioni e [ref] a fine presentazione.
LA «UNIX WAY»
VISTA DA UN DEVOPS
9. “Futuro” del computing
Memorie elettroniche (RAM & dischi)
Consentono di caricare i programmi e dati, segnano la fine delle
schede perforate.
Multi-programmazione
Un solo mainframe può poter gestire più job in contemporanea.
Time-sharing
Il Sistema Operativo può mettere in pausa un job e proseguire
con l'esecuzione di un altro, salvando lo stato in memoria.
Spooling
Possibilità di comunicare con altri dispositivi (stampanti,
registratori magnetici) attraverso buffer o code.
10. “Futuro” del computing
Memorie elettroniche (RAM & dischi)
Consentono di caricare i programmi e dati, segnano la fine delle
schede perforate.
Multi-programmazione
Un solo mainframe può poter gestire più job in contemporanea.
Time-sharing
Il Sistema Operativo può mettere in pausa un job e proseguire
con l'esecuzione di un altro, salvando lo stato in memoria.
Spooling
Possibilità di comunicare con altri dispositivi (stampanti,
registratori magnetici) attraverso buffer o code.scheduling
automatico
11. “Futuro” del computing
Memorie elettroniche (RAM & dischi)
Consentono di caricare i programmi e dati, segnano la fine delle
schede perforate.
Multi-programmazione
Un solo mainframe può poter gestire più job in contemporanea.
Time-sharing
Il Sistema Operativo può mettere in pausa un job e proseguire
con l'esecuzione di un altro, salvando lo stato in memoria.
Spooling
Possibilità di comunicare con altri dispositivi (stampanti,
registratori magnetici) attraverso buffer o code.scheduling
automatico
sistemi
operativi
13. Arriva Unix
Unix nasce da un progetto troppo complesso: Multics
Nel 1969 Ken Thompson progettava un videogioco a tema
“spazio”. Desidera usare il time-sharing
15. Uno stile modulare di strutturazione dei sistemi.
Si procede per mattoncini piccoli, semplici, efficienti
e riutilizzabili.
Ci permette di gestire la complessità dei problemi
grazie all’uso di regole e principi infrastrutturali.
LA UNIX WAY
16. Uno stile modulare di strutturazione dei sistemi.
Si procede per mattoncini piccoli, semplici, efficienti
e riutilizzabili.
Ci permette di gestire la complessità dei problemi
grazie all’uso di regole e principi infrastrutturali.
LA UNIX WAY
La formulazione più “antica” include 4 principi
17. Principio #1
Ogni programma deve fare una sola cosa e bene
Meglio fare un nuovo programma che prenderne uno vecchio e aggiungere
funzionalità
18. Principio #1
Ogni programma deve fare una sola cosa e bene
Meglio fare un nuovo programma che prenderne uno vecchio e aggiungere
funzionalità
https://github.com/coreutils/coreutils/blob/master/src/tail.c
https://github.com/coreutils/coreutils/blob/master/src/head.c
19. Principio #1
Single Responsibility Principle
Un componente deve fare una sola cosa e bene
Open/Closed Principle
I nuovi requisiti (non funzionali) sono soddisfatti
aggiungendo componenti, non modificando quelli
esistenti
…OGGI
Robert C. Martin (Uncle Bob)
20. Principio #2
Ci aspettiamo che l’output (risultato) di tutti
programmi possa diventare l’input (dati in ingresso)
di altri programmi sconosciuti
Meglio evitare formati tabulari o binari per rappresentare i dati, così come
l’input interattivo.
21. Principio #2
Ci aspettiamo che l’output (risultato) di tutti
programmi possa diventare l’input (dati in ingresso)
di altri programmi sconosciuti
Meglio evitare formati tabulari o binari per rappresentare i dati, così come
l’input interattivo.
22. Principio #2
Ci aspettiamo che l’output (risultato) di tutti
programmi possa diventare l’input (dati in ingresso)
di altri programmi sconosciuti
Meglio evitare formati tabulari o binari per rappresentare i dati, così come
l’input interattivo.
25. Principio #3
Disegnate e costruite il software, inclusi i sistemi
operativi, perché vengano provati frequentemente.
Non esitate a buttare via parti goffe e rifarle da capo.
26. Principio #3
Disegnate e costruite il software, inclusi i sistemi
operativi, perché vengano provati frequentemente.
Non esitate a buttare via parti goffe e rifarle da capo.
28. Principio #4
Preferite gli strumenti adatti anche ai tecnici meno
esperti e alle applicazioni più leggere
Anche se avete bisogno di modificare la rotta per buttare via quelli vecchi.
29. Principio #4
Preferite gli strumenti adatti anche ai tecnici meno
esperti e alle applicazioni più leggere
Anche se avete bisogno di modificare la rotta per buttare via quelli vecchi.
30. Principio #4
Preferite gli strumenti adatti anche ai tecnici meno
esperti e alle applicazioni più leggere
Anche se avete bisogno di modificare la rotta per buttare via quelli vecchi.
33. GNU IS NOT UNIX
Richard Stallman nel 1977 inizia a lavorare a un clone di Unix,
con licenza libera e codice aperto
La suite GNU è lo user-space, da scrivere
da zero. Il lavoro sarà completato solo nel 1981
Il progetto Hurd invece è il futuro kernel-space
34. GNU IS NOT UNIX
Richard Stallman nel 1977 inizia a lavorare a un clone di Unix,
con licenza libera e codice aperto
La suite GNU è lo user-space, da scrivere
da zero. Il lavoro sarà completato solo nel 1981
Il progetto Hurd invece è il futuro kernel-space
35. Sto realizzando un sistema operativo free
(è solo per hobby […]) per cloni 386 (486) AT
[…]. Mi piacerebbe avere la vostra
opinione […] sapere quali sono le
caratteristiche che interessano di più alla
gente. Tutti i suggerimenti sono bene accetti :-)
– Linus Torvalds, 1991
Linus Torvalds nel 1991 inizia a lavorare a un kernel giocattolo
GNU/LINUX
36. Sto realizzando un sistema operativo free
(è solo per hobby […]) per cloni 386 (486) AT
[…]. Mi piacerebbe avere la vostra
opinione […] sapere quali sono le
caratteristiche che interessano di più alla
gente. Tutti i suggerimenti sono bene accetti :-)
– Linus Torvalds, 1991
Linus Torvalds nel 1991 inizia a lavorare a un kernel giocattolo
Nel 1999 Eric Raymond pubblica La cattedrale e il Bazaar:
metodi di produzione e conoscenza aperta sono fondamentali
GNU/LINUX
42. 2008: GitHub rimodella il
concetto di Pull Request
creando uno standard de-facto
nei processi di contribuzione
43. 2009: Heroku è la prima
azienda ad arrivare al grande
pubblico con il concetto di
Platform-as-a-Service
2008: GitHub rimodella il
concetto di Pull Request
creando uno standard de-facto
nei processi di contribuzione
44. 2009: Heroku è la prima
azienda ad arrivare al grande
pubblico con il concetto di
Platform-as-a-Service
Il disegno e la qualità delle piattaforme, dei processi è
fondamentale per il successo della contribuzione
2008: GitHub rimodella il
concetto di Pull Request
creando uno standard de-facto
nei processi di contribuzione
46. Monoliti da smontare
Una codebase, tante responsabilità… Non scala orizzontalmente!
Illustrazioni in licenza CC-BY-SA 4.0, di Matteo Vaccari [Vac14]
47. Monoliti da smontare
Una codebase, tante responsabilità… Non scala orizzontalmente!
Illustrazioni in licenza CC-BY-SA 4.0, di Matteo Vaccari [Vac14]
48. Gestire gli errori
La (J)VM è velocissima, ma gli errori commessi dai dev possono sono pericolosi…
Illustrazioni in licenza CC-BY-SA 4.0, di Matteo Vaccari [Vac14]
49. Gestire gli errori
La (J)VM è velocissima, ma gli errori commessi dai dev possono sono pericolosi…
Illustrazioni in licenza CC-BY-SA 4.0, di Matteo Vaccari [Vac14]
50. Gestire gli errori
La (J)VM è velocissima, ma gli errori commessi dai dev possono sono pericolosi…
Illustrazioni in licenza CC-BY-SA 4.0, di Matteo Vaccari [Vac14]
53. Linux e la semplicità? Un trade-off in systemd
Dal job (gestiti dal S.O.) ci spostiamo verso il più complesso concetto daemon
54. Linux e la semplicità? Un trade-off in systemd
Dal job (gestiti dal S.O.) ci spostiamo verso il più complesso concetto daemon
55. Linux e la semplicità? Un trade-off in systemd
Dal job (gestiti dal S.O.) ci spostiamo verso il più complesso concetto daemon
L’intento è semplificare il lavoro del sistemista, ma ancora fonte di accese dispute
56. Da risorse finite a infinite? “Containerizzare” il D.C.
La complessità non sparisce, si sposta dalle applicazioni all’infrastruttura.
In buzzword? Invisible infrastructures
57. Da risorse finite a infinite? “Containerizzare” il D.C.
La complessità non sparisce, si sposta dalle applicazioni all’infrastruttura.
In buzzword? Invisible infrastructures
58. Da risorse finite a infinite? “Containerizzare” il D.C.
La complessità non sparisce, si sposta dalle applicazioni all’infrastruttura.
In buzzword? Invisible infrastructures
Esiste uno standard per i container (OCI). Non per le infrastrutture.
Un inizio? Google Anthos
63. Fonti e bibliografia
Pubblicazioni
• [Beck05] Kent Beck, Cynthia Andres, Extreme Programming Explained – Embrace Change, Addison-Wesley, Boston 2005.
• Eric S. Raymond, The art of UNIX programming, Pearson Education, 2004.
• Peter H. Salus, A Quarter Century of UNIX, Addison-Wesley Professional, 1994.
• Robert L. Glass, Facts and Fallacies of Software Engineering, Addison-Wesley, 2013.
• Craig Larman, Agile & Iterative Development: A Manager’s Guide, Addison-Wesley Professional, 2004.
• Luigi Federico Menabrea, Sketch of The Analytical Engine Invented by Charles Babbage, Officer of the Military Engineers, Torino
1842, No. 82.
• Linus Torvalds, David Diamond, Rivoluzionario per caso, Garzanti, Milano 2011.
• Gerald M. Weinberg, How Software Is Built, Leanpub, 2014 (https://leanpub.com/howsoftwareisbuilt).
• James P. Womack, Daniel T. Jones, Lean Thinking, Productivity Press, 1996.
• Tim Wu, The Master Switch: The Rise and Fall of Information Empires, Atlantic Books, London 2010.
• Betsy Beyer et alii, Site Reliability Engineering, Google, 2016.
Immagini
1. https://www.theguardian.com/technology/2015/apr/12/thrilling-adventures-ada-lovelace-charles-babbage-sydney-padua
2. https://www.google.com/about/datacenters/
3. https://www.scienceandsociety.co.uk (#10303273, Punched cards for Babbage's Analytical Engine)
4. https://www.ibm.com/ibm/history/ibm100/us/en/icons/system360/transform/
5. https://it.wikipedia.org/wiki/ENIAC#/media/File:Eniac.jpg
6. https://it.wikipedia.org/wiki/Robert_Cecil_Martin#/media/File:Robert_Cecil_Martin.png
7. https://www.worldcat.org
8. https://www.zdnet.com/article/after-linux-civil-war-ubuntu-to-adopt-systemd/
64. Fonti e bibliografia
Articoli, paper e talk
• [Vac14] Matteo Vaccari, The UNIX Way vs. the Java Enterprise Edition Way, 2014(https://www.slideshare.net/xpmatteo/the-unix-
way-vs-the-java-enterprise-edition-way)
• Matteo Vaccari, Extreme Programming, Agile For Innovation, Milano, 2014 (slideshare.net/xpmatteo/extreme-
programming-32324409)
• Unix Time-Sharing System, Bell System Technical Journal, 1978 (http://emulator.pdp-11.org.ru/misc/1978.07_-
_Bell_System_Technical_Journal.pdf)
• John D. Cook, Where the Unix philosophy breaks down, 30 giugno 2010 (https://www.johndcook.com/blog/2010/06/30/where-
the-unix-philosophy-breaks-down/)
• Patrick Debois, Agile Infrastructure & Operations, Agile 2008 Conference (http://www.jedi.be/presentations/agile-infrastructure-
agile-2008.pdf)
• Dennis M. Ritchie, Ken Thompson, The UNIX Time Sharing System, Bell Laboratories, 1974 (https://people.eecs.berkeley.edu/
~brewer/cs262/unix.pdf)
• Massimo Ubertini, Architettura degli elaboratori (http://www.ubertini.it/pagine/archi-elab.html)
• Chris Tozzi, Want to understand DevOps? Look to open source’s history (https://devopsagenda.techtarget.com/opinion/Want-to-
understand-DevOps-Look-to-open-sources-history).
• Janet Kornblum, Netscape sets source code free, 31 marzo 1998 (https://www.cnet.com/news/netscapesets-source-code-free/).
• Linus Torvalds, Tech Talk: Linus Torvalds on git (https://www.youtube.com/watch?v=4XpnKHJAok8).
• https://www.cnet.com/news/test-version-of-new-linux-kernel-available/
• http://linux.sys-con.com/node/32707
• https://blog.aquasec.com/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016