Wat is de DevOps-methodologie en wie heeft deze nodig?

Laten we eens kijken wat de essentie van de methodologie is en wie er voordeel uit kan halen.

We zullen het ook hebben over DevOps-specialisten: hun taken, salarissen en vaardigheden.

Wat is de DevOps-methodologie en wie heeft deze nodig?
foto Matt Moore /Flickr/CC BY-SA

Wat is DevOps

DevOps is een softwareontwikkelingsmethodologie die tot taak heeft interactie tussen programmeurs en systeembeheerders in een bedrijf tot stand te brengen. Als IT-specialisten van verschillende afdelingen elkaars taken niet begrijpen, wordt de release van nieuwe applicaties en updates daarvoor uitgesteld.

DevOps creëert een ‘naadloze’ ontwikkelingscyclus, waardoor de release van een softwareproduct wordt versneld. Versnelling wordt bereikt door de introductie van automatiseringssystemen. Bovendien beginnen programmeurs deel te nemen aan het opzetten van servers en het vinden van bugs, ze kunnen bijvoorbeeld geautomatiseerde tests schrijven.

Dit verbetert de interactie tussen afdelingen. Werknemers beginnen beter te begrijpen welke stadia een softwareproduct doorloopt voordat het in handen van de gebruiker komt.

Wanneer een ontwikkelaar begrijpt waar een beheerder mee te maken krijgt bij het opzetten van een server, zal hij proberen eventuele ‘scherpe hoeken’ in de code glad te strijken. Dit vermindert het aantal bugs bij het implementeren van een applicatie - volgens de statistieken neemt af ongeveer vijf keer.

Wie heeft de methodiek wel en niet nodig?

Veel IT-experts gelovendat DevOps elke organisatie die software ontwikkelt ten goede zal komen. Dit geldt zelfs als het bedrijf een eenvoudige consument van IT-diensten is en geen eigen applicaties ontwikkelt. In dit geval zal het implementeren van een DevOps-cultuur u helpen zich te concentreren op innovatie.

De uitzondering make-up startups, maar hier hangt alles af van de omvang van het project. Als het je doel is om een ​​minimaal levensvatbaar product (MVP) te lanceren om een ​​nieuw idee te testen, dan kun je het zonder DevOps stellen. Zo begon de oprichter van Groupon handmatig aan de dienst te werken Geplaatst alle aanbiedingen op de website en verzamelde bestellingen. Hij maakte geen gebruik van automatiseringstools.

Het heeft pas zin om automatiseringsmethodologieën en -tools te implementeren wanneer de applicatie aan populariteit begint te winnen. Dit zal helpen bedrijfsprocessen te stroomlijnen en de release van updates te versnellen.

Hoe DevOps te implementeren

Hieronder volgen enkele aanbevelingen voor het overstappen naar een nieuwe methodologie.

Identificeer problemen in bedrijfsprocessen. Voordat u de methodologie implementeert, moet u de doelstellingen en problemen van de organisatie benadrukken. De strategie voor de transitie naar DevOps zal van hen afhangen. Maak hiervoor een lijst met vragen, bijvoorbeeld:

  • Wat kost de meeste tijd bij het updaten van software?
  • Is het mogelijk om dit proces te automatiseren?
  • Heeft de structuur van de organisatie hierop invloed?

Meer informatie over het identificeren van problemen in een organisatie kan in boeken gelezen worden «Project "Feniks""En"DevOps-gids» van de auteurs van de methodologie.

Verander de cultuur in het bedrijf. Het is belangrijk om alle medewerkers ervan te overtuigen hun gebruikelijke manier van werken te veranderen en hun competenties uit te breiden. Bij Facebook bijvoorbeeld alle programmeurs antwoorden voor de gehele applicatielevenscyclus: van codering tot implementatie. Bovendien heeft Facebook geen aparte testafdeling: de tests worden door de ontwikkelaars zelf geschreven.

Begin klein. Kies het proces dat de meeste tijd en moeite kost bij het vrijgeven van updates en automatiseer dit. Dit misschien test- of applicatie-implementatieproces. Experts adviseren De eerste stap is het implementeren van gedistribueerde versiebeheertools. Ze maken het gemakkelijker om bronnen te beheren. Onder dergelijke oplossingen zijn Git, Mercurial, Subversion (SVN) en CVS de bekendste.

Het is ook de moeite waard om aandacht te besteden aan continue integratiesystemen die verantwoordelijk zijn voor het assembleren en testen van het eindproduct. Voorbeelden van dergelijke tools: Jenkins, TeamCity en Bamboo.

Evalueer verbeteringen. Ontwikkel prestatiestatistieken voor geïmplementeerde oplossingen en maak een checklist. Tot de statistieken behoren onder meer de releasefrequentie, de tijd die is besteed aan het werken aan softwarefuncties en het aantal bugs in de code. Bespreek de resultaten niet alleen met managers, maar ook met de rest van het team dat bij het project betrokken is. Vraag welke hulpmiddelen ontbreken. Houd met deze verzoeken rekening bij het verder optimaliseren van uw processen.

Kritiek op DevOps

Hoewel de methodiek Het helpt organisaties kunnen sneller beslissingen nemen over applicatieontwikkeling, vermindert het aantal fouten in de software en stimuleert medewerkers om nieuwe dingen te leren, het heeft ook kritiek.

Er is meningdat programmeurs de details van het werk van systeembeheerders niet mogen begrijpen. Naar verluidt leidt DevOps ertoe dat het bedrijf in plaats van ontwikkelings- of beheerspecialisten mensen heeft die alles begrijpen, maar oppervlakkig.

Er wordt ook aangenomen dat DevOps werkt niet met slecht management. Als de ontwikkelings- en beheerteams geen gemeenschappelijke doelen hebben, zijn het de managers die verantwoordelijk zijn voor het niet organiseren van de communicatie tussen de teams. Om dit probleem op te lossen is er geen nieuwe methodologie nodig, maar een systeem voor het evalueren van managers op basis van feedback van ondergeschikten. Je kunt het hier lezen, welke vragen moeten worden opgenomen in enquêteformulieren voor werknemers.

Wat is de DevOps-methodologie en wie heeft deze nodig?
foto Ed Ivanoesjkin /Flickr/CC BY-SA

Wie is een DevOps-ingenieur

Een DevOps engineer implementeert de DevOps methodiek. Het synchroniseert alle fasen van het maken van een softwareproduct: van het schrijven van code tot het testen en vrijgeven van de applicatie. Zo'n specialist controleert de ontwikkelings- en beheerafdelingen en automatiseert de uitvoering van hun taken door verschillende softwaretools te introduceren.

De truc van een DevOps engineer is dat hij vele beroepen combineert: beheerder, ontwikkelaar, tester en manager.

Joe Sanchez, DevOps-evangelist bij VMware, een virtualisatiesoftwarebedrijf, eruit gepikt een aantal vaardigheden die een DevOps engineer moet hebben. Naast de voor de hand liggende kennis van de DevOps-methodologie, moet deze persoon ervaring hebben met het beheren van Windows- en Linux-besturingssystemen en ervaring hebben met het werken met automatiseringstools zoals ChefPuppetAnsible. Hij zou ook scripts en code in een aantal talen moeten kunnen schrijven en netwerktechnologieën moeten begrijpen.

Een DevOps-ingenieur is verantwoordelijk voor de eventuele automatisering van taken die verband houden met het configureren en implementeren van applicaties. Ook het monitoren van software valt op zijn schouders. Om deze problemen op te lossen, maakt hij gebruik van verschillende configuratiebeheersystemen, virtualisatieoplossingen en cloudtools voor het balanceren van bronnen.

Wie neemt aan

DevOps-ingenieurs kunnen elke organisatie ten goede komen die applicaties ontwikkelt of grote aantallen servers beheert. DevOps-ingenieurs zijn aan het inhuren IT-giganten als Amazon, Adobe en Facebook. Ze werken ook op Netflix, Walmart en Etsy.

Niet aannemen DevOps-ingenieurs zijn slechts startups. Het is hun taak om een ​​minimaal levensvatbaar product uit te brengen om een ​​nieuw idee te testen. Startups kunnen in de meeste gevallen zonder DevOps.

Hoeveel loon

DevOps-ingenieurs verdienen meer dan wie dan ook in de sector. De gemiddelde inkomsten van dergelijke specialisten over de hele wereld variëren van 100 tot 125 duizend dollar per jaar.

In de VS zij krijgen 90 duizend dollar per jaar (500 duizend roebel per maand). In Canada zij betalen 122 duizend dollar per jaar (670 duizend roebel per maand), en in het VK - 67,5 duizend pond sterling per jaar (490 duizend roebel per maand).

Wat Rusland betreft, Moskouse bedrijven klaar betaal DevOps-specialisten van 100 tot 200 duizend roebel per maand. In St. Petersburg zijn werkgevers iets genereuzer: ze bieden 160-360 duizend roebel per maand. In de regio's worden salarissen geschat op 100-120 duizend roebel per maand.

Hoe word je een DevOps-specialist?

DevOps is een relatief nieuwe richting in de IT, dus er bestaat geen vaste lijst met vereisten voor DevOps-ingenieurs. In de vacatures vind je onder de vereisten voor deze functie zowel Debian- als CentOS-beheervaardigheden en de mogelijkheid om met schijfstations te werken. RAID-arrays.

Op basis hiervan kunnen we concluderen dat een DevOps engineer allereerst een goede technische kijk moet hebben. Het is belangrijk dat zo iemand voortdurend nieuwe hulpmiddelen en technologieën leert.

De eenvoudigste manier om DevOps-ingenieur te worden is systeembeheerder of ontwikkelaar. Ze beschikken al over een aantal vaardigheden die alleen nog ontwikkeld moeten worden. De belangrijkste taak is het verbeteren van de minimale kennis in DevOps, begrijpen hoe met automatiseringstools te werken en lacunes in administratieve, programmeer- en virtualisatievaardigheden op te vullen.

Om te begrijpen waar kennis nog ontbreekt, kunt u gebruiken mini-Wikipedia op GitHub of mentale kaart. Inwoners van Hacker News ook adviseren Lees boeken "Project "Feniks""En"DevOps-gids" (die we hierboven noemden) en "DevOps-filosofie. De kunst van IT-management» onder de stempel van O'Reilly Media.

U kunt zich ook abonneren Devops wekelijkse nieuwsbrief, lees actuele artikelen portaal DZone en begin te communiceren met DevOps-ingenieurs in Slappe chat. Het is ook de moeite waard om de gratis cursussen te bekijken Udacity of EDX.

Berichten van onze blog:



Bron: www.habr.com

Voeg een reactie