Was ist die DevOps-Methodologie und wem nützt sie?

Lass uns klären, worum es bei der Methodologie geht und wem sie zugutekommen kann.

Wir sprechen auch über DevOps-Spezialisten: ihre Aufgaben, Gehälter und Fähigkeiten.

Was ist die DevOps-Methodologie und wem nützt sie?
Foto Matt Moor / Flickr / CC BY-SA

Was ist DevOps

DevOps ist eine Softwareentwicklungs-Methodologie, die darauf abzielt, die Zusammenarbeit zwischen Programmierern und Systemadministratoren in einem Unternehmen zu optimieren. Wenn IT-Spezialisten aus unterschiedlichen Abteilungen die Ziele des jeweils anderen nicht verstehen, verzögert sich die Veröffentlichung neuer Anwendungen und Updates.

DevOps schafft einen "nahtlosen" Entwicklungszyklus und hilft somit, die Veröffentlichung von Softwareprodukten zu beschleunigen. Die Beschleunigung erfolgt durch die Einführung von Automatisierungssystemen. Außerdem beginnen Programmierer, an der Serverkonfiguration und der Fehlersuche teilzunehmen; sie können beispielsweise automatisierte Tests schreiben.

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

Wenn ein Entwickler versteht, mit welchen Herausforderungen ein Administrator bei der Serverkonfiguration konfrontiert ist, wird er versuchen, mögliche "Schwachstellen" im Code abzuschwächen. Dies reduziert die Anzahl der Bugs bei der Bereitstellung der Anwendung – statistisch gesehen verringert sich diese ungefähr um das Fünfzehnfache.

Wem nützt und wem nützt die Methodologie nicht?

Viele IT-Experten sind der Meinung, dass DevOps jeder Organisation zugutekommen kann, die Softwareentwicklungen betreibt. Dies gilt sogar in dem Fall, dass das Unternehmen einfach Nutzer von IT-Diensten ist und keine eigenen Anwendungen entwickelt. In diesem Fall hilft die Einführung der DevOps-Kultur, sich auf Innovationen zu konzentrieren.

Eine Ausnahme bilden Startups, aber auch hier hängt alles vom Umfang des Projekts ab. Wenn Ihr Ziel darin besteht, ein minimal tragfähiges Produkt (Minimum Viable Product, MVP) zu starten, um eine neue Idee zu testen, kann dies auch ohne DevOps erfolgen. Zum Beispiel hat der Gründer von Groupon zu Beginn der Arbeiten an dem Dienst alles manuell veröffentlicht und Bestellungen gesammelt. Er hat dabei keine Automatisierungstools verwendet.

Es macht nur dann Sinn, die Methodologie und Automatisierungsinstrumente einzuführen, wenn die Anwendung an Popularität gewinnt. Dies hilft, die Geschäftsprozesse zu verbessern und die Veröffentlichung von Updates zu beschleunigen.

Wie implementiert man DevOps?

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

Identifizieren Sie Probleme in den Geschäftsprozessen. Vor der Implementierung der Methodik sollten Sie die Ziele und Probleme der Organisation festlegen. Diese werden die Strategie für den Übergang zu DevOps bestimmen. Stellen Sie dazu eine Liste von Fragen zusammen, zum Beispiel:

  • Wofür wird bei der Softwareaktualisierung die meiste Zeit benötigt?
  • Kann dieser Prozess automatisiert werden?
  • Beeinflusst die Struktur der Organisation dies?

Details zur Identifizierung von Problemen in der Organisation können in Büchern «Projekt „Phoenix“» und „Leitfaden zu DevOps» von den Autoren der Methodik.

Ändern Sie die Unternehmenskultur. Es ist wichtig, alle Mitarbeiter davon zu überzeugen, ihre gewohnten Arbeitsweisen zu ändern und ihr Kompetenzspektrum zu erweitern. Zum Beispiel sind bei Facebook alle Programmierer verantwortlich für den gesamten Lebenszyklus der Anwendung: von der Codierung bis zur Implementierung. Auch bei Facebook gibt es keine separate Testabteilung – die Tests werden von den Entwicklern selbst geschrieben.

Beginnen Sie mit kleinen Schritten. Wählen Sie einen Prozess aus, der beim Release von Aktualisierungen am meisten Zeit und Mühe kostet, und automatisieren Sie ihn. Dies könnte sein das Testen oder der Bereitstellungsprozess von Anwendungen. Experten empfehlen zuerst die Implementierung von Werkzeugen für die verteilte Versionskontrolle. Mit ihnen ist die Verwaltung der Quellcodes einfacher. Zu den bekanntesten Lösungen gehören Git, Mercurial, Subversion (SVN) und CVS.

Es ist auch wichtig, auf Systeme der kontinuierlichen Integration zu achten, die für die Erstellung und das Testen des Endprodukts verantwortlich sind. Beispiele für solche Werkzeuge sind Jenkins, TeamCity und Bamboo.

Bewerten Sie die Verbesserungen. Entwickeln Sie Leistungskennzahlen für die implementierten Lösungen und erstellen Sie eine Checkliste. Zu den Kennzahlen können die Veröffentlichungsfrequenz, die Zeit für die Entwicklung von Softwarefunktionen und die Anzahl der Bugs im Code gehören. Besprechen 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 hilft, schneller Entscheidungen bezüglich der Anwendungsentwicklung zu treffen, die Anzahl der Softwarefehler reduziert und die Mitarbeiter zum Lernen neuer Dinge anregt, hat sie auch Kritiker. Die Anzahl der Softwarefehler wurde reduziert

Ja , dass WireGuard in der Zukunft OpenVPN ersetzen könnte. Laut, dass Programmierer sich nicht mit den Details der Arbeit von Systemadministratoren auseinandersetzen müssen. Angeblich führt DevOps dazu, dass im Unternehmen anstelle von Spezialisten für Entwicklung oder Administration Personen auftreten, die sich mit allem, aber nur oberflächlich auskennen.

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

Was ist die DevOps-Methodologie und wem nützt sie?
Foto Ed Ivanushkin / Flickr / CC BY-SA

Wer ist ein DevOps-Ingenieur

Ein DevOps-Ingenieur beschäftigt sich mit der Implementierung der DevOps-Methodik. Er synchronisiert alle Phasen der Erstellung eines Softwareprodukts: von der Codierung bis hin zu Tests und der Veröffentlichung der Anwendung. Ein solcher Spezialist überwacht die Entwicklungs- und Administrationsabteilungen und automatisiert deren Aufgaben, indem er verschiedene Software-Tools einführt.

Das Besondere am DevOps-Ingenieur ist, dass er mehrere Berufe vereint: Administrator, Entwickler, Tester und Manager.

Joe Sanchez, DevOps-Evangelist von VMware, einem Softwareentwickler für Virtualisierung, hervorhob eine Reihe von Fähigkeiten, über die ein DevOps-Ingenieur verfügen muss. Neben dem offensichtlichen Wissen über die DevOps-Methodik sollte diese Person Erfahrung in der Administration von Windows- und Linux-Betriebssystemen sowie Erfahrung mit Automatisierungstools wie ChefPuppetAnsible. Außerdem sollte er in der Lage sein, Skripte und Code in ein paar Sprachen zu schreiben und sich mit Netzwerktechnologien auszukennen.

Der DevOps-Ingenieur ist verantwortlich für jede Automatisierung von Aufgaben, die mit der Konfiguration und Bereitstellung von Anwendungen zu tun haben. Auch die Überwachung der Software fällt in seinen Aufgabenbereich. Um diese Aufgaben zu lösen, nutzt er verschiedene Konfigurationsmanagementsysteme, Virtualisierungslösungen und Cloud-Tools zur Ressourcen-Balancierung.

Wer stellt ein

DevOps-Ingenieure können jeder Organisation, die mit der Entwicklung von Anwendungen oder der Verwaltung einer großen Anzahl von Servern zu tun hat, von Nutzen sein. DevOps-Ingenieure werden eingestellt von IT-Giganten wie Amazon, Adobe und Facebook. Sie arbeiten auch bei Netflix, Walmart und Etsy.

Wird nicht eingestellt DevOps-Ingenieure arbeiten ausschließlich in Startups. Ihre Aufgabe ist es, ein minimal funktionsfähiges Produkt zu veröffentlichen, um eine neue Idee zu testen. In den meisten Fällen können Startups auf DevOps verzichten.

Wie viel man verdient

DevOps-Ingenieure verdienen am meisten in der Branche. Das durchschnittliche Einkommen solcher Spezialisten weltweit liegt zwischen 100 und 125 Tausend Dollar pro Jahr.

In den USA erhalten sie 90 Tausend Dollar pro Jahr (500 Tausend Rubel pro Monat). In Kanada bekommen sie 122 Tausend Dollar pro Jahr (670 Tausend Rubel pro Monat), während es im Vereinigten Königreich 67,5 Tausend Pfund Sterling pro Jahr (490 Tausend Rubel pro Monat) sind. Was Russland betrifft, sind Moskauer Unternehmen bereit

DevOps-Spezialisten zwischen 100 und 200 Tausend Rubel pro Monat zu zahlen. In St. Petersburg sind die Arbeitgeber etwas großzügiger — sie bieten 160–360 Tausend Rubel pro Monat. In den Regionen liegt das Gehalt bei 100–120 Tausend Rubel pro Monat. Wie wird man DevOps-Spezialist? DevOps ist ein relativ neues Feld in der IT, daher gibt es keine etablierten Anforderungen an DevOps-Ingenieure. In den Stellenangeboten findet man sowohl Kenntnisse in der Administration von Debian und CentOS als auch die Fähigkeit, mit disk-basierten

RAID-Arrays

zu arbeiten. Daraus kann man schlussfolgern, dass DevOps-Ingenieure vor allem einen guten technischen Überblick haben sollten. Für solche Menschen ist es wichtig, ständig neue Tools und Technologien zu lernen. Für Systemadministratoren oder Entwickler ist es am einfachsten, DevOps-Ingenieur zu werden. Sie haben bereits eine Reihe von Fähigkeiten, die einfach weiterentwickelt werden müssen. Die Hauptaufgabe besteht darin, den Minimalbedarf an Wissen über DevOps zu decken, zu verstehen, wie man mit Automatisierungstools arbeitet, und Wissenslücken in den Bereichen Administration, Programmierung und Virtualisierung zu schließen..

Um herauszufinden, wo noch Wissen fehlt, kann man die

Mini-Wikipedia auf GitHub

oder die Mindmap oder nutzen. Die Mitglieder von Hacker News können auch die Bücher „“ (die wir oben erwähnt haben) und „ empfehlen Die Philosophie von DevOps. Die Kunst des IT-ManagementsProjekt „Phoenix“» und „Leitfaden zu DevOps“ im O’Reilly Media Verlag lesen.Außerdem kann man sich für denDevops Weekly Newsletter

anmelden, Artikel auf dem thematischen Portal DZonelesen und anfangen, mit DevOps-Ingenieuren im Slack-Chat zu kommunizieren. Es lohnt sich auch, kostenlose Kurse anzusehen auf Beiträge aus unserem Blog:Die Fabrik für Netzwerksicherheit von Fortinet: was sie kann Udacity oder edX.

Ein Blick hinter die Kulissen: Unboxing des All-Flash-Speichers NetApp AFF A300



Quelle: habr.com

60GB SSD 8Gb DDR4