Upgrade to Pro — share decks privately, control downloads, hide ads and more …

La Continuous Delivery è una condizione mentale

La Continuous Delivery è una condizione mentale

Vedo la gente passare i venerdì a fare rilasci in produzione e passare il weekend a fare bug fixing. Vedo la gente stufa di fare sempre le stesse attività ripetitive e perseverare nella solita routine da developer frustrato. Ma tutto questo si può evitare con un cambio di mentalità. Quello che voglio raccontare in questo talk è il mio percorso evolutivo da un approccio waterfall a quello iterativo passando per i tanti errori commessi.

Racconterò come abbiamo realizzato un template che aiuta nel processo di Continuous Delivery, dove la parola “continuous” è quella che definisce bene l’importanza di questo processo. Nell’Agile Software Development, il rilascio del software funzionante è uno dei punti più importanti e questo deve avvenire spesso. Per poter rilasciare nuove funzionalità però, dovremo scrivere tutti i test necessari, eseguirli, creare una build e infine effettuare il deploy vero e proprio.

Nello sviluppo del software moderno la Continuous Delivery (CD) è quel processo che permette all’intero team di affrontare qualsiasi cambiamento, come nuove feature, bugfix o esperimenti, in un modo sostenibile, sicuro e rapido. In questo processo generalmente vengono utilizzate tra le altre cose, due pratiche per effettuare i rilasci continui: Continuous Integration (CI) e Continuous Deployment (CD).

In questo talk racconterò come, insieme ai miei colleghi, siamo arrivati alla costruzione di un processo automatizzato per effettuare rilasci sin dal primo commit utilizzando Kubernetes, Docker, Python e Terraform per la creazione di applicazioni web basate su Django e React.

Raffaele Colace

June 03, 2022
Tweet

More Decks by Raffaele Colace

Other Decks in Technology

Transcript

  1. Raffaele Colace COO/CIO, Co-Founder @ 20tab srl • Python senior

    developer • PHP, Java, Swift, C#, … • Agile Passionate • DevOps, Lean, Growth Hacking, … • Community leader @ #StopCoding • Founder @ Product Management Day 20tab.com
  2. Problemi 1 2 3 Budget Tempo sprecato Bassa qualità 4

    Insoddisfazione © Sebastian Herrmann
  3. Agile Manifesto Principi “Our highest priority is to satisfy the

    customer through early and continuous delivery of valuable software.” Agile Manifesto
  4. eXtreme Programming Continuous Integration “Developers should be integrating and commiting

    code into the code repository every few hours, whenever possible.”
  5. Talos 1 Setup 2 Gitlab 3 Provisioning 4 CI Pipelines

    5 Deployment https://github.com/20tab/talos
  6. Automatizzare creazione, sviluppo, test e rilascio di progetti web usando

    Python, Terraform e GitLab Filippo Morelli PyWeb - Domani alle 11:45