Waarom moeten systeembeheerders, ontwikkelaars en testers DevOps-praktijken leren?

Waarom moeten systeembeheerders, ontwikkelaars en testers DevOps-praktijken leren?

Waar te gaan met deze kennis, wat te doen in het project en hoeveel te verdienen, wat te zeggen en te vragen tijdens een interview - zegt Alexander Titov, managing partner van Express 42 en auteur online cursus “DevOps-praktijken en -tools”.

Hallo! Hoewel de term DevOps al sinds 2009 bestaat, bestaat er nog steeds geen consensus in de Russische gemeenschap. Het is je waarschijnlijk opgevallen dat sommigen DevOps als een specialiteit beschouwen, anderen beschouwen het als een filosofie en weer anderen beschouwen de term als een reeks technologieën. Ik heb er al vele malen mee opgetreden lezingen over de ontwikkeling van deze richting, dus ik zal in dit artikel niet in detail treden. Laat ik even zeggen dat we bij Express 42 het volgende erin opnemen:

DevOps is een specifieke methodologie, een cultuur van het creëren van een digitaal product, waarbij alle specialisten in het team deelnemen aan de productie.

Bij klassieke bedrijfsontwikkeling verloopt alles opeenvolgend: programmeren, testen en pas daarna de bediening, en de snelheid van dit proces van idee tot productie is 3 maanden. Dit is een mondiaal probleem voor digitale producten, omdat het onmogelijk is om snel feedback van klanten te ontvangen.

In DevOps zijn tools en benaderingen ontworpen om ervoor te zorgen dat ontwikkelings-, test- en operationele processen gelijktijdig verlopen.

Wat volgt uit deze aanpak?

  • Je kunt niet de een of andere ‘ingenieur’ inhuren die alle productieproblemen komt oplossen. Het hele team moet de techniek toepassen.

    Waarom moeten systeembeheerders, ontwikkelaars en testers DevOps-praktijken leren?

  • DevOps is NIET de volgende vorm van systeembeheerder om naar te upgraden. ‘DevOps-ingenieur’ klinkt ongeveer hetzelfde als ‘Agile-ontwikkelaar’.

    Waarom moeten systeembeheerders, ontwikkelaars en testers DevOps-praktijken leren?

  • Als een team gebruik maakt van Kubernetes, Ansible, Prometheus, Mesosphere en Docker betekent dit niet dat daar DevOps-praktijken zijn geïmplementeerd.

    Waarom moeten systeembeheerders, ontwikkelaars en testers DevOps-praktijken leren?

Het leven na DevOps zal nooit meer hetzelfde zijn

De DevOps-aanpak is in de eerste plaats een andere manier van denken, een perceptie van ontwikkeling als geheel en van iemands plaats in het proces. We hebben onze online cursus opgedeeld in 2 blokken:

1. Zelfbeschikking

Eerst onderzoeken we in detail de essentie van de DevOps-aanpak, en ontdekken studenten nieuwe rollen in het team, kijken welke er meer op inspeelt en bepalen zelf welke richting ze moeten ontwikkelen.

2. Hulpmiddelen en praktijken

Studenten beheersen specifieke technologieën vanuit het oogpunt van de DevOps-methode.

DevOps-tools kunnen zowel in de DevOps-aanpak als in de klassieke ontwikkeling worden gebruikt. Het meest voor de hand liggende voorbeeld is het gebruik van de Ansible-configuratiebeheertool. Het is gemaakt en bedacht om de DevOps-praktijk ‘Infrastructure as Code’ te implementeren, wat betekent dat verschillende toestanden van het systeem worden beschreven, van besturingssysteeminstellingen tot applicatiesoftware. De beschrijving is opgedeeld in lagen en stelt u in staat een complexe, voortdurend veranderende configuratie te beheren. Maar ingenieurs gebruiken Ansible vaak als een manier om bash-scripts op meerdere machines uit te voeren. Dit is niet slecht of goed, maar je moet begrijpen dat de aanwezigheid van Ansible geen garantie is voor de aanwezigheid van DevOps in het bedrijf.

Wij zitten in het proces cursus Je wordt ondergedompeld in het proces van het ontwikkelen van een applicatie vergelijkbaar met de beroemde Reddit, beginnend met de monolithische versie, en stap voor stap overgaand naar microservices. Stap voor stap zullen we nieuwe tools onder de knie krijgen: Git, Ansible, Gitlab en eindigen met Kubernetes en Prometheus.

In termen van praktijken zullen we de tactieken volgen van de drie paden die worden beschreven in het DevOps-handboek: praktijken voor continue levering, praktijken voor feedback, en de essentie van de hele cursus is de praktijk van continu leren samen met uw systeem.

Wat levert deze kennis elk van de specialisten op?

Voor systeembeheerders

Met Practices kunt u de overstap maken van administratie naar het creëren van een continue leveringspijplijn en een infrastructuurplatform voor softwarelevering. Het punt is dat hij een product creëert: een infrastructuurplatform voor ontwikkelaars dat hen helpt hun wijzigingen snel naar productie te pushen.

Voorheen waren systeembeheerders het laatste bastion, waarna alles in productie ging. En eigenlijk waren ze bezig met voortdurende brandbestrijding - in het licht waarvan het vrij moeilijk is om in de behoeften van het bedrijf te duiken, na te denken over het product en de voordelen voor de gebruiker.
Dankzij de DevOps-methode verandert het denken. De systeembeheerder begrijpt hoe de configuratie in code moet worden vertaald, welke praktijken hiervoor bestaan.

Dit is belangrijk omdat bedrijven zich steeds meer realiseren dat ze niet alleen alles hoeven te automatiseren. in wat ouderwetse systeembeheerders in wezen gewend waren te doen, die bovendien weinig communiceerden en het team niet op de hoogte brachten van alle aangebrachte wijzigingen. Nu zijn de teams op zoek naar degenen die de fabrikant van het interne infrastructuurproduct zullen worden en zullen helpen de gescheiden processen tot één te combineren.

ontwikkelaars

De ontwikkelaar stopt met alleen in algoritmen te denken. Hij verwerft de vaardigheid van het werken met infrastructuur, de vaardigheid van architectonisch bewustzijn van het landschap. Zo’n ontwikkelaar begrijpt hoe de applicatie werkt, hoe deze door de continue leveringspijplijn gaat, hoe hij deze moet monitoren, hoe hij deze moet registreren zodat de klant er profijt van heeft. Hierdoor kun je met al deze kennis relevante code schrijven.

Voor testers

Testen is al lang in de automatische modus aan het gebeuren; we zeggen allemaal dat veel tests niet moeten worden gedaan, maar geschreven :) Testen wordt onderdeel van de gehele leveringspijplijn van uw product. Een tester moet niet alleen leren hoe hij code moet schrijven, maar ook moeten begrijpen hoe hij deze kan integreren in systemen voor continue levering, hoe hij feedback van de code kan ontvangen in alle stadia van de levering, en hoe hij het testen voortdurend kan verbeteren om fouten op te sporen. zo vroeg mogelijk.

En dat blijkt dus alle drie fasen vinden gelijktijdig plaats. Het kan er bijvoorbeeld zo uitzien:

De ontwikkelaar schrijft de code, schrijft er meteen tests voor en beschrijft een docker-container voor de code die moet worden uitgevoerd. Het beschrijft ook onmiddellijk de monitoring die de werking van deze service in de productie zal monitoren, en verplicht dit allemaal.

Wanneer continue integratie start, verlopen processen gelijktijdig. De service wordt gestart en geconfigureerd. Tegelijkertijd start de docker-container en wordt gecontroleerd of deze actief is. Tegelijkertijd gaat alle informatie naar het logsysteem. En zo verder in elke ontwikkelingsfase - het blijkt een echt teamwerk te zijn van systeembeheerders, ontwikkelaars en testers.

Ik heb DevOps gestudeerd, wat nu?

Zoals je weet is iemand in het veld geen krijger. Als uw bedrijf deze methode niet toepast, blijven de verworven vaardigheden liggen. En nadat u kennis heeft gemaakt met de DevOps-aanpak, wilt u hoogstwaarschijnlijk geen radertje zijn in de bedrijfsontwikkeling. Er kan één uitzondering zijn: jij bent systeembeheerder in het team en kunt alle processen op een nieuwe manier opnieuw opbouwen. Het is de moeite waard hieraan toe te voegen dat er veel bedrijven zijn die deze aanpak gebruiken, geen last hebben van de lockdown en op zoek zijn naar specialisten. Omdat DevOps gaat over het maken van online producten.

En nu over de goede dingen: het beheersen van DevOps-praktijken en -tools is ongeveer +30% van uw waarde op de arbeidsmarkt. Salarissen beginnen vanaf 140 duizend roebel, maar worden uiteraard bepaald door uw belangrijkste specialiteit en functionaliteit.

Je kunt kijken naar vacatures met het label ‘infrastructuurgericht’, waar sprake is van testautomatisering, ontwikkeling van microserviceapplicaties met behulp van cloudtechnologieën, vacatures voor infrastructuuringenieurs en allerlei verwijzingen naar DevOps. Houd er rekening mee dat elk bedrijf iets anders bedoelt met deze definitie; lees de beschrijving zorgvuldig.

Tijdens de lancering van onze cursus kreeg ik een inzicht: veel mensen lopen na de cursus in de val van een DevOps-ingenieur. Ze vinden een vacature met de bovengenoemde titel, krijgen een goed aanbod, komen dan aan het werk en beseffen dat ze in Jenkins een bash-script van drie pagina's zullen moeten onderhouden. Waar zijn Kubernetes, ChatOps, canary-releases en zo? Maar er is niets, want het bedrijf heeft geen DevOps als methodiek nodig, maar maakt gebruik van individuele innovaties.

Dit is een reden om vanuit het bedrijf intensief uit te zoeken hoe het software opleveringsproces in zijn werk gaat, de technologie stack en welke verantwoordelijkheden je gaat vervullen.

Als de werkgever uw vragen abstract beantwoordt, alsof u uit een boek komt, zonder details, dan is er hoogstwaarschijnlijk nog geen DevOps-proces in het bedrijf, maar dit is geen reden om te weigeren, bestudeer het bedrijf en zijn producten, of er online zijn diensten die het bedrijf zelf ontwikkelt, mobiele applicaties, productideeën.

Zo ja, maak dan duidelijk of u rechtstreeks met deze systemen moet werken of dat er de mogelijkheid bestaat van horizontale beweging naar de teams van deze diensten terwijl u goede resultaten laat zien in de DevOps-praktijken. Zo ja, dan is het de moeite waard om actief en nuttig te zijn, en als u onze cursus voltooit, is dit laatste gegarandeerd.

Het is belangrijk op te merken dat Devops-beoefenaars pas echte waarde krijgen als ze ervaring hebben met ontwikkelen/beheer/testen. Alleen dan zal de kennis niet abstract zijn, maar de specialist (in alle opzichten) verrijken. Daarom is het idee van “DevOps helemaal opnieuw leren” ongeveer hetzelfde als leren “lenzen helemaal opnieuw te gebruiken” als je nog nooit een camera in je handen hebt gehouden of een shoot hebt geregisseerd. Om u te helpen beslissen of de cursus bij u past, hebben wij een toelatingstest gemaakt waarmee wordt gecontroleerd of uw kennisniveau voldoende is.

Ik denk een van de trucs cursus — dat elke student tijdens de opleiding voor zichzelf bepaalt in welke richting hij zich wil ontwikkelen. Overgangen zien we vaak wanneer een ontwikkelaar infrastructuuringenieur wordt, en een beheerder beseft dat hij geïnteresseerd is in het schrijven van code - vervolgens verdiept hij zich in de taal en vult deze aan met de verworven DevOps-vaardigheden. Daarom verwelkomen we vooral degenen die het gevoel hebben dat hun carrière op een kruispunt vastzit. De cursus start op 28 mei, maar je kunt al 2 weken na aanvang van de lessen meedoen. Je kunt het programma bekijken en de toets maken link. Tot ziens bij OTUS!

Bron: www.habr.com

Voeg een reactie