We onderzoeken wat de essentie van de methodologie is en wie er baat bij kan hebben.
We zullen ook praten over DevOps-specialisten: hun verantwoordelijkheden, salarissen en vaardigheden.
Foto / Flickr / CC BY-SA
Wat is DevOps
DevOps is een softwareontwikkelingsmethodologie die tot doel heeft de samenwerking tussen programmeurs en systeembeheerders binnen een bedrijf te verbeteren. Wanneer IT-professionals uit verschillende afdelingen elkaars taken niet goed begrijpen, kan de uitrol van nieuwe applicaties en updates vertraging oplopen.
DevOps creëert een "naadloze" ontwikkelingscyclus, waardoor de uitrol van softwareproducten versneld wordt. Deze versnelling wordt bereikt door het implementeren van automatiseringssystemen. Bovendien beginnen programmeurs deel te nemen aan de serverconfiguratie en het opsporen van bugs; ze kunnen bijvoorbeeld geautomatiseerde tests schrijven.
Zo wordt de samenwerking tussen afdelingen verbeterd. Medewerkers beginnen beter te begrijpen welke stappen een softwareproduct doorloopt voordat het bij de gebruiker terechtkomt.
Wanneer een ontwikkelaar begrijpt welke problemen een administrator tegenkomt bij het instellen van een server, zal hij proberen mogelijke "ruwe hoeken" in de code glad te strijken. Dit vermindert het aantal bugs bij de deployment van de applicatie — statistisch gezien ongeveer vijf keer.
Voor wie is de methodologie nodig en voor wie niet
Veel , dat DevOps nuttig zal zijn voor elke organisatie die zich bezighoudt met softwareontwikkeling. Dit geldt zelfs als een bedrijf alleen IT-diensten consumeert en geen eigen applicaties ontwikkelt. In dat geval zal de implementatie van een DevOps-cultuur helpen om de focus op innovatie te vergroten.
Uitzonderingen startups, maar ook hier hangt het af van de schaal van het project. Als uw doel is om een minimaal levensvatbaar product (minimum viable product, MVP) te lanceren om een nieuw idee te testen, kunt u ook zonder DevOps. alle aanbiedingen op de website en verzamelde bestellingen. Hij gebruikte geen automatiseringstools.
Het implementeren van de methodologie en automatiseringstools is alleen zinnig wanneer de applicatie populair begint te worden. Dit helpt de bedrijfsprocessen te stroomlijnen en versnelt de updates.
Hoe DevOps te implementeren
Hier zijn enkele aanbevelingen voor de overstap naar de nieuwe methodologie.
Identificeer problemen in de bedrijfsprocessen. Stel vóór de implementatie van de methodologie de doelen en problemen van de organisatie vast. Deze zullen de strategie voor de overstap naar DevOps beïnvloeden. Maak een lijst met vragen, bijvoorbeeld:
- Waar gaat de meeste tijd naartoe bij software-updates?
- Kan dit proces geautomatiseerd worden?
- Heeft de organisatiestructuur hier invloed op?
Meer informatie over het identificeren van problemen binnen de organisatie «» en «» van de auteurs van de methodologie.
Verander de bedrijfscultuur. Het is belangrijk om al het personeel te overtuigen om hun gebruikelijke werkwijzen te veranderen en hun vaardigheden uit te breiden. Bijvoorbeeld, bij Facebook zijn alle programmeurs voor de volledige levenscyclus van de applicatie: van het schrijven van code tot implementatie. Ook heeft Facebook geen aparte testafdeling — de tests worden door de ontwikkelaars zelf geschreven.
Begin klein. Kies een proces dat de meeste tijd en moeite kost bij het uitbrengen van updates en automatiseer dit. Dit testen of het proces van het implementeren van applicaties. Experts om als eerste tools voor gedistribueerd versiebeheer in te voeren. Hiermee is het eenvoudiger om de broncode te beheren. Bekende oplossingen zijn onder andere Git, Mercurial, Subversion (SVN) en CVS.
Let ook op systemen voor continue integratie, die verantwoordelijk zijn voor het bouwen en testen van het eindproduct. Voorbeelden van dergelijke tools zijn Jenkins, TeamCity en Bamboo.
Evalueer de verbeteringen. Ontwikkel efficiëntiemetieken voor de geïmplementeerde oplossingen en stel een checklist op. Meten kan zijn: frequentie van releases, tijd besteed aan softwarefuncties, aantal bugs in de code. Bespreek de resultaten niet alleen met managers, maar ook met het overige team dat aan het project werkt. Vraag welke tools er ontbreken. Houd rekening met deze verzoeken bij de verdere optimalisatie van de processen.
Kritiek op DevOps
Hoewel de methodologie de aantal fouten in software vermindert en medewerkers aanmoedigt om nieuwe vaardigheden te leren, heeft het ook critici. het aantal fouten in software en moedigt medewerkers aan om te leren.
Er is , dat programmeurs geen inzicht hoeven te hebben in de details van het werk van systeembeheerders. Supposedly leidt DevOps ertoe dat er in bedrijven mensen komen die alles oppervlakkig begrijpen, in plaats van specialisten in ontwikkeling of beheer.
Ook wordt aangenomen dat DevOps bij slecht management. Als er geen gemeenschappelijke doelen zijn voor ontwikkelteams en beheerders, is dit de schuld van de managers die de samenwerking tussen teams niet organiseren. Om dit probleem op te lossen, is er geen nieuwe methodologie nodig, maar een beoordelingssysteem voor managers op basis van feedback van medewerkers. Hier kun je lezen, .

Foto / Flickr / CC BY-SA
Wie is een DevOps-engineer
Een DevOps-engineer houdt zich bezig met de implementatie van de DevOps-methodologie. Hij synchroniseert alle fasen van de ontwikkeling van een softwareproduct: van het schrijven van code tot testen en het uitbrengen van de applicatie. Deze specialist houdt toezicht op de afdelingen ontwikkeling en beheer en automatiseert hun taken door verschillende softwaretools in te voeren.
Het unieke van een DevOps-engineer is dat hij verschillende beroepen combineert: beheerder, ontwikkelaar, tester en manager.
Joe Sanchez, DevOps-evangelist van VMware, een softwareontwikkelingsbedrijf voor virtualisatie, een aantal vaardigheden die een DevOps-engineer moet bezitten. Naast de voor de hand liggende kennis van de DevOps-methodologie, moet deze persoon ervaring hebben met het beheren van besturingssystemen zoals Windows en Linux, en ervaring hebben met automatiseringstools zoals , , . Hij moet ook in staat zijn om scripts en code te schrijven in een paar programmeertalen en begrijpen van netwerktechnologieën.
Een DevOps-engineer is verantwoordelijk voor automatisering van taken met betrekking tot de configuratie en implementatie van applicaties. Ook valt het monitoren van software onder zijn taken. Voor deze taken gebruikt hij verschillende configuratiebeheersystemen, virtualisatie-oplossingen en cloudtools voor resource-balancering.
Wie huurt
DevOps-engineers kunnen waarde toevoegen aan elke organisatie die betrokken is bij de ontwikkeling van applicaties of het beheer van een groot aantal servers. DevOps-engineers door IT-giganten zoals Amazon, Adobe en Facebook. Ze werken ook voor Netflix, Walmart en Etsy.
DevOps-engineers zijn alleen startups. Hun taak is om een minimum viable product uit te brengen om een nieuw idee te testen. In de meeste gevallen kunnen startups zonder DevOps.
Wat verdienen ze
DevOps-engineers meer dan iedereen in de sector. Het gemiddelde salaris van deze specialisten wereldwijd ligt tussen de 100 en 125 duizend dollar per jaar.
In de VS verdienen ze 122 duizend dollar per jaar (670 duizend roebel per maand), en in het VK is dat 67,5 duizend pond sterling per jaar (490 duizend roebel per maand). bereid
DevOps-specialisten tussen de 100 en 200 duizend roebel per maand te betalen. In Sint-Petersburg zijn werkgevers iets genereuzer — ze bieden 160–360 duizend roebel per maand. In de regio's is het salaris 100–120 duizend roebel per maand. DevOps is een relatief nieuw gebied in IT, dus er is geen vaste lijst van vereisten voor DevOps-engineers. In vacatures kunnen de vereisten voor deze functie zowel administratieve vaardigheden voor Debian en CentOS als het vermogen om met schijf-
RAID-configuraties
te werken omvatten. Hieruit kan worden geconcludeerd dat een DevOps-engineer vooral een goede technische kennisbasis moet hebben. Het is belangrijk voor deze persoon om voortdurend nieuwe tools en technologieën te bestuderen. .
Om te begrijpen waar je nog niet over voldoende kennis beschikt, kun je gebruik maken van
de mini-wikipedia op GitHub
of een mentale kaart. De leden van Hacker News raden ook aan of De Filosofie van DevOps. De Kunst van IT Beheer" onder het label van O’Reilly Media te lezen. de Devops Weekly nieuwsbrief, artikelen van de thematische» en «portal DZone lezenSlack-chat. Verder moet je gratis cursussen op
Udacity edX bestuderen. De netwerkbeveiligingsfabriek van Fortinet: wat het kan Unboxing van de blade-server Cisco UCS B480 M5 of .
Berichten uit onze blog:
Bron: habr.com
