Una delle parole d’ordine popolari nei circoli di sviluppo negli ultimi anni è stata”distribuzione su larga scala”. Ora, anche se è bello avere un termine universalmente riconosciuto, le opinioni su cosa significhi effettivamente implementazione su larga scala tendono a variare.
Quindi cosa significa esattamente”su larga scala”nella comunità di sviluppo e come possono le aziende definire il proprio proprio approccio? Abbiamo parlato con Adam Frank, VP, product and marketing di Armory.io, per scoprirlo.
BN: Iniziamo tornando alle origini, cosa costituisce un”deployment”?
AF: Un deployment nel contesto del Continuous Deployment e della tecnologia è quando le modifiche al codice o alla configurazione vengono automaticamente confermate o’distribuite’in produzione. L’implementazione continua garantisce l’implementazione senza influire negativamente sull’esperienza utente, orchestrando il ciclo di vita della promozione dell’ambiente e dei test utilizzando strategie progressive come canary e blue/green con analisi dell’impatto automatizzata e rollback senza soluzione di continuità.
BN: Com’è l’implementazione influenzato dall’ambiente aziendale?
AF: L’ambiente aziendale crea complessità con le sue dimensioni, incoerenze e una miriade di parti in movimento. La distribuzione del software su larga scala nell’ambiente aziendale può essere estremamente impegnativa, ingombrante, lenta e costosa. Gli altri aspetti di scala che non possiamo dimenticare sono le persone e anche gli aspetti di processo. I team di tutta l’azienda avranno processi, obiettivi, priorità e mandati diversi. Le persone, i processi e la tecnologia su scala aziendale spesso portano alla complessità.
BN: Dove tracci il confine tra implementazione e manutenzione? In che modo questo si adatta al concetto di implementazione continua?
AF: Non esiste una linea definita tra implementazione e manutenzione né dovrebbe esserlo. Alcuni codici possono fornire nuove funzionalità mentre un altro può fornire una correzione di bug o ripulire il codice esistente e il debito tecnologico. In ogni caso, dovrebbero passare tutti attraverso il processo di implementazione per garantire la funzionalità e ridurre gli errori di modifica.
BN: Quindi, come possono essere scalate le implementazioni?
AF: Due parole: orchestrazione. Automazione. Gli ingegneri della piattaforma e i professionisti DevOps dedicano molto tempo alla creazione e alla manutenzione di pipeline e processi di distribuzione, la cui complessità aumenta il tempo tra le versioni e diminuisce la probabilità di una distribuzione riuscita. gli strumenti homegrown mancano di scalabilità su tutti e tre gli aspetti: persone, processo, tecnologia. Vuoi che il tuo personale si concentri sul tuo vantaggio competitivo; focalizzato sul tuo valore di differenziazione. Non costruire e mantenere infrastrutture. Vuoi che il tuo processo sia automatizzato, end-to-end. Per scalare in modo efficiente le distribuzioni, i team devono rendere l’intero processo semplice, affidabile e ripetibile. Il Continuous Deployment orchestra i test, la scansione della sicurezza, il ciclo di vita della promozione in ogni cluster e ambiente, indipendentemente dal numero di cluster e ambienti che uno potrebbe avere e, cosa più importante, riduce il rischio di influire negativamente sull’esperienza del cliente. Che tu stia passando da 10 a 1000 sviluppatori o da 1000 o 10.000 e oltre, un buon flusso di lavoro di Continuous Deployment rimane facile da mantenere, efficiente ed efficace.
BN: Che ruolo hanno tecnologie come la containerizzazione giocare?
AF: I contenitori virtualizzano i livelli software al di sopra del livello del sistema operativo, rendendoli pacchetti software leggeri che contengono tutte le dipendenze necessarie per eseguire il software contenuto. Poiché sono leggeri, sono molto veloci da modificare e iterare. Questo li rende perfetti per la distribuzione continua. Una volta che il processo di integrazione continua è stato completato con successo e c’è un nuovo artefatto; una nuova immagine del contenitore, il flusso di lavoro di distribuzione continua prende il sopravvento e orchestra la distribuzione tra gli ambienti. Ciò garantisce che il manufatto arrivi alla produzione in modo sicuro e protetto.
Credito immagine: Elnur_/depositphotos.com