4 sfaturi DevOps pentru echipe mici
Publicat: 2020-02-08Vă întrebați cum să implementați DevOps pentru echipe mici? DevOps este un domeniu în creștere de strategie și execuție în companii de toate dimensiunile. Accelerează timpul de lansare pe piață, permite lansări mai rapide și face dezvoltatorii, managerii de operațiuni și clienții mai fericiți.
Vom vorbi despre ce este DevOps, cum îl implementează companiile mari și ce lecții și sfaturi pot obține și implementa companiile mici chiar acum.
Ce este DevOps?
DevOps este un termen dificil de definit, în principal pentru că cuprinde o serie de practici. Practic, DevOps este o combinație de două lucruri în scopul unei mai bune comunicări: „Dev” înseamnă „dezvoltatori” și „Ops” pentru operațiuni.
Prin urmare, DevOps este de obicei un grup de dezvoltatori de cod și manageri de operațiuni de sistem care colaborează pentru a distruge silozurile de cunoștințe - în esență, pentru a se asigura că sunt întotdeauna pe aceeași pagină atunci când vine vorba de dezvoltarea și implementarea eficientă a codului.
DevOps înseamnă comunicare eficientă între departamente. Înseamnă să lucrăm împreună pentru a crea strategii pentru un departament care să facă viața mai ușoară celuilalt departament. De asemenea, înseamnă, în general, mai multă automatizare a codului, bucăți mai mici de cod, sisteme de control sursă și poate încă câteva întâlniri.
Dar ce se întâmplă fără DevOps?
De ce este nevoie de DevOps?
În mod tradițional, managerii de operațiuni mențin mediul de producție - adică tot ceea ce interacționează clienții și clienții.
Dezvoltatorii, pe de altă parte, lucrează în culise, creând cod în mediul de testare - o zonă izolată de mediul de producție. Acest mediu de dezvoltare, în mod ideal, simulează mediul de producție și modul în care codul sau aplicația funcționează în lumea reală.
În practică, aceasta înseamnă că dezvoltatorii scriu cod în balonul lor și îl trimit pentru a fi implementat în mediul de producție, unde managerii de operațiuni trebuie să descopere cum să mențină totul să funcționeze și să fie stabil în timp ce integrează noul cod. Și dezvoltatorii sunt, de obicei, prea ocupați cu codarea de noi funcții, iar managerii operațiunilor sunt prea ocupați doar încercând să mențină fiecare placă în rotație, așa că timpul pentru comunicare și refacerea mediului este scurt.
Și în timp ce DevOps necesită puțin timp pentru a se instala și a începe, rezultatele pot face orice companie – mare sau mică – mai agilă și mai competitivă.
DevOps la companiile mari
DevOps este un slam dunk pentru companiile mari. Cu un număr mare de dezvoltatori și o bază de cod suficient de mare, dezvoltarea și implementarea codului poate fi o luptă titanică.
Companiile mari au mai mulți clienți. Mai mulți clienți înseamnă mai multe servere, adesea mai multe funcții și mai multă presiune asupra rețelei. Acest lucru creează o bază de cod mai mare, ceea ce înseamnă că chiar și micile ajustări pot avea un efect de cascadă în mediu. Și, deoarece companiile mari încearcă adesea să scoată funcții noi pentru a rămâne competitive pe piață, au nevoie ca mediul de dezvoltare și mediul de producție să fie în pas.
Companii precum Netflix, Amazon și Target au adoptat DevOps pentru a-și eficientiza serviciile. Integrarea mediului lor de dezvoltare cu mediul lor de producție (împreună cu automatizarea grea) permite Netflix și Amazon să implementeze de mii de ori pe zi .
Amazon folosește un sistem de implementare continuă și control automat al sursei pentru a verifica revizuirile automat, punându-le prin procesul de construire și testare fără interferențe umane.
NASA folosește un sistem similar, folosind o combinație de serviciul AWS al Amazon și sisteme de date containerizate pentru a permite specialiștilor în date NASA să partajeze date și analize de telemetrie cu inginerii lor într-un ritm constant.
Dar acele companii și organizații sunt enorme. Cum poate o echipă mică să se apropie de acel nivel de organizare și automatizare? Cum funcționează DevOps pentru echipe mici în sălbăticie?
Soluții DevOps Echipele mici le pot adopta
Echipele mici nu au aceeași lățime de bandă ca și companiile mai mari - atât în ceea ce privește numărul de oameni, departamente și resurse. Cu toate acestea, aceasta ajunge să fie o sabie cu două tăișuri, deoarece, în general, echipele mai mici folosesc deja multe soluții DevOps. Chiar dacă este neintenționat.
Cu toate acestea, asta nu înseamnă că nu există de lucru pentru a fi în jos. În acest moment, doar 25% din industria software-ului realizează DevOps la un nivel înalt.
Și alte instrumente și strategii DevOps pot fi preluate de la companii mai mari și utilizate la fel de eficient.
1. Faceți o echipă DevOps
Dacă nu aveți o echipă mare de dezvoltatori, crearea unei echipe DevOps autonome este probabil exclusă. Dacă aveți un dezvoltator și un manager de sisteme, sau acele roluri sunt ocupate de aceeași persoană, ideea de „echipă” ar putea chiar să pară o prostie.
Și asta e în regulă. Nu este neapărat despre crearea unui fel de grup operativ, ci doar despre comunicare. Chiar dacă aveți un dezvoltator și un manager IT, forma dvs. de „echipă” DevOps ar putea fi o întâlnire săptămânală și actualizări zilnice asincrone pentru a vă menține informați reciproc despre ceea ce se întâmplă.
Obiectivele principale ale echipei ar trebui să fie alinierea mediului de dezvoltare cu mediul de producție, să scrie (și să implementeze) bucăți mai mici de cod mai des și să sporească automatizarea și controlul sursei.
Să vorbim despre ce înseamnă acele lucruri și cum pot fi realizate.
2. Aliniați practicile și mediile
Chiar și echipele mici pot începe să-și alinieze mediile oferind dezvoltatorilor mai mult acces la mediul de producție, chiar și doar pentru a monitoriza modul în care revizuirile afectează produsul final.
Încercați să oferiți echipei dvs. de dezvoltatori un flux curent al stării rețelei, chiar dacă este doar pe un monitor din colț. Ei pot vedea imediat cum codul lor implementat poate afecta traficul sau pot observa dacă există o scădere bruscă care ar putea fi o problemă majoră.
De asemenea, veți avea nevoie de echipa DevOps pentru a crea o strategie pentru a face mediul de testare a dezvoltării și mediul real de producție cât mai aproape posibil - identice, în mod ideal. Va implica o mulțime de întâlniri și un proiect puternic de documentare nu numai pentru a alinia mediile, ci și pentru a le menține pe măsură ce schimbările au loc în timp.
Alinierea celor două medii înseamnă că echipa de operațiuni petrece mai puțin timp încercând să adapteze codul de dezvoltator la realitățile produsului final.
3. Implementați bucăți mai mici de cod
Al treilea pas este să ieși din mentalitatea actualei mari. Revizuirile mari de cod pot dura săptămâni sau luni pentru a fi testate, aprobate și implementate. Acest lucru încetinește lansarea funcțiilor și, în general, vă face mai puțin competitiv pe piață. De asemenea, te face mai puțin agil în cazul unei tendințe noi, incitante sau al unei probleme catastrofale.
Una dintre cheile extinderii DevOps pentru echipele mici din cadrul companiei dvs. este să vă gândiți să scrieți bucăți mai mici de cod și să le implementați mai rapid. Acestea ar trebui să fie suficient de mici pentru a putea fi testate și implementate în câteva ore.
4. Îmbrățișați automatizarea și controlul sursei
Calea finală către DevOps de succes pentru echipele mici este utilizarea intensă a automatizării.
De ce automatizare? În primul rând, automatizarea accelerează testarea și implementarea codului. De asemenea, eliberează timp atât pentru dezvoltatori, cât și pentru managerii de operațiuni pentru a pune în aplicare strategiile DevOps enumerate mai sus. Acest timp suplimentar permite, de asemenea, echipelor dvs. de dezvoltatori și operațiuni să se concentreze asupra lucrurilor care îmbunătățesc afacerea, în loc să doar stingă incendiile. Și, în sfârșit, crește eficiența și acuratețea documentației, ambele având propriile merite pentru integrare, educație și conformitate.
Mai întâi veți avea nevoie de ceva care să vă ajute să construiți și să testați codul tot timpul, în orice moment. O aplicație precum Jenkins sau Bitrise poate facilita integrarea și livrarea continuă.
Apoi, veți avea nevoie de o platformă de control sursă pentru a urmări și gestiona revizuirile din cod. Platforme precum GitHub și SourceForge vă pot ajuta aici.
Următorul pas în lanț va fi un sistem de management al configurației pentru a menține consistența și calitatea la nivel general. Instrumente precum Chef sau SaltStack sunt locuri grozave de început.
New Relic creează o platformă pentru observarea tuturor sistemelor dvs. și este extrem de utilă pentru monitorizarea acestui tip de automatizare de cod de la capăt la capăt.
De asemenea, poate fi o idee bună să analizați configurația dinamică în cazul în care trebuie să pivotați rapid întregul sistem automat într-o nouă direcție.
Implementarea DevOps pentru echipe mici și organizații mici
Nu vă faceți griji că echipa sau compania dvs. sunt prea mici pentru a implementa eficient DevOps. În schimb, gândește-te la aceste instrumente ca la o masă tip bufet din care poți trage idei organizatorice.
Nicio organizație, indiferent de dimensiunea ei, nu va fi afectată de mai multă comunicare, mai multă responsabilitate și o urmărire mai mare și mai granulară a revizuirilor.