Speakers

Talks

8th March 2019

Andrea Tosatto

Scaling Ansible

Ansible agentless nature and semplicity are definitely two of the aspects that determined its incredible success as configuration management and automation tool. However - despite being very powerful - agentless automation has some limitations leading very often to the increase in complexity of the Ansible code to be able to manage complex infrastructures. In this talk we will deep dive into Ansible execution model to discuss some workarounds to effectively implement Ansible as configuration management tool at scale without compromising performances and/or the readability of the code.

Giovanni Toraldo

Introduzione a Traefik

Scopriamo insieme il load-balancer open-source traefik, con supporto nativo alla configurazione dinamica con i più diffusi orchestratori di containers, certificati SSL automatici con Let's Encrypt e qualche caso d'uso reale.

Giuliano Formato Riccardo Capecchi

Big data, not a Big Mess

Le metodologie devops sono compatibili con le tematiche Big Data? Vi presenteremo la nostra esperienza in ShopFully, dove abbiamo usato le metodologie devops per semplificare i processi tecnologici del complesso mondo della gestione del dato. In particolare parleremo dell'evoluzione della gestione dei dati e del perché questa si sia spostata su cloud, sul come gestire con strumenti moderni quali Cloudformation, Ansible e Terraform le configurazioni dei servizi e delle componenti forniti dal nostro fornitore cloud: AWS. I servizi offerti da AWS, con caratteristiche serverless, sono da preferirsi a soluzioni personalizzate sempre su cloud? Il talk presenterà alcune delle soluzioni architetturali e tecnologiche adottate in azienda per affrontare la tematica Big Data su AWS.

Niels de Vos

A Full Stack Journey to Reach Efficient Container Storage Cloning

With the adoption of more diverse workloads and applications in containers, demands for enhanced features become clear. Some of these features are related to the persistent storage of the contents the applications consume. In this talks, Niels will go through some of the expectations that a Kubernetes application like KubeVirt has from a storage environment. This includes a scalable approach to cloning new virtual machines from template disk images. While just copying the data from one PVC or volume to an other is possibly, this is not very efficient. This particular journey towards efficiently cloning disk images is driven by KubeVirts Containerized-Data-Importer project, with stops at Kubernetes Storage Provisioners and Linux kernel filesystems on a solid Gluster road.

Giulio Vian

Moving a Windows environment to the cloud

In this talk, you will hear about the DevOps journey in our company, from the initial brown-field all-manual state, to our current situation where we migrated (almost) everything to the cloud using automation in a few months. Not a migration but rebuilding the environment using Infrastructure-as-Code tools: Terraform, Powershell, Ansible, TFS/Azure DevOps.  In equilibrium between an high-level view and useful practical tips, we will touch on what informed our decisions, in terms of priorities and technologies, some lessons learned, and how the legacy constraints helped or hindered.

Lorenzo Fontana

eBPF powered Distributed Kubernetes performance analysis

Since the Linux kernel 4.x series a lot of enanchements reached mainline to the eBPF ecosystem giving us the capability to do a lot more than just network stuff. The purpose of this talk is to give an initial understanding on what eBPF programs are and how to hook them to programs running inside Kubernetes clusters in order to answer targeted questions at cluster level but about very specific fine-grained situations happening in our programs and systems, like: - Had that function in my program been called ? - For a given function which arguments have been passed to it? And what it did return? - Which TCP packets are being retransmitted? - What are the queries running slow? - Insights on programming language events/gc - Had that file been opened? Imagine a programmable Kubernetes performance analysis tool that runs at cluster level without performance implications how would you it to be?

Paolo Tonin

Scaling Terraform: da Startup a Enterprise

Terraform ci permette di creare infrastrutture e gestirne i cambiamenti in maniera sicura e predicibile. Questo compito risulta semplice quando la tua architettura e il tuo team sono di piccole dimensioni. Ma cosa succede quando l'organizzazione e i gruppi di lavoro diventano piu grandi e complessi? A questo punto il problema non è piu la dimensione dell'infrastruttura, ma cambiare i flussi di lavoro per migliorare la collaborazione all'interno del team e tra i team.  Questo talk esplorerà come sia possibile gestire e organizzare l'adozione di Terraform fra team eterogenei e garantire al contempo la consistenza e la sicurezza dell'infrastruttura.

Federico Campoli

Ansible & pgbackrest, the dynamic duo

Ansible is an amazing product used by enterprises to automate their tasks. Pgbackrest allows simple and efficient backups of PostgreSQL. Combining the two tools it is possible to setup an environment where the backups are dynamically configured, performed and tested. The audience will learn how to configure two database servers in hot standby with a backup server and a fourth machine used for testing the backups.

Giulia Naponiello

A monitoring solution for a distributed web application

Many of our software are Python Flask applications and they work exchanging messages through a message bus, but sometimes messages get lost or there can be an outage in one of the services. How can we detect something as complicated as that? I'd like to share my monitoring solution with you. We tried several approaches and technologies: * New Relic: synthetic monitors, availability checks and alerting; * Prometheus: custom metrics and integration with Openshift; * Jenkins: production exercises;

Alessandro Franceschi

Ten years of Puppet installations: what now? Lessons learned, sane suggestions, outlook for the future

A presentation that outlines the kind of challenges that faces whoever has to automate the configuration and the management of an IT infrastructure. Understanding who has to implement and maintain the automation, what are the elements to cover, how their configurations change in the infrastructure, what are the priorities and the timings. Then deliver and implement an operative approach for the migration and maintenance. All this with a historical perspective which involves reasonings on the role of configuration management in current and future IT landscapes. Topics are based on the presenter Puppet experience but focus on principles valid to any automation challenge

Serhat Can

Managing incidents in microservices

Microservices solve a lot of problems, especially once the company scales. But this change doesn’t just require a change in how we build software, it also requires a change in how we operate the software. Once we talk about operations, we must ready to take the on-call and solve critical problems affecting our systems and essentially our users. With multiple services with dependencies and stakeholders, challenges like finding out the right team to handle the incidents, creating actionable alerts, and managing the incident response process arise. In this talk, I’ll talk about these challenges by giving the reasoning behind and propose some solutions to these real-world problems.

Andrea Francia

Lavorare con codice legacy non testabile

In questa presentazione farò vedere come affronto il codice legacy non testabile. Eseguiro "live" l'esercizio "TripServiceKata" di Sandro Mancuso. Prenderò un pezzo di codice non testabile, userò una delle tecniche chiamate "seams" per renderlo testabile, e farò vedere come trasformare il codice legacy in codice pulito mantenendone intatto il comportamento ma migliorandone il design. Alla fine della presentazione dovreste esservi fatta un idea di come affrontare il codice legacy e avrete raccolto una serie di consigli su come gestire le suite di test. Svolgerò l'esercizio in un linguaggio specifico (PHP o Ruby devo ancora decidere) ma i pattern che vi farò vedere possono essere applicati pari-pari a qualsiasi linguaggio mainstream (C#, Java, Python, ...), mentre i principi valgono per qualsiasi tecnnologia.

Roberto Bettazzoni

Team devops: a true story

Il percorso, i metodi, le pratiche e le tecnologie devops che ci hanno permesso di sviluppare, nel corso di due anni, gli IT departments di diverse aziende, in una organizzazione di team. I successi e gli [in]evitabili fallimenti intervenuti nel percorso ci premetteranno di focalizzare il perché alcune pratiche si siano dimostrate delle "vittorie di Pirro", mentre altre, a prima vista fallimentari, abbiano portato benefici nel lungo termine. In particolare, ci concentreremo sulla differenza di approccio organizzativo tra le attività di operation, di supporto tecnico allo sviluppo e di gestione dell'infrastruttura, in una azienda europea di ecommerce.

Luca Acquaviva Giacomo Fiorini

Le 7 sfide da affrontare nella migrazione da monolite a miniservizi

Raccolta di esperienze e sfide vissute sul campo nella migrazione di un'applicazione on-line monolitica ad una a “mini-servizi” implementata a container e orchestrata da Kubernets (per ora abbiamo deciso di non spezzare la base di dati!) . Sono tutti in grado di migrare un monolite con un approccio “big-bang”. Riteniamo non sia sensato e - soprattutto - estremamente rischioso. Da questa esperienza si mostra come sia possibile adottare un percorso incrementale che prevede la coesistenza in produzione del monolite con i nuovi servizi rifattorizzati, abbassando i rischi delle migrazioni tecnologiche. Verranno mostrate le strategie, le soluzioni tecniche adottate e gli strumenti a supporto per la gestione della coesistenza applicativa e per la reattività al cambiamento,attraverso l’automazione del processo di refactoring e di testing, e la gestione delle dipendenze con il codice applicativo legacy che continua ad evolvere durante la coesistenza. Gli scogli maggiori spesso non si trovano nelle nuove tecnologie, ma nella definizione dei processi adeguati a supportarli.

Roberto Franchini

Testcontainers to the rescue

Integration testing is hard, and often teams are tempted to do it in production.  Testcontainers allows writing meaningful integration tests spawning Docker containers for databases, queue systems, kv-store or even a complete micro-services infrastructure.  Don't mock your database with fake data anymore, work with real data! Notes: The talk will show how we used testcontainers (https://www.testcontainers.org/) to test all our connectors to different data stores. It will show different uses of the library, tricks and advice to create a reliable test infrastructure. 

Aurélien Hebért

A tour of TSDB queries

For many years, we’ve been recording a lot of system and application data to gain knowledge. In the monitoring world, we use this data to try to prevent system failures or to detect some application issues, as leaks or stops. The particularity of those data is that it’s evolving with time. That kind of data is called time series or metrics. A lot of open-source tools are specialized in storing them efficiently. There are the pioneers in the field like Graphite or OpenTSDB, but today a lot of new actors are changing this world, as InfluxDB, Prometheus or even Warp10. All those databases have strengths and weaknesses: on their scalability, on their integrations, on the way we can query the data. All of them propose a query system, but even if these query systems can be seen as similar, they present a lot of disparate functionalities. Some of those query systems are way more user-friendly, when others can be harder to learn, some can be more powerful and other efficient for specific use-cases. Knowing how to query the data stored is a key-changed in a monitoring project: let’s do a quick tour of the existing methods? Tie yourself, our ride can begin! How works the data retrieval with OpenTSDB? In which use case is OpenTSDB still relevant? What brings today databases as InfluxDB or Prometheus ? What are the surprises of their queries’ languages? Why today Graphite is still hyped? This presentation will not make you a time series querying expert, yet it will gives some hints on the queries capabilities of each tools and introduce the reasons behind times series languages as WarpScript, Flux and TSL.

Daniele Menon

New Challenges for IT Service Monitoring

"The technological evolution and the consequent market trends are pushing towards an increase in the components (hardware and software, on-premise or cloud) used to provide and manage the IT service. This trend requires a significative change in the strategies adopted for monitoring the IT: IT Monitoring should cover all the components but, at the same time, offer a clear and immediate overview of the overall health status of the service. Hints for the new approach can arrive from the methodologies adopted in the context of Big Data. Moreover, it can become the starting point for the implementation of the AIOPS (Artificial Intelligence for IT Operations), i.e. the application of artificial intelligence in IT Operations."

Francesco Gualazzi

Making serverless with servers: offering managed services in the datacenter

"Serverless is getting more and more popular: companies want to focus on code and product functionalities and not bother about the operational burden involved into understanding or maintaining the infrastructure underneath it... but what are the options to provide this level of abstraction for a company managing its own datacenter? We will explore the fairly recent technologies and tools that can enable a product development team with this capabilities. We will see a brief history of how this technologies have been born and why. We will take a look into some of the implementations available to deploy and scale managed services and Functions-as-a-Service on your own hardware. Questo talk e' principalmente rivolto ai team di Infrastruttura che gestiscono propri datacenter. É una storia di come le tecnologie serverless sono evolute negli ultimi 2 anni e di come di recente siano diventate accessibili anche per workload on-premise. Più che delle soluzioni complete, in questo talk illustrerò le possibilità offerte dalle tecnologie open source che abilitano queste pratiche al di fuori dei cloud provider."

Giuseppe Lavagetto
Keynote

Microservices: when, why and how? Lessons learned at Wikimedia

In a void, microservices seem to be a one-size fits-all solution. For an organization that converts to a microservice-oriented architecture, though, a lot of not-so-hidden challenges present themselves. There are costs you have to pay in order to maintain the same levels of sustainability, performance, availability and observability  and  a cultural shift needs to happen within the organization. A few years ago, the Wikimedia Foundation started moving towards a non-monolithic architecture; we will review the lessons  learned while dealing with the  introduction of microservices into a decades-old ecosystem,  and the principles, practices and solutions Wikimedia is now moving towards.

Umberto Nicoletti

The curious case of Jupyter notebooks as runbooks

Jupyter notebooks are great for interactive computing and we believe they can improve the traditional troubleshooting runbook experience by allowing a mix of narrative text, code, and graphics. Additionally code can be edited on the fly and re-run, allowing further exploration/debugging. We will (quickly) introduce what jupyter notebooks are and the architectural choices we made to support them. Then we'll share an actual example of a troubleshooting runbook converted to a jupyter notebook.

Adriano Pezzuto

Programmare Kubernetes: una introduzione alle tecniche per estendere e personalizzare la piattaforma.

La piattaforma Kuberentes è ormai lo standard de-facto per la messa in produzione di applicazioni basate sui container. Gran parte delle funzionalità in un cluster Kubernetes sono gestite da un algoritmo di riconciliazione tra lo stato effettivo del cluster e quello desiderato. Questo stesso modello può essere utilizzato per implementare una logica personalizzata e per estendere la funzionalità del cluster senza dover modificare il codice originale di Kubernetes. Questo talk parlerà di come personalizzare Kubernetes, basandosi sulle funzionalità esistenti e, seguendo alcune best practice, vedremo come è possibile modificare in modo rapido e semplice il comportamento del proprio cluster.

Michael Coté

Putting the Dev back into DevOps, or, creating better software

“DevOps” has developed a broad definition that’s come to mean “whatever the things are we do that makes IT better.” While it’s annoying to have to spend the first 10 minutes of any conversation calibrating on what “DevOps” means, this points towards a broader need: organizations are desperate to improve how they create, deploy, and manage their custom written software. The goals of DevOps align perfectly with this need, though as organizations who try to “scale” DevOps are finding, DevOps doesn’t solve all of your problems. This talk will cover this framing of DevOps and then walk through several case studies of how (mostly large, but some medium and small) organizations are failing and succeeding at applying DevOps. In doing so, this talk provides advice for high level planning and then daily tactics for not only “doing the DevOps,” but improving the way organizations manage their stable of software.

Pierre Zemb Joël Le Corre

What we learned as DevOps at OVH

Have you been wondered what is like to be working at the largest European Cloud Provider as a DevOps? Despite both working on differents teams and products, we have a lot in common, such as good practices, organizations, technologies and even our good mood! Time to lift the curtain! We will share with you perspectives from two DevOps: one working on OVH managed Kubernetes product and one working on Metrics, OVH distributed monitoring platform. Are you ready to talk with us about this technical and organisational context? We, more than ever!

Massimo Re Ferrè

End-to-end CI/CD deployments of a containerized application using AWS services.

In this session we will discuss and demonstrate the technology and operational patterns involved in deploying a containerized application on the AWS platform. We will focus on the Code* suite of tools as well as the AWS container orchestration capabilities available on the platform. We will demonstrate how to build a deployment pipeline using AWS CodePipeline and how to configure blue/green deployments using AWS CodeDeploy.

Giuseppe Carnevali

Legacy code nel db. Dai 'Ruspant test' a tSQLt.

tSQLt è un ottimo framework di Unit Test per testare unitariamente la logica che è finita nel database. Ma prima di approdare a tSQLt il nostro team ha intrapreso un percorso che è iniziato da un db pieno di logica e senza controllo, è passato attraverso i primi tentativi di testing (detti anche "ruspant test") e solo alla fine è approdato a tSQLt. Se siete interessati a conoscere quali sono gli ostacoli che il nostro team ha dovuto affrontare e superare durante questo percorso, allora questa è la presentazione che fa per voi.

Paolo de Rosa Simone Piunno

Cloud from outer space Cronache di un sistema in trasformazione

Con il nuovo Piano Triennale 2019-2021 è stata ufficialmente avviata la strategia Cloud First della PA che permetterà di sviluppare servizi digitali più affidabili e sicuri ad un costo ridotto e che, soprattutto, consentirà il rinnovamento complessivo dei servizi digitali nel Paese. Questo nuovo scenario apre questioni degne di interesse. Quali sono le sfide che tecnici e manager della PA dovranno affrontare? Come gli altri Paesi hanno affrontato tali sfide? Quale ruolo potrà assumere la comunità tecnica DevOps nella PA? Quali opportunità si apriranno per i fornitori ICT delle pubbliche amministrazioni? Nei primi mesi del 2019 alcune amministrazioni coraggiose insieme al Team Digitale hanno iniziato ad analizzare le principali sfide tecnologiche che la PA deve affrontare per migrare i propri servizi in cloud dando il via allo sviluppo del Piano di abilitazione nazionale al Cloud per la PA. Proviamo a gettare uno sguardo in questa direzione.

Gianluca Mascolo

A come Artefatto

Usare Packer per generare AMI tramite codice Il deploy di applicazioni su istanze EC2 è il primo passo per andare da applicazioni on-premise verso la cloud.Le AMI offerte dal marketplace di AWS devono generalmente essere adattateper installare software di sistema (es. il webserver) e la applicazione che si intende servire prima di poter essere effettivamente utilizzate.Questo talk illustrerà i vantaggi di un modello di templating tramitePacker che permette la generazione di AMI attraverso layer ripetibili, inmodo da incorporare l'artefatto della applicazione di cui si vuole effettuare il deploy in EC2.

Paolo Arcagni

Application Services in CI/CD Pipelines, multi-cloud and micro-services environments

Application Security, API Security, bot Protection, DDoS Protection, Optimization: any app deployed in production, on any public/private cloud infrastructure requires an exhaustive, homogeneous set of Application Services. In this talk we will see how to deploy a whole set of application services to every app, everywhere, with comprehensive CI/CD integrations. We will go through a deep dive on private and public cloud environments and micro-services architectures.

Simone Di Mambro

Keep CALM and build Karbon

Ovvero come semplificare ed ottimizzare la gestione nel mondo DevOps su una infrastruttura web-scale iperconvergente come Nutanix. Nutanix fornisce una soluzione onnicomprensiva che può facilitare il compito alle operation e fornire servizi di automazione utile agli sviluppatori. La robustezza dell'infrastruttura Nutanix si sposa con l'evoluzione dei servizi, permettendo l'erogazione di qualsiasi applicazione con un altissimo grado di resilienza e semplicità di gestione. La piattaforma si evolve con una componente di orchestrazione, Nutanix CALM ed una distribuzione Kubernetes certified, Nutanix Karbon.

Grazie
a

diamond
gold
silver
Media partners