It Starts with a Goal - Continuous Delivery of an API PlatformRiccardo Porrini
It's 9:30 in the morning. After a brief stand-up meeting your team releases the latest version of the Webapp. Then you pull out a task from the top of the backlog. You design, code, test and deploy to staging. After a successful validation you add the feature you developed to the next release, scheduled for tomorrow morning. It's now 18:30: time to head home. Tomorrow will be another productive day!
Is this just another Continuous Delivery fairy tale? Do you need to be Netflix or Zalando to keep a development pace where features are released on a daily basis?
The experience and lessons learned at Mia-platform in setting up our Continuous Delivery pipeline. How to cope with the difficulties of releasing every day our API Platform, in a sustainable and persistent way, and without discontinuing our clients' businesses.
Riccardo Tempesta - Strumenti di automazione in Magento 2Meet Magento Italy
La nuova versione di Magento è, rispetto alla precedente, ancor più orientata all’utilizzo di sistemi di automazione già da tempo affermati nell’industria informatica (continuous integration e continuous delivery).
Questo intervento si propone di esplorare alcuni di questi aspetti partendo dalla nuova gestione dei comandi shell proposta dal framework. Con Magento 2 e gli attuali sistemi cloud si può quasi delineare una nuova figura accanto al Backend Developer, il “Devops” developer. Ovvero chi, facendo leva sugli strumenti ora nativi, si occupa di tutti quei processi che “dietro le quinte” garantiscono l’affidabilità del sistema, la ripetibilità e l’automazione dei processi e, in definitiva, la qualità del prodotto.
Si parla dei principi del continuous integration secondo Martin Fowler. Si parte da un problema comune, che è quello di lavorare in tanti sugli stessi sorgenti e si vedono i principi che possono permetterci di lavorare nel modo più sereno possibile.
It Starts with a Goal - Continuous Delivery of an API PlatformRiccardo Porrini
It's 9:30 in the morning. After a brief stand-up meeting your team releases the latest version of the Webapp. Then you pull out a task from the top of the backlog. You design, code, test and deploy to staging. After a successful validation you add the feature you developed to the next release, scheduled for tomorrow morning. It's now 18:30: time to head home. Tomorrow will be another productive day!
Is this just another Continuous Delivery fairy tale? Do you need to be Netflix or Zalando to keep a development pace where features are released on a daily basis?
The experience and lessons learned at Mia-platform in setting up our Continuous Delivery pipeline. How to cope with the difficulties of releasing every day our API Platform, in a sustainable and persistent way, and without discontinuing our clients' businesses.
Riccardo Tempesta - Strumenti di automazione in Magento 2Meet Magento Italy
La nuova versione di Magento è, rispetto alla precedente, ancor più orientata all’utilizzo di sistemi di automazione già da tempo affermati nell’industria informatica (continuous integration e continuous delivery).
Questo intervento si propone di esplorare alcuni di questi aspetti partendo dalla nuova gestione dei comandi shell proposta dal framework. Con Magento 2 e gli attuali sistemi cloud si può quasi delineare una nuova figura accanto al Backend Developer, il “Devops” developer. Ovvero chi, facendo leva sugli strumenti ora nativi, si occupa di tutti quei processi che “dietro le quinte” garantiscono l’affidabilità del sistema, la ripetibilità e l’automazione dei processi e, in definitiva, la qualità del prodotto.
Si parla dei principi del continuous integration secondo Martin Fowler. Si parte da un problema comune, che è quello di lavorare in tanti sugli stessi sorgenti e si vedono i principi che possono permetterci di lavorare nel modo più sereno possibile.
Si parla tanto di DevOps e alle conferenze gli argomenti più gettonati sono build pipeline, continuous integration/delivery/deploy, deploy automation e monitoring.
Ci stiamo dimenticando qualcosa... i test! dove sono i test? perché non si parla quasi mai di test? in questo fantastico mondo DevOps come si inseriscono i test?
I test sono solo un passo della pipeline di build? se la pensassi così il titolo del mio intervento sarebbe stato "Continuous Testing in DevOps", non credete?
Breve introduzione a GIT:
. Iniziare un nuovo progetto o clonarne uno esistente
. primi commit e comandi base
. esempi di utilizzo
Autore: Valerio Radice
tag line:
Tutorial GIT ITA italiano
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Natale Vinto
My Master Degree in Computer Engineering Dissertation about delivering an open source extendible hybrid cloud solution for Platform-as-a-Service with Openshift, integrated in an Infrastructure-as-a-Service deployment with Openstack Grizzly RDO
Mobile Development: una introduzione per Web Developerssparkfabrik
Dal native coding agli attuali framework per lo sviluppo mobile: Ionic e React Native la fanno da padroni. Quali sono le caratteristiche peculiari e perché utilizzarli?
Il nostro Lead Developer Edoardo Dusi ne parla diffusamente per poi planare in chiusura su una comparativa tra le due soluzioni. Ah, abbiamo dedicato un piccolo spazio anche a Flutter, il framework multipiattaforma di Google (con 110k+ star su Github!) per creare apps e interfacce native composte da widget realizzati ad hoc e renderizzati da un motore interno ad altissime prestazioni.
Presentazione "quickie" sull'integrazione fra Maven ed Eclipse offerta dal plugin m2eclipse di Sonatype tenuta al JUG Milano Meeting #29 del 3 luglio 2008: http://www.jugmilano.it/vqwiki/jsp/Wiki?Meeting3Luglio2008&highlight=m2eclipse
Introduzione al Controllo di versione (in generale) e al funzionamento di Git (in particolare). Upgrade di un'altra presentazione simile nelle basi ma incentrata su SVN.
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
Si parla tanto di DevOps e alle conferenze gli argomenti più gettonati sono build pipeline, continuous integration/delivery/deploy, deploy automation e monitoring.
Ci stiamo dimenticando qualcosa... i test! dove sono i test? perché non si parla quasi mai di test? in questo fantastico mondo DevOps come si inseriscono i test?
I test sono solo un passo della pipeline di build? se la pensassi così il titolo del mio intervento sarebbe stato "Continuous Testing in DevOps", non credete?
Breve introduzione a GIT:
. Iniziare un nuovo progetto o clonarne uno esistente
. primi commit e comandi base
. esempi di utilizzo
Autore: Valerio Radice
tag line:
Tutorial GIT ITA italiano
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Natale Vinto
My Master Degree in Computer Engineering Dissertation about delivering an open source extendible hybrid cloud solution for Platform-as-a-Service with Openshift, integrated in an Infrastructure-as-a-Service deployment with Openstack Grizzly RDO
Mobile Development: una introduzione per Web Developerssparkfabrik
Dal native coding agli attuali framework per lo sviluppo mobile: Ionic e React Native la fanno da padroni. Quali sono le caratteristiche peculiari e perché utilizzarli?
Il nostro Lead Developer Edoardo Dusi ne parla diffusamente per poi planare in chiusura su una comparativa tra le due soluzioni. Ah, abbiamo dedicato un piccolo spazio anche a Flutter, il framework multipiattaforma di Google (con 110k+ star su Github!) per creare apps e interfacce native composte da widget realizzati ad hoc e renderizzati da un motore interno ad altissime prestazioni.
Presentazione "quickie" sull'integrazione fra Maven ed Eclipse offerta dal plugin m2eclipse di Sonatype tenuta al JUG Milano Meeting #29 del 3 luglio 2008: http://www.jugmilano.it/vqwiki/jsp/Wiki?Meeting3Luglio2008&highlight=m2eclipse
Introduzione al Controllo di versione (in generale) e al funzionamento di Git (in particolare). Upgrade di un'altra presentazione simile nelle basi ma incentrata su SVN.
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
CruiseControl.net in un progetto realeDotNetMarche
La Continuous Integration è una pratica di sviluppo fondamentale per migliorare la qualità del software: CruiseControl.NET è una suite open-source per gestire questo processo in modo trasparente al team di sviluppo. Il relatore mostrerà i vantaggi derivati dall'uso di tale metodologia in un caso pratico, ovvero nello sviluppo della piattaforma di blogging Subtext, di cui è membro del team di sviluppo, nonché Build Manager.
Presentazione alla Google Dev Fest Mediterranean 2016 di Catania con presentazione sulle metodologie di utilizzo di microservices e sui sistemi per monitorare le infrastrutture
La nuova versione di Magento è, rispetto alla precedente, ancor più orientata all’utilizzo di sistemi di automazione già da tempo affermati nell’industria informatica (continuous integration e continuous delivery).
Questo intervento si propone di esplorare alcuni di questi aspetti partendo dalla nuova gestione dei comandi shell proposta dal framework. Con Magento 2 e gli attuali sistemi cloud si può quasi delineare una nuova figura accanto al Backend Developer, il “Devops” developer. Ovvero chi, facendo leva sugli strumenti ora nativi, si occupa di tutti quei processi che “dietro le quinte” garantiscono l’affidabilità del sistema, la ripetibilità e l’automazione dei processi e, in definitiva, la qualità del prodotto.
Ottava puntata del MuleSoft Meetup di Milano. Parliamo insieme a Paolo Petronzi di metodologie di testing e automazione con MUnit e poi con Luca Bonaldo, il nostro Mulesoft Mentor in Italia, dell'integrazione con Salesforce.
https://meetups.mulesoft.com/events/details/mulesoft-milano-presents-mulesoft-milano-meetup-8/
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
Visual Studio Online è uno strumento che fornisce molte funzionalità per l'ALM (Application Lifecycle management) e ad ogni release diventa sempre più completo, funzionale e davvero utile. Si tratta di una piattaforma completa e gratuita di strumenti per lo sviluppo e servizi utili per creare applicazioni multi-piattaforma, progettata per soddisfare i più alti requistiti a livello di disponibilità, scalabilità e complessità di sviluppo.
In questo webcast introduttivo, primo di una serie, vedremo quali sono le caratteristiche di questo strumento, impareremo come utilizzarlo per gestire il lavoro di ogni giorno e prenderemo confidenza con le sue funzionalità. Andremo infine alla scoperta delle nuove feature aggiunte alla suite.
Meetup Azure DevOps
Introduzione ad Azure DevOps e panoramica sulle principali funzionalità per il CI ed il CD del proprio software
Speaker: Simone Natalini
L’approccio IT bimodale, capace di integrare stabilità e sicurezza da un lato e agilità e velocità dall’altro, si configura come soluzione sostenibile per innovare e trasformare il business senza rallentarlo.
Scopri come integrare approccio bimodale e DevOps, per risparmiare tempo, denaro, ridurre i rischi e ottimizzare le risorse.
Segui il webinar on-demand: https://youtu.be/hVJ2Yk6Fd9U
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
Build automatizzate, esecuzione di unit test, creazione di un pacchetto nuget, ecco cosa serve per essere pronti con SQL Server e la continuous integration
2. Cos’è il CI/CD
CI = lo sviluppo avviene attraverso un sistema di versionamento (ambiente
condiviso)
CD = automatizzare e aumentare la velocità delle fasi di build, di test e di
release, e rendere il software disponibile per l’utilizzo
3. Perchè il CICD
Non avere a che fare costantemente con i processi di build e deploy, ma una
volta configurato correttamente il sistema di CICD l’unica operazione che
bisogna fare è quella di integrare il codice.
4. Indice
- Pipelines
- Schedules Pipelines
- Esempio di impatto di un progetto sull’ambiente: modifica di un dato sensibile
- Continuous deployment
- L’esempio dei core-services
- CICD: considerazioni
8. Schedules Pipelines
Concentrare lo sviluppo
nell’automazione:
●
Automatizzare i test
introducendo moduli ad-hoc
●
Sostituire i simulatori manuali
con progetti che fanno l’invio
schedulato di messaggi
10. Esempio: impatto di un progetto sull’ambiente:
modifica di un dato sensibile
11. Esempio di pipeline completa: i
core-services
●I core service sono dei componenti basati su entity mappate alle
tabelle dei nostri db
●Evitano di reimplementare le entity e la persistenza
●Fanno parte di un progetto in Gitlab, e gli artefatti sono gestiti da
un repository manager su una nostra macchina.
●CI/CD: poiche’ sono le basi di molti sviluppi, e’ fondamentale che
vengano rilasciate versioni stabili sull’ambiente
12. Esempio di pipeline completa: i
core-services
●
Chiunque può contribuire allo sviluppo del
progetto. Ogni sviluppatore lavora su un
proprio branch
●
Ogni branch ha una pipeline su cui sono
attive le fasi di build e test
●
Solo la pipeline del branch master (in
questo caso) ha la fase di deploy
●
Il software viene deployato dopo essere
stato mergiato nel master e dopo aver
passato le fasi di build e test
14. Continuous Deployment
Il continuous deployment dovrebbe essere l’obiettivo principale dello sviluppo dei nostri prodotti.
●
Gli errori bloccanti vengono intercettati nelle fasi precedenti al deploy
●
Il deploy non può avvenire se ci sono errori nelle fasi di build e test
●
Il deploy contiene il codice di tutti i contribuenti allo sviluppo (completezza)
●
Il codice viene forzatamente sottoposto a review (collaborazione)
●
Gli ambienti sono utilizzati in modo più efficiente
●
Il software in produzione è sempre aggiornato, stabile, versionato
15. CI: Considerazioni
In base alla dinamica degli sviluppi, la CI/CD facilita lo sviluppatore perchè:
●
Isola il codice da integrare
●
Rende molto più facile il mantenimento di un progetto
●
Nel caso in cui lo sviluppatore deve modificare il codice di un progetto conosce lo stato del
progetto nell’avanzamento dell’ambiente in cui è integrato
●
Evidenzia gli errori all’istante e permette di operare senza dover cercare l’errore
●
Riduce il rischio nel modificare la configurazione delle piattaforme di storage, iot e big-data
●
Riduce il rischio di avere in produzione codice compromesso anticipando il fix di eventuali
errori