devops automation how is automation applied devops practice
Automatizare în DevOps:
În ultimul tutorial am aflat importanța Controlul sursei în DevOps . Aici, în acest tutorial vom afla despre automatizarea în DevOps.
Automatizarea este nevoia supremă pentru practica DevOps, iar „Automatizează totul” este principiul cheie al DevOps. În DevOps, automatizarea începe de la generarea de cod pe mașina Developers până când codul este împins la cod și chiar după aceea pentru a monitoriza aplicația și sistemul în producție.
Lectură sugerată => Seria de tutoriale informative DevOps
Întreaga conductă DevOps conține integrare continuă, testare continuă și implementare continuă, inclusiv monitorizarea performanței aplicației în direct este automatizată.
Automatizarea configurării și configurațiilor infrastructurii și implementarea software-ului este punctul culminant cheie al practicii DevOps. Practica DevOps depinde în mare măsură de automatizare pentru a efectua livrări pe o perioadă de câteva ore și pentru a efectua livrări frecvente pe platforme.
Astfel, automatizarea în DevOps stimulează viteza, precizia mai mare, consistența, fiabilitatea și crește numărul de livrări. În cele din urmă, automatizarea în DevOps încapsulează totul chiar de la construire, implementare și monitorizare.
VIDEO Partea 2 Blocul 3: DevOps Automation- 16 minute 40 secunde
Să înțelegem în detaliu semnificația automatizării în practica DevOps în acest tutorial.
Aici, vom discuta:
- Cum se aplică automatizarea în practica DevOps?
- Nevoia și rolul automatizării?
- Ce să automatizăm?
- Instrumente și cadru, testare continuă?
Mi-e frică să vorbesc despre automatizare. Pentru că, cât de mult vorbesc vreodată despre automatizare, după mine, nu este niciodată complet deloc.
Inutil să spun că automatizarea este pur și simplu să scape de sarcinile manuale. Oamenii vor să-și reducă implicarea în sarcinile de rutină mondene și să-și folosească timpul și inteligența în ceva nou sau inovator.
Acestea fiind spuse, rolul automatizării în DevOps este foarte important și foarte crucial în furnizarea continuă de valoare clientului.
Să răspundem împreună, cum se aplică automatizarea în practica DevOps, împreună cu ce să automatizăm, deoarece la aceste două întrebări se răspunde împreună.
Ce să automatizăm?
Nu cred că sunt necesare multe explicații pentru răspunsul la această întrebare în această eră a automatizării. Oriunde mergem, vedem lucruri care sunt automatizate, fie cu intervenție umană minimă, fie deloc. Deci, DevOps nu este o excepție de la acest lucru.
Într-o metodă tradițională de dezvoltare software, echipa de dezvoltare și activitățile lor erau automatizate, în special testarea. A fost așa, că automatizarea înseamnă testarea și automatizarea cazurilor de testare, și asta doar cazurile de testare funcționale, dar nici măcar testarea nefuncțională, cum ar fi performanța și securitatea.
Și niciuna dintre celelalte activități, în special activitățile operaționale, nu a fost folosită pentru a fi automatizate. Eșecul implementării manuale pe un cluster uriaș care a implicat 8 servere și pierderea cauzată este foarte bună Exemplu complexitatea implicată în implementări și explică clar necesitatea automatizării activităților Devops.
site-uri anime pentru a viziona anime gratuit în engleză dublat
M-am văzut pe mine, că organizațiile angajează oameni foarte calificați și inteligenți plătind un pachet salarial uriaș, pentru configurarea rețelelor și a mediilor, ceea ce obișnuia să facă pe baza inteligenței, cunoștințelor din zona respectivă, experienței și expertizei lor, care a fost o lucrare manuală completă.
Configurarea manuală este întotdeauna predispusă la erori, după cum știe toată lumea. Ceea ce se întâmpla în general în cazul configurării manuale este că, într-o perioadă de timp, după ce au făcut în mod repetat aceeași muncă din nou și din nou, acești oameni inteligenți, configuratorii de rețea, se plictisesc de aceste activități și ajung să comită greșeli datorate la neglijență.
Știți că sunt foarte geniale și aceste activități vor fi foarte simple și neinteresante pentru ei și au nevoie de noi provocări în fiecare zi, și nu de această sarcină plictisitoare.
Deci, introducerea automatizării pentru instalarea software-ului și a versiunii care controlează partea de infrastructură a devenit un câștig imens și a redus o mulțime de erori umane în plus față de economisirea de timp și permite oricărui om obișnuit să facă acest lucru, eliminând astfel dependența de muncitorii calificați.
De asemenea, rularea proceselor în cazul în care va fi creat un nou mediu, cum ar fi ridicarea biletului pentru crearea unui nou mediu, echipa IT care lucrează din spate la configurarea acestuia, toate aceste probleme sunt eliminate.
Astfel, membrii individuali ai echipei sunt împuterniciți să îndeplinească sarcinile. Imaginați-vă viteza, fiabilitatea și consistența realizate de automatizare. Deci, automatizarea a crescut teribil, numărul de livrări către producție.
Așadar, acum în practica DevOps, echipa de operațiuni a început, de asemenea, automatizarea în toate lucrările lor, ceea ce a devenit cheia succesului DevOps.
De fapt, în practica DevOps, lovitura de automatizare începe de la generarea codului pe mașina dezvoltatorilor până când codul este lansat până la producție și chiar după aceea în monitorizarea aplicației în direct. Acesta este un ciclu tipic DevOps.
Echipa de dezvoltare și operațiuni verifică codul și configurațiile de mediu până la controlul sursei, de unde începe automatizarea pentru declanșarea construcției, rularea cazurilor de testare a unității și a altor calități de bază ale codului, cazurile de testare a acoperirii, cazurile de testare legate de securitate etc.
Odată ce codul este finalizat, codul este compilat automat, este stocat în controlul versiunii și este implementat automat în alte medii pentru testare ulterioară și, în cele din urmă, pentru versiunea de producție.
Putem vedea automatizarea efectuată în fiecare fază a dezvoltării începând de la declanșarea construcției, efectuarea testelor unitare, ambalarea, implementarea în mediile specificate, efectuarea testelor de verificare a construcției, teste de fum, teste de acceptare și finalizarea implementării către mediul de producție final.
Chiar și atunci când spunem automatizarea cazurilor de testare, nu sunt doar teste unitare, ci teste de instalare, teste de integrare, teste de experiență a utilizatorului, teste UI etc.
DevOps forțează echipa de operațiuni, pe lângă activitățile de dezvoltare, să-și automatizeze toate activitățile, cum ar fi aprovizionarea serverelor, configurarea serverelor, configurarea rețelelor, configurarea firewall-urilor, monitorizarea aplicației în sistemul de producție.
java cum se creează o listă
Prin urmare, pentru a răspunde la ceea ce trebuie automatizat, este declanșatorul de compilare, compilarea și construirea, implementarea sau instalarea, automatizarea infrastructurii configurate ca un script codat, configurațiile mediului ca un script codat, inutil să menționăm testarea, monitorizarea performanței de viață post-implementare în viață, monitorizarea jurnalelor, monitorizarea alertelor, transmiterea notificărilor în direct și primirea alertelor live în caz de erori și avertismente etc.,
Automatizarea în cele din urmă a tuturor documentelor legate de proiect.
Așadar, pot spune automatizarea în mijloace lingvistice DevOps, integrare continuă, testare continuă, implementare continuă și livrare continuă. Vom studia fiecare dintre ele în detaliu în următoarele părți.
În general, DevOps permite fiecare activitate de dezvoltare și operațiuni, ori de câte ori este posibil, oricare este automatizabil, oricare este repetabil, oriunde este necesară acuratețea, oricare durează mult timp este automatizată.
Cu toate acestea, dacă nu menționăm instrumentele care trebuie utilizate pentru automatizare, discuția despre automatizare este incompletă.
Deci, alegerea unui cadru adecvat și a unui instrument de automatizare este cerința cheie pentru automatizarea în DevOps.
Există o mulțime de instrumente disponibile pe piață, atât open source cât și instrumente licențiate, care acceptă automatizarea de la capăt la capăt a întregii conducte de livrare, inclusiv activități realizate de echipa Ops, aprovizionarea mașinilor, servere automate rotative, configurarea rețelelor, firewall-uri, și chiar monitorizarea performanței software-ului.
De asemenea, anumite organizații și-au dezvoltat propriul cadru, astfel încât să integreze procesul end-to-end al DevOps, care începe de la angajarea codului la implementarea codului, inclusiv documentația care este un instrument integrat unic, iar echipa nu trebuie să meargă în afara cadrului pentru nimic legat să programăm, fie că este vorba de controlul versiunilor, scrierea cazurilor de testare, revizuire, descărcarea rezultatelor cazurilor de testare, analiză etc.,
De exemplu: marionetă, manager de resurse Azure, bucătar etc.
Avantajele automatizării în DevOps
Am văzut versiuni anterioare, în absența automatizării care durează ani pentru a intra în producție și, de asemenea, recent cu agilitate, indiferent dacă este slabă, scrum sau sigură și cu un procent de automatizare îmbunătățit, termenele de lansare sunt reduse la câteva luni sau săptămâni.
Dar automatizarea este absolut necesară pentru ca lansările să fie cât mai rapide în câteva ore. Deci, cred că este imposibil să realizăm astfel de lansări rapide și frecvente, cu excepția cazului în care punem automatizarea pe tot parcursul conductei.
Deci, evident, dacă vrem să atingem obiectivele DevOps, calitate și valoare ridicate livrate clienților prin livrări frecvente și rapide, Automatizarea tuturor este o necesitate.
În mod clar, știm până acum că automatizarea elimină erorile manuale, dependența de o persoană, funcționează mai rapid și obține acuratețe, obținând astfel consistență și fiabilitate. Prin urmare, automatizarea totul permite obținerea obiectivului de livrare de înaltă calitate, permite lansări frecvente și lansări mai rapide.
Pe scurt, Automation,
- Elimină erorile manuale
- Membrii echipei sunt împuterniciți
- Dependența a fost eliminată
- Latența a fost eliminată
- Crește numărul de livrări
- Reduce timpul de plumb
- Crește frecvența eliberărilor
- Oferă feedback mai rapid
- Permite viteza, fiabilitatea și consistența
Deci, pe scurt, automatizarea în DevOps încapsulează în cele din urmă totul chiar de la construire, implementare și monitorizare.
Lectură recomandată
- Importanța micilor creșteri ale livrărilor în DevOps
- Control sursă sau control versiune în DevOps (Tutorial video partea 2 - bloc 2)
- Tutorial DevOps: Ghidul final pentru DevOps (25+ Tutoriale)
- Practică DevOps bazată pe manifestul agil (partea 2 - blocul 1)
- Tutorial DevOps Testing: Cum va afecta DevOps testarea QA?
- Tutorial AWS CodeCommit pentru implementarea DevOps în cloud
- Vedeți tutorialul de automatizare a testelor: un ghid al instrumentului de automatizare a testelor mobile
- Livrare continuă în DevOps