close

DevOps

Mergi la navigare Mergi la căutare

DevOps ( acronim englez pentru dezvoltare - dezvoltare - și operațiuni - operațiuni -) este un set de practici care grupează dezvoltarea software ( Dev ) și operațiunile IT ( Ops ). Scopul său este să accelereze ciclul de viață al dezvoltării software și să ofere livrare continuă de înaltă calitate. DevOps este o practică complementară dezvoltării agile de software; Acest lucru se datorează faptului că multe dintre caracteristicile DevOps provin din metodologia Agile.

Principala caracteristică a mișcării DevOps este să susțină în mod activ automatizarea și monitorizarea în toate etapele construcției software-ului, de la integrare , testare, implementare, până la implementare și gestionarea infrastructurii . DevOps vizează cicluri de dezvoltare mai scurte, frecvență mai mare de implementare, lansări mai eficiente, în strânsă aliniere cu obiectivele de afaceri. [ 1 ] ​[ 2 ] ​[ 3 ] ​[ 4 ]

Definiții și istoric

Image
Ilustrație care arată DevOps ca intersecție între dezvoltare, operațiuni tehnologice și calitate (QA)

La conferința Agile 2008 de la Toronto, Yhens Wasna și Patrick Debois au introdus termenul în discursul lor despre „Infrastructura Agile”. [ 5 ] Începând cu 2009, termenul DevOps a fost în mod constant promovat și adus în uz mai general printr-o serie de „devopsdays”, [ 6 ] care au început în Belgia și s-au răspândit acum și în Europa, în alte țări. [ 7 ]

Termenul DevOps a fost folosit în multe contexte diferite. [ 8 ]

O definiție propusă de Bass, Weber și Zhu este:

DevOps este un set de practici menite să reducă timpul dintre efectuarea unei modificări a unei aplicații și punerea modificării în producție normală, asigurând în același timp calitate înaltă. [ 9 ]

În următorul deceniu, s-au dezvoltat și mai multe inițiative DevOps tangențiale, cum ar fi OpsDev, [ 10 ] WinOps, [ 11 ] și BizDevOps. [ 12 ]

Instrumente DevOps

Deoarece DevOps se dorește a fi un mod de lucru interfuncțional, în loc de un singur instrument DevOps există seturi (sau „ lanțuri de instrumente ”) de mai multe instrumente. [ 13 ]​ Se așteaptă ca astfel de instrumente DevOps să se încadreze într-una sau mai multe dintre aceste categorii, reflectând aspecte cheie ale procesului de dezvoltare și livrare: [ 14 ] ​[ 15 ]

  1. Cod: dezvoltare și revizuire a codului, instrumente de gestionare a codului sursă, fuziunea codului
  2. Build: instrumente de integrare continuă , starea build
  3. Test – Instrumente de testare în curs de desfășurare care oferă feedback cu privire la riscurile de afaceri
  4. Pachet: depozit de artefacte , distribuție înainte de implementarea aplicației
  5. Lansare - managementul modificărilor, aprobări de lansări, automatizare lansări
  6. Configurare - configurare și gestionare a infrastructurii, Infrastructură ca cod
  7. Monitor: monitorizarea performanței aplicației, experiența utilizatorului final

Unele categorii sunt mai esențiale într-un lanț de instrumente DevOps decât altele; în special integrarea continuă (de ex . Jenkins ) și infrastructura ca cod (de ex . Puppet ). [ 16 ]​ [ 17 ]

Relație și alte abordări

Agil

Nevoia de DevOps a apărut din succesul tot mai mare al dezvoltării software agile, deoarece aceasta a determinat organizațiile să dorească să-și lanseze software-ul mai rapid și mai frecvent. Pe măsură ce au încercat să depășească presiunea pe care aceasta le punea asupra proceselor lor de gestionare a versiunilor, au fost nevoiți să adopte modele precum automatizarea lansării aplicațiilor, instrumente de integrare continuă și livrare continuă . [ 18 ]

Livrare continuă

Livrarea continuă și DevOps au obiective comune și sunt adesea folosite împreună, dar există diferențe subtile. [ 19 ]​ [ 20 ]

În timp ce livrarea continuă se concentrează pe automatizarea proceselor de livrare a software-ului , DevOps se concentrează, de asemenea, pe schimbarea organizațională pentru a sprijini colaborarea bogată în numeroasele funcții implicate. [ 19 ]

DevOps și livrarea continuă au o bază comună în metodele agile și gândirea ușoară: schimbări mici, frecvente, cu valoare concentrată pentru clientul final. [ 21 ]

ArchOps

ArchOps este o extensie a DevOps care crește nivelul de abstractizare prin acordarea de prioritate artefactelor arhitecturii software față de codul sursă pentru implementarea și operarea soluțiilor software. [ 22 ] ArchOps stabilește că modelele de arhitectură sunt entități de primă clasă în dezvoltarea, implementarea și operarea soluțiilor software.

DataOps

Livrarea continuă și aplicația DevOps pentru analiza datelor a fost numită DataOps. DataOps urmărește să integreze în operațiuni ingineria datelor, integrarea datelor, calitatea datelor, securitatea datelor și confidențialitatea datelor. [ 23 ]​ Se aplică principiile DevOps, dezvoltarea agilă și controlul statistic al procesului, utilizate în manufacturarea slabă, pentru a îmbunătăți timpul ciclului de extragere a valorii din analiza datelor. [ 24 ]

DevSecOps

DevSecOps este o creștere a DevOps pentru a permite practicilor de securitate să fie integrate în abordarea DevOps. Modelul tradițional al unei echipe de securitate centralizată trebuie să adopte un model federal care să permită fiecărei echipe de livrare să ia în considerare controalele de securitate corecte în practicile lor DevOps.

Obiective

Obiectivele DevOps cuprind întregul proces de livrare. Ei includ:

  • Frecvența de implementare îmbunătățită;
  • Lansări mai rapide în producție;
  • Rată scăzută de eroare în generarea de noi versiuni;
  • Timp de livrare mai scurt între versiuni;
  • Timp de implementare mai rapid (în cazul în care o versiune nouă are inconsecvențe).
  • Viteza de reacție în cazul în care o versiune implementată eșuează

Procesele simple devin din ce în ce mai standard și mai dinamice, folosind o abordare DevOps. [ 25 ] DevOps își propune să maximizeze predictibilitatea, eficiența, securitatea și mentenabilitatea proceselor operaționale. Foarte des, automatizarea sau robotizarea proceselor sprijină acest obiectiv.

Integrarea DevOps se concentrează pe livrarea produselor, testarea utilizatorilor (UAT), testarea continuă, testarea calității, dezvoltarea caracteristicilor și lansările de întreținere pentru a îmbunătăți fiabilitatea și securitatea și pentru a oferi cicluri de dezvoltare și implementare mai rapide. Multe dintre ideile (și oamenii) implicați în DevOps provin din managementul sistemelor de întreprindere și mișcări agile de dezvoltare a software-ului. [ 26 ]

Microservicii

Acest tip de abordare permite companiilor digitale să ofere disponibilitate și stabilitate ridicate aplicațiilor lor; Acest lucru se datorează faptului că toate părțile aplicațiilor (bază de date, back-end, front-end etc.) sunt independente și, dacă una dintre ele eșuează, nu înseamnă că întregul sistem informațional are probleme. În schimb, celelalte servicii vor continua să funcționeze în timp ce componenta afectată este restaurată. [ 27 ] Creatorii DevOps au nevoie de microservicii pentru a-și optimiza dezvoltările și a lăsa în urmă arhitecturi monolitice, deoarece arhitectura serviciilor devine modulară și segmentată pentru a minimiza riscul și pentru a îmbunătăți modul în care aplicațiile și componentele lor sunt implementate.

Vezi și

Referințe

  1. ^ Loukides, Mike (7 iunie 2012). „Ce este DevOps?” . O'Reilly Radar (în engleză SUA) . Recuperat la 2 noiembrie 2017 . 
  2. ^ „Ascensiunea DevOps” . www.somic.org (în engleză SUA) . Recuperat la 2 noiembrie 2017 . 
  3. ^ „Cultura DevOps (Partea 1) – Revoluția IT” . IT Revolution (în engleză SUA) . 1 mai 2012 . Recuperat la 2 noiembrie 2017 . 
  4. ^ „DevOps care amestecă dev, ops, agile, cloud, open source și business — 451 CAOS Theory” . blogs.the451group.com . Arhivat din original pe 14 septembrie 2015 . Recuperat la 2 noiembrie 2017 . 
  5. Debois, Patrick. „Agile 2008 Toronto: Prezentare privind infrastructura și operațiunile agile” . www.jedi.be. _ Recuperat la 3 noiembrie 2017 . 
  6. ^ „Devopsdays Ghent 2009” . www.devopsdays.org . Recuperat la 3 noiembrie 2017 . 
  7. ^ „DevOpsDays” . www.devopsdays.org (în engleză SUA) . Recuperat la 3 noiembrie 2017 . 
  8. „Surpriză! Acord larg privind definiția DevOps - DevOps.com» . DevOps.com (în engleză SUA) . 13 mai 2015 . Recuperat la 3 noiembrie 2017 . 
  9. „Surse de cărți” incorecte cu auto-referință ( ajutor ) . Wikipedia (în engleză) . Recuperat la 3 noiembrie 2017 . |url=  
  10. „DevOps trebuie să însemne și OpsDev - DevOps.com” . DevOps.com (în engleză SUA) . 27 octombrie 2015 . Recuperat la 3 noiembrie 2017 . 
  11. Weinberger, Matt. „Studiul Microsoft arată că toată lumea vrea DevOps, dar cultura este o provocare” . Computerworld (în engleză) . Recuperat la 3 noiembrie 2017 . 
  12. ^ „De ce DevOps nu funcționează pentru aplicațiile de întreprindere - DZone DevOps” . dzone.com (în engleză) . Recuperat la 3 noiembrie 2017 . 
  13. Tendințele pieței Gartner: DevOps – nu o piață, ci o filozofie centrată pe instrumente care susține un lanț valoric de livrare continuă (raport). Gartner. 18 februarie 2015.
  14. dev2ops. „Integrarea instrumentelor DevOps într-o platformă de furnizare de servicii (VIDEO) - dev2ops” . dev2ops (în engleză americană) . Arhivat din original pe 8 februarie 2014 . Recuperat la 3 noiembrie 2017 . 
  15. ^ „Exploarea întregului lanț de instrumente DevOps pentru echipe (Cloud)” . InfoQ . Recuperat la 3 noiembrie 2017 . 
  16. „DevOps Stack on a Shoestring Budget - DevOps.com” . DevOps.com (în engleză SUA) . 5 februarie 2016. Arhivat din original la 27 mai 2016 . Recuperat la 3 noiembrie 2017 . 
  17. ^ „Stronger DevOps Culture with Puppet and Vagrant” . Marionetă (în engleză) . Arhivat din original pe 29 ianuarie 2016 . Recuperat la 3 noiembrie 2017 . 
  18. Cele mai bune practici în managementul schimbărilor, configurării și lansării (raport). Gartner. 14 iulie 2010.
  19. a b „Surse de cărți” incorecte cu auto-referință ( ajutor ) . Wikipedia (în engleză) . Recuperat la 3 noiembrie 2017 . |url=  
  20. „Relația dintre Dev-Ops și livrarea continuă: o conversație cu Jez Humble Of ThoughtWorks” . Forrester (în engleză americană) . 9 septembrie 2011 . Recuperat la 3 noiembrie 2017 . 
  21. „Avem nevoie de IT mai agil acum!” . Dr Dobb . Recuperat la 3 noiembrie 2017 . 
  22. Castellanos, Camilo; Correal, Dario (15 septembrie 2018). „Executarea modelelor arhitecturale pentru Big Data Analytics” . Note de curs în informatică 11048 : 364-371. doi : 10.1007/978-3-030-00761-4_24 . 
  23. ^ „De la DevOps la DataOps, de Andy Palmer - Tamr Inc.” . Tamr Inc. (în engleză SUA) . 7 mai 2015 . Recuperat la 3 noiembrie 2017 . 
  24. DataKitchen (15 martie 2017). „Cum să devii o stea în ascensiune cu Data Analytics” . operațiuni de date . Recuperat la 3 noiembrie 2017 . 
  25. ^ „Noua relicvă: ce este DevOps – explicat” . New Relic (în engleză) . Recuperat la 3 noiembrie 2017 . 
  26. ^ „Infrastructură agilă” . InfoQ . Recuperat la 3 noiembrie 2017 . 
  27. «Cum să explici șefului tău beneficiile DevOps (Ediția 2018) | Clickittech» . www.clickittech.com (în engleză SUA) . Preluat la 9 august 2018 . 

Link- uri externe