{"id":33504,"date":"2019-10-31T21:52:58","date_gmt":"2019-10-31T18:52:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\/"},"modified":"2019-10-31T21:52:58","modified_gmt":"2019-10-31T18:52:58","slug":"rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","title":{"rendered":"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/2f9db2f057c4bcb3f2e57a484dd30c8c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Creazione della prima catena DevOps in cinque passi per principianti.<\/em><\/p>\n<p><\/p>\n<p>DevOps \u00e8 diventato la panacea per processi di sviluppo troppo lenti, disconnessi e problematici. Ma \u00e8 necessario avere conoscenze minime in DevOps. Qui verranno esplorati concetti come la catena DevOps e come crearla in cinque passi. Non \u00e8 una guida completa, ma solo una \u201cbase\u201d che pu\u00f2 essere ampliata. Iniziamo con la storia.<\/p>\n<p><\/p>\n<h3 id=\"moe-znakomstvo-s-devops\">La mia introduzione a DevOps<\/h3>\n<p><\/p>\n<p>Un tempo lavoravo con il cloud in Citi Group e sviluppavo un'applicazione web IaaS per gestire l'infrastruttura cloud di Citi, ma sono sempre stato curioso di capire come ottimizzare la catena di sviluppo e migliorare la cultura tra gli sviluppatori. Greg Lavender, il nostro CTO per l'architettura e l'infrastruttura cloud, mi ha consigliato un libro <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/dp\/B078Y98RG8\/\">Progetto \u00abFenice\u00bb<\/a><\/noindex>. Spiega splendidamente i principi di DevOps ed \u00e8 anche molto scorrevole.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>La tabella sul retro mostra con quale frequenza le aziende rilasciano nuove versioni:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/bf\/1e\/2_\/bf1e2_l0g8wnb5nojb1n5ruwlsi.png\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/a723283e54f7614b6b92eab78509985d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Come fanno Amazon, Google e Netflix a rilasciare cos\u00ec tanto? La risposta \u00e8 semplice: hanno capito come creare una catena DevOps quasi perfetta.<\/p>\n<p><\/p>\n<p>Da noi in Citi le cose non andavano affatto in questo modo, fino a quando non siamo passati a DevOps. All'epoca la mia squadra aveva ambienti diversi, ma il rilascio sul server di sviluppo avveniva manualmente. Tutti gli sviluppatori avevano accesso solo a un server di sviluppo basato su IBM WebSphere Application Server Community Edition. Ad ogni tentativo contemporaneo di rilascio, il server \"crashava\", e dovevamo ogni volta \u201ctrattare\u201d dolorosamente tra di noi. Inoltre, avevamo una copertura del codice con test insufficiente, un processo di rilascio manuale complesso e nessuna possibilit\u00e0 di monitorare il rilascio del codice sulla base di qualche compito o richiesta del cliente.<\/p>\n<p><\/p>\n<p>Era chiaro che dovevamo fare urgentemente qualcosa, e ho trovato un collega con la mia stessa visione. Abbiamo deciso di creare insieme la prima catena DevOps: lui ha configurato una macchina virtuale e un server applicazioni Tomcat, mentre io mi sono occupato di Jenkins, integrazione con Atlassian Jira e BitBucket, cos\u00ec come della copertura del codice con test. Il progetto \u00e8 stato un successo: abbiamo completamente automatizzato la catena di sviluppo, raggiunto quasi il 100% di uptime del server di sviluppo, e potevamo monitorare e migliorare la copertura del codice con test, e il branch Git poteva essere collegato al rilascio e al compito Jira. E quasi tutti gli strumenti con cui abbiamo costruito la catena DevOps erano open source.<\/p>\n<p><\/p>\n<p>In effetti, la catena era semplificata, dato che non abbiamo nemmeno utilizzato configurazioni avanzate con Jenkins o Ansible. Ma ce l'abbiamo fatta. Forse \u00e8 conseguenza del principio <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Pareto_principle\">Pareto<\/a><\/noindex> (ovvero la regola 80\/20).<\/p>\n<p><\/p>\n<h3 id=\"kratkoe-opisanie-cepochki-devops-i-cicd\">Breve descrizione della catena DevOps e CI\/CD<\/h3>\n<p><\/p>\n<p>DevOps ha diverse definizioni. Come Agile, DevOps comprende diverse discipline. Ma la maggior parte sarebbe d'accordo con la seguente definizione: DevOps \u00e8 un metodo, o ciclo di vita, di sviluppo software, il cui principio principale \u00e8 creare una cultura in cui sviluppatori e altri dipendenti sono \"sulla stessa lunghezza d'onda\", il lavoro manuale \u00e8 automatizzato, ciascuno si occupa di ci\u00f2 che sa fare meglio, aumenta la frequenza delle consegne, la produttivit\u00e0 e la flessibilit\u00e0.<\/p>\n<p><\/p>\n<p>E sebbene solo gli strumenti non siano sufficienti per creare un ambiente DevOps, sono indispensabili. Il pi\u00f9 importante di essi \u00e8 l'integrazione continua e la consegna continua (CI\/CD). Nella catena ci sono diverse fasi per ciascun ambiente (ad esempio, DEV (sviluppo), INT (integrazione), TST (test), QA (controllo qualit\u00e0), UAT (test di accettazione da parte degli utenti), STG (preparazione), PROD (utilizzo)), i compiti manuali sono automatizzati, gli sviluppatori possono scrivere codice di qualit\u00e0, consegnarlo e possono facilmente riposizionarsi.<\/p>\n<p><\/p>\n<p>Questa nota descrive come creare una catena DevOps in cinque passaggi, come mostrato nell'immagine qui sotto, utilizzando strumenti open source.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/da\/zq\/qo\/dazqqoyxn3vv-o6p9crpsm9m_eu.jpeg\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/da2a6d8ed039f0b8e1ea8e1ba562696d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Passiamo all'azione.<\/p>\n<p><\/p>\n<h3 id=\"shag-1-platforma-cicd\">Passaggio 1: Piattaforma CI\/CD<\/h3>\n<p><\/p>\n<p>Per prima cosa, hai bisogno di uno strumento CI\/CD. Jenkins \u00e8 uno strumento CI\/CD open source scritto in Java con licenza MIT, da cui \u00e8 iniziata la popolarizzazione del movimento DevOps ed \u00e8 diventato di fatto lo standard per CI\/CD.<\/p>\n<p><\/p>\n<p>E cos'\u00e8 Jenkins? Immagina di avere un telecomando magico per vari servizi e strumenti. Di per s\u00e9, uno strumento CI\/CD come Jenkins \u00e8 inutile, ma unito a vari strumenti e servizi diventa onnipotente.<\/p>\n<p><\/p>\n<p>Oltre a Jenkins, ci sono molti altri strumenti open source, scegli quello che preferisci. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/fb\/ov\/dd\/fbovdd2kb_e8jkj1atm1ycuw3so.png\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/2bbe6af719b90da0eb0d367aae66d779.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Ecco come appare il processo DevOps con uno strumento CI\/CD<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/es\/-3\/dj\/es-3djmmligdmtcuvicigopzt8e.jpeg\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/2410013c9e6030596a59f3ed7ae3a7e7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Hai uno strumento CI\/CD in localhost, ma per ora non c'\u00e8 molto da fare. Passiamo al passaggio successivo.<\/p>\n<p><\/p>\n<h3 id=\"shag-2-upravlenie-versiyami\">Passaggio 2: gestione delle versioni<\/h3>\n<p><\/p>\n<p>Il modo migliore (e, probabilmente, pi\u00f9 semplice) per testare la magia dello strumento CI\/CD \u00e8 integrarlo con uno strumento di controllo versioni (source control management, SCM). Perch\u00e9 \u00e8 necessario il controllo versioni? Supponiamo che stiate sviluppando un'applicazione. La scrivete in Java, Python, C++, Go, Ruby, JavaScript o in qualsiasi altro linguaggio, ce ne sono tanti. Ci\u00f2 che scrivete \u00e8 chiamato codice sorgente. All'inizio, soprattutto se lavorate da soli, potete salvare tutto in una cartella locale. Ma quando il progetto cresce e si uniscono pi\u00f9 persone, avete bisogno di un modo per condividere le modifiche nel codice, evitando conflitti durante le fusioni. E dovete anche avere un modo per ripristinare versioni precedenti senza utilizzare backup e senza fare copy-paste sui file di codice.<\/p>\n<p><\/p>\n<p>E qui senza SCM non si va da nessuna parte. SCM memorizza il codice nei repository, gestisce le sue versioni e coordina il lavoro tra gli sviluppatori.<\/p>\n<p><\/p>\n<p>Ci sono molti strumenti SCM, ma Git \u00e8 giustamente diventato lo standard de facto. Consiglio di utilizzarlo, anche se ci sono altre opzioni.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/37555a476c27f7066e5648b9e9e4d90b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ecco come appare il pipeline DevOps dopo l'aggiunta di SCM.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/am\/4o\/39\/am4o39ooera5tweytt3uyh80wlu.jpeg\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/040819b00dc608a9131856dd6a7d4a19.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Lo strumento CI\/CD pu\u00f2 automatizzare il caricamento e il download del codice sorgente e favorire la collaborazione in team. Non male? Ma come si fa ora a trasformarlo in un'applicazione funzionante, amata da miliardi di utenti?<\/p>\n<p><\/p>\n<h3 id=\"shag-3-instrument-avtomatizacii-sborki\">Passo 3: strumento di automazione della build<\/h3>\n<p><\/p>\n<p>Tutto procede per il meglio. Potete caricare codice e registrare le modifiche nel sistema di controllo versioni, e anche invitare amici a lavorare con voi. Ma ancora non avete un'app. Per renderla un'applicazione web, deve essere compilata e confezionata per la distribuzione o eseguita come file eseguibile. (Un linguaggio di programmazione interpretato, come JavaScript o PHP, non ha bisogno di essere compilato.)<\/p>\n<p><\/p>\n<p>Utilizzate uno strumento di automazione della build. Qualunque strumento scegliate, raccoglier\u00e0 il codice nel formato necessario e automatizzer\u00e0 la pulizia, la compilazione, il testing e la distribuzione. Gli strumenti di build variano a seconda del linguaggio, ma di solito si utilizzano le seguenti opzioni open source.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/cc6e958a82ac0676429da6c48e66910f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ottimo! Ora inseriamo i file di configurazione dello strumento di automazione della build nel sistema di controllo versioni, affinch\u00e9 lo strumento CI\/CD possa raccoglierli.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/gl\/t1\/ii\/glt1ii73wdg2roq5fus-fzd0ury.jpeg\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/bba539d128425e7e3ddacdc6028d3604.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Sembra che vada tutto bene. Ma dove dobbiamo ora distribuire tutto questo?<\/p>\n<p><\/p>\n<h3 id=\"shag-4-server-veb-prilozheniy\">Passo 4: server per applicazioni web<\/h3>\n<p><\/p>\n<p>Quindi, hai un file pacchettizzato che pu\u00f2 essere eseguito o distribuito. Affinch\u00e9 l'applicazione porti davvero valore, deve avere qualche servizio o interfaccia, ma \u00e8 necessario trovare un posto per tutto questo.<\/p>\n<p><\/p>\n<p>Un'applicazione web pu\u00f2 essere ospitata su un server di applicazioni. Il server di applicazioni fornisce un ambiente in cui \u00e8 possibile eseguire la logica del programma dal pacchetto, eseguire il rendering dell'interfaccia e aprire servizi web tramite socket. Hai bisogno di un server HTTP e di alcuni altri ambienti (una macchina virtuale, ad esempio) per installare il server di applicazioni. Per ora, immaginiamo di avere tutto chiaro nel processo (anche se parler\u00f2 dei container pi\u00f9 avanti).<\/p>\n<p><\/p>\n<p>Ci sono diversi server di applicazioni web open source.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/v7\/-q\/tq\/v7-qtqzlpp5nvxlqz1oshw4mw1i.png\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/7802afe041a9d56c20ddbe2885b5cf37.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Abbiamo gi\u00e0 creato una catena DevOps quasi funzionante. Ottimo lavoro!<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/lf\/wm\/rx\/lfwmrx3grlcbwb5s_olj33npn7o.jpeg\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/3d1e524b63fecebf4973cc34a40c160d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>In linea di principio, qui puoi fermarti, dopodich\u00e9 te la caverai da solo, ma vale la pena parlare anche della qualit\u00e0 del codice.<\/p>\n<p><\/p>\n<h3 id=\"shag-5-testovoe-pokrytie\">Passo 5: Copertura dei test<\/h3>\n<p><\/p>\n<p>Il testing richiede molto tempo e impegno, ma \u00e8 meglio trovare subito gli errori e migliorare il codice per soddisfare gli utenti finali. Per questo scopo, ci sono molti strumenti open source che non solo testeranno il codice, ma offriranno anche consigli su come migliorarlo. La maggior parte degli strumenti CI\/CD pu\u00f2 connettersi a questi strumenti e automatizzare il processo.<\/p>\n<p><\/p>\n<p>Il testing \u00e8 suddiviso in due parti: framework di testing per scrivere ed eseguire test, e strumenti con suggerimenti per migliorare la qualit\u00e0 del codice.<\/p>\n<p><\/p>\n<h3 id=\"freymvorki-testirovaniya\">Framework di testing<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/cu\/4l\/pn\/cu4lpnpdqa7yd9f5zwsxrrlbylg.png\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/c17426a30a4f140be87489d2c8b0d0b9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Strumenti con suggerimenti per la qualit\u00e0<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ab\/g_\/oh\/abg_ohfxhtbprzhcicxos3jx4yg.png\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/bc65784b8bf5ccaaeef96a0c6ee4422e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>La maggior parte di questi strumenti e framework \u00e8 scritta per Java, Python e JavaScript, poich\u00e9 C++ e C# sono proprietari (anche se GCC ha codice sorgente aperto).<\/p>\n<p><\/p>\n<p>Abbiamo applicato strumenti di copertura dei test, e ora il pipeline DevOps dovrebbe apparire come nel diagramma all'inizio della guida.<\/p>\n<p><\/p>\n<h2 id=\"dopolnitelnye-shagi\">Ulteriori passi<\/h2>\n<p><\/p>\n<h3 id=\"konteynery\">Contenitori<\/h3>\n<p><\/p>\n<p>Come ho gi\u00e0 detto, il server di applicazioni pu\u00f2 essere ospitato su una macchina virtuale o un server, ma i container sono pi\u00f9 popolari.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-are-linux-containers\">Cosa sono i container<\/a><\/noindex>? \u0412\u043a\u0440\u0430\u0442\u0446\u0435, \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0435\u0441\u0442\u0430, \u0447\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0431\u0435\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u043d\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c, \u043d\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432\u043c\u0435\u0449\u0430\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 \u0437\u0430\u0442\u0440\u0430\u0442.<\/p>\n<p><\/p>\n<p>Per i container di solito si utilizza Docker e Kubernetes, anche se ci sono altre opzioni.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/6n\/wc\/rc\/6nwcrcuhk9swwjxdddudr1cqpzc.png\"><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/8749b7044102ff7f23f2c970d6939246.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Leggi articoli su Docker e Kubernetes su <noindex><a rel=\"nofollow\" href=\"http:\/\/opensource.com\/\">Opensource.com<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-docker\">Cos'\u00e8 Docker?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/business\/15\/1\/introduction-docker\">Introduzione a Docker<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-is-kubernetes\">Cos'\u00e8 Kubernetes?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/17\/11\/kubernetes-lightning-talk\">Kubernetes da zero<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"instrumenty-avtomatizacii-promezhutochnogo-po\">Strumenti di automazione del middleware<\/h3>\n<p><\/p>\n<p>La nostra catena DevOps \u00e8 orientata alla costruzione e fornitura collaborativa delle applicazioni, ma con gli strumenti DevOps \u00e8 possibile fare anche altre cose interessanti. Ad esempio, utilizzare strumenti di \"infrastruttura come codice\" (IaC), comunemente noti come strumenti di automazione del middleware. Questi strumenti aiutano ad automatizzare l'installazione, la gestione e altre attivit\u00e0 per il middleware. Ad esempio, lo strumento di automazione pu\u00f2 prendere applicazioni (server web, database, strumenti di monitoraggio) con configurazioni corrette e distribuirle sul server delle applicazioni.<\/p>\n<p><\/p>\n<p>Ecco alcune opzioni di strumenti di automazione del middleware open source:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Guida per principianti: creazione di catene DevOps utilizzando strumenti open source\" src=\"\/wp-content\/uploads\/2019\/05\/23bb3259f336a3f0ebf11ab4aa5471ea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dettagli negli articoli su <noindex><a rel=\"nofollow\" href=\"http:\/\/opensource.com\/\">Opensource.com<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/quickstart-guide-ansible\">Guida all'inizio con Ansible<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/automating-deployment-strategies-ansible\">Strategie di automazione del deployment con Ansible<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/12\/configuration-management-tools\">I 5 migliori strumenti di gestione della configurazione<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"i-chto-teper\">E ora che si fa?<\/h3>\n<p><\/p>\n<p>Questa \u00e8 solo la punta dell'iceberg. La catena DevOps pu\u00f2 fare molto di pi\u00f9. Inizia con uno strumento CI\/CD e scopri cosa altro puoi automatizzare per semplificare il tuo lavoro. Non dimenticare gli <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/alternatives\/slack\">strumenti di comunicazione open source<\/a><\/noindex> per una collaborazione efficace.<\/p>\n<p><\/p>\n<p>Ecco ancora alcuni buoni articoli su DevOps per principianti:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/devops\">Che cos'\u00e8 DevOps<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/master-devops-engineer\">5 competenze per un sviluppatore DevOps<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/11\/how-non-engineer-got-devops\">DevOps per tutti<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/getting-started-predictive-analytics-devops\">Introduzione all'analisi predittiva in DevOps<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Inoltre, \u00e8 possibile integrare DevOps con strumenti open source per l'agile:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/10\/what-agile\">Cos'\u00e8 l'agile?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/steps-agile-developer\">4 passi per padroneggiare l'agile<\/a><\/noindex><\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/451508\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 DevOps \u0437\u0430 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432. DevOps \u0441\u0442\u0430\u043b \u043f\u0430\u043d\u0430\u0446\u0435\u0435\u0439 \u0434\u043b\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041d\u043e \u043d\u0443\u0436\u043d\u044b \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0437\u043d\u0430\u043d\u0438\u044f \u0432 DevOps. \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a \u0446\u0435\u043f\u043e\u0447\u043a\u0430 DevOps \u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0435 \u0437\u0430 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432. \u042d\u0442\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u201c\u0440\u044b\u0431\u0430\u201d, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c. \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0438. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0446\u0435\u043f\u043e\u0447\u0435\u043a DevOps \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:52:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Guida per principianti: creare catene DevOps con strumenti open source | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0446\u0435\u043f\u043e\u0447\u0435\u043a DevOps \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c | ProHoster","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:52:58+00:00","article:modified_time":"2019-10-31T18:52:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33504","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 15:33:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:39:23","updated":"2026-01-21 15:33:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/33504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=33504"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/33504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/25204"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=33504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=33504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=33504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}