Hoe om 'n DevOps-ingenieur in ses maande of selfs vinniger te word. Deel 1. Inleiding

Целевая аудитория

Is jy 'n ontwikkelaar wat jou loopbaan wil draai na 'n meer gevorderde DevOps-model? Is jy 'n klassieke Ops-ingenieur en wil jy graag 'n idee kry van wat DevOps beteken? Of is jy nie een nie en wil jy, nadat jy 'n geruime tyd in IT gewerk het, van beroep verander en het jy geen idee waar om te begin nie?
Indien wel, lees dan verder om uit te vind hoe jy binne ses maande 'n middelvlak DevOps-ingenieur kan word! Ten slotte, as jy al baie jare by DevOps betrokke is, sal jy steeds baie uit hierdie artikelreeks kry om te leer waar die integrasie- en outomatiseringsbedryf tans is en waarheen dit op pad is.

Hoe om 'n DevOps-ingenieur in ses maande of selfs vinniger te word. Deel 1. Inleiding

Waaroor gaan dit?

Eerstens, wat is DevOps? Jy kan definisies Google en deur al die woorde blaai, maar weet dat die meeste van die definisies net 'n mengelmoes van woorde is wat in 'n vaartbelynde vorm toegedraai is. Daarom sal ek vir jou 'n opsomming gee van al hierdie definisies: DevOps is 'n metode om sagteware te lewer waarin die hoofpyn en verantwoordelikheid onder alle betrokkenes gedeel word. Dis al.

Goed, maar wat beteken hierdie afkorting? Dit beteken dat ontwikkelaars (die mense wat sagteware skep) tradisioneel gemotiveer is om hul werk te doen deur aansporings wat aansienlik verskil van dié van Operations (die mense wat die sagteware bestuur). Byvoorbeeld, as 'n ontwikkelaar wil ek so vinnig as moontlik soveel nuwe kenmerke skep. Dit is immers my werk en dit is wat kliënte eis! As ek egter 'n Ops-persoon is, het ek so min nuwe kenmerke as moontlik nodig, want elke nuwe kenmerk is 'n verandering, en enige verandering is belaai met probleme. As gevolg van hierdie wanbelyning van aansporings, is DevOps gebore.

DevOps poog om ontwikkeling en bedrywighede (integrasie en outomatisering) in een groep te kombineer. Die idee is dat een groep nou beide die pyn en verantwoordelikheid (en waarskynlike belonings) sal deel om te bou, ontplooi en inkomste te genereer uit sagteware wat aan klante gerig is.

Puriste sal vir jou sê dat daar nie iets soos 'n "DevOps-ingenieur is nie." "DevOps is 'n kultuur, nie 'n rol nie," sal hulle vir jou sê. Uit 'n tegniese oogpunt is hulle natuurlik reg, maar soos dit is dikwels het die term handuit geruk. Buiten die oorspronklike betekenis daarvan, is 'n DevOps-ingenieur iets soos 'n "stelselingenieur 2.0." Met ander woorde, hy is iemand wat die sagteware-ontwikkelingslewensiklus verstaan ​​en sagteware-ontwikkelingshulpmiddels en -prosesse skep om klassieke operasionele probleme op te los.

Hoe om 'n DevOps-ingenieur in ses maande of selfs vinniger te word. Deel 1. Inleiding

DevOps beteken uiteindelik die skep van digitale pyplyne wat kode van 'n ontwikkelaar se skootrekenaar neem en dit omskep in inkomste uit die gebruik van die finale produk, dit is waaroor dit gaan. Let daarop dat die keuse van 'n DevOps-loopbaan redelik hoogs vergoed word deur finansiële belonings, met byna elke maatskappy wat óf "DevOps doen" óf beweer dat dit een is. Ongeag waar hierdie maatskappye geleë is, algehele werksgeleenthede as DevOps is redelik hoog en bied "prettige" en betekenisvolle werk vir baie jare wat kom.

Wees egter versigtig vir maatskappye wat 'n "DevOps-span" of "DevOps-afdeling" aanstel. Streng gesproke behoort sulke dinge nie te bestaan ​​nie, want uiteindelik is DevOps steeds 'n kultuur en 'n manier om sagteware te lewer, nie 'n nuwe span te beman of 'n departement te skep met 'n spoggerige naam.

Disclaimer

Kom ons sit nou die glas Kool-Aid vir 'n oomblik eenkant en dink oor die volgende. Het jy die ou gesegde gehoor "daar is geen junior DevOps-ingenieurs nie?" Indien nie, weet dan dat dit 'n gewilde trope op Reddit en StackOverflow is. Maar wat beteken dit?

Eenvoudig gestel, hierdie frase beteken dat dit baie jare se ervaring verg, gekombineer met 'n goeie begrip van die gereedskap om uiteindelik 'n werklik effektiewe Senior DevOps-praktisyn te word. En daar is ongelukkig geen kortpad om die doel te bereik nie. Dit is dus nie 'n poging om die stelsel te speel nie - ek dink nie dit is eintlik moontlik om voor te gee dat jy 'n senior DevOps-ingenieur is met 'n paar maande se ondervinding in die bedryf nie. Om 'n stewige begrip van vinnig veranderende gereedskap en metodologieë te bereik, verg jare se ondervinding, en daar is geen omweg daaroor nie. Daar is egter 'n byna konsekwente (modieuse, as jy wil) spyskaart van gereedskap en konsepte wat die meeste maatskappye gebruik, en dit is waaroor ons gaan praat.

Weereens, gereedskap verskil van vaardighede, so terwyl jy die gereedskap leer, maak seker dat jy nie jou vaardighede afskeep nie (opnames, netwerke, geskrewe kommunikasie, probleemoplossing, ens.). Belangriker nog, moenie uit die oog verloor wat ons wil vind nie - 'n manier om 'n ten volle outomatiese digitale pyplyn te skep wat idees neem en omskep in stukke kode wat inkomste genereer. Dit is die enkele belangrikste gevolgtrekking uit hierdie hele artikel!

Genoeg gesels, wanneer kan ek begin?

Hieronder is die DevOps Fundamental Knowledge-padkaart. Nadat u alles bemeester het wat daar uitgebeeld word, kan u uself veilig en eerlik 'n DevOps-ingenieur noem! Of 'n wolkingenieur as jy nie van die naam "DevOps" hou nie.

Hoe om 'n DevOps-ingenieur in ses maande of selfs vinniger te word. Deel 1. Inleiding

Hierdie kaart verteenwoordig my (en waarskynlik die meeste mense wat in hierdie ruimte werk) idee van wat 'n bekwame DevOps-ingenieur moet weet. Dit is egter net 'n mening, en daar sal natuurlik diegene wees wat nie daarmee saamstem nie. Dit is goed! Ons streef nie hier na perfeksie nie, ons streef na 'n stewige fondament waarop ons eintlik kan bou.

Jy moet geleidelik deur hierdie pad gaan, laag vir laag. Kom ons begin (en gaan voort!) met die grondbeginsels deur eers te leer oor die elemente in blou—Linux, Python en AWS. Doen dan, as die tyd of die vraag in die arbeidsmark dit toelaat, die pers goed - Golang en Google Cloud.

Eerlik, die fundamentele boonste laag is iets wat jy vir ewig sal moet bestudeer. OS Linux is baie kompleks en neem jare om te bemeester. Python vereis konstante oefening om op datum te bly. AWS ontwikkel so vinnig dat dit wat jy vandag weet eers 'n jaar van nou af deel van jou algehele kennisportefeulje sal wees. Sodra jy die basiese beginsels geleer het, gaan voort na die werklike vaardigheidstel. Neem asseblief kennis dat daar 'n totaal van 6 blou kolomme is (opstelling, weergawe, verpakking, ontplooiing, bekendstelling, monitering), een per maand van studie.

Hoe om 'n DevOps-ingenieur in ses maande of selfs vinniger te word. Deel 1. Inleiding

U het natuurlik opgemerk die afwesigheid van 'n belangrike stadium in ons ses maande lange pyplyn - toetsing. Ek het dit doelbewus nie in die padkaart ingesluit nie, want die skryf van 'n module, integrasie en aanvaardingstoetse is nie maklik nie en val tradisioneel op die skouers van ontwikkelaars. En om die "toets" stadium oor te slaan, word verklaar deur die feit dat die doel van hierdie padkaart is om basiese vaardighede en gereedskap so vinnig as moontlik te bemeester. Gebrek aan toetservaring, volgens die skrywer, is slegs 'n geringe struikelblok vir die korrekte gebruik van DevOps.

Onthou ook dat ons nie 'n hele klomp onverwante tegniese gebabbel hier leer nie, maar eerder 'n begrip van die gereedskap wat saamkom om 'n duidelike storie te skep. Hierdie storie handel oor end-tot-end proses-outomatisering - 'n digitale monteerlyn wat stukkies soos 'n monteerlyn beweeg. Jy wil nie 'n klomp gereedskap leer nie en hou op stop! DevOps-nutsgoed verander vinnig, maar konsepte verander baie minder gereeld. Daarom moet jy daarna streef om gereedskap as onderriggevolmagtigdes vir hoërvlakkonsepte te gebruik.

Goed, kom ons delf 'n bietjie dieper!

Fundamentele kennis

Onder die boonste stap wat sê Foundation, kan jy die vaardighede sien wat elke DevOps-ingenieur moet bemeester. Hierdie vaardighede is selfversekerde hantering van die drie pilare van die bedryf, wat is: die bedryfstelsel, die programmeertaal en die publieke wolk. Hierdie dinge is nie iets wat jy vinnig kan leer en aangaan nie. Hierdie vaardighede moet voortdurend verbeter en bemeester word om aan die voorpunt van die bedryf te wees en relevant tot die professionele omgewing rondom jou. Kom ons gaan een vir een deur hulle.

Linux is waar alles werk. Kan jy 'n ongelooflike DevOps-praktisyn wees terwyl jy heeltemal binne die Microsoft-ekosisteem bly? Ja jy kan! Daar is geen wet wat bepaal dat jy net Linux gebruik nie. Hou egter in gedagte dat ten spyte van die feit dat alle Linux-dinge in Windows gedoen kan word, gebeur dit daar baie pynliker en met minder funksionaliteit. Op hierdie stadium is dit veilig om te aanvaar dat dit onmoontlik is om 'n ware DevOps-professionele persoon te word sonder om Linux te ken, so Linux is iets wat jy moet bestudeer en leer.

Eerlik gesê, die beste manier om dit te doen is om eenvoudig Linux (Fedora of Ubuntu) by die huis te installeer en dit soveel as moontlik te gebruik. Natuurlik sal jy baie dinge breek, jy sal vashaak in werksprosesse, jy sal alles moet regmaak, maar jy sal Linux leer!

Hoe om 'n DevOps-ingenieur in ses maande of selfs vinniger te word. Deel 1. Inleiding

Terloops, RedHat-variante is meer algemeen in Noord-Amerika, so dit maak sin om met Fedora of CentOS te begin. As jy wonder of jy KDE of Gnome-uitgawe moet koop, kies KDE. Dit is wat Linus Torvalds self gebruik.

Python is deesdae die dominante back-end-taal. Dit is maklik om mee te begin en word wyd gebruik. Python is baie algemeen op die gebied van kunsmatige intelligensie en masjienleer, so as jy ooit na 'n ander warm veld wil beweeg, sal jy ten volle voorbereid wees.

Hoe om 'n DevOps-ingenieur in ses maande of selfs vinniger te word. Deel 1. Inleiding

Amazon Web Services: Weereens, dit is onmoontlik om 'n ervare DevOps-professional te word sonder 'n goeie begrip van hoe die publieke wolk werk. En as jy meer daaroor wil leer, kyk na Amazon Web Services. Dit is 'n toonaangewende speler op hierdie gebied van dienste en bied die rykste stel werkgereedskap.

Is dit moontlik om eerder met Google Cloud of Azure te begin? Natuurlik kan jy! Maar as jy die laaste finansiële krisis onthou, moet daarop gelet word dat AWS die veiligste opsie is, ten minste in 2018, aangesien dit jou toelaat om 'n rekening gratis te registreer en die moontlikhede van wolkdienste te begin ondersoek. Boonop bied AWS-konsole die gebruiker 'n eenvoudige en duidelike spyskaart om van te kies. Die goeie nuus is dat jy nie al Amazon se tegnologieë hoef te ken om dit te doen nie.

Hoe om 'n DevOps-ingenieur in ses maande of selfs vinniger te word. Deel 1. Inleiding

Begin met die volgende: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing onder die EC2-sambreel) en Security Group. Hierdie dinge is genoeg om jou aan die gang te kry, en elke moderne, wolkgebaseerde onderneming gebruik hierdie instrumente redelik aktief. AWS se eie opleidingswerf is 'n goeie plek om te begin.

Ek beveel aan dat jy elke dag 20-30 minute spandeer om te leer en te oefen met die Python-taal, Linux-bedryfstelsel en AWS-wolkdiens bykomend tot ander dinge wat jy sal moet leer. Oor die algemeen glo ek dat om 'n uur per dag, vyf keer per week te spandeer, genoeg is om die DevOps-industrie binne 6 maande of minder te verstaan. Daar is 'n totaal van 6 hoofkomponente, wat elk ooreenstem met 'n maand se opleiding. Dit is al wat jy nodig het om basiese kennis op te doen.
In die volgende artikels sal ons kyk na die volgende vlak van kompleksiteit: hoe om die konfigurasie, weergawe, verpakking, ontplooiing, hardloop en monitering van sagteware ten volle te outomatiseer.

Word binnekort vervolg...

Sommige advertensies 🙂

Dankie dat jy by ons gebly het. Hou jy van ons artikels? Wil jy meer interessante inhoud sien? Ondersteun ons deur 'n bestelling te plaas of by vriende aan te beveel, wolk VPS vir ontwikkelaars vanaf $4.99, 'n unieke analoog van intreevlakbedieners, wat deur ons vir jou uitgevind is: Die hele waarheid oor VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps vanaf $19 of hoe om 'n bediener te deel? (beskikbaar met RAID1 en RAID10, tot 24 kerne en tot 40 GB DDR4).

Dell R730xd 2x goedkoper in Equinix Tier IV-datasentrum in Amsterdam? Net hier 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV vanaf $199 in Nederland! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - vanaf $99! Lees van Hoe om infrastruktuur korp. klas met die gebruik van Dell R730xd E5-2650 v4-bedieners ter waarde van 9000 XNUMX euro vir 'n sent?

Bron: will.com

Voeg 'n opmerking