Documente Academic
Documente Profesional
Documente Cultură
DevOps poate fi aplicat unor modele de livrare foarte diferite, dar trebuie să fie
adaptate mediului și arhitecturii produsului. Nu toate produsele facilitează livrarea
continuă - de exemplu, în sisteme critice pentru siguranță. Cu toate acestea, chiar și
în astfel de medii restrânse, upgrade-urile pot fi planificate și livrate rapid și fiabil, așa
cum arată evoluția recentă a software-ului auto în aer. Pe lângă livrarea bazată pe
cloud extrem de securizată, astfel de modele de livrare necesită modificări de
arhitectură și hardware dedicate. Un exemplu este un controler hot-swap în care o
jumătate este operațională și cealaltă jumătate construiește următoarele actualizări,
care sunt schimbate în modul activ după proceduri de securitate și verificare adânci.
1
Badoiu Mihail IISC
DevOps pentru sistemele încorporate este mai provocator decât serviciile cloud și IT,
deoarece încearcă să combine codul vechi și arhitectura cu livrarea continuă.
Fig 1. Procesul generic de producție și livrare DevOps. Acesta își propune să integreze mai bine procesele de afaceri, de
dezvoltare, producție și operațiuni cu o tehnologie adecvată.
Unelte DevOps
Build
În această fază DevOps, instrumentele trebuie să suporte fluxuri de lucru rapide. Aici
discutăm două tipuri de instrumente. Instrumentele de build ajută la realizarea unei
iterații rapide, reducând sarcinile manuale care consumă timp. Instrumentele de
integrare continuă (CI – Continuous integration) îmbină codul de la toți dezvoltatorii
și verifică codul defect, îmbunătățind calitatea software-ului.
2
Badoiu Mihail IISC
Maven își propune să rezolve unele dintre problemele lui Ant. De asemenea, folosește
XML pentru a defini procesul de construire. În acest caz, declarațiile nu conțin natura
proiectului în locul sarcinilor care îl construiesc. Maven folosește Modelul Obiectului
Proiectului, care definește o modalitate uniformă de a construi sisteme. Acest lucru are
avantajul de a defini un standard la începutul unui proiect, dar uneori provoacă
inflexibilitate atunci când trebuie definite operațiuni personalizate. Gestionarea
dependențelor ajută, de asemenea, la automatizarea procesului de construire, dar
uneori creează probleme din cauza dependențelor automate externe.
Configuration
Tool DevOps phase Tool type format Language License
Ansible Deployment Configuration YAML (YAML Ain’t Python GPL (GNU General
management Markup Language) Public License)
3
Badoiu Mihail IISC
Jenkins este un sistem open source, bazat pe Java și unul dintre cele mai
implementate instrumente, deci opțiunile de plug-in sunt multe. Datorită popularității
sale, găsirea de asistență din baza sa mare de utilizatori este ușoară. Cu toate
acestea, interfața sa de utilizare este depășită și mai puțin atractivă decât interfața
de utilizare a celorlalte instrumente.
TeamCity, dezvoltat de JetBrains, se bazează pe Java și, prin urmare, are un suport
Java bun, precum Jenkins. Spre deosebire de Jenkins, oferă și un suport .NET bun.
Deși este licențiat, are o ediție gratuită pentru proiecte mici.
Lansarea (Deployment)
4
Badoiu Mihail IISC
Ansible este cel mai ușor de implementat, deoarece nu necesită instalarea agenților
pe computerele client, deoarece folosește SSH (Secure Shell) pentru a crea
configurațiile. Este un instrument open source bazat pe Python, dar configurația este
codificată în fișiere YAML (YAML Ain’t Markup Language), reducând curba de
învățare. În cele din urmă, atunci când selectați tehnologia de orchestrație, trebuie
să luați în considerare dacă infrastructura de producție se bazează pe virtualizare
sau doriți să treceți la tehnologii de containerizare, cum ar fi Docker.
Operațiuni
Instrumentul Loggly oferă un serviciu bazat pe cloud pentru a colecta date de jurnal
de la aplicații, platforme și servere în timp real, utilizând standarde deschise precum
HTTP sau syslog. Instalarea este simplă și crearea de dashboard-uri personalizate
de DevOps si de performanta este, de asemenea, ușoară. Loggly oferă, de
asemenea, o funcție de căutare puternică. Loggly poate fi integrat cu New Relic,
făcându-l eficient pentru identificarea și izolarea problemelor și găsirea soluțiilor.
Graylog2 este un analizor de jurnal open source care permite stocarea și căutarea
prin erori de jurnal. În interfața sa web ușor de utilizat, puteți crea dashboard-uri ad
hoc și caracteristici puternice de alertă. Se ocupă de o gamă largă de tipuri de date
și poate fi personalizat cu un număr considerabil de plugin-uri.
5
Badoiu Mihail IISC
Concluzie
DevOps are impact asupra întregii industrii de software și IT. Bazându-se pe practici
“lean” și agile, DevOps înseamnă automatizare end-to-end în dezvoltarea și livrarea
software-ului. Cu greu cineva va putea să abordeze modelul Agile în stilul cărților de
bucate, dar majoritatea dezvoltatorilor vor beneficia de o mai bună conectare a
dezvoltării și operațiunilor. De obicei, înțelegerea reciprocă de la cerințe până la
întreținere, service și evoluția produsului va îmbunătăți timpul ciclului cu 10 până la 30 la
sută și va reduce costurile cu până la 20 la sută. Punctele principale sunt mai puține
modificări ale cerințelor, testări concentrate și asigurarea calității și un ciclu de livrare
mult mai rapid cu echipe bazate fiecare pe task-uri bine definite. Cu toate acestea,
deoarece produsele și procesele ciclului de viață variază, fiecare companie are nevoie
de propria abordare pentru a realiza DevOps, de la arhitectură la instrumente până la
cultură.
6
Badoiu Mihail IISC
Bibliografie