Was ist DevOps-Methodik und wer braucht sie?

Lassen Sie uns herausfinden, was das Wesentliche der Methodik ist und wem sie zugute kommen kann.

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

Was ist DevOps-Methodik und wer braucht sie?
Foto Matt Moore /Flickr/CC BY-SA

Was ist DevOps?

DevOps ist eine Softwareentwicklungsmethodik, deren Aufgabe es ist, eine Interaktion zwischen Programmierern und Systemadministratoren in einem Unternehmen herzustellen. Wenn IT-Spezialisten aus verschiedenen Abteilungen die Aufgaben des anderen nicht verstehen, verzögert sich die Veröffentlichung neuer Anwendungen und Updates für sie.

DevOps schafft einen „nahtlosen“ Entwicklungszyklus und trägt so dazu bei, die Veröffentlichung eines Softwareprodukts zu beschleunigen. Die Beschleunigung wird durch die Einführung von Automatisierungssystemen erreicht. Außerdem beginnen Programmierer, sich an der Einrichtung von Servern und der Suche nach Fehlern zu beteiligen, indem sie beispielsweise automatisierte Tests schreiben können.

Dies verbessert die Interaktion zwischen den Abteilungen. Mitarbeiter beginnen besser zu verstehen, welche Phasen ein Softwareprodukt durchläuft, bevor es in die Hände des Benutzers gelangt.

Wenn ein Entwickler versteht, was einem Administrator beim Einrichten eines Servers bevorsteht, wird er versuchen, mögliche „scharfe Ecken“ im Code zu glätten. Dies reduziert die Anzahl der Fehler bei der Bereitstellung einer Anwendung – laut Statistik sogar nimmt ab etwa fünfmal.

Wer braucht die Methodik und wer nicht?

Viele IT-Experten glaubendass DevOps jedem Unternehmen zugute kommt, das Software entwickelt. Dies gilt selbst dann, wenn das Unternehmen lediglich ein Verbraucher von IT-Diensten ist und keine eigenen Anwendungen entwickelt. In diesem Fall hilft Ihnen die Implementierung einer DevOps-Kultur, sich auf Innovation zu konzentrieren.

Die Ausnahme berücksichtigen Startups, aber hier hängt alles vom Umfang des Projekts ab. Wenn Ihr Ziel darin besteht, ein Minimum Viable Product (MVP) auf den Markt zu bringen, um eine neue Idee zu testen, können Sie auf DevOps verzichten. Beispielsweise begann der Gründer von Groupon, manuell an dem Dienst zu arbeiten Gesendet Alle Angebote auf der Website und gesammelte Bestellungen. Er nutzte keine Automatisierungstools.

Es macht erst dann Sinn, Automatisierungsmethoden und -tools zu implementieren, wenn die Anwendung an Popularität gewinnt. Dies wird dazu beitragen, Geschäftsprozesse zu rationalisieren und die Veröffentlichung von Updates zu beschleunigen.

So implementieren Sie DevOps

Nachfolgend finden Sie einige Empfehlungen für die Umstellung auf eine neue Methodik.

Identifizieren Sie Probleme in Geschäftsprozessen. Heben Sie vor der Implementierung der Methodik die Ziele und Probleme der Organisation hervor. Die Strategie für den Übergang zu DevOps wird von ihnen abhängen. Erstellen Sie dazu einen Fragenkatalog, zum Beispiel:

  • Was nimmt beim Aktualisieren von Software am meisten Zeit in Anspruch?
  • Ist es möglich, diesen Prozess zu automatisieren?
  • Hat die Struktur der Organisation einen Einfluss darauf?

Erfahren Sie mehr über die Identifizierung von Problemen in einer Organisation kann in Büchern nachgelesen werden «Projekt „Phoenix“"Und"DevOps-Leitfaden» von den Autoren der Methodik.

Verändern Sie die Kultur im Unternehmen. Es gilt, alle Mitarbeiter davon zu überzeugen, ihre gewohnten Arbeitsweisen zu ändern und ihr Kompetenzspektrum zu erweitern. Beispielsweise bei Facebook alle Programmierer treffen für den gesamten Anwendungslebenszyklus: von der Codierung bis zur Implementierung. Außerdem verfügt Facebook über keine eigene Testabteilung – die Tests werden von den Entwicklern selbst geschrieben.

Fangen Sie klein an. Wählen Sie den Prozess, der bei der Veröffentlichung von Updates den meisten Zeit- und Arbeitsaufwand erfordert, und automatisieren Sie ihn. Das vielleicht Test- oder Anwendungsbereitstellungsprozess. Experten beraten Der erste Schritt besteht darin, verteilte Versionskontrolltools zu implementieren. Sie erleichtern die Verwaltung von Quellen. Unter diesen Lösungen sind Git, Mercurial, Subversion (SVN) und CVS die bekanntesten.

Es lohnt sich auch, auf kontinuierliche Integrationssysteme zu achten, die für die Montage und Prüfung des Endprodukts verantwortlich sind. Beispiele für solche Tools: Jenkins, TeamCity und Bamboo.

Bewerten Sie Verbesserungen. Entwickeln Sie Leistungskennzahlen für implementierte Lösungen und erstellen Sie eine Checkliste. Zu den Kennzahlen können die Veröffentlichungshäufigkeit, die für die Arbeit an Softwarefunktionen aufgewendete Zeit und die Anzahl der Fehler im Code gehören. Besprechen Sie die Ergebnisse nicht nur mit den Führungskräften, sondern auch mit dem restlichen am Projekt beteiligten Team. Fragen Sie, welche Werkzeuge fehlen. Berücksichtigen Sie diese Wünsche bei der weiteren Optimierung Ihrer Prozesse.

Kritik an DevOps

Obwohl die Methodik half Organisationen können schnellere Entscheidungen bezüglich der Anwendungsentwicklung treffen, reduziert Die Zahl der Fehler in der Software sinkt und die Mitarbeiter dazu animiert werden, Neues zu lernen, hat aber auch Kritiker.

Es gibt sehendass Programmierer die Details der Arbeit von Systemadministratoren nicht verstehen sollten. Angeblich führt DevOps dazu, dass das Unternehmen statt Entwicklungs- oder Verwaltungsspezialisten Menschen hat, die alles verstehen, aber nur oberflächlich.

Es wird auch angenommen, dass DevOps nicht funktioniert mit schlechtem Management. Wenn die Entwicklungs- und Verwaltungsteams keine gemeinsamen Ziele haben, sind es die Manager, die dafür verantwortlich sind, dass die Kommunikation zwischen den Teams nicht organisiert ist. Um dieses Problem zu lösen, ist keine neue Methodik erforderlich, sondern ein System zur Bewertung von Führungskräften auf der Grundlage des Feedbacks der Untergebenen. Sie können es hier lesen, Welche Fragen sollten in Mitarbeiterbefragungsformularen enthalten sein?.

Was ist DevOps-Methodik und wer braucht sie?
Foto Ed Iwanuschkin /Flickr/CC BY-SA

Wer ist ein DevOps-Ingenieur?

Ein DevOps-Ingenieur implementiert die DevOps-Methodik. Es synchronisiert alle Phasen der Erstellung eines Softwareprodukts: vom Schreiben des Codes bis zum Testen und Freigeben der Anwendung. Ein solcher Spezialist steuert die Entwicklungs- und Verwaltungsabteilungen und automatisiert die Ausführung ihrer Aufgaben durch die Einführung verschiedener Softwaretools.

Der Trick eines DevOps-Ingenieurs besteht darin, dass er viele Berufe vereint: Administrator, Entwickler, Tester und Manager.

Joe Sanchez, DevOps-Evangelist bei VMware, einem Unternehmen für Virtualisierungssoftware, herausgegriffen eine Reihe von Fähigkeiten, die ein DevOps-Ingenieur haben muss. Zusätzlich zu den offensichtlichen Kenntnissen der DevOps-Methodik sollte diese Person Erfahrung in der Verwaltung von Windows- und Linux-Betriebssystemen und Erfahrung im Umgang mit Automatisierungstools wie haben KüchenchefInMarionetteAnsible. Er sollte außerdem in der Lage sein, Skripte und Code in mehreren Sprachen zu schreiben und Netzwerktechnologien zu verstehen.

Ein DevOps-Ingenieur ist für die Automatisierung von Aufgaben im Zusammenhang mit der Konfiguration und Bereitstellung von Anwendungen verantwortlich. Auch die Softwareüberwachung fällt auf seine Schultern. Um diese Probleme zu lösen, nutzt er verschiedene Konfigurationsmanagementsysteme, Virtualisierungslösungen und Cloud-Tools zur Ressourcenverteilung.

Wer stellt ein?

DevOps-Ingenieure können jedem Unternehmen zugute kommen, das Anwendungen entwickelt oder eine große Anzahl von Servern verwaltet. DevOps-Ingenieure stellen ein IT-Giganten wie Amazon, Adobe und Facebook. Sie funktionieren auch auf Netflix, Walmart und Etsy.

Nicht einstellen DevOps-Ingenieure sind nur Startups. Ihre Aufgabe ist es, ein Minimum Viable Product herauszubringen, um eine neue Idee zu testen. In den meisten Fällen können Startups auf DevOps verzichten.

Wie viel bezahlen

DevOps-Ingenieure verdienen mehr als jeder andere in der Branche. Der durchschnittliche Verdienst solcher Spezialisten auf der ganzen Welt liegt zwischen 100 und 125 Dollar pro Jahr.

In den USA sie bekommen 90 Dollar pro Jahr (500 Rubel pro Monat). In Kanada sie bezahlt werden 122 Dollar pro Jahr (670 Rubel pro Monat) und in Großbritannien - 67,5 Pfund Sterling pro Jahr (490 Rubel pro Monat).

Was Russland betrifft, Moskauer Unternehmen готовы Bezahlen Sie DevOps-Spezialisten zwischen 100 und 200 Rubel pro Monat. In St. Petersburg sind die Arbeitgeber etwas großzügiger – sie bieten 160-360 Rubel pro Monat. In den Regionen werden Gehälter zwischen 100 und 120 Rubel pro Monat angegeben.

So werden Sie DevOps-Spezialist

DevOps ist eine relativ neue Richtung in der IT, daher gibt es keine etablierte Liste von Anforderungen an DevOps-Ingenieure. In den offenen Stellen finden Sie unter den Anforderungen für diese Position sowohl Debian- und CentOS-Administrationskenntnisse als auch die Fähigkeit, mit Festplatten zu arbeiten. RAID-Arrays.

Daraus können wir schließen, dass ein DevOps-Ingenieur zunächst einmal über eine gute technische Perspektive verfügen muss. Für eine solche Person ist es wichtig, ständig neue Werkzeuge und Technologien zu erlernen.

Der einfachste Weg, DevOps-Ingenieur zu werden, wäre ein Systemadministrator oder Entwickler. Sie verfügen bereits über eine Reihe von Fähigkeiten, die nur noch weiterentwickelt werden müssen. Die Hauptaufgabe besteht darin, die Mindestkenntnisse in DevOps zu verbessern, den Umgang mit Automatisierungstools zu verstehen und Lücken in den Verwaltungs-, Programmier- und Virtualisierungsfähigkeiten zu schließen.

Um zu verstehen, wo noch Wissen fehlt, können Sie nutzen Mini-Wikipedia auf GitHub oder mentale Karte. Bewohner von Hacker News auch Empfehlen Bücher lesen "Projekt „Phoenix“"Und"DevOps-Leitfaden" (was wir oben erwähnt haben) und "DevOps-Philosophie. Die Kunst des IT-Managements» unter dem Stempel von O'Reilly Media.

Sie können es auch abonnieren Wöchentlicher Devops-Newsletter, aktuelle Artikel lesen Portal DZone und beginnen Sie mit der Kommunikation mit DevOps-Ingenieuren Slack-Chat. Es lohnt sich auch, einen Blick auf die kostenlosen Kurse zu werfen Udacity oder EDX.

Beiträge aus unserem Blog:



Source: habr.com

Kommentar hinzufügen