Osnovne tehničke veštine potrebne za DevOps

Teško je ne biti zbunjen kada počnemo da istražujemo odakle da počnemo sa učenjem ove oblasti. Mnogo novih tehnologija se razvija konstantno i nije lako odabrati pravi put ako uzmemo u obzir da lista konstantno raste.

Dakle, pitanje je šta prvo naučiti?

Ovih šest tehničkih veština zajedničke su svakoj ulozi DevOps-a. Nakon što savladate ove veštine, spremni ste za početak apliciranja za uloge početnog nivoa ili stažiranje dok se krećete lestvicom učenja ka DevOps tehničkim veštinama:

Linux

Linux je  operativni sistem (OS) otvorenog koda koji je baziran na Unix-u. Većinu radnog vremena radeći na bilo kojoj DevOps poziciji provodićete u Linux svetu. Naravno i Microsoft ima svoj put baziran na Windows operativnom sistemu koji možete da sledite, ali većina servisa je na otvorenom kodu sa velikom podrškom zajednice i vodećih kompanija poput IBM, Oracle, Google.

Postoji mnogo resursa koji će vam pomoći u učenju Linux-a on line. Jedan od načina za početak mogao bi biti pregled nastavnog programa LPIC ispita i polaganje ispita za dobijanje sertifikata.

Resursi za učenje:

Sertifikacija

Programski jezik

Ne brinite, ne morate biti Dennis Ritchie da biste postali DevOps inženjer. U stvari, čak ni ne morate sebe nazivati programerom da biste započeli mnoge pozicije u DevOps-u.

Međutim, morate barem da poznajete osnovne programerske koncepte, kao što su petlje, promenljive, nizovi, liste i itd. To će neće biti samo korisno kada morate da pročitate ili izmenite neki kod, već biti od suštinskog značaja i prilikom pisanja skripti, yaml fajlova i automatizacije procesa.

Savetujemo da počnete sa Python-om naučite osnove, a zatim napravite nalog na platformi poput Edabita i pređite na srednji nivo. Ako dođete do tog nivoa, ne biste trebali imati velikih problema u pisanju skripti i obavljanju većine poslova automatizacije koji vam se nađu. Takođe, u nekom trenutku vašeg učenja, vredi se upoznati sa uobičajenim obrascima dizajna i algoritmima. Ovo nije neophodno za početak rada u DevOps -u, ali će vam dobro doći.

Resursi za učenje

Sertifikacija

Bash

Bash je najvažniji skriptini jezik za automatizaciju zadataka u Unix okruženju (Powershell bi bio ekvivalent za Windows). Čak i ako više volite skriptovanje na Python-u ili bilo kojem drugom jeziku, bash je najrasprostranjeniji i bit će vam jako teško raditi ovaj posao bez znanja kako ga koristiti.

Ne morate biti čudo od programera da biste postigli većinu zadataka sa kojima ćete se svakodnevno susretati, ali određeno osnovno znanje programiranja definitivno pomaže.

Resursi za učenje

Osnove mreže

Danas je većina infrastrukture bazirana na javnim cloud provajderima ili Kubernetes klasterima koji se nalaze na lokacijama korisnika. Da bi uspešno kreirali infrastrukturu potrebno je da imate osnovno znanje o mrežnim pojmovima. Ne očekuje se da ste nekada bili mrežni inženjer ali da znate odgovore na ova dole pitanja je poželjno.

  • Šta je ip adresa?
  • Šta je subnet i subnet mask?
  • Šta je ruta?
  • Šta je ruter a šta je switch?
  • Šta je VPC?

Učenje gore navedenog je od suštinskog  značaja za rešavanje problema i kasnije dizajniranjem VPC strategije u infrastrukturi.

Resursi za učenje

Sertifikacija

Git

Git je distribuirani sistem kontrole verzija koda. Omogućava nam praćenje promena u kodu od strane tima koji zajednički sarađuje na projektu. Koriste ga svi softverski inženjering i operativni timovi. Toplo vam preporučujemo da provedete neko vreme upoznajući se sa njim i pojmovima branches, rebase, merging, itd.

Resursi za učenje

Cloud Platform

Postoji nekoliko javni cloud platformi koje možete izabrati za početak. Tri najveća su AWS, GCP i Azure. Većina počinje sa AWS-om jer se on često traži u oglasima za posao. Google - GCP  je intuitivan i jednostavan za upotrebu. Takođe dobijate 300 dolara besplatnog kredita za početak. Azure je takođe dobar izbor ako više volite da radite na Microsoft okruženju i tu želite da vaša karijera ide.

Resursi za učenje

Sertifikacija