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 ChefPuppetAnsiblehaben. 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 или 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 или edX.

vorziehen. Unsere Blog-Beiträge:



Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster