devops tutorial ultimate guide devops
Aceasta este o serie completă de tutoriale DevOps de peste 25 de tutoriale text și video care acoperă toate aspectele DevOps, cum ar fi Ce este DevOps, principiile DevOps și arhitectul său.
Lista tutorialelor din seria DevOps Training:
# 1) Introducere în DevOps (Acest tutorial)
#Două) DevOps și testarea software-ului
Tutoriale DevOps VIDEO:
# 3) Tutorial video 1: Fundal DevOps, definiție, valoare, beneficii, obiceiuri și cele mai bune practici
- Partea 1 Blocul 1 - Demistificând DevOps
# 4) Tutorial video 2: Practici DevOps bazate pe principiile Agile, controlul sursei și automatizarea DevOps
Acest tutorial video este împărțit în 6 blocuri:
- Partea 2 Blocul 1 - Practică DevOps bazată pe Manifest Agile
- Partea 2 Blocul 2 - Control sursă și versiune în DevOps
- Partea 2 Blocul 3 - Automatizare în DevOps
- Partea 2 Blocul 4 - Incrementări mici de livrări în DevOps
- Partea 2 Blocul 5 - Colaborare în echipele DevOps
- Partea 2 Blocul 6 - Cum să dezvolți colaborarea în echipele DevOps
# 5) Tutorial video 3: DevOps procesează integrarea continuă, testarea continuă și livrarea continuă
Acest tutorial video este împărțit în 4 blocuri:
- Partea 3 Blocul 1 - Integrare continuă în DevOps
- Partea 3 Blocul 2 - Livrare continuă în DevOps
- Partea 3 Blocul 3 - Implementare continuă în DevOps
- Partea 3 Blocul 4 - Testare continuă în DevOps
# 6) Tutorial video 4: DevOps Configuration Management și monitorizarea performanței aplicațiilor live
Acest tutorial video este împărțit în 3 blocuri:
- Partea 4 Blocul 1 - Managementul configurației în practicile DevOps
- Partea 4 Blocul 2 - Managementul lansărilor în DevOps
- Partea 4 Blocul 3 - Monitorizarea performanței aplicației în DevOps
# 7) Tutorial video 5: Recapitulare a întregului curs.
- Partea 5 Blocul 1 - Recapitularea tutorialelor video DevOps
Tutoriale text:
# 8) Testare Shift Stânga
# 9) Cum să îmbunătățiți calitatea software-ului folosind integrarea continuă
# 10) Procesul de livrare continuă
Instrumente DevOps:
#unsprezece) Instrumente DevOps
# 12) Instalarea și configurarea instrumentelor DevOps open source utilizate în mod obișnuit
# 13) Cele mai bune instrumente de integrare continuă
# 14) Cele mai bune instrumente de livrare continuă
Tutorial Microsoft VSTS:
#cincisprezece) Microsoft VSTS partea 1
# 16) Microsoft VSTS partea 2
Instrumente AWS DevOps:
# 17) AWS DevOps Tools Partea 1 (CodeCommit)
# 18) AWS DevOps Tools Partea 2 (CodeBuild)
# 19) AWS DevOps Tools partea 3 (CodeDeploy)
#douăzeci) Implementarea aplicației Web .NET utilizând AWS Elastic Beanstalk
Ansible pentru DevOps:
#douăzeci și unu) Ansible Partea 1: Instalare și configurare
# 22) Ansible Partea 2: Automatizarea sarcinilor folosind Playbooks
# 2. 3) Ansible Partea 3: Roluri Ansible și integrare cu Jenkins
# 24) Integrarea Jenkins cu Seleniu
# 25) Instrumentul de integrare continuă Hudson
# 26) Companiile furnizorilor de servicii DevOps
# 27) Întrebări de interviuri DevOps
Să începem cu primul tutorial din această serie.
Ce veți învăța:
- Introducere în DevOps
- Prezentare generală a Agile și DevOps
- DevOps este doar despre instrumente?
- Componentele DevOps
- rezumat
- Lectură recomandată
Introducere în DevOps
DevOps nu se referă doar la instrumente, ci include, de asemenea, un set de cele mai bune practici, care permite reducerea decalajului dintre echipele de dezvoltare și operațiuni în domeniile de integrare și implementare continuă, utilizând un set integrat de instrumente pentru automatizarea livrării software-ului.
cum se folosesc fișiere torrent după descărcare
Este imperativ ca dezvoltatorii să înțeleagă partea operațiunilor și invers. Deci, obiectivul DevOps este pur și simplu să ajute orice organizație în viteza de livrare a aplicațiilor către utilizatorii finali și să permită feedback-ul mai rapid al utilizatorilor finali, care este nevoia oricărei afaceri de astăzi.
Prezentare generală a Agile și DevOps
Nu există nicio diferență între Agile și DevOps. În schimb, se completează reciproc. Să începem prin a ne uita la modelul Waterfall în care toate cerințele sunt înghețate, iar proiectarea și dezvoltarea se fac una după alta până când este disponibil un produs stabil.
Deci, problema aici este că, dacă există o modificare a nevoii clientului în această etapă, atunci nu există nicio modalitate de a include și de a livra nevoia modificată.
Pentru a aborda problema adaptării la nevoile clienților, schimbările mai bune decât în metoda cascadei a fost adoptarea Agile. Ideea de aici a fost să dezvoltăm un software în sprinturi mai mici sau iterație, spunem în jur de 2 până la 3 săptămâni, ceea ce a ajutat echipele de dezvoltare să lucreze la feedback-ul utilizatorului final și să încorporeze schimbările în versiunile mai noi.
Prin urmare, echipele de dezvoltare și operare trebuie să aibă agilitate în domeniile lor de lucru șiDevOpss-a născut pentru a permite o mai bună colaborare între ei.
Agile aduce procese precum XP, SCRUM etc., iar DevOps aduce practici precum integrarea continuă, livrarea continuă, testarea continuă și monitorizarea continuă pe care le vom vedea în detaliu pe măsură ce vom continua în acest tutorial.
DevOps este doar despre instrumente?
Într-un fel, puteți susține că pentru a implementa DevOps aveți nevoie de instrumente. Este adevărat, dar instrumentele sunt doar acceleratoare.
Dar, de fapt, este vorba despre următoarele 3 aspecte:
oameni :Este foarte important să te antrenezi și să ai o echipă extrem de motivată de oameni care să poată comunica și colabora în mod eficient pe parcursul întregii călătorii a schimbărilor culturale.
Proces: Întrucât vorbim despre schimbări culturale pentru implementarea DevOps, este foarte necesar să avem practici și strategii care să ofere valoare clientului. Un mod adecvat de a face acest lucru ar fi efectuarea unei evaluări a maturității AS-IS, examinarea lacunelor și propunerea unei foi de parcurs pentru punerea în aplicare a oferirii recomandărilor adecvate.
Nu voi vorbi în detaliu despre modul în care am reușit să fac aceste evaluări, dar voi fi bucuros să împărtășesc orice contribuții la aceleași.
Instrumente: În cele din urmă, este vorba despre utilizarea acceleratoarelor prin automatizarea procesului utilizând instrumentele DevOps standard care sunt disponibile astăzi. Ar putea fi Open-Source (Jenkins, Git etc.), Comercial (Microsoft TFS, VSTS, IBM Rational, Jira etc.) sau un amestec al ambelor.
Componentele DevOps
Sper că până acum ați avea o idee despre ceea ce este DevOps.
Să vedem acum următoarele 4 componente ale DevOps care formează nucleul din punct de vedere al implementării și, de asemenea, organizațiile au dezvoltat cadre de automatizare bune în același timp, oferindu-le un serviciu clienților lor.
- Integrare continuă
- Testare continuă
- Livrare continua
- Monitorizare continuă
Am crezut cu adevărat că, dacă un dezvoltator trebuie să lucreze în acest mod, atunci ar trebui să existe un element de execuție, cum ar fi o sarcină sau un defect (în Agile poate fi o parte din User Story) care îi este atribuit pentru a-i permite să livreze lucrarea în intervalul de timp sprint.
Deci, chiar înainte ca pașii enumerați mai sus să poată fi implementați, aceste sarcini sau defecte ale dezvoltatorului ar trebui să fie planificate într-un Sprint. Deci, instrumente precum JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS etc. ajută la crearea Planurilor Agile Release / Sprint.
Să analizăm acum fiecare dintre aceste componente în detaliu.
# 1) Integrare continuă
În calitate de dezvoltator, lucrați la sarcinile sau defectele atribuite și verificați codul unui depozit partajat de mai multe ori într-o zi. În mod similar, ceilalți membri ai echipei fac check-in și codul în depozitul partajat.
Apoi, veți integra de fapt toată munca depusă de membrii echipei într-un server de compilare comun și veți efectua o construire automată. Efectuarea regulată a acestor integrări și construcții automate se numește integrare continuă.
cum se deschide fișierul .bin pe Windows
Această practică ajută la detectarea problemelor foarte devreme și asigură, de asemenea, că toate modulele integrate sunt funcționale după cum este necesar. Deci, dacă nu urmați această abordare, integrarea muncii echipei se poate întâmpla o dată pe lună, ceea ce poate întârzia să găsiți și să remediați orice probleme de integrare.
Exemplu de flux de lucru de integrare continuă:
# 2) Livrare continuă
Livrarea continuă este următorul pas după integrarea continuă. Scopul livrării continue este de a împinge aplicația integrată în producție cât mai repede posibil. În timpul acestui proces, parcurge diferite etape ale ciclului de viață al livrării, adică medii de asigurare a calității, de etapizare, de producție etc.
Acest proces de livrare regulată a aplicațiilor încorporate în diferite etape este cunoscut sub numele de Livrare continuă.
Livrarea continuă ajută la introducerea pe piață mai rapidă în comparație cu metodele tradiționale, risc mai redus, scăderea costurilor prin încurajarea unei automatizări mai mari în procesul de lansare și, cel mai important, obținerea unui feedback mai rapid de la utilizatorii finali pentru a produce un produs de calitate.
Din experiența mea, am văzut că acest proces funcționează bine pentru orice tip de dezvoltare de aplicații web.
De asemenea, am făcut o cantitate echitabilă de evaluări cu privire la implementările DevOps pentru organizațiile din zona de afaceri a semiconductoarelor, dar datorită existenței lor ciclu de eliberare acest domeniu de livrare continuă nu pare să se potrivească, deoarece este mai degrabă un proces de cascadă care este urmat, iar desfășurările se fac așa cum și atunci când sunt solicitate într-un mediu client.
Exemplu de flux de lucru de livrare continuă:
În diagrama de mai sus, puteți privi diferite medii disponibile și astfel această aprovizionare a infrastructurii pentru medii poate fi, de asemenea, automatizată în timpul acestui proces de livrare continuă.
# 3) Testare continuă
Din cele 2 practici de mai sus, am aflat că CI și CD ajută la implementarea aplicației sau a modificărilor producției. Întregul proces implică validarea corectă a codului și integrarea acestuia cu toate componentele implicate în acesta pentru a se asigura că aplicația funcționează așa cum se preconizează și că nu conține erori sau defecte.
Deci, testarea continuă este procesul de executare a diferitelor tipuri de teste automate începând cu procesul CI până în momentul în care aplicația este în cele din urmă implementată în producție.
Puteți vedea din diagrama anterioară că, în etapa de integrare continuă, integrăm toate lucrările dezvoltatorilor într-un server de construcție comun și, de asemenea, în această etapă dezvoltatorii vor rula o anumită cantitate de teste unitare.
Odată ce aceste integrări și teste funcționează fără erori, numai atunci aplicația sau modificările sunt implementate în mediul QA după aplicarea acestor porți și aprobări de calitate.
În mediul QA, testele funcționale sunt rulate și din nou pe baza aprobărilor pe care le-ar fi implementate în mediul de etapizare, care ar fi pe paritate, precum sistemele de producție și testele de acceptare rulate. Odată ce această activitate este finalizată, aplicația sau modificările sunt în cele din urmă implementate în sistemele de producție.
Deci, se poate observa aici că testarea continuă ca activitate începe chiar din etapa CI și este un pas foarte obligatoriu pe tot parcursul procesului de livrare continuă.
Eșantion de flux de lucru de testare în procesul de livrare continuă:
# 4) Monitorizare continuă
Pe măsură ce aplicația sau modificările sunt implementate în mediul de producție, echipa de operațiuni va căuta să monitorizeze aplicația și mediul din punct de vedere al timpului de actualizare, stabilității și disponibilității. Acest proces este cunoscut sub numele de monitorizare continuă.
Echipele de operațiuni vor avea propriile software-uri pentru a monitoriza mediul, dar vor trebui, de asemenea, să joace rolul lor pentru a monitoriza aplicațiile desfășurate pentru orice problemă. Pentru aceasta, ar trebui să colaboreze cu echipele de dezvoltare pentru a construi anumite instrumente pentru analiza problemelor aplicației.
Deci, problemele legate de infrastructură, mediu și aplicații sunt toate cele monitorizate în procesul de monitorizare continuă.
rezumat
În acest tutorial, am aflat ce anume înseamnă procesul DevOps, inclusiv diferitele componente implicate în acesta. Aceste componente contribuie la accelerarea livrării aplicației și, de asemenea, la economisirea timpului pe piață, care este nevoia afacerilor de astăzi din punct de vedere competitiv.
În următoarea serie de tutoriale din segmentul DevOps, veți arunca o privire asupra diferitelor videoclipuri / instrumentelor probabile DevOps pe care echipele le pot utiliza și, de asemenea, implementării DevOps utilizând anumite instrumente pentru premisă și cloud.
Și, așa cum am spus și făcut, am găsit implementarea DevOps ca una interesantă, în modul de a privi dintr-o schimbare organizațională.
Următorul nostru tutorial vă va explica totul despre DevOps și testarea software-ului.
Lectură recomandată
- Tutoriale detaliate pentru eclipsă pentru începători
- Livrare continuă în DevOps
- Implementare continuă în DevOps
- Tutorial DevOps Testing: Cum va afecta DevOps testarea QA?
- Integrare continuă în DevOps
- Testare continuă în DevOps
- Recapitularea tutorialelor video DevOps
- Tutorial AWS CodeCommit pentru implementarea DevOps în cloud