One theme dominated the conference: Microservices and how can we adopt it (but also, should we?).
Well, let me say that this conference delivers multiple insights at a quick pace.
There were about 50% of talks given in Italian, but, following the huge success of the previous editions, we continue to feature keynotes and talks in English to extend our audience and to create a bridge between the Italian and the international DevOps communities.
The Italian DevOps Conference is a 2 days event. The day before the conference (7th of March 2019) is the Workshops day. This year 4 workshops were presented, on Docker, Kubernetes, AWS and Ansible. Going from 0 to designing a containerized infrastructure using automatic configuration tools has never been easier.
Topics included DevOps, Continuous Delivery, Cloud, Microservices, Automation, Testing, Big Data, Containers, Data Center Operating Systems, Software Operability, IT operating models and how to plan and organize IT Operations.
There were many interesting talks but I remember vividly the keynote presentation by Giuseppe Lavagetto who gave its perspective on the adoption of Microservices at the Wikimedia Foundation. He condensed the lessons learned at Wikimedia during the transition from a monolithic architecture to a microservice-oriented infrastrucure. I also appreciated the presentation given by Andrea Tosatto who spoke about "Scaling Ansible". He showed how he reduced the execution time of a playbook from 60 minutes to 6 minutes by applying some small, but powerful, hacks.
#IDI2020 will take place, as usual, in Bologna at the beginning of March. Tickets are already available!
]]>Uno strumento semplice, scritto in un linguaggio che si avvicina al plain english, che permette di installare sistemi e servizi in modo standard e riproducibile. Si basa solo sul protocollo SSH e non occorre aggiungere altri componenti sui nodi target (a parte Python).
Un corso hands on per imparare ad orchestrare Ansible al fine di creare delle pratiche automatiche nella gestione dei vostri server e servizi.
Verranno toccati i seguenti punti:
È desiderabile lavorare in un ambiente omogeneo per cui si richiede ai partecipanti di installare Vagrant sul proprio pc e attivare una macchina virtuale basata su Debian seguendo istruzioni fornite da noi qualche tempo prima del corso.
A chi è rivolto: a sistemisti, programmatori e ... DevOps!
In generale a tutti coloro che desiderano utilizzare uno strumento moderno per automatizzare, documentare e standardizzare attività di gestione di programmi e sistemi.
Iscrivetevi sulla pagina dei Workshop del Container Day; il corso si terrà il 25 ottobre 2018 a Verona nel contesto del Container Day che si terrà il giorno successivo.
]]>Twenty people showed up. Around half of them were new to Gluster and evaluating its adoption, while the other half comprised people with previous Gluster experience, from the novice up to the software-defined storage professional from Red Hat Italy.
In the morning there have been three tech talks. Niels presentation started from an introduction to Gluster, going through some of the latest features of the just-released Gluster 4.0, and finished illustrating what to expect from the 4.x road map. Marko did a live demo of gluster-colonizer , a brand new Ansible-based project to automatically provision Gluster clusters. Jiffin talked about what the duties of a release maintainer are, and did a live release of Gluster 3.12.
In the afternoon I did my part by illustrating most of the use cases I addressed as a consultant, while Ramon Selga from Datalab gave the audience a lot of information about disperse volumes and how to host virtual machines within Gluster volumes. Both sessions included lively discussion and questions from the audience. I liked it.
Being a first, I think the event has been a success.
Will there be another one? Possibly, if the community will keep showing interest. Although it would be nice to have a larger fraction of the attendance coming from outside Italy.
]]>Ansible is a python tool that automates the management of an IT infrastructure. It is easy to learn but rushing to use it with a limited knowledge of its best practices (roles) leads to not reusable code. To quote the documentation about roles: “You absolutely should be using roles. Roles are great. Use roles. Roles! Did we say that enough? Roles are great.”.
So, writing reusable ansible roles is not easy but it's a task worth doing. This post will walk you through the construction of an ansible role scaffold supported by private git repos.
Be sure to have git
and Ansible installed. You should at least be working with ansible==2.3.0
. Install Ansible in a virtualenv
using pip
to keep this environment clean.
$ pip install virtualenv $ virtualenv myproject $ . myproject/bin/activate $ (myproject) pip install Ansible==2.3.0
The first step in creating a role is creating its directory structure.
Use the init command of ansible-galaxy
, which comes bundled with Ansible, to
initialize the base structure of a new role, saving time (and increase
reproducibility) on creating the various directories.
Keep in mind that Ansible relies on Github, therefore the test files created
by ansible-galaxy init
command are meant to run CI (Continuous Integration)
tests on Travis. But we work with GitLab! Our CI
files are called .gitlab-ci.yml
files and have a different syntax compared
to Travis files.
So, how can one leverage the ansible-galaxy
command when he/she is not
testing on Travis?
Starting from ansible==2.3.0
the ansible-galaxy
command supports creating
roles using a different role skeleton:
ansible-galaxy init --role-skeleton biodec.template/ -p . biodec.role_name
biodec.template
is git project that we have developed during this year. It
is an Ansible role scaffold to work and test things on GitLab. The main
difference with respect to the default scaffold is the test file: .gitlab-ci.yml
:
stretch: image: buildpack-deps:stretch script: - apt-get update -y && apt-get install -y python python-dev python-pip - pip install -r requirements.txt - echo localhost > inventory - ansible-playbook -i inventory test.yml --connection=local -v
We found convenient to use our own scaffold for a series of reasons besides testing on GitLab rather than on Travis:
pip
that will keep Ansible's version fixed (a missing feature in ansible-galaxy
which encourages you to work always with the latest version).When developing Ansible code:
ansible-galaxy init
We presented a talk at PyCon 8 this year talking about this subject. Feel free to download the slides if you like it.
]]>Il mondo dell' IT è in continua trasformazione e i cambiamenti diventano sempre più veloci ed imprevedibili. Assistiamo alla proliferazione di piccole realtà (startup) che, grazie all’utilizzo di metodi di lavoro innovativi, riescono a tenere testa a grosse aziende che spesso sono refrattarie al cambiamento.
Gli approcci vincenti sono in gran parte ispirati alle metodologie agili (qui il manifesto originale) e vedono affermarsi la figura del Devops.
Noi di Biodec abbiamo adottato un mix di pratiche agili ed organizziamo, da 5 anni, il principale evento devops in Italia.
Oggi vogliamo parlare di qualche spunto per trasformare la vostra azienda in una realtà agile e resiliente:
Siamo nell’era della “digital transformation”:
Favoriamo il cambiamento imparando a gestire questi strumenti.
Strumenti che usiamo: AWS, Ganeti, Gluster e Docker
Esistono prodotti per facilitare la transizione verso una mentalità agile e devops. Biodec ha adottato, da qualche anno, ansible: un sistema per orchestrare l'installazione e la configurazione di sistemi ed applicazioni. Offriamo la nostra esperienza per affiancare l’adozione di ansible in azienda con un corso o realizzando soluzioni direttamente.
Strumenti che usiamo: ansible
Essere un’azienda agile e resiliente significa rispondere ai cambiamenti improvvisi (del team o delle richieste del cliente) senza andare off-line. Alcuni strumenti fondamentali per questo sono:
Strumenti che usiamo: Git, Gitlab, Gitlab-CI, Docker, OMD
Fissiamo riunioni (almeno settimanali) in cui il team si ritrova e parla dell’andamento delle attività. Usiamo un “issue tracker” come Redmine per schedulare le attività e avere un feedback continuo col cliente includendolo come membro del team.
Strumenti che usiamo: Redmine, Scrum
Aderiamo al metodo di lavoro adottato.
]]>Kiratech e il Docker User Group di Roma hanno organizzato presso il Talent-Garden un workshop (gratuito e organizzato molto bene!) su Docker. Il Workshop, di carattere introduttivo, ha offerto una panoramica dettagliata sull'ecosistema Docker toccando i punti principali
Noi abbiamo partecipato in quanto utilizzatori di docker e partner, insieme a Kiratech e xpeppers, di 4devops.
A seguito del workshop si è poi svolto il Docker-meetup, una serie di presentazioni più interessanti per chi vuole stare dalla parte dello sviluppo dei container.
A concludere.. pizza e birra & Networking!
Complimenti a Kiratech per la bella iniziativa!
]]>Automatizzare le attività ripetitive e standardizzare gli ambienti è un problema che investe il mondo IT sia dal lato della gestione dei sistemi (Ops) che dal lato dello sviluppo (Dev). Il proliferare delle piattaforme e in particolare l'uso delle soluzioni Cloud ha accentuato il problema, rendendo necessario avere strumenti veloci, affidabili e facili per la gestione di configurazioni e per il continuo rilascio di codice.
Ansible è uno strumento per orchestrare l'installazione e la configurazione di sistemi ed applicazioni: permette di definire lo stato di uno o più server in modo prevedibile, replicabile e consistente. Simile in questo a software come Puppet, Chef, Saltstack o CFEngine, esso basa la propria filosofia su una parola chiave: la semplicità d'uso.
A differenza di altri sistemi, Ansible non necessita di altro che di una
connessione SSH tra la macchina che funge da controllore e i server da
controllare, e tutto si gestisce con semplici direttive di
configurazione contenute in file testuali. Ancora: è una soluzione
agentless per cui non è necessario installare nessun client sugli
hosts da configurare, ma solo Python e - cosa che non guasta - è anche
un prodotto che presenta una curva di apprendimento molto agevole.
Una piccola curiosità: la parola “ansible” si riferisce all’omonimo dispositivo che nel romanzo di fantascienza “Il Gioco di Ender” di Orson Scott Card permetteva di controllare remotamente le astronavi.
Serena Lorenzini, Ph.D., BioDec.
Offriamo questo corso sia su richiesta che in occasione di eventi particolari (come l'incontro DevOps). Contattateci all'indirizzo info@biodec.com per maggiori dettagli.
Per iscriversi contattare info@biodec.com per maggiori informazioni su modalità e tempi di pagamento. Il costo del corso prevede anche il pranzo e una pausa caffé (in caso di regimi alimentari particolari, si è pregati di segnalarlo per tempo).
Cosa avrò imparato alla fine del corso?
A scrivere playbook e role Ansible per fare partire, fermare e configurare dei server Linux; si imparerà come si definiscono con Ansible i profili di configurazione di vari server, corrispondenti ad usi differenti (i.e. web server, database server, server di monitoraggio, eccetera).
Si imparerà inoltre come svolgere alcune azioni ripetitive su tutti i server dell'infrastruttura, come ad esempio aggiornare dei pacchetti software, fare deploy di nuovi programmi, eccetera.
Si imparerà a testare il codice Ansible con Molecule, un prodotto del progetto Ansible ufficiale.
Si affronteranno tematiche DevOps come la configurazione della Continuous Integration (CI) in un ambiente misto Docker/Virtual Machine per testare il nostro codice Ansible.
Devo portare il mio portatile?
Sì, con installato l’ambiente di sviluppo software di tua scelta.
Come devo prepararmi per il corso?
Installa Vagrant nel tuo pc e assicurati che sia funzionante, in alternativa garantisciti un accesso ad un server virtuale sul quale tu possa agire in libertà. Lavoreremo in una macchina Vagrant Debian Stretch, la medesima distribuzione Linux è consigliata, se lavorerai su un server virtuale tuo.
È un corso per principianti o per esperti?
È per principianti e per chi ha provato ad utilizzare Ansible ma non è ancora riuscito a farlo diventare una pratica quotidiana.
Il corso si applica solo a sistemisti o programmatori Linux, o anche Windows ?
Il corso si applica a tutti, ma è bene avere una confidenza di base con la shell Bash.
]]>In BioDec già da alcuni anni seguiamo con interesse le metologie agili, partecipando a conferenze del settore e a gruppi di interesse, come il locale XP user group di Bologna (la cui mailing list è ospitata su uno dei nostri server); abbiamo avuto inoltre modo, negli anni, di svolgere attività di project management di progetti IT di varia natura, e abbiamo quindi maturato una certa conoscenza degli strumenti di project and program management.
È risultato quindi naturale provare ad adottare alcune tecniche al di fuori del contesto dello sviluppo software, nell’ambito ICT. I risultati sono stati una serie di linee guida e di pratiche (tra cui, ad esempio, pianificare su iterazioni bisettimanali e mantenere le attività tracciate in un issue tracker che segua la logica di una kanban board), e di configurazioni custom sul server Redmine che utilizziamo.
Anche grazie ad un’iniziativa come questa, in una anno di crisi economica come il 2012, il fatturato aziendale è cresciuto del 20% e abbiamo pertanto deciso di mettere a disposizione la nostra esperienza offrendo attività di formazione e consulenza nell’ambito dell’Agile IT.
In collaborazione con RedTurtle, che ci ospiterà a Ferrara, abbiamo organizzato un workshop sul tema DevOps. Alla luce della particolare partnership che abbiamo con Redturtle, offriamo anche ai non clienti dell'azienda la possibilità di partecipare a un workshop introduttivo, chiamato "Pillole di DevOps" per Lunedì 2 Marzo, dalle 9.30 alle 13, presso la sede RedTurtle di Ferrara in via Caselli 11/b (*), alla tariffa di Euro 70,00 + IVA (pari a Euro 85,40 IVA inclusa).
L'evento ha lo scopo di introdurre i partecipanti alle tante facce del mondo DevOps, toccando molti dei temi caldi per qualsiasi organizzazione pubblica o privata. Le conoscenze acquisite possono servire da ideale trampolino per tuffarsi con cognizione di causa nel separato corso Devops di tre giorni offerto da BioDec, ma certamente anche per apprezzare meglio l'atteso evento di Aprile: ricordiamo infatti che BioDec è tra gli organizzatori della terza edizione dell’Incontro DevOps Italia, sui classici temi di frontiera che descrivono l'interdipendenza tra sviluppo software e IT operations. L'Incontro Devops di Bologna, come le precedenti edizioni, approfondirà temi tra cui:
Per perfezionare l'iscrizione alle "Pillole di DevOps", basta operare un bonifico a beneficio di BioDec srl - IBAN IT21 T 06385 36673 100000005782 presso Carisbo, filiale di Casalecchio di Reno, Via Garibaldi 3, notificando all'e-mail indicato più sotto l'eventuale necessità di fattura.
Per iscrizioni e altre informazioni mandate una mail a info@biodec.com o telefonate allo +39 051 0548263.
(*) Qualora le iscrizioni superino la capienza delle sale riunioni di RedTurtle, l'evento verrà trasferito in un'altra locazione, nelle immediate vicinanze, e gli iscritti saranno tempestivamente informati del cambio di sede.
Perché: L'approccio tradizionale, che prevede una separazione funzionale tra sviluppatori, amministratori (di sistema, di rete, di database) e addetti all'operatività non genera le economie di scala desiderate, ed è fonte di problemi di comunicazione e di coordinamento che portano a progetti fuori budget, non allineati con le necessità dell'impresa, sovente in cronico ritardo di esecuzione e spesso di scarsa qualità. Esistono tecniche e strumenti mutuati dalle Agile Methodologies che possono offrire una soluzione a molti di questi problemi.
Come: Offriamo consulenza sugli aspetti metodologici e di processo, ed integriamo nel processo produttivo aziendale strumenti flessibili di gestione delle attività come Redmine, Penelope e TRAC, e strumenti di business report come Jasper. Svolgiamo attività di formazione e di mentoring e coaching sui progetti per conto dei nostri clienti.
]]>Questo scenario è stato risolto "federando" una serie di stazioni di monitoraggio indipendenti, che quindi soddisfano ai requisiti di indipendenza ed isolamento degli ambienti, grazie ad una serie opportuna di installazioni di Check-MK Multisite. In questo modo è possibile realizzare un'interfaccia di monitoraggio per Nagios (e sistemi compatibili) dove viene aggregata in un'unica dashboard solamente la visualizzazione dei dati di monitoraggio ricevuti dalle stazioni remote, tramite il protocollo mk_livestatus.
Dalla medesima dashboard è possibile anche eseguire comandi Nagios sui siti federati, permettendo una modalità di gestione centralizzata delle varie stazioni, pur mantenendone l'indipendenza.
]]>