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.
]]>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!
]]>