Publiku i synuar
A jeni zhvillues që dëshiron të kthejë karrierën e tij në një model më të avancuar DevOps? A jeni një inxhinier klasik i Ops dhe dëshiron të merrni një ide se çfarë do të thotë DevOps? Ose nuk jeni asnjëri, dhe pas disa kohësh në teknologjitë IT dëshironi të ndryshoni punë pa pasur asnjë ide se nga të filloni?
Nëse po, atëherë vazhdoni të lexoni për të mësuar se si të bëheni inxhinier DevOps i nivelit të mesëm brenda gjashtë muajve! Nëse tashmë jeni duke u marrë me DevOps për shumë vite, do të mund të gjeni gjithashtu shumë informacione të dobishme nga ky cikël artikujsh dhe të mësoni se ku qëndron industria e integrimit dhe automatizimit aktualisht dhe në cilin drejtim po shkon zhvillimi i saj.

Çfarë është kjo në të vërtetë?
Së pari, çfarë është DevOps? Mund të bëni një kërkim në internet për përkufizimet dhe të përballeni me gjithë këtë erë fjalësh, por mbani parasysh se shumica e përkufizimeve janë thjesht një përzierje fjalësh në një formë tërheqëse. Prandaj, do t'ju jap një përmbledhje të të gjithë këtyre përcaktimeve: DevOps është një mënyrë e ofrimit të softuerit ku dhembja dhe përgjegjësia ndahen midis të gjithë atyre që janë të përfshirë. Kjo është gjithçka.
Mirë, por çfarë do të thotë në të vërtetë ky akronim? Ai do të thotë që tradicionalisht zhvilluesit (personat që krijojnë softuer) në punën e tyre u udhëhoqën nga stimuj që dallohen ndjeshëm nga stimujt e Operacioneve (personat që menaxhojnë softuerin). Për shembull, si zhvillues, dua të krijoj sa më shpejt të jetë e mundur sa më shumë funksione të reja. Në fund të fundit, kjo është puna ime, dhe kjo kërkohet nga klientët! Megjithatë, nëse jam një njeri Ops, më duhen sa më pak funksione të reja, sepse çdo funksion i ri është një ndryshim, dhe çdo ndryshim është problematik. Si rezultat i këtij mosakordimi të stimujve ka lindur DevOps.
DevOps përpiqet të bashkojë zhvillimin dhe operacionet (integrimin dhe automatizimin) në një grup. Ideja është që tani një grup do të ndajë si dhimbjen ashtu edhe përgjegjësinë (dhe ndoshta shpërblimin) për krijimin, zbatimin dhe përfitimin nga softueri i fokusuar te klienti.
Puristët do t'ju thonë se nuk ekziston një gjë e tillë si "inxhinieri DevOps". "DevOps është një kulturë, jo një rol," do t'ju thonë ata. Sigurisht, nga një pikëpamje teknike, ata kanë të drejtë, por, siç ndodh shpesh, ky term ka dalë përtej kuptimit të tij fillestar. Prandaj, inxhinieri DevOps është diçka si "inxhinieri i sistemeve 2.0". Me fjalë të tjera, ai është ai që kupton ciklin e jetës së zhvillimit të softuerit dhe krijon mjete dhe procese për zhvillimin e softuerit për të zgjidhur problemet klasike operative.

DevOps përfundimisht do të thotë krijimi i linjave dixhitale që marrin kodin nga laptopi i zhvilluesit dhe e transformojnë atë në të ardhura nga përdorimi i produktit përfundimtar, kjo është e gjitha. Vlen të theksohet se zgjedhja e karrierës në DevOps është mjaft tërheqëse financiarisht, me pothuajse çdo kompani që ose "bën DevOps", ose pretendon se e bën. Pavarësisht nga vendndodhja e këtyre kompanive, mundësitë e punës në rolin e DevOps janë mjaft të larta dhe implicojnë një punësim "argëtues" dhe të rëndësishëm për shumë vite përpara.
Megjithatë, kini kujdes nga kompanitë që punësojnë "ekipin DevOps" ose "departamentin DevOps". Në mënyrë strikte, gjëra të tilla nuk duhet të ekzistojnë, sepse në fund të fundit, DevOps është akoma një kulturë dhe një mënyrë e ofrimit të softuerit, dhe jo kompletimi i një ekipi të ri ose krijimi i një departamenti me një emër të modës.
Kohëzgjatje e përgjegjësisë
Tani le të lëmë pak në anë të gotës "Cool-Aid" dhe të mendojmë për këtë. A keni dëgjuar thënien e vjetër "nuk ka inxhinierë të rinj DevOps"? Nëse jo, duhet të dini se është një trop i njohur në Reddit dhe StackOverflow. Por çfarë do të thotë kjo?
Thjesht, kjo frazë do të thotë se kërkohet shumë vite përvojë së bashku me një kuptim të fortë të mjeteve, për të arritur në fund një praktikues të vërtetë efektiv Senior DevOps. Dhe, fatkeqësisht, nuk ka ndonjë rrugë të shkurtër për të arritur këtë qëllim. Kështu, kjo nuk është një përpjekje për të mashtruar sistemin — nuk besoj se ndonjëherë mund të pretendosh se je një inxhinier Senior DevOps me disa muaj përvoje në këtë fushë. Arritja e një kuptimi të qartë të mjeteve dhe metodologjive që ndryshojnë shpejt kërkon shumë vite përvoje, dhe këtë nuk mund ta shmangim. Megjithatë, ekziston një menu pothuajse e pranuar (moderne, nëse doni) e mjeteve dhe koncepteve që përdorin shumica e kompanive, dhe kjo është ajo për të cilën do të flasim.
Kështu që, mjetet ndryshojnë nga aftësitë, prandaj, ndërsa po mësoni mjete, sigurohuni që të mos neglizhoni aftësitë tuaja (intervistat, ndërtimi i rrjeteve, komunikimi në shk written, zgjidhja e problemeve etj.). E rëndësishmja është të mos harroni atë që dëshirojmë të gjejmë – një mënyrë për të krijuar një linjë prodhimi dixhitale të plotë të automatizuar, e cila merr ide dhe i kthen ato në copa kodi që sjellin të ardhura. Ky është përfundimi i vetëm dhe më i rëndësishëm nga i gjithë ky artikull!
Mjaft me biseda, kur mund të filloj?
Më poshtë është një hartë rrugore e 'Diturive të Themeltareve DevOps'. Pasi të keni zotëruar gjithçka që është paraqitur atje, mund ta quani veten inxhinier DevOps me krenari dhe sinqeritet! Ose inxhinier cloud, nëse nuk ju pëlqen emri “DevOps”.

Kjo harta pasqyron mendimin tim (dhe, me siguri, të shumicës së njerëzve që punojnë në këtë hapësirë) mbi atë që duhet të dijë një inxhinier kompetent DevOps. Megjithatë, kjo është vetëm një opinion, dhe sigurisht do të ketë ata që nuk bien dakord. Kjo është në rregull! Ne këtu nuk synojmë përsosmërinë, ne synojmë një themel të fortë mbi të cilin mund të ndërtojmë realisht.
Duhet ta kaloni këtë rrugë gradualisht, shtresë pas shtrese. Duhet të filloni (dhe të vazhdoni!) me bazat themelore, duke mësuar fillimisht elementet e përcaktuara me ngjyrë blu — Linux, Python dhe AWS. Pastaj, nëse koha ose kërkesa në tregun e punës e lejojnë, meruni me gjërat e purpurta — Golang dhe Google Cloud.
Sinqerë, shtresa themelore është ajo që do t'ju duhet të studioni pafundësisht. OS Linux është shumë e komplikuar, dhe ndihmon shumë vite për t'u zotëruar. Python kërkon praktikë të vazhdueshme për të qëndruar në përputhje me zhvillimet e reja. AWS zhvillohet kaq shpejt, sa ajo çfarë dini sot, pas një viti do të jetë vetëm një pjesë e përgjithshme e portofolit tuaj të njohurive. Pasi të mësoni bazat, kaloni në një set të vërtetë aftësish. Vini re, që ka gjithsej 6 kolona blu (Konfigurimi, Versioni, Paketimi, Zbatuar, Nisja, Monitorimi), një për çdo muaj studimi.

Sigurisht që e keni vënë re mungesën e një faze të rëndësishme në konvejerin tonë gjashtëmujor – testimin. E kam për qëllim që ta lë jashtë hartës së rrugës, sepse shkruarja e modulit, integrimi dhe testet e pranimit nuk janë të lehta dhe zakonisht bien mbi shpatullat e zhvilluesve. Dhe mungesa e fazës 'testimi' e justifikohet nga fakti se qëllimi i kësaj hartë rrugore është të zotëroni sa më shpejt aftësitë dhe mjetet themelore. Mungesa e eksperimentit në testim, sipas autorit, është vetëm një pengesë e vogël për përdorimin e duhur të DevOps.
Për më tepër, mbani mend se këtu nuk po studiojmë një mori të madhe të teknologjisë së pa lidhur, por synojmë të kuptojmë mjetet që në një lidhje të vetme krijojnë një histori të qartë. Kjo histori është një automatizim i plotë i procesit – një konvejer digital që lëviz bits si në një linjë montimi. Ju nuk dëshironi të studiojnë një mori mjetesh dhe vazhdimisht të ndaloni! Mjetet DevOps po ndryshojnë shpejt, ndërsa konceptet – shumë më pak. Prandaj, duhet të synoni përdorimin e mjeteve si proxy arsimore për konceptet më të nivelit të lartë.
Mirë, le të thellohemi pak më shumë!
Dijen themelore
Poshtë shkallës së sipërme me mbishkrim Foundation, shihni aftësitë që çdo inxhinier DevOps duhet të zotërojë. Këto aftësi përfshijnë njohuri të thella mbi tre "shtyllat" e industrisë, të cilat janë: sistemi operativ, gjuha e programimit dhe reja publike. Këto nuk janë diçka që mund të mësoni shpejt dhe të shkojmë më tej. Aftësitë duhet të përmirësohen vazhdimisht dhe të rafinohen, për të mbetur në avangardë të industrisë dhe për të aktualizuar ambientin profesional përreth jush. Le të kalojmë përmes tyre një nga një.
Linux është ajo ku gjithçka funksionon. A mund të jesh një praktikant i shkëlqyer DevOps, duke mbetur plotësisht brenda ekosistemit Microsoft? Sigurisht, që po! Nuk ka asnjë ligj që e detyron përdorimin e vetëm Linux. Megjithatë, mbani parasysh – pavarësisht se çdo gjë që mund të bëni me Linux, mund ta bëni edhe në Windows, processi aty është më i vështirë dhe me më pak mundësi funksionale. Mund të thuhet me besim se pa njohuri për Linux, nuk mund të bëheni një profesionist i vërtetë DevOps, prandaj Linux është ajo që duhet të mësoni dhe të vazhdoni të mësoni.
Sinqerisht, mënyra më e mirë për ta bërë këtë është të instaloni Linux (Fedora ose Ubuntu) në shtëpi dhe ta përdorni sa më shumë. Sigurisht, do të shkatërroni një sasi të madhe gjërash, do të hasni në procese të punës, do t'ju duhet të korrigjoni gjithçka, por kështu do të mësoni Linux!

Në fakt, në Amerikën e Veriut, variantet RedHat janë më të zakonshme, kështu që ka kuptim të filloni me Fedora ose CentOS. Nëse po pyesni nëse duhet të blini edicionin KDE ose Gnome, zgjidhni KDE. Kjo është ajo që përdor vetë Linus Torvalds.
Python sot është gjuha dominuese e back-end-it. Është e lehtë të filloni me të dhe përdoret gjerësisht. Python është shumë i përhapur në fushën e inteligjencës artificiale dhe mësimit të makinerisë, kështu që nëse ndonjëherë dëshironi të kaloni në një tjetër fushë të nxehtë, do të jeni plotësisht të përgatitur për këtë.

Amazon Web Services: sërish, nuk është e mundur të bëhesh një profesionist i përvojës DevOps pa një kuptim të fortë të mënyrës se si funksionon reja publike. Dhe nëse doni të mësoni sa më shumë, studioni Amazon Web Services. Ky është lojtari kryesor në këtë fushë shërbimesh, i cili ofron setin më të pasur të mjeteve të punës.
A mund të filloni nga Google Cloud ose Azure? Sigurisht që mundeni! Por duke marrë parasysh krizën financiare të fundit, duhen marrë parasysh se AWS është mundësia më e sigurt, të paktën në vitin 2018, pasi ofron regjistrim falas të llogarisë dhe fillimin e eksplorimit të mundësive të shërbimeve në re. Për më tepër, console e AWS ofron një menu të thjeshtë dhe të kuptueshme për zgjedhje. Lajmi i mirë është se për këtë nuk keni nevojë të njihni të gjitha teknologjitë e Amazon.

Filloni me këto: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing nën EC2) dhe Security Group. Këto mjaftojnë për të filluar, dhe çdo start-up modern në re i përdor aktivisht këto mjete. Uebsajti i tyre edukativ AWS është një vend i mirë për të filluar.
Ju rekomandoj që të kushtoni 20-30 minuta çdo ditë për të studiuar dhe praktikuar me gjuhën Python, sistemin operativ Linux dhe shërbimin AWS në përputhje me gjëra të tjera që do të duhet të mësoni. Në përgjithësi, mendoj se një orë në ditë pesë herë në javë është e mjaftueshme për të kuptuar proceset në industrinë DevOps brenda 6 muajsh ose edhe më pak. Ka një total prej 6 përbërësish kryesorë, secili i dedikuar një muaji të mësimit. Këto janë të gjitha ato që ju nevojiten për të fituar njohuri themelore.
Në artikujt e ardhshëm do të shqyrtojmë nivelin e ardhshëm të kompleksitetit: si të automatizoni plotësisht konfigurimin, versionimin, paketimin, shpërndarjen, ekzekutimin dhe monitorimin e software-it.
Vazhdimi do të vijë shumë shpejt…
Pak reklamë 🙂
Faleminderit që qëndroni me ne. Ju pëlqejnë artikujt tanë? Dëshironi të shihni më shumë materiale interesante? Na mbështetni duke bërë një porosi ose duke na rekomanduar njohurive tuaj, , një analog unik i serverëve entry-level, i ndërtuar për ju: (disponohen variante me RAID1 dhe RAID10, deri në 24 bërthama dhe deri në 40GB DDR4).
Dell R730xd dyfish më i lirë në qendrën e të dhënave Equinix Tier IV në Amsterdam? Vetëm këtu në Holandë! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — nga $99! Lexoni rreth
Burimi: habr.com
