Per què els administradors de sistemes haurien de convertir-se en enginyers DevOps

Per què els administradors de sistemes haurien de convertir-se en enginyers DevOps

No hi ha millor moment per aprendre a la vida que avui.


Som el 2019 i DevOps és més rellevant que mai. Diuen que els dies dels administradors de sistemes s'han acabat, igual que l'era dels mainframe. Però és realment així?
Com passa sovint a les TIC, la situació ha canviat. La metodologia DevOps ha sorgit, però no pot existir sense una persona amb habilitats d'administrador de sistemes, és a dir, sense Ops.

Abans que l'enfocament DevOps adquirís la seva forma moderna, em vaig classificar com a Ops. I sé molt bé què viu un administrador de sistemes quan s'adona del molt que encara no pot fer i del poc temps que té per aprendre-ho.

Per què els administradors de sistemes haurien de convertir-se en enginyers DevOps

Però realment fa por? Jo diria que la manca de coneixement no s'ha de percebre com una mena de gran problema. És més aviat un repte professional.

Els productes a escala web es basen en Linux o un altre programari de codi obert, i cada cop hi ha menys persones al mercat capaços de mantenir-los. La demanda ja ha superat el nombre de professionals en aquest camp. Un administrador del sistema ja no podrà continuar treballant sense millorar el seu nivell d'habilitat. Ha de tenir habilitats d'automatització per gestionar diversos servidors/nodes i tenir una bona comprensió de com funcionen per resoldre els problemes que sorgeixen.

Abans de convertir-vos en membre de l'equip de DevOps, heu de passar per un viatge força llarg però interessant, aprenent noves tecnologies i diverses eines necessàries per mantenir el sistema segons els estàndards DevOps.

Aleshores, com pot un administrador del sistema passar de l'enfocament habitual del treball al nou concepte de DevOps? Tot és com sempre: primer has de canviar el teu pensament. No és fàcil renunciar a l'enfocament que has estat seguint els darrers deu o vint anys i començar a fer les coses d'una altra manera, però és necessari.

En primer lloc, és important entendre que DevOps no és una posició específica en una empresa, sinó un conjunt de pràctiques específiques. Aquestes pràctiques impliquen la distribució de sistemes aïllats, reduint el dany per errors i errors, actualitzacions de programari freqüents i oportunes, interacció ben establerta entre desenvolupadors (Dev) i administradors (Ops), així com proves constants no només del codi, sinó també tota l'estructura dins del procés integració i lliurament contínues (CI/CD).

A més de canviar la manera de pensar, cal aprendre a mantenir la infraestructura i garantir el seu funcionament estable, fiabilitat i disponibilitat per a la integració i el lliurament contínues d'aplicacions, serveis i programari.

El que potser trobeu a faltar com a professional d'Ops són les habilitats de programació. Ara, escriure scripts (scripts), que els administradors del sistema utilitzen per instal·lar automàticament pegats en un servidor, gestionar fitxers i comptes, resoldre problemes i compilar documentació, ja es considera obsolet. Els scripts encara s'apliquen en casos relativament senzills, però DevOps tracta de resoldre problemes a gran escala, ja siguin d'implementació, proves, compilacions o desplegaments.

Per tant, si voleu aprendre l'automatització, heu de dominar almenys una mica de programació, encara que no sou un desenvolupador, perquè en aquesta etapa del vostre desenvolupament automatització de la infraestructura a DevOps requereix aquesta habilitat.

Què fer? Per mantenir la demanda com a especialista, cal adquirir les habilitats rellevants: dominar almenys un llenguatge de programació, per exemple Python. Això pot semblar difícil a una persona que es dedica professionalment a l'administració, ja que està acostumat a pensar que només programen els desenvolupadors. No cal ser un expert, sinó coneixements d'un dels llenguatges de programació (podria ser Python, Bash o fins i tot PowerShell), sens dubte serà un avantatge.

Aprendre a programar porta una mica de temps. Ser conscient i pacient us ajudarà a estar al corrent de les coses quan us comuniqueu amb els membres de l'equip de DevOps i els clients. Mitja hora al dia, una hora o més, aprendre un llenguatge de programació hauria de ser el vostre objectiu principal.

Els administradors del sistema i els especialistes de DevOps resolen problemes similars, però, hi ha diferències significatives. Es creu que un administrador del sistema no pot fer tot el que pot fer un enginyer de DevOps. Diuen que l'administrador del sistema està més centrat a configurar, mantenir i garantir el rendiment dels sistemes de servidor, però l'enginyer de DevOps treu tot aquest carro i un altre carro petit.

Però fins a quin punt és certa aquesta afirmació?

Administrador del sistema: un guerrer al camp

Malgrat les diferències i similituds assenyalades en aquest article, encara crec que no hi ha cap diferència significativa entre l'administració de sistemes i DevOps. Els administradors del sistema sempre han realitzat les mateixes funcions que els especialistes de DevOps, és que ningú abans l'anomenava DevOps. Crec que no té sentit buscar específicament les diferències, sobretot si no està relacionat amb cap tasca. No oblideu que, a diferència d'un administrador de sistemes, DevOps no és una posició, sinó un concepte.

Cal tenir en compte una cosa més important, sense la qual una conversa tant sobre l'administració com sobre DevOps estarà incompleta. L'administració de sistemes en el sentit habitual pressuposa que un especialista té un conjunt de competències concretes i està enfocat a mantenir diferents tipus d'infraestructures. No en el sentit que es tracta d'un empleat universal, sinó en el sentit que hi ha una sèrie de tasques realitzades per tots els administradors.

Per exemple, de tant en tant han d'actuar com una mena de personal tècnic, és a dir, fer literalment tot. I si només hi ha un administrador d'aquest tipus per a tota l'organització, generalment realitzarà tot el treball tècnic. Això pot ser qualsevol cosa, des de mantenir impressores i fotocopiadores fins a realitzar tasques relacionades amb la xarxa, com ara configurar i gestionar encaminadors i commutadors o configurar un tallafoc.

També serà responsable de les actualitzacions de maquinari, la inspecció i l'anàlisi de registres, les auditories de seguretat, l'aplicació de pedaços del servidor, la resolució de problemes, l'anàlisi de causes arrel i l'automatització, normalment mitjançant scripts de PowerShell, Python o Bash. Un exemple d'ús escenaris és la gestió dels comptes d'usuari i grup. Crear comptes d'usuari i assignar permisos és una tasca extremadament tediosa, ja que els usuaris apareixen i desapareixen gairebé cada dia. L'automatització mitjançant scripts allibera temps per a tasques d'infraestructura més importants, com ara actualitzar commutadors i servidors i altres projectes que afecten la rendibilitat de l'empresa on treballa l'administrador (tot i que generalment s'accepta que el departament informàtic no genera directament ingressos).

La tasca de l'administrador del sistema és no perdre temps i estalviar diners a l'empresa de qualsevol manera possible. De vegades, els administradors de sistemes treballen com a membres d'un gran equip, unint, per exemple, administradors de Linux, Windows, bases de dades, emmagatzematge, etc. Els horaris de treball també varien. Per exemple, un canvi en una zona horària al final del dia transfereix casos al torn següent en una altra zona horària perquè els processos no s'aturin (seguint el sol); o els empleats tenen jornada normal de treball de 9 a 5 h; o funciona en un centre de dades les XNUMX hores del dia.

Amb el temps, els administradors de sistemes han après a pensar estratègicament i a combinar qüestions importants amb tasques rutinàries. Els equips i departaments en els quals treballen solen tenir pocs recursos, però alhora tothom intenta dur a terme les tasques diàries al màxim.

DevOps: desenvolupament i manteniment com un

DevOps és una mena de filosofia per als processos de desenvolupament i manteniment. Aquest enfocament en el món de les TI s'ha tornat realment innovador.

Sota el paraigua de DevOps, hi ha un equip de desenvolupament de programari d'una banda i un equip de manteniment de l'altra. Sovint se'ls uneixen especialistes en gestió de productes, provadors i dissenyadors d'interfície d'usuari. Junts, aquests experts agilitzen les operacions per desplegar ràpidament noves aplicacions i actualitzacions de codi per donar suport i millorar l'eficiència de tota l'empresa.

DevOps es basa en el control sobre el desenvolupament i el funcionament del programari al llarg de tot el seu cicle de vida. El personal de manteniment ha de donar suport als desenvolupadors i els desenvolupadors tenen l'encàrrec d'entendre més que només les API que s'utilitzen als sistemes. Han d'entendre què hi ha sota el capó (és a dir, com funcionen el maquinari i els sistemes operatius) per poder gestionar millor els errors, resoldre problemes i interactuar amb els tècnics de servei.

Els administradors del sistema poden passar a un equip de DevOps si volen aprendre les últimes tecnologies i estan oberts a idees i solucions innovadores. Com he dit abans, no han de convertir-se en programadors de ple dret, però dominar un llenguatge de programació com Ruby, Python o Go els ajudarà a convertir-se en membres molt útils de l'equip. Tot i que els administradors de sistemes tradicionalment fan tota la feina ells mateixos i sovint se'ls perceben com a solitaris, a DevOps tenen una experiència completament oposada, on tothom en el procés interactua entre ells.

El tema de l'automatització és cada cop més rellevant. Tant els administradors de sistemes com els especialistes de DevOps estan interessats a escalar ràpidament, reduir errors i trobar i corregir ràpidament els errors existents. Així, l'automatització és un concepte on conflueixen dues àrees. Els administradors del sistema són responsables dels serveis al núvol com AWS, Azure i Google Cloud Platform. Han d'entendre els principis d'integració i lliurament contínues i com utilitzar eines com ara Jenkins.

A més, els administradors del sistema han d'utilitzar eines de configuració i gestió com ara Ansible, necessari per al desplegament paral·lel de deu o vint servidors.

El concepte principal és infraestructura com a codi. El programari ho és tot. De fet, perquè la professió d'administrador de sistemes no perdi rellevància, només cal canviar una mica l'èmfasi. Els administradors del sistema estan en el negoci de serveis i han de poder comunicar-se de manera eficaç amb els desenvolupadors, i viceversa. Com diuen, un cap és bo, però dos són millors.

I l'últim detall d'aquest mecanisme és anar. Treballar amb Git és una de les responsabilitats diàries tradicionals d'un administrador de sistemes. Aquest sistema de control de versions és àmpliament utilitzat per desenvolupadors, especialistes de DevOps, equips àgils i molts altres. Si el vostre treball està relacionat amb el cicle de vida del programari, definitivament treballareu amb Git.

Git té moltes característiques. És probable que mai aprendràs totes les ordres de Git, però entendràs exactament per què és un element bàsic en la comunicació i la col·laboració de programari. Un coneixement exhaustiu de Git és molt important si treballeu en un equip de DevOps.

Si sou un administrador del sistema, heu d'estudiar millor Git, entendre com es construeix el control de versions i recordar les ordres habituals: git status, git commit -m, git add, git pull, git push, git rebase, git branch, git diff i altres. Hi ha molts cursos i llibres en línia que us poden ajudar a aprendre aquest tema des de zero i a convertir-vos en un professional amb habilitats específiques. També n'hi ha meravelloses fulls de trampes amb ordres de Git, de manera que no cal que els amuntegueu tots, però com més feu servir Git, més fàcil serà.

Conclusió

En última instància, vostè decideix si cal convertir-se en un especialista en DevOps o si és millor seguir sent un administrador del sistema. Com podeu veure, hi ha una corba d'aprenentatge per fer la transició, però com més aviat comenceu, millor. Trieu un llenguatge de programació i apreneu alhora eines com ara anar (control de versions), Jenkins (CI/CD, integració contínua) i Ansible (configuració i automatització). Sigui quina sigui l'opció que trieu, no oblideu que heu d'aprendre i millorar constantment les vostres habilitats.

Font: www.habr.com

Afegeix comentari