Hoe je in zes maanden of zelfs sneller een DevOps-ingenieur wordt. Deel 1. Inleiding

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

Bent u een ontwikkelaar die uw carrière wil richten op een geavanceerder DevOps-model? Ben jij een klassieke Ops engineer en wil je graag een idee krijgen van wat DevOps inhoudt? Of bent u geen van beide en wilt u, na enige tijd in de IT te hebben gewerkt, van carrière veranderen en heeft u geen idee waar u moet beginnen?
Zo ja, lees dan verder en ontdek hoe jij in zes maanden een mid-level DevOps engineer kunt worden! Ten slotte: als u al vele jaren betrokken bent bij DevOps, zult u nog steeds veel uit deze serie artikelen halen om te leren waar de integratie- en automatiseringsindustrie zich momenteel bevindt en waar deze naartoe gaat.

Hoe je in zes maanden of zelfs sneller een DevOps-ingenieur wordt. Deel 1. Inleiding

Waar gaat het allemaal om?

Ten eerste: wat is DevOps? Je kunt definities googlen en door alle woordenstroom heen waden, maar weet dat de meeste definities slechts een wirwar van woorden zijn, verpakt in een gestroomlijnde vorm. Daarom geef ik je een samenvatting van al deze definities: DevOps is een methode om software te leveren waarbij de hoofdpijn en verantwoordelijkheid worden gedeeld door alle betrokkenen. Dat is alles.

Oké, maar wat betekent deze afkorting? Het betekent dat ontwikkelaars (de mensen die software maken) traditioneel gemotiveerd zijn om hun werk te doen door prikkels die aanzienlijk verschillen van die van Operations (de mensen die de software beheren). Als ontwikkelaar wil ik bijvoorbeeld zo snel mogelijk zoveel mogelijk nieuwe features creëren. Dit is tenslotte mijn werk en dit is wat klanten eisen! Als ik echter een Ops-persoon ben, heb ik zo min mogelijk nieuwe functies nodig, omdat elke nieuwe functie een verandering is, en elke verandering met problemen gepaard gaat. Als gevolg van deze verkeerde afstemming van prikkels werd DevOps geboren.

DevOps probeert ontwikkeling en operatie (integratie en automatisering) in één groep te combineren. Het idee is dat één groep nu zowel de pijn als de verantwoordelijkheid (en waarschijnlijk de beloningen) zal delen van het bouwen, implementeren en genereren van inkomsten uit klantgerichte software.

Puristen zullen je vertellen dat er niet zoiets bestaat als een ‘DevOps-ingenieur.’ ‘DevOps is een cultuur, geen rol’, zullen ze je vertellen. Natuurlijk hebben ze vanuit technisch oogpunt gelijk, maar zoals het is Vaak is de term uit de hand gelopen. Naast de oorspronkelijke betekenis is een DevOps-ingenieur zoiets als een ‘systeemingenieur 2.0.’ Met andere woorden, hij is iemand die de levenscyclus van softwareontwikkeling begrijpt en softwareontwikkelingstools en -processen creëert. om klassieke operationele problemen op te lossen.

Hoe je in zes maanden of zelfs sneller een DevOps-ingenieur wordt. Deel 1. Inleiding

DevOps betekent uiteindelijk het creëren van digitale pijplijnen die code van de laptop van een ontwikkelaar halen en deze omzetten in inkomsten uit het gebruik van het eindproduct, daar gaat het allemaal om. Houd er rekening mee dat het kiezen van een DevOps-carrière behoorlijk wordt gecompenseerd door financiële beloningen, waarbij bijna elk bedrijf “DevOps doet” of beweert er een te zijn. Ongeacht waar deze bedrijven gevestigd zijn, de algemene werkgelegenheidskansen als DevOps zijn vrij hoog en bieden nog vele jaren 'leuke' en zinvolle werkgelegenheid.

Wees echter op uw hoede voor bedrijven die een “DevOps-team” of “DevOps-afdeling” inhuren. Strikt genomen zouden dergelijke dingen niet moeten bestaan, omdat DevOps uiteindelijk nog steeds een cultuur en een manier is om software te leveren, en niet het bemannen van een nieuw team of het creëren van een afdeling met een mooie naam.

ontkenning

Laten we nu het glas Kool-Aid even opzij zetten en over het volgende nadenken. Heb je het oude gezegde gehoord: “Er zijn geen junior DevOps-ingenieurs?” Zo niet, weet dan dat dit een populaire trope is op Reddit en StackOverflow. Maar wat betekent het?

Simpel gezegd betekent deze zin dat er vele jaren ervaring in combinatie met een goed begrip van de tools nodig zijn om uiteindelijk een echt effectieve Senior DevOps-beoefenaar te worden. En helaas is er geen kortere weg om het doel te bereiken. Dit is dus geen poging om het systeem te bespelen - ik denk niet dat het daadwerkelijk mogelijk is om je voor te doen als een senior DevOps-ingenieur met een paar maanden ervaring in de branche. Het verkrijgen van een goed begrip van snel veranderende tools en methodologieën vereist jarenlange ervaring, en daar kun je niet omheen. Er is echter een vrijwel consistent (modieus, als je wilt) menu met tools en concepten dat de meeste bedrijven gebruiken, en daar zullen we het over hebben.

Nogmaals, hulpmiddelen zijn iets anders dan vaardigheden, dus zorg ervoor dat u, terwijl u de hulpmiddelen leert, uw vaardigheden (onderzoek doen, netwerken, schriftelijke communicatie, probleemoplossing, enz.) niet verwaarloost. Het belangrijkste is dat we niet uit het oog verliezen wat we willen vinden: een manier om een ​​volledig geautomatiseerde digitale pijplijn te creëren die ideeën omzet in stukjes code die inkomsten genereren. Dit is de belangrijkste conclusie uit dit hele artikel!

Genoeg gepraat, wanneer kan ik beginnen?

Hieronder vindt u de DevOps Fundamentele Kennis-roadmap. Nadat je alles wat daar wordt afgebeeld onder de knie hebt, kun je jezelf veilig en eerlijk een DevOps-ingenieur noemen! Of een cloud engineer als de naam ‘DevOps’ je niet bevalt.

Hoe je in zes maanden of zelfs sneller een DevOps-ingenieur wordt. Deel 1. Inleiding

Deze kaart vertegenwoordigt mijn (en waarschijnlijk de meeste mensen die in deze ruimte werken) idee van wat een competente DevOps-ingenieur zou moeten weten. Dit is echter slechts een mening, en uiteraard zullen er mensen zijn die het daar niet mee eens zijn. Dit is goed! Wij streven hier niet naar perfectie, wij streven naar een solide basis waarop wij daadwerkelijk kunnen voortbouwen.

Je moet dit pad geleidelijk doorlopen, laag voor laag. Laten we beginnen (en doorgaan!) met de basisprincipes door eerst te leren over de elementen in het blauw: Linux, Python en AWS. Doe dan, als de tijd of de vraag op de arbeidsmarkt het toelaat, het paarse spul: Golang en Google Cloud.

Eerlijk gezegd is de fundamentele toplaag iets dat je voor altijd zult moeten bestuderen. OS Linux is erg complex en het duurt jaren om het onder de knie te krijgen. Python vereist constante oefening om actueel te blijven. AWS evolueert zo snel dat wat u vandaag weet, over een jaar pas deel zal uitmaken van uw totale kennisportfolio. Zodra je de basis onder de knie hebt, ga je verder met de daadwerkelijke vaardigheden. Houd er rekening mee dat er in totaal 6 blauwe kolommen zijn (Configuratie, Versie, Verpakking, Implementatie, Lancering, Monitoring), één per studiemaand.

Hoe je in zes maanden of zelfs sneller een DevOps-ingenieur wordt. Deel 1. Inleiding

Je hebt natuurlijk gemerkt dat er geen belangrijke fase in onze zes maanden durende pijplijn zat: testen. Ik heb het bewust niet in de roadmap opgenomen omdat het schrijven van een module, integratie- en acceptatietesten niet eenvoudig is en traditioneel op de schouders van ontwikkelaars valt. En het overslaan van de ‘testfase’ wordt verklaard door het feit dat het doel van deze routekaart is om basisvaardigheden en hulpmiddelen zo snel mogelijk onder de knie te krijgen. Gebrek aan testervaring is volgens de auteur slechts een klein obstakel voor het correct gebruik van DevOps.

Bedenk ook dat we hier niet een heleboel niet-gerelateerde technische praatjes leren, maar eerder een goed begrip van de hulpmiddelen die samenkomen om een ​​duidelijk verhaal te creëren. Dit verhaal gaat over end-to-end procesautomatisering: een digitale assemblagelijn die onderdelen verplaatst als een assemblagelijn. Je wilt niet een heleboel tools leren en blijven stoppen! DevOps-tools veranderen snel, maar concepten veranderen veel minder vaak. Daarom moet je ernaar streven om hulpmiddelen te gebruiken als leermiddel voor concepten op een hoger niveau.

Oké, laten we wat dieper graven!

Fundamentele kennis

Onder de bovenste stap waar Foundation staat, zie je de vaardigheden die elke DevOps-engineer zou moeten beheersen. Deze vaardigheden zijn een zelfverzekerde omgang met de drie pijlers van de industrie, namelijk: het besturingssysteem, de programmeertaal en de publieke cloud. Deze dingen zijn niet iets dat je snel kunt leren en verder kunt gaan. Deze vaardigheden moeten voortdurend worden verbeterd en onder de knie worden om voorop te lopen in de branche en relevant te zijn voor de professionele omgeving om u heen. Laten we ze een voor een doornemen.

Linux is waar alles werkt. Kun jij een geweldige DevOps-beoefenaar zijn en tegelijkertijd volledig binnen het Microsoft-ecosysteem blijven? Natuurlijk kan je dat! Er is geen wet die voorschrijft dat je alleen Linux gebruikt. Houd er echter rekening mee dat ondanks het feit dat alle Linux-dingen in Windows kunnen worden gedaan, het daar veel pijnlijker en met minder functionaliteit gebeurt. Op dit moment is het veilig om aan te nemen dat het zonder kennis van Linux onmogelijk is om een ​​echte DevOps-professional te worden, dus Linux is iets dat je moet bestuderen en leren.

Eerlijk gezegd is de beste manier om dit te doen eenvoudigweg Linux (Fedora of Ubuntu) thuis te installeren en zoveel mogelijk te gebruiken. Natuurlijk ga je veel kapot, loop je vast in werkprocessen, moet je alles repareren, maar Linux leer je!

Hoe je in zes maanden of zelfs sneller een DevOps-ingenieur wordt. Deel 1. Inleiding

Overigens komen RedHat-varianten vaker voor in Noord-Amerika, dus het is logisch om met Fedora of CentOS te beginnen. Als u zich afvraagt ​​of u de KDE- of Gnome-editie moet kopen, kies dan voor KDE. Dit is wat Linus Torvalds zelf gebruikt.

Python is tegenwoordig de dominante back-endtaal. Het is gemakkelijk om mee te beginnen en wordt veel gebruikt. Python is heel gebruikelijk op het gebied van kunstmatige intelligentie en machine learning, dus als je ooit een ander hot field wilt betreden, ben je volledig voorbereid.

Hoe je in zes maanden of zelfs sneller een DevOps-ingenieur wordt. Deel 1. Inleiding

Amazon Web Services: Nogmaals, het is onmogelijk om een ​​doorgewinterde DevOps-professional te worden zonder een goed begrip van hoe de publieke cloud werkt. En als je er meer over wilt weten, kijk dan eens naar Amazon Web Services. Het is een toonaangevende speler op dit gebied van diensten en biedt het rijkste pakket aan werkinstrumenten.

Is het mogelijk om in plaats daarvan met Google Cloud of Azure te beginnen? Natuurlijk kan je dat! Maar als we de laatste financiële crisis in gedachten houden, moet worden opgemerkt dat AWS de veiligste optie is, tenminste in 2018, omdat je hiermee gratis een account kunt registreren en de mogelijkheden van clouddiensten kunt gaan verkennen. Bovendien biedt de AWS-console de gebruiker een eenvoudig en duidelijk menu waaruit hij kan kiezen. Het goede nieuws is dat je niet alle technologieën van Amazon hoeft te kennen om dit te doen.

Hoe je in zes maanden of zelfs sneller een DevOps-ingenieur wordt. Deel 1. Inleiding

Begin met het volgende: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing onder de EC2-paraplu) en Security Group. Deze dingen zijn voldoende om u op weg te helpen, en elke moderne, cloudgebaseerde onderneming maakt zeer actief gebruik van deze tools. De eigen trainingssite van AWS is een goede plek om te beginnen.

Ik raad je aan om elke dag 20-30 minuten te besteden aan het leren en oefenen met de Python-taal, het Linux-besturingssysteem en de AWS-cloudservice, naast andere dingen die je zult moeten leren. Over het algemeen ben ik van mening dat een uur per dag, vijf keer per week voldoende is om de DevOps-industrie in zes maanden of minder te begrijpen. Er zijn in totaal 6 hoofdcomponenten, die elk overeenkomen met een maand training. Dat is alles wat je nodig hebt om basiskennis op te doen.
In volgende artikelen zullen we kijken naar het volgende niveau van complexiteit: hoe je de configuratie, versiebeheer, verpakking, implementatie, uitvoering en monitoring van software volledig kunt automatiseren.

Wordt zeer binnenkort vervolgd...

Sommige advertenties 🙂

Bedankt dat je bij ons bent gebleven. Vind je onze artikelen leuk? Wil je meer interessante inhoud zien? Steun ons door een bestelling te plaatsen of door vrienden aan te bevelen, cloud VPS voor ontwikkelaars vanaf $ 4.99, een unieke analoog van servers op instapniveau, die door ons voor u is uitgevonden: De hele waarheid over VPS (KVM) E5-2697 v3 (6 kernen) 10 GB DDR4 480 GB SSD 1 Gbps vanaf $ 19 of hoe een server te delen? (beschikbaar met RAID1 en RAID10, tot 24 cores en tot 40GB DDR4).

Dell R730xd 2x goedkoper in Equinix Tier IV datacenter in Amsterdam? Alleen 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 over Hoe infrastructuur corp te bouwen. klasse met het gebruik van Dell R730xd E5-2650 v4-servers ter waarde van 9000 euro voor een cent?

Bron: www.habr.com

Voeg een reactie