Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source
Custruisce a vostra prima catena DevOps in cinque passi per i principianti.

DevOps hè diventatu una panacea per i prucessi di sviluppu troppu lenti, disconnessi è altrimenti problematici. Ma avete bisognu di cunniscenza minima in DevOps. Coprerà cuncetti cum'è a catena DevOps è cumu creà unu in cinque passi. Questa ùn hè micca una guida cumpleta, ma solu un "pesce" chì pò esse allargatu. Cuminciamu cù a storia.

A mo introduzione à DevOps

Aviu travagliatu cù nuvole in Citi Group è sviluppà una applicazione web IaaS per gestisce l'infrastruttura nuvola di Citi, ma sò sempre interessatu à cumu ottimisà a catena di sviluppu è migliurà a cultura trà i sviluppatori. Greg Lavender, u nostru CTO per l'Architettura è l'Infrastruttura di Cloud, hà cunsigliatu stu libru per mè. Prughjettu "Phoenix". Spiega i principii DevOps bellamente è leghje cum'è un rumanzu.

U tavulu nantu à u spinu mostra quante volte l'imprese lanciu novi versioni:

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Cumu Amazon, Google è Netflix riescenu à sparghje tantu? È hè simplice: anu capitu cumu creà una catena DevOps quasi perfetta.

Ùn era micca cusì à Citi finu à chì avemu trasfirutu à DevOps. Allora u mo squadra avia ambienti diffirenti, ma avemu fattu a consegna à u servitore di sviluppu manualmente. Tutti i sviluppatori avianu accessu à un solu servitore di sviluppu basatu annantu à IBM WebSphere Application Server Community Edition. Cù un tentativu simultaneo di consegna, u servitore "cadde", è ogni volta avemu avutu "dolorosamente" negozià trà noi. Avemu avutu ancu una copertura di codice insufficiente cù teste, un prucessu di consegna manuale chì richiede tempu, è nisuna manera di seguità a consegna di codice cù l'aiutu di qualchì compitu o esigenza di u cliente.

Era chjaru chì qualcosa era urgentemente bisognu à esse fattu, è aghju trovu un cumpagnu chì pensava. Avemu decisu di creà a prima catena DevOps inseme - hà stallatu una macchina virtuale è un servitore d'applicazioni Tomcat, è aghju pigliatu cura di Jenkins, integrazione cù Atlassian Jira è BitBucket, è ancu a cobertura di codice cù testi. U prugettu hà successu: avemu automatizatu cumplettamente a catena di sviluppu, ottenutu quasi 100% uptime in u servitore di sviluppu, anu pussutu monitorà è migliurà a cobertura di codice cù testi, è una filiera Git puderia esse ligata à una consegna Jira è prublema. È quasi tutti l'arnesi chì avemu usatu per custruisce a catena DevOps eranu open source.

In fatti, a catena hè stata simplificata, perchè ùn avemu mancu applicà cunfigurazioni avanzate cù Jenkins o Ansible. Ma avemu riesciutu. Forsi questu hè una cunsequenza di u principiu Paretu (aka a regula 80/20).

Una breve descrizzione di a catena DevOps è CI / CD

DevOps hà diverse definizioni. DevOps, cum'è Agile, include diverse discipline. Ma a maiò parte d'accordu cù a seguente definizione: DevOps hè un metudu, o ciclu di vita, di u sviluppu di software, u principiu principale di quale hè di creà una cultura induve i sviluppatori è l'altri impiegati sò "nantu à a stessa lunghezza d'onda", u travagliu manuale hè automatizatu, ognunu face ciò chì hè megliu, a freccia di spedizioni aumenta, a produtividade di u travagliu aumenta, a flessibilità aumenta.

Mentre i strumenti solu ùn sò micca abbastanza per creà un ambiente DevOps, sò indispensabili. U più impurtante di questi hè l'integrazione cuntinua è a spedizione cuntinuu (CI / CD). Ci sò diverse tappe in a catena per ogni ambiente (per esempiu, DEV (sviluppu), INT (integrazione), TST (test), QA (assicurazione di qualità), UAT (test di accettazione di l'utilizatori), STG (preparazione), PROD (usu)) , i travaglii manuali sò automatizati, i sviluppatori ponu pruduce codice di qualità, furnisce, è ponu facilmente ricustruisce.

Questa nota descrive cumu creà una catena DevOps in cinque passi, cum'è mostra in a stampa sottu, utilizendu strumenti open source.

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Andemu à l'affari.

Passu 1: Piattaforma CI/CD

Prima di tuttu, avete bisognu di un strumentu CI / CD. Jenkins hè un strumentu CI/CD open-source cun licenza MIT scritta in Java chì hà popularizatu u muvimentu DevOps è hè diventatu u standard de facto per CICD.

Cosa hè Jenkins? Imagine chì avete un pannellu di cuntrollu magicu per una varietà di servizii è arnesi. Per sè stessu, un strumentu CI / CD cum'è Jenkins hè inùtule, ma cù e diverse arnesi è servizii, diventa tuttu putente.

In più di Jenkins, ci sò parechje altre arnesi open source, sceglite qualsiasi.

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Eccu ciò chì pare un prucessu DevOps cù un strumentu CI/CD

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Avete un strumentu CI/CD in localhost, ma ùn ci hè ancu assai da fà. Andemu à u passu prossimu.

Passu 2: Version Control

U megliu (è senza dubbitu più faciule) per pruvà a magia di un strumentu CI / CD hè di integrà cù un strumentu di gestione di cuntrollu di fonte (SCM). Perchè avete bisognu di cuntrollu di versione? Diciamu chì fate una applicazione. Scrivite in Java, Python, C++, Go, Ruby, JavaScript, o qualsiasi altra lingua chì hè un carru è un carru. Ciò chì scrive hè chjamatu codice fonte. À u principiu, soprattuttu s'è vo avete travagliatu solu, pudete salvà tuttu in un repertoriu lucale. Ma cum'è u prugettu cresce è più persone si uniscenu, avete bisognu di un modu per sparte i cambiamenti di codice, ma evitendu cunflitti quandu unisce i cambiamenti. È avete ancu bisognu di restaurà in qualchì modu e versioni precedenti senza aduprà copia di salvezza è utilizendu u metudu di copia-incolla per i schedarii di codice.

È quì senza SCM in ogni locu. U SCM guarda u codice in i repositori, gestisce e versioni di questu, è u coordina trà i sviluppatori.

Ci hè parechje strumenti SCM, ma Git hè diventatu meritatamente u standard di facto. Vi cunsigliu per aduprà, ma ci sò altre opzioni.

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Eccu ciò chì u pipeline DevOps s'assumiglia dopu avè aghjustatu u SCM.

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

L'uttellu CI / CD pò automatizà l'upload è u scaricamentu di u codice fonte è a cullaburazione di squadra. Micca male? Ma avà cumu fà una applicazione di travagliu da questu, amatu da miliardi di utilizatori?

Passu 3: Custruì Strumenta Automation

Tuttu va cum'è deve. Pudete carricà u codice è committemu cambiamenti à u cuntrollu di a fonte, è invita l'amichi à travaglià cun voi. Ma ùn avete micca ancu una app. Per esse una applicazione web, deve esse cumpilata è imballata per a distribuzione o eseguita cum'è eseguibile. (Un linguaghju di prugrammazione interpretatu cum'è JavaScript o PHP ùn deve esse compilatu).

Aduprate un strumentu d'automatizazione di custruzzione. Qualunque strumentu sceglite, assemblerà u codice in u formatu ghjustu è automatizà a pulizia, a compilazione, a prova è a consegna. L'arnesi di custruzzione varianu per lingua, ma e seguenti opzioni open source sò cumunimenti aduprate.

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Parfetta ! Avà inserimu i schedarii di cunfigurazione di l'automatizazione di custruzzione in u cuntrollu di a fonte in modu chì l'uttellu CI / CD li custruisci.

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Si senti bè. Ma induve hè tuttu questu per sparghje avà?

Passu 4: Servitore di Applicazioni Web

Dunque, avete un schedariu imballatu chì pò esse eseguitu o sbulicatu. Per chì una applicazione sia veramente utile, deve avè qualchì tipu di serviziu o interfaccia, ma avete bisognu di mette tuttu in un locu.

Una applicazione web pò esse ospitata in un servitore d'applicazioni web. U servitore di l'applicazioni furnisce un ambiente induve pudete eseguisce logica imballata, rende interfacce, è espone i servizii web nantu à un socket. Avete bisognu di un servitore HTTP è uni pochi altri ambienti (una macchina virtuale, per esempiu) per installà u servitore di l'applicazione. Per avà, facemu finta chì avete trattatu di tuttu questu mentre andate (ancu se parleraghju di cuntenituri quì sottu).

Ci sò parechji servitori di applicazioni web aperti.

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Avemu digià una catena DevOps guasi funzionante. Gran travagliu!

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

In principiu, vi ponu piantà quì, allura vi pò trattà sè stessu, ma vale a pena parlà di a qualità di u codice.

Passu 5: Test coverage

A prova piglia assai tempu è sforzu, ma hè megliu truvà bug subitu è ​​migliurà u codice per piacè à l'utilizatori finali. Per questu scopu, ci sò parechje arnesi aperti chì ùn solu pruvà u codice, ma ancu cunsiglià cumu per migliurà. A maiò parte di l'arnesi CI / CD ponu inserisce questi strumenti è automatizà u prucessu.

A prova hè divisa in duie parti: quadri di prova per scrive è eseguisce testi, è strumenti cù suggerimenti per migliurà a qualità di u codice.

Quadri di prova

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Strumenti cù cunsiglii di qualità

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

A maiò parte di sti strumenti è frameworks sò scritti per Java, Python è JavaScript perchè C ++ è C # sò proprietarii (ancu se GCC hè open source).

Avemu appiicatu l'arnesi di copertura di teste, è avà u pipeline DevOps deve esse cum'è a stampa à u principiu di u tutoriale.

Passi supplementari

Contenidors

Comu dissi prima, un servitore di l'applicazione pò esse ospitu in una macchina virtuale o un servitore, ma i cuntenituri sò più populari.

Chì sò i cuntenituri? In corta, in una macchina virtuale, u sistema operatore spessu occupa più spaziu di l'applicazione, è un cuntinuu di solitu basta cù uni pochi di biblioteche è cunfigurazione. In certi casi, e macchine virtuali sò indispensabili, ma u cuntinuu pò accoglie l'applicazione cù u servitore senza costu extra.

Per i cuntenituri, Docker è Kubernetes sò generalmente pigliati, ancu s'ellu ci sò altre opzioni.

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Leghjite l'articuli nantu à Docker è Kubernetes à opensource.com:

Strumenti d'automatizazione di middleware

A nostra catena DevOps hè focu annantu à a custruzione di cullaburazione è a consegna di una applicazione, ma ci sò altre cose interessanti chì pudete fà cù l'arnesi DevOps. Per esempiu, aduprate l'arnesi di Infrastruttura cum'è Code (IaC), cunnisciuti ancu com'è strumenti d'automatizazione di middleware. Questi strumenti aiutanu à automatizà l'installazione, a gestione è altre attività per middleware. Per esempiu, un strumentu d'automatizazione pò piglià l'applicazioni (servitore di l'applicazioni web, basa di dati, strumenti di monitoraghju) cù e cunfigurazioni currette è spinghje à u servitore di l'applicazioni.

Eccu alcune opzioni per l'arnesi d'automatizazione di middleware aperti:

Dummies Guide: Custruisce Catene DevOps cù Strumenti Open Source

Dettagli in l'articuli opensource.com:

E ora, cosa?

Questu hè solu a punta di l'iceberg. A catena DevOps pò fà assai di più. Cumincià cù un strumentu CI / CD è vede ciò chì altru pudete automatizà per fà u vostru travagliu più faciule. Ùn vi scurdate di Strumenti di cumunicazione aperti per una cullaburazione efficace.

Eccu alcuni più boni articuli DevOps per i principianti:

Pudete ancu integrà DevOps cù strumenti agili aperti:

Source: www.habr.com

Add a comment