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. La continuous delivery è una condizione mentale Raffaele Colace

  2. None
  3. None
  4. None
  5. 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
  6. 20tab.com | Raffaele Colace 6 © Lukasz Grudzien

  7. 20tab.com | Raffaele Colace 7 © Mery Nunez/Barcroft Media Me

    (17 years ago) New project
  8. Processo Requirements Analysis Design Coding Testing Deployment Maintenance

  9. Processo Requirements Analysis Design Coding Testing Deployment Maintenance

  10. Modello Waterfall Requirements Analysis Design Coding Deployment Testing Maintenance

  11. Modello Waterfall Requirements Analysis Design Coding Deployment Testing Maintenance ✖

  12. © ron dyar Problemi 1 Budget

  13. Problemi 1 2 Budget Tempo sprecato © insung yoon

  14. Problemi 1 2 3 Budget Tempo sprecato Bassa qualità ©

    Chris Ried
  15. Problemi 1 2 3 Budget Tempo sprecato Bassa qualità 4

    Insoddisfazione © Sebastian Herrmann
  16. Come produrre “valore”?

  17. Ma ho sempre fatto così. Si ma non funziona! Mindset

  18. None
  19. Agile Manifesto Principi “Our highest priority is to satisfy the

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

    code into the code repository every few hours, whenever possible.”
  21. © Lise Gagne/iStockphoto

  22. © krakenimages

  23. Rilasciare software di valore continuamente © Nattanan Kanchanaprat Esigenza

  24. Continuous Delivery e tutte le pratiche connesse Processo

  25. Cambiamento culturale e applicazione di processi Mindset DevOps

  26. © Scott Graham

  27. None
  28. None
  29. Addestramento d'emergenza alla fase di Discovery per sviluppatori frustrati Gabriele

    Giaccari PyBusiness - 11:45
  30. Talos https://github.com/20tab/talos

  31. Talos 1 Setup 2 Gitlab 3 Provisioning 4 CI Pipelines

    5 Deployment https://github.com/20tab/talos
  32. Talos Architecture

  33. Automatizzare creazione, sviluppo, test e rilascio di progetti web usando

    Python, Terraform e GitLab Filippo Morelli PyWeb - Domani alle 11:45
  34. Needs Collaborazione QA Feedback

  35. Recap 1 2 3 Continuous Learning Collaborazione Trasparenza 4 5

    6 Best Practices Feedback Vision
  36. raffaele@20tab.com Grazie rafleze / 20tab raffaele-colace 20tab.com