La sfida della distribuzione del software - Praticare l'integrazione e la consegna continue in AWS

La sfida della distribuzione del software

Le aziende oggi devono affrontare le sfide poste da scenari competitivi in rapida evoluzione, requisiti di sicurezza in costante mutamento e scalabilità delle prestazioni. Le aziende devono colmare il divario tra la stabilità delle operazioni e lo sviluppo rapido delle funzioni. L'integrazione continua e la consegna continua (CI/CD) sono due pratiche che consentono di apportare rapide modifiche al software mantenendo al contempo la stabilità e la sicurezza del sistema.

Amazon ha realizzato fin da subito che l'esigenza aziendale di rilasciare funzioni per i clienti al dettaglio di Amazon.com, per le filiali di Amazon e per gli Amazon Web Services (AWS) avrebbe richiesto metodi nuovi e innovativi di distribuzione del software. Nel caso delle aziende delle dimensioni di Amazon, migliaia di team software indipendenti devono essere in grado di lavorare in parallelo per distribuire software in modo rapido, sicuro, affidabile e senza alcuna tolleranza per le interruzioni.

Scoprendo come distribuire software ad alta velocità, Amazon e altre organizzazioni lungimiranti hanno aperto la strada all'approccio DevOps. Le prassi DevOps sono un connubio tra cultura, pratica e strumenti per migliorare le capacità di un'azienda di distribuire applicazioni e servizi a velocità elevata. Utilizzando i principi DevOps, le organizzazioni possono evolvere e migliorare i prodotti a un ritmo più veloce rispetto alle organizzazioni che utilizzano processi di sviluppo software e gestione dell'infrastruttura tradizionali. Questa velocità consente alle aziende di offrire servizi migliori ai clienti e offre una maggiore competitività sul mercato.

Alcuni di questi principi, come il two-pizza teams e l'architettura SOA (Microservice/Service-Oriented Architecture), non rientrano nell'ambito di questo whitepaper, che illustra le funzionalità CI/CD che Amazon ha creato e che non ha mai smesso di migliorare. CI/CD è fondamentale per distribuire funzioni software in modo rapido e affidabile.

AWS ora offre queste funzionalità CI/CD sotto forma di un insieme di servizi per sviluppatori: AWS CodeStar, AWS CodeCommit, AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy e AWS CodeArtifact. I professionisti nell'ambito dello sviluppo e delle operazioni IT che praticano l'approccio DevOps possono utilizzare questi servizi per distribuire software in modo rapido e sicuro. Insieme, ti aiutano ad archiviare e ad applicare in modo sicuro il controllo delle versioni al codice sorgente della tua applicazione. Puoi utilizzare AWS CodeStar per orchestrare rapidamente un flusso di lavoro di rilascio software end-to-end utilizzando questi servizi. Nel caso di un ambiente esistente, AWS CodePipeline ha la flessibilità di integrare ogni servizio in modo indipendente con gli strumenti esistenti. Si tratta di servizi altamente disponibili e facilmente integrati a cui è possibile accedere tramite la AWS Management Console, le interfacce del programma dell'applicazione (API) di AWS e i kit di strumenti di sviluppo software (SDK) AWS come per qualsiasi altro servizio AWS.