Was ist die DevOps-Methodologie und fĂŒr wen ist sie relevant?

Wir klÀren die Grundlagen der Methodologie und wie sie von Nutzen sein kann.

Außerdem sprechen wir ĂŒber DevOps-Spezialisten: deren Aufgaben, GehĂ€lter und notwendige FĂ€higkeiten.

Was ist die DevOps-Methodologie und fĂŒr wen ist sie relevant?
Foto Matt Moor / Flickr / CC BY-SA

Was ist DevOps

DevOps ist eine Softwareentwicklungsmethodologie, deren Ziel es ist, die Zusammenarbeit zwischen Programmierern und Systemadministratoren im Unternehmen zu verbessern. Wenn IT-Spezialisten aus verschiedenen Abteilungen die Aufgaben der anderen nicht verstehen, verzögert sich die Bereitstellung neuer Anwendungen und Aktualisierungen.

DevOps etabliert einen „nahtlosen“ Entwicklungszyklus, der dazu beitrĂ€gt, die Bereitstellung von Softwareprodukten zu beschleunigen. Diese Beschleunigung wird durch die EinfĂŒhrung von Automatisierungssystemen erreicht. Zudem beginnen Programmierer, sich an der Serverkonfiguration und der Fehlersuche zu beteiligen, indem sie beispielsweise automatisierte Tests schreiben.

So wird die Zusammenarbeit zwischen den Abteilungen verbessert. Die Mitarbeiter beginnen besser zu verstehen, welche Phasen ein Softwareprodukt durchlÀuft, bevor es in die HÀnde des Nutzers gelangt.

Wenn ein Entwickler versteht, mit welchen Herausforderungen ein Administrator bei der Serverkonfiguration konfrontiert ist, wird er versuchen, mögliche "schwierige Punkte" im Code zu beseitigen. Dadurch wird die Anzahl der Fehler beim Bereitstellen der Anwendung reduziert — laut Statistik verringert sich ungefĂ€hr um das FĂŒnfzehnfache.

Wer braucht eine Methodologie und wer nicht

Viele IT-Experten sind der Meinung,, dass DevOps jeder Organisation zugutekommen wird, die Softwareentwicklung betreibt. Dies gilt selbst fĂŒr Unternehmen, die lediglich Verbraucher von IT-Diensten sind und keine eigenen Anwendungen entwickeln. In diesem Fall wird die EinfĂŒhrung einer DevOps-Kultur helfen, sich auf Innovationen zu konzentrieren.

Ausnahmen bilden Startups, aber auch hier hĂ€ngt alles vom Umfang des Projekts ab. Wenn Ihr Ziel darin besteht, ein minimal funktionsfĂ€higes Produkt (MVP) auf den Markt zu bringen, um eine neue Idee zu testen, können Sie auch ohne DevOps auskommen. Zum Beispiel hat der GrĂŒnder von Groupon in der Anfangszeit des Services alle Angebote manuell veröffentlicht und Bestellungen gesammelt. Er hat keine Automatisierungstools verwendet.

Die Implementierung von Methodologien und Automatisierungstools macht nur dann Sinn, wenn die Anwendung an PopularitÀt gewinnt. Dies wird helfen, GeschÀftsprozesse zu optimieren und die Veröffentlichung von Updates zu beschleunigen.

DevOps einfĂŒhren

Hier sind einige Empfehlungen fĂŒr den Übergang zu einer neuen Methodik.

Identifizieren Sie Probleme in den GeschĂ€ftsprozessen. Vor der EinfĂŒhrung der Methodik sollten Sie die Ziele und Herausforderungen der Organisation festlegen. Diese werden die Strategie fĂŒr den Übergang zu DevOps bestimmen. Erstellen Sie dazu eine Liste von Fragen, wie zum Beispiel:

  • WofĂŒr wird die meiste Zeit beim Software-Update aufgewendet?
  • LĂ€sst sich dieser Prozess automatisieren?
  • Hat die Organisationsstruktur Einfluss darauf?

Details zur Identifizierung von Problemen in der Organisation finden Sie in BĂŒchern «Projekt „Phoenix“» und «DevOps-Handbuch» von den Autoren der Methodologie.

Ändern Sie die Kultur im Unternehmen. Es ist wichtig, alle Mitarbeiter davon zu ĂŒberzeugen, ihre gewohnten Arbeitsweisen zu Ă€ndern und ihre Kompetenzen zu erweitern. Zum Beispiel sind bei Facebook alle Programmierer verantwortlich fĂŒr den gesamten Lebenszyklus der Anwendung: vom Codieren bis zur Implementierung. Außerdem gibt es bei Facebook keine separate Testabteilung – die Tester schreiben die Entwickler selbst.

Fangen Sie klein an. WĂ€hlen Sie den Prozess aus, der bei der Bereitstellung von Updates die meiste Zeit und MĂŒhe kostet, und automatisieren Sie ihn. Das kann das Testen oder den Deploymentsprozess von Anwendungen sein. Experten empfehlen zuerst Werkzeuge fĂŒr verteilte Versionskontrolle einzufĂŒhren. Damit lĂ€sst sich der Quellcode einfacher verwalten. Zu den bekanntesten Lösungen gehören Git, Mercurial, Subversion (SVN) und CVS. Es lohnt sich auch, auf Systeme der kontinuierlichen Integration zu achten, die fĂŒr die Erstellung und das Testen des Endprodukts verantwortlich sind. Beispiele solcher Werkzeuge sind Jenkins, TeamCity und Bamboo.

Bewerten Sie die Verbesserungen.

Entwickeln Sie Metriken zur Leistungsbewertung der implementierten Lösungen und erstellen Sie eine Checkliste. Metriken können die HĂ€ufigkeit der Releases, die Arbeitszeit an Softwarefunktionen und die Anzahl der Bugs im Code sein. Diskutieren Sie die Ergebnisse nicht nur mit den Managern, sondern auch mit dem restlichen Team, das am Projekt arbeitet. Fragen Sie, welche Werkzeuge fehlen. BerĂŒcksichtigen Sie diese Anfragen bei der weiteren Optimierung der Prozesse. Kritik an DevOps

Obwohl die Methodik

Organisationen dabei hilft, schneller Entscheidungen in Bezug auf die Anwendungsentwicklung zu treffen, reduziert Unternehmen treffen schneller Entscheidungen bezĂŒglich der Anwendungsentwicklung, reduziert Die Anzahl der Fehler in der Software fördert die Mitarbeiter dazu, Neues zu lernen, hat jedoch auch Kritiker.

Es gibt Meinung, dass Programmierer sich nicht mit den Details der Arbeit von Systemadministratoren auskennen sollten. Angeblich fĂŒhrt DevOps dazu, dass in Unternehmen statt spezialisierter Entwickler oder Administratoren Personen auftauchen, die alles nur oberflĂ€chlich verstehen.

Es wird auch angenommen, dass DevOps nicht funktioniert bei schlechtem Management. Wenn Entwickler- und Admin-Teams keine gemeinsamen Ziele haben, sind die Manager schuld, die keine effektive Zusammenarbeit zwischen den Teams organisieren. Um dieses Problem zu lösen, wird nicht eine neue Methodologie benötigt, sondern ein Bewertungssystem fĂŒr Manager basierend auf RĂŒckmeldungen von Mitarbeitern. Hier kann man lesen, welche Fragen in die Umfrageformulare fĂŒr Mitarbeiter aufgenommen werden sollten.

Was ist die DevOps-Methodologie und fĂŒr wen ist sie relevant?
Foto Ed Ivanushkin / Flickr / CC BY-SA

Wer ist ein DevOps-Ingenieur?

Ein DevOps-Ingenieur implementiert die DevOps-Methodologie. Er koordiniert alle Phasen der Softwareentwicklung: vom Codieren ĂŒber das Testen bis hin zur Veröffentlichung der Anwendung. Diese Fachkraft ĂŒberwacht die Entwicklungs- und Verwaltungsteams und automatisiert deren Aufgaben durch den Einsatz verschiedener Software-Tools.

Die Besonderheit eines DevOps-Ingenieurs liegt darin, dass er zahlreiche Berufe kombiniert: Administrator, Entwickler, Tester und Manager.

Joe Sanchez, DevOps-Evangelist bei VMware, einem Softwareunternehmen fĂŒr Virtualisierung, hebt hervor eine Reihe von FĂ€higkeiten, ĂŒber die ein DevOps-Ingenieur verfĂŒgen sollte. Neben dem offensichtlichen Wissen ĂŒber die DevOps-Methodologie muss diese Person Erfahrung in der Verwaltung von Windows- und Linux-Betriebssystemen sowie mit Automatisierungswerkzeugen wie Chef, Puppet, Ansiblehaben. ZusĂ€tzlich sollte er in der Lage sein, Skripte und Code in ein oder zwei Programmiersprachen zu schreiben und die Netzwerktechnologien zu verstehen.

Ein DevOps-Ingenieur ist verantwortlich fĂŒr die Automatisierung von Aufgaben, die mit der Einrichtung und Bereitstellung von Anwendungen verbunden sind. Zu seinen Aufgaben gehört auch das Monitoring von Software. Um diese Aufgaben zu bewĂ€ltigen, nutzt er verschiedene Konfigurationsmanagement-Systeme, Virtualisierungslösungen und Cloud-Tools zur Ressourcenoptimierung.

Wer stellt ein

DevOps-Ingenieure können fĂŒr jede Organisation von Nutzen sein, die mit Anwendungsentwicklung oder dem Management einer großen Anzahl von Servern beschĂ€ftigt ist. DevOps-Ingenieure werden eingestellt von IT-Giganten wie Amazon, Adobe und Facebook. Sie arbeiten auch bei Netflix, Walmart und Etsy.

Es stellen nicht nur Startups ein DevOps-Ingenieure. Ihre Aufgabe ist es, ein minimal funktionsfÀhiges Produkt zu launchen, um eine neue Idee zu testen. In den meisten FÀllen benötigen Startups keine DevOps-Ressourcen.

Wie viel verdienen

DevOps-Ingenieure verdienen in der Branche am meisten. Das durchschnittliche Gehalt solcher FachkrÀfte liegt weltweit zwischen 100.000 und 125.000 Dollar pro Jahr.

In den USA verdienen sie 90.000 Dollar pro Jahr (500.000 Rubel pro Monat). In Kanada erhalten sie eine VergĂŒtung von 122.000 US-Dollar pro Jahr (670.000 Rubel pro Monat) und im Vereinigten Königreich sind es 67.500 Pfund Sterling pro Jahr (490.000 Rubel pro Monat).

In Bezug auf Russland sind moskauer Unternehmen bereit DevOps-Spezialisten zwischen 100.000 und 200.000 Rubel pro Monat zu zahlen. In Sankt Petersburg sind die Arbeitgeber etwas großzĂŒgiger — sie bieten 160.000 bis 360.000 Rubel pro Monat. In den Regionen liegt das Gehalt bei 100.000 bis 120.000 Rubel pro Monat.

Wie man DevOps-Spezialist wird

DevOps ist ein relativ neues Feld in der IT, daher gibt es keinen festen Katalog an Anforderungen fĂŒr DevOps-Ingenieure. In Stellenanzeigen sind unter den Anforderungen sowohl Kenntnisse in der Administration von Debian und CentOS als auch die FĂ€higkeit, mit Festplattenspeicher RAID-Systemen.

zu arbeiten, zu finden. Daraus lĂ€sst sich schließen, dass ein DevOps-Ingenieur vor allem einen guten technischen Überblick haben sollte. Es ist wichtig, dass diese Person kontinuierlich neue Tools und Technologien lernt.

Der einfachste Weg, DevOps-Ingenieur zu werden, fĂŒhrt ĂŒber Systemadministratoren oder Entwickler. Sie bringen bereits eine Reihe von FĂ€higkeiten mit, die weiterentwickelt werden mĂŒssen. Die Hauptaufgabe besteht darin, das notwendige Wissen ĂŒber DevOps zu ergĂ€nzen, zu verstehen, wie man mit Automatisierungswerkzeugen arbeitet, und die LĂŒcken in den FĂ€higkeiten zur Administration, Programmierung und Virtualisierung zu schließen.

Um herauszufinden, wo noch WissenslĂŒcken bestehen, kann man auf die Mini-Wikipedia auf GitHub oder eine MindmapzurĂŒckgreifen. Die Mitglieder von Hacker News empfehlen ebenfalls zu lesen BĂŒcher wie „Projekt „Phoenix“» und «DevOps-Handbuch“ (die wir bereits erwĂ€hnt haben) und „Philosophie von DevOps. Die Kunst des IT-Managements“ unter dem Label O'Reilly Media.

Es lohnt sich auch, unseren DevOps Weekly Newsletterzu abonnieren, Artikel auf dem spezialisierten Portal DZone zu lesen und den Austausch mit DevOps-Ingenieuren in einem Slack-Chatzu suchen. Außerdem sollte man die kostenlosen Kurse auf Udacity oder edX.

vorziehen. Unsere Blog-BeitrÀge:



Quelle: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster