Cum să implementezi o strategie DevOps de succes?

Publicat: 2022-06-29

Introducere

DevOps este o strategie de dezvoltare care pune accent pe colaborarea dintre dezvoltatorii de software și personalul operațional IT. Dar implementarea DevOps înseamnă mai mult decât să ceri echipelor tale să lucreze împreună.

Termenul DevOps a fost inventat de Patrick Debois în anul 2009, care este cunoscut și sub numele de „Părintele DevOps”. Procesul constă din următoarele etape principale:

  1. Plan
  2. Creați/Cod
  3. Construi
  4. Test
  5. Eliberare
  6. Implementează
  7. Operați și
  8. Monitorizați

Iată un ghid despre ceea ce este nevoie pentru a implementa DevOps cu succes și numeroasele strategii diferite pentru a face acest lucru.

Nu încercați să faceți totul deodată

Este ușor să fii copleșit atunci când începi prima dată cu DevOps. Există o mulțime de informații și poate fi greu să știi de unde să începi. Recomand să începeți cu puțin și să vă dezvoltați.

În primul rând, alegeți o zonă ușor de automatizat, monitorizat și comunicat cu utilizatorii finali. Acest lucru vă va face mai ușor să arătați succesul de la început și să creați impuls către alte domenii ale afacerii. De exemplu: dacă automatizați implementările sau configurați instrumente de monitorizare, atunci poate vă gândiți să începeți cu ceva precum implementarea aplicațiilor web sau a aplicațiilor containerizate (cum ar fi Docker). Aceste tipuri de servicii au de obicei mai puține dependențe decât alte tipuri de sisteme, cum ar fi bazele de date, astfel încât tind să fie cazuri de testare mai ușoare prin care ne putem măsura progresul în implementarea practicilor DevOps în organizațiile noastre.

Fă ce poți, când poți

Primul lucru de făcut este să-ți faci echipa să folosească instrumentele de care au nevoie. Începeți cu ceea ce este disponibil și adăugați mai multe funcții pe măsură ce vă simțiți mai confortabil. Nu încercați să faceți totul deodată; găsiți unul sau două lucruri care funcționează pentru dvs., apoi treceți la următorul.

Utilizați automatizarea

Scopul DevOps este de a crește viteza, de a reduce costurile și erorile umane și de a îmbunătăți calitatea. De aceea automatizarea este considerată atât de importantă. Automatizarea poate însemna lucruri diferite în contexte diferite (testarea automată și integrarea continuă sunt două exemple comune), dar se referă în general la utilizarea software-ului pentru a îndeplini sarcini specifice. Acest lucru înseamnă că vor fi mai puțini oameni implicați în procesele de dezvoltare și producție, ceea ce reduce costurile și îmbunătățește calitatea - toate în același timp cu creșterea vitezei.

Începeți cu instrumentele existente pentru a dezvolta soluții personalizate

Poate fi mai ușor să începeți cu instrumentele existente decât să dezvoltați soluții personalizate. Dacă abia ați început, există o serie de proiecte open source și servicii cloud care vă pot ajuta să începeți rapid. De exemplu:

  • Cadru de automatizare DevOps Jenkins Stack: Un proiect open source care gestionează întregul ciclu de viață al dezvoltării software. Include instrumente pentru integrare continuă (CI) și livrare continuă (CD), precum și pentru alte sarcini comune DevOps, cum ar fi testarea, construirea, împachetarea și implementarea codului. Acceptă mai multe sisteme de operare, inclusiv Linux și macOS.
  • Elasticsearch: un motor de căutare bazat pe Apache Lucene care oferă capabilități de căutare full-text pentru volume mari de date nestructurate în timp real pe mai multe servere. Este folosit de multe companii precum Netflix sau PayPal, astfel încât să își poată indexa toate tranzacțiile care au loc în acele entități foarte rapid datorită capacității sale de a se scala orizontal (adică adaugă mai multe instanțe atunci când este necesar).

Începeți cu instrumente care se îmbină bine cu cultura dvs

Când începeți călătoria DevOps, este important să înțelegeți că nu veți putea schimba totul deodată. Nu vă puteți forța cultura, procesele, oamenii sau tehnologia să se schimbe; dacă nu se aliniază cu obiectivele dezvoltării DevOps și Agile, atunci îi vor împiedica succesul.

În loc să încercați să forțați aceste elemente într-o matriță fixă ​​care nu se potrivește cu modul în care funcționează afacerea dvs. astăzi, căutați instrumente care sunt concepute special pentru echipele de software care adoptă metodologii Agile - și permiteți-le spațiu de creștere pe măsură ce echipa își crește capacitățile în timp .

Concentrați-vă pe colaborare și obținerea celor mai bune creiere atunci când puteți

Dar găsirea și angajarea acestor resurse nu este ușoară.

Din fericire, există câteva opțiuni excelente pentru a obține ajutor:

  • Căutați ajutor de la alte companii care au implementat deja DevOps. Vor fi învățat deja câteva dintre lecțiile grele și vă pot oferi sfaturi pe baza propriei experiențe.
  • Consultanții pot fi, de asemenea, o opțiune bună dacă nu aveți timp să învățați singuri dezavantajele DevOps. Ei tind să știe ce întrebări să pună și unde să caute răspunsuri; sunt, de asemenea, mai probabil decât angajații din alte companii (care se pot concentra pe locurile de muncă de zi cu zi) deoarece sunt motivați de bani, mai degrabă decât doar de partajarea cunoștințelor.* Comunitățile open source, cum ar fi GitHub, oferă resurse suplimentare după învățarea modului în care lucrează împreună prin colaborare.* Cursurile de formare pot fi o altă opțiune dacă doriți expertiza altcuiva în plus sau în loc să folosiți un consultant extern.* Cărți precum Proiectul Phoenix oferă o vedere din interior asupra modului în care o companie a implementat DevOps cu succes; ele sunt adesea scrise de persoane care au fost implicate în implementarea ei înșiși, mai degrabă decât să observe de la distanță.

Monitorizare și raportare automată

Monitorizarea și raportarea automată este o practică cheie DevOps. Pentru a îmbunătăți calitatea software-ului dvs., trebuie să puteți măsura cât de bine funcționează acesta în producție. Dezvoltatorii ar trebui să fie responsabili pentru monitorizarea codului lor, astfel încât să poată identifica rapid problemele. De asemenea, trebuie să aibă o strategie pentru colectarea acestor date și implementarea instrumentelor de analiză care să le permită să înțeleagă ce se întâmplă cu aplicațiile lor pe măsură ce rulează în producție.

Echipa de operațiuni ar trebui să-și monitorizeze infrastructura, deoarece este responsabilă pentru a se asigura că totul funcționează fără probleme în fiecare zi. Aceasta înseamnă colectarea de valori despre utilizarea CPU, utilizarea spațiului pe disc, consumul de lățime de bandă a rețelei etc., precum și înregistrarea oricăror probleme care apar cu aplicațiile, astfel încât acestea să poată fi rezolvate imediat.

Afacerea dvs. ar trebui să-și monitorizeze rezultatul, măsurând cât de mult venituri aduce fiecare caracteristică nouă în raport cu costurile, cum ar fi timpul de dezvoltare și costurile de întreținere pe parcurs (inclusiv suportul continuu). Capacitatea de a măsura cu acuratețe aceste tipuri de valori permite echipelor din cadrul unei organizații sau din mai multe organizații care lucrează împreună la un singur proiect, cum ar fi cele care folosesc microservicii, să ia decizii mai bune cu privire la caracteristicile care ar trebui să aibă prioritate atunci când își construiesc foaia de parcurs de produse pe baza obiectivelor financiare. mai degrabă decât să ne concentrăm doar pe reducerea datoriei tehnice, fără a ține cont de imaginea de ansamblu.”

Informați-vă clienții, s-ar putea să nu le placă surprizele

Să presupunem că organizația dvs. implementează o nouă bază de cod pentru întreaga aplicație web. Știți că acest lucru va afecta utilizatorii finali și că nu le va plăcea dacă sunt surprinși de schimbare.

Ați putea să-i avertizați și să le acordați timp să se pregătească pentru schimbare, sau puteți aștepta până când aceasta este disponibilă și apoi le explicați ce s-a întâmplat, de ce s-a întâmplat și cum se pot ajuta să se obișnuiască cu schimbările.

O modalitate de a informa utilizatorii ar fi printr-o campanie prin e-mail în care trimiteți invitații în calendar cu instrucțiuni despre modul în care oamenii ar trebui să-și folosească noile instrumente, precum și sfaturi despre cum ar putea beneficia de utilizarea acestor funcții odată ce sunt lansate în producție (de exemplu, va exista o nouă funcție de căutare).

Porniți mic, automatizați, monitorizați progresul și optimizați

Cea mai bună strategie pentru implementarea DevOps este să porniți mic, să automatizați și să monitorizați progresul în timp.

Începeți mic: este mai ușor să creați impuls atunci când începeți cu un domeniu ușor de gestionat. Dacă încerci să abordezi întregul departament sau organizație deodată, poate fi copleșitor și te simți imposibil. În loc să încercați să implementați DevOps în întreaga companie simultan, concentrați-vă pe un singur proiect sau echipă la un moment dat.

Automatizați: există multe instrumente disponibile care vă pot ajuta la automatizarea unor părți ale procesului dvs. de dezvoltare (servere de integrare continuă, cum ar fi Jenkins sau TeamCity), dar pot exista unele lucruri care nu au niciun instrument disponibil încă, cum ar fi configurarea copiilor de rezervă pentru producție. servere în șabloanele AWS CloudFormation — deci asigurați-vă că aceste lucruri sunt incluse în planul dvs. de automatizare înainte de a continua cu orice altceva!

Monitorizați progresul de-a lungul timpului: stabilirea unor valori va permite tuturor celor implicați (inclusiv dvs.) să evalueze cât de bine merg lucrurile de-a lungul timpului, astfel încât să putem face ajustări după cum este necesar de-a lungul fiecărui pas al călătoriei noastre către automatizarea completă!

Concluzie

Sperăm că acum înțelegeți mai bine cum poate funcționa DevOps pentru organizația dvs. După cum am văzut, echipa DevOps este plină de resurse și instrumente utile care vă pot ajuta să începeți și să continuați odată ce ați făcut tranziția inițială. Cheia implementării cu succes este să începeți cu ceea ce știți deja și apoi să repetați până când este perfecționat. Procedând astfel, veți putea implementa o strategie DevOps eficientă fără a vă rupe bugetul sau a vă supraîncărca echipa cu noi responsabilități!

Imagine prezentată: Fluxul de lucru al DevOps: Sursa: Pease, 2017.

Biografia autorului:

Priya are aproximativ 7 ani de experiență în cercetarea pieței. În prezent, ea lucrează pentru Valasys Media, ca asistent manager – Content Strategist, care se numără printre cei mai buni editori media B2B din întreaga lume. Ea a pregătit mai multe rapoarte personalizate pentru clienții noștri și a făcut o mulțime de cercetări privind segmentarea pieței, analiza cluster a audiențelor și metodologiile inbound. Ea a lucrat cu institute guvernamentale, precum și cu case corporative în mai multe proiecte. Ea posedă diverse interese și crede într-o abordare bazată pe date pentru rezolvarea problemelor. Ea deține o diplomă post-universitară în știință, de asemenea, scrie pe larg despre toate lucrurile despre viață, în afară de marketing, știință, știința datelor și statistică. Ea crede ferm în realitățile superioare și că există întotdeauna mai mult în viață decât înțelegem noi. Este o vindecatoare psihica si o practicanta de tarot, care crede intr-un mod spiritual de a trai si practica yoga si meditatia. Când nu scrii, o poți găsi bucurându-se de muzică sau gătind.