DevOps Pe Înțelesul Tuturor

Ce este DevOps?

DevOps este o metodologie de dezvoltare și automatizare a întregului ciclu de viață a unui produs software, ca acesta să fie lansat cât mai rapid pentru publicul larg.

Termenul de DevOps a început să se contureze în anul 2007 când echipele de dezvoltatori software și cele din departamentul operațional și-au exprimat îngrijorarea față de disfuncționalitatea dintre aceste 2 departamente. Astfel, DevOps a apărut ca o combinație între Development și Operations.

Cine este inginerul DevOps?
Inginerul DevOps se implică la toate etapele din dezvoltarea unei aplicații, cum ar fi: planificare, coding, construire, testare, lansare, implementare, scalare, monitorizare. Acesta are rolul de a automatiza și de a mari performanța procesele menționate mai sus cu ajutorul unui set de instrumente si practici. Putem afirma cu încredere că inginerul DevOps este unul dintre oamenii cheie în procesul de dezvoltare software.

80% din companiile IT au adoptat deja metodologiile DevOps, interesul pentru această poziție fiind într-o continuă creștere.

Ce trebuie să cunoască un inginer DevOps?

Instrument de control al versiunilor: Git
Git este probabil cel mai utilizat instrument de control al versiunilor. Acesta oferă dezvoltatorilor un mijloc prin care pot ține evidența tuturor modificărilor și actualizărilor din codurile lor, astfel încât, în cazul unui incident, este destul de ușor să se revină la versiunile anterioare ale codului și să le utilizeze. Cele mai populare instrumente GIT sunt GitLab, GitHub și Bitbucket.

Cloud Computing și stocare
La momentul actual, companiile în mare parte își stochează informațiile și operațiunile pe servere cloud publice sau hibrid. Astfel se elimină costurile asociate cu centrele de date, hardware-ul și sistemele de operare și gestionarea acestora. Un DevOps ar trebui să cunoască una dintre cele mai populare platforme cloud Amazon Web Services (AWS), Microsoft Azure și Google Cloud Services (GCS).

Limbaje de programare
Inginerii DevOps utilizează un anumit limbaj de scriptare pentru a automatiza procesul de lucru. Exemple: Python, JavaScript, Perl, Go, Shell, Groovy, etc.

Platforme de containere
Platformele de containere sunt soluții care permit dezvoltatorilor să creeze, să testeze și să livreze aplicații în medii independente înainte ca acestea să ajungă la consumatorii finali. Un container cuprinde un mediu unde se află codul aplicației și toate configurațiile sale.

Disciplina DevOps se bazează în mare măsură pe principiile de containerizare și microservicii pentru dezvoltarea și implementarea eficientă a aplicațiilor, Docker și Kubernetes fiind cele mai utilizate tehnologii de containerizare.

În continuare prezentăm și alte tehnologii sau aplicații pe care ar trebui să le știe un inginer DevOps.

  • Integrare continuă și desfășurare continuă (CI/CD): Jenkins, Bamboo etc.
  • Configuration Management: Chef, Puppet, Ansible
  • Scrierea Infrastructurii (IaC): Terraform, Ansible

Stai liniștit, toate tehnologiile de mai sus se învață pe parcurs la locul de muncă sau internship. Nu e nevoie să le cunoști chiar pe toate înainte de a aplica la o poziție de Junior. Pentru a începe o carieră ca și DevOps ai mai multe căi, fie că deja cunoști Linux și Networking sau începi cu învățarea unui limbaj ca Python, ulterior Git și platformele cloud.

Ce alte cunoștințe trebuie să aibă un inginer DevOps?
DevOps pune accentul pe cultură și pe oameni mai mult decât pe tehnologii și practici. Prin urmare, abilitățile soft sunt o necesitate atunci când încercăm să adoptăm metodologia DevOps. Un factor cheie în implementarea este comunicarea activă și eficientă între membrii echipei. Aceasta, la rândul său se reflectă în calitatea lucrului și livrarea sa în timpul stabilit.

Pentru a citi mai mult despre soft skills ce sunt necesare într-o companie IT poți vedea în articolul următor: Abilități necesare pentru o carieră IT

DevOps în Moldova

Tot mai multe companii IT din Moldova adoptă metodologia DevOps, iar acest fapt este confirmat de numărul noilor anunțuri de angajare care este în creștere.

Spre exemplu, Endava – una dintre cele mai mari companii IT din Moldova cu peste 1000 de angajați, organizează de două ori pe an un stagiu de practică cu câte 10-15 stagiari.

Principalele cerințe pentru a participa la un stagiu de practică sunt cunoașterea:

  • A unui limbaj de scriptare
  • Administrarea sistemelor de operare (Linux, Windows)
  • Concepte de networking
  • GIT
  • Platforme cloud ca AWS, Azure
  • Limba engleză B1

Acest articol a fost scris pentru a populariza o profesie importantă pentru companiile IT care prinde tot mai multă popularitate în ultima perioadă. Cei care ar dori să înceapă o carieră ca în domeniu îi invităm la primul curs de DevOps din Moldova