Kiel fariĝi DevOps-inĝeniero en ses monatoj aŭ eĉ pli rapide. Parto 1. Enkonduko

Celo-Aŭskultantaro

Ĉu vi estas programisto, kiu volas pivoti vian karieron al pli altnivela DevOps-modelo? Ĉu vi estas klasika Ops-inĝeniero kaj ŝatus havi ideon pri tio, kion signifas DevOps? Aŭ ĉu vi ankaŭ ne kaj, post iom da tempo laboranta en IT, volas ŝanĝi karierojn kaj ne havas ideon de kie komenci?
Se jes, tiam legu plu por ekscii kiel vi povas fariĝi meznivela DevOps-inĝeniero en ses monatoj! Fine, se vi okupiĝas pri DevOps dum multaj jaroj, vi ankoraŭ multe eltiros el ĉi tiu artikola serio por ekscii, kien la industrio pri integriĝo kaj aŭtomatigo estas nuntempe kaj kien ĝi iras.

Kiel fariĝi DevOps-inĝeniero en ses monatoj aŭ eĉ pli rapide. Parto 1. Enkonduko

Kio estas ĉi tio ĉiuokaze?

Unue, kio estas DevOps? Vi povas Guglodifinojn kaj travadi ĉiujn vortaĵojn, sed sciu, ke la plej multaj el la difinoj estas nur miksaĵo de vortoj envolvitaj en simpligita formo. Tial mi donos al vi resumon de ĉiuj ĉi tiuj difinoj: DevOps estas metodo de liverado de programaro en kiu la kapdoloro kaj respondeco estas dividitaj inter ĉiuj implikitaj. Tio estas ĉio.

Bone, sed kion signifas ĉi tiu mallongigo? Ĝi signifas ke tradicie, Programistoj (la homoj kiuj kreas programaron) estis instigitaj fari sian laboron per instigoj kiuj estas signife malsamaj de tiuj de Operacioj (la homoj kiuj administras la programaron). Ekzemple, kiel programisto, mi volas krei tiom da novaj funkcioj kiel eble plej rapide. Post ĉio, ĉi tio estas mia laboro kaj jen kion postulas klientoj! Tamen, se mi estas Ops-ulo, tiam mi bezonas kiel eble plej malmultajn novajn funkciojn, ĉar ĉiu nova funkcio estas ŝanĝo, kaj ĉiu ŝanĝo estas plena de problemoj. Kiel rezulto de ĉi tiu misagordado de instigoj, DevOps naskiĝis.

DevOps provas kombini evoluon kaj operaciojn (integriĝo kaj aŭtomatigo) en unu grupon. La ideo estas, ke unu grupo nun dividos kaj la doloron kaj respondecon (kaj verŝajnajn rekompencojn) konstrui, disfaldi kaj generi enspezon de klient-frunta programaro.

Puristoj diros al vi, ke ne ekzistas tia afero kiel "DevOps-inĝeniero." "DevOps estas kulturo, ne rolo", ili diros al vi. Kompreneble, el teknika vidpunkto ili pravas, sed, kiel estas. ofte estas la kazo, la termino malaperis Preter ĝia originala signifo, DevOps-inĝeniero estas io kiel "sistem-inĝeniero 2.0." Alivorte, li estas iu kiu komprenas la programaran evoluan vivociklon kaj kreas programajn ilojn kaj procezojn. solvi klasikajn operaciajn problemojn.

Kiel fariĝi DevOps-inĝeniero en ses monatoj aŭ eĉ pli rapide. Parto 1. Enkonduko

DevOps finfine signifas krei ciferecajn duktojn, kiuj prenas kodon de la tekokomputilo de programisto kaj igas ĝin enspezo de la uzo de la fina produkto, jen pri kio temas. Rimarku, ke elekti DevOps-karieron estas sufiĉe alte kompensita de financaj rekompencoj, kun preskaŭ ĉiu kompanio aŭ "faras DevOps" aŭ asertas esti tia. Sendepende de kie troviĝas ĉi tiuj kompanioj, ĝeneralaj laborŝancoj kiel DevOps estas sufiĉe altaj kaj ofertas "amuzon" kaj signifan dungadon dum multaj jaroj.

Tamen, zorgu pri kompanioj, kiuj dungas "DevOps-teamon" aŭ "DevOps-sekcion". Strikte, tiaj aferoj ne devus ekzisti, ĉar finfine DevOps ankoraŭ estas kulturo kaj maniero liveri programaron, ne dungi novan teamon aŭ krei fakon kun lerta nomo.

Malgarantio

Nun ni flankenmetu la glason da Kool-Aid por momento kaj pensu pri la sekvanta. Ĉu vi aŭdis la malnovan adaĝon "ne ekzistas junaj DevOps-inĝenieroj?" Se ne, tiam sciu, ke ĉi tio estas populara tropo ĉe Reddit kaj StackOverflow. Sed kion ĝi signifas?

Simple dirite, ĉi tiu frazo signifas, ke necesas multajn jarojn da sperto kombinita kun solida kompreno de la iloj por finfine fariĝi vere efika Altranga DevOps-praktikisto. Kaj, bedaŭrinde, ne ekzistas ŝparvojo por atingi la celon. Do ĉi tio ne estas provo ludi la sistemon - mi ne pensas, ke efektive eblas ŝajnigi esti altranga DevOps-inĝeniero kun kelkaj monatoj da sperto en la industrio. Atingi solidan komprenon pri rapide ŝanĝantaj iloj kaj metodaroj postulas jarojn da sperto, kaj ne eblas ĉirkaŭi ĝin. Tamen, ekzistas preskaŭ konsekvenca (moda, se vi volas) menuo de iloj kaj konceptoj, kiujn plej multaj kompanioj uzas, kaj pri tio ni parolos.

Denove, iloj estas diferencaj de kapabloj, do dum vi lernas la ilojn, certigu, ke vi ne neglektas viajn kapablojn (enketado, interkonektado, skriba komunikado, solvo de problemoj ktp.). Plej grave, ne perdu vidon pri tio, kion ni volas trovi - manieron krei plene aŭtomatigitan ciferecan dukton, kiu prenas ideojn kaj transformas ilin en enspezajn kodojn. Ĉi tiu estas la plej grava konkludo de ĉi tiu tuta artikolo!

Sufiĉe babilado, kiam mi povas komenci?

Malsupre estas la vojmapo de DevOps Fundamenta Scio. Majstrinte ĉion, kio estas prezentita tie, vi povas sekure kaj honeste nomi vin DevOps-inĝeniero! Aŭ nuba inĝeniero se vi ne ŝatas la nomon "DevOps".

Kiel fariĝi DevOps-inĝeniero en ses monatoj aŭ eĉ pli rapide. Parto 1. Enkonduko

Ĉi tiu mapo reprezentas mian (kaj verŝajne plej multajn homojn laborantajn en ĉi tiu spaco) ideon pri tio, kion kompetenta DevOps-inĝeniero devus scii. Tamen ĉi tio estas nur opinio, kaj kompreneble estos tiuj, kiuj malkonsentas kun ĝi. Ĉi tio estas bone! Ni ne strebas al perfekteco ĉi tie, ni strebas al solida fundamento sur kiu ni povas efektive konstrui.

Vi devas iri tra ĉi tiu vojo iom post iom, tavolo post tavolo. Ni komencu (kaj daŭrigu!) kun la bazaĵoj unue lernante pri la elementoj en blua — Linukso, Python kaj AWS. Tiam, se tempo aŭ labormerkata postulo permesas, faru la purpurajn aferojn - Golang kaj Google Cloud.

Sincere, la fundamenta supra tavolo estas io, kion vi devos studi eterne. OS Linukso estas tre kompleksa kaj bezonas jarojn por majstri. Python postulas konstantan praktikon por resti aktuala. AWS evoluas tiel rapide, ke tio, kion vi hodiaŭ scias, estos nur parto de via ĝenerala scio de nun jaro. Post kiam vi lernas la bazaĵojn, transiru al la reala lerteco. Bonvolu noti, ke estas entute 6 bluaj kolumnoj (Agordo, Versio, Pakado, Deplojo, Lanĉo, Monitorado), unu por monato de studado.

Kiel fariĝi DevOps-inĝeniero en ses monatoj aŭ eĉ pli rapide. Parto 1. Enkonduko

Vi, kompreneble, rimarkis la foreston de grava etapo en nia sesmonata dukto - testado. Mi intence ne enmetis ĝin en la vojmapon ĉar verki modulon, integrigajn kaj akceptajn testojn ne estas facila kaj tradicie falas sur la ŝultrojn de programistoj. Kaj transsalti la "provan" stadion klarigas la fakto, ke la celo de ĉi tiu vojmapo estas regi bazajn kapablojn kaj ilojn kiel eble plej rapide. Manko de prova sperto, laŭ la aŭtoro, estas nur negrava obstaklo al la ĝusta uzo de DevOps.

Ankaŭ memoru, ke ni lernas ĉi tie multe da nerilataj teknikaj babiladoj, sed prefere komprenon de la iloj, kiuj kuniĝas por krei klaran rakonton. Ĉi tiu rakonto temas pri fin-al-fina proceza aŭtomatigo—cifereca muntĉeno, kiu movas pecojn kiel muntĉeno. Vi ne volas lerni amason da iloj kaj daŭre halti! DevOps-iloj ŝanĝiĝas rapide, sed konceptoj ŝanĝiĝas multe malpli ofte. Tial vi devus strebi uzi ilojn kiel instruajn prokurojn por pli altnivelaj konceptoj.

Bone, ni fosu iom pli profunden!

Fundamenta scio

Sub la supra paŝo, kiu diras Fundamento, vi povas vidi la kapablojn, kiujn ĉiu DevOps-inĝeniero devus majstri. Ĉi tiuj kapabloj estas certa pritraktado de la tri kolonoj de la industrio, kiuj estas: la operaciumo, la programlingvo kaj la publika nubo. Ĉi tiuj aferoj ne estas io, kion vi povas rapide lerni kaj pluiri. Ĉi tiuj kapabloj devas esti konstante plibonigitaj kaj regitaj por esti ĉe la avangardo de la industrio kaj rilataj al la profesia medio ĉirkaŭ vi. Ni trarigardu ilin unu post la alia.

Linukso estas kie ĉio funkcias. Ĉu vi povas esti mirinda DevOps-praktikisto dum vi restas tute ene de la Mikrosofta ekosistemo? Certe vi povas! Ne ekzistas leĝo, kiu diktas, ke vi nur uzu Linukso. Tamen, memoru, ke malgraŭ la fakto, ke ĉiuj Linuksaj aferoj povas esti faritaj en Vindozo, ĝi okazas tie multe pli dolore kaj kun malpli da funkcieco. Je ĉi tiu punkto, estas sekure supozi, ke sen koni Linukso, estas neeble fariĝi vera DevOps-profesiulo, do Linukso estas io, kion vi devus studi kaj lerni.

Sincere, la plej bona maniero fari tion estas simple instali Linukso (Fedora aŭ Ubuntu) hejme kaj uzi ĝin kiel eble plej multe. Kompreneble, vi rompos multajn aferojn, vi blokiĝos en laborprocezoj, vi devos ĉion ripari, sed vi lernos Linukson!

Kiel fariĝi DevOps-inĝeniero en ses monatoj aŭ eĉ pli rapide. Parto 1. Enkonduko

Cetere, RedHat-variaĵoj estas pli oftaj en Nordameriko, do havas sencon komenci per Fedora aŭ CentOS. Se vi demandas, ĉu vi devus aĉeti KDE aŭ Gnome-eldonon, elektu KDE. Jen kion Linus Torvalds mem uzas.

Python estas la domina malantaŭa lingvo nuntempe. Ĝi estas facila por komenci kaj estas vaste uzata. Python estas tre ofta en la kampo de artefarita inteligenteco kaj maŝina lernado, do se vi iam volas translokiĝi en alian varman kampon, vi estos plene preta.

Kiel fariĝi DevOps-inĝeniero en ses monatoj aŭ eĉ pli rapide. Parto 1. Enkonduko

Amazon Web Services: Denove, estas neeble fariĝi sperta DevOps-profesiulo sen solida kompreno pri kiel funkcias la publika nubo. Kaj se vi volas lerni pli pri ĝi, rigardu en Amazon Web Services. Ĝi estas ĉefa ludanto en ĉi tiu kampo de servoj kaj ofertas la plej riĉan aron de laboriloj.

Ĉu eblas komenci kun Google Cloud aŭ Azure anstataŭe? Kompreneble vi povas! Sed memorante la lastan financan krizon, oni devas rimarki, ke AWS estas la plej sekura opcio, almenaŭ en 2018, ĉar ĝi permesas vin registri konton senpage kaj komenci esplori la eblecojn de nubaj servoj. Aldone, AWS-konzolo provizas la uzanton per simpla kaj klara menuo por elekti. La bona novaĵo estas, ke vi ne bezonas koni ĉiujn teknologiojn de Amazon por fari tion.

Kiel fariĝi DevOps-inĝeniero en ses monatoj aŭ eĉ pli rapide. Parto 1. Enkonduko

Komencu per la jenaj: VPC, EC2, IAM, S3, CloudWatch, ELB (Elasta Ŝarĝbalancado sub la ombrelo EC2) kaj Sekureca Grupo. Ĉi tiuj aferoj sufiĉas por komenci, kaj ĉiu moderna, nubo-bazita entrepreno uzas ĉi tiujn ilojn sufiĉe aktive. La propra trejnejo de AWS estas bona loko por komenci.

Mi rekomendas, ke vi pasigu 20-30 minutojn ĉiutage lernante kaj ekzercante kun la lingvo Python, Linukso-operaciumo kaj AWS-nuba servo krom aliaj aferoj, kiujn vi devos lerni. Ĝenerale, mi kredas, ke pasigi unu horon tage, kvin fojojn semajne sufiĉas por kompreni la industrion DevOps en 6 monatoj aŭ malpli. Estas entute 6 ĉefaj komponantoj, ĉiu el kiuj respondas al monato da trejnado. Tio estas ĉio, kion vi bezonas por akiri bazajn sciojn.
En postaj artikoloj, ni rigardos la sekvan nivelon de komplekseco: kiel plene aŭtomatigi la agordon, versionadon, pakadon, deplojon, funkciadon kaj monitoradon de programaro.

Daŭrigota tre baldaŭ...

Kelkaj reklamoj 🙂

Dankon pro restado ĉe ni. Ĉu vi ŝatas niajn artikolojn? Ĉu vi volas vidi pli interesan enhavon? Subtenu nin farante mendon aŭ rekomendante al amikoj, nuba VPS por programistoj de $4.99, unika analogo de enirnivelaj serviloj, kiu estis inventita de ni por vi: La tuta vero pri VPS (KVM) E5-2697 v3 (6 Kernoj) 10GB DDR4 480GB SSD 1Gbps de $ 19 aŭ kiel dividi servilon? (havebla kun RAID1 kaj RAID10, ĝis 24 kernoj kaj ĝis 40GB DDR4).

Dell R730xd 2 fojojn pli malmultekosta en Equinix Tier IV datumcentro en Amsterdamo? Nur ĉi tie 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 televidilo ekde 199 USD en Nederlando! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ekde $99! Legu pri Kiel konstrui infrastrukturan korpon. klaso kun la uzo de serviloj Dell R730xd E5-2650 v4 valorantaj 9000 eŭrojn por centono?

fonto: www.habr.com

Aldoni komenton