Wenn Sie sich für eine Stelle bewerben, finden Sie normalerweise zwei Arten ähnlicher Stellen: Sysadmin Engineer und DevOps Engineer .
Beide beschäftigen sich mit der Serverkonfiguration und gewährleisten den zuverlässigen Betrieb von Computersystemen. Es kann schwierig sein, den Unterschied zwischen den beiden zu erkennen. Was sind die Hauptunterschiede zwischen ihnen?
terminology
Kenorb
quelle
quelle
Antworten:
Hauptsächlich ist DevOps keine Rolle (wenn es als solche verwendet wird, ist es eher ein Modewort als eine echte Rolle).
DevOps ist in etwa ein Organisationsmuster, das darauf abzielt, das Silo zwischen Entwicklern und Systemadministratoren zu durchbrechen.
Das Hauptziel besteht darin, Teams mit Entwicklern und Systemadministratoren (in der Regel zusammen mit Testern) zusammenzustellen, die für ein Produkt (eine Anwendung) von der Definition über Architekturentscheidungen bis zur laufenden Wartung dieses Produkts verantwortlich sind.
Jedes Mitglied des Teams wird Teil der Entscheidung über den gesamten Lebenszyklus des Produkts sein, ein Entwickler wird einige Sysadmin-Aufgaben in der Produktion ausführen und ein Sysadmin wird an der Entwurfsphase des Produkts teilnehmen, um Einschränkungen aus der Sicht der Infrastruktur zu vermeiden zum Beispiel.
Im Idealfall wäre ein Sysadmin auch Teil des Entwicklungsteams für das Produkt. In der Praxis bezieht sich der Sysadmin-Code eher auf die Konfiguration des Produkts und die Überwachungslösungen, aber die Möglichkeit, Bedenken gegenüber anderen Mitgliedern des Teams auszudrücken, vermeidet viele Missverständnisse auf den Bereitstellungsprozess.
quelle
Kurze Version
DevOps ist eine Kombination aus Organisationskultur, agilen / schlanken Arbeitsweisen und Softwareautomation, die es bei Anwendung auf Systemadministration und -betrieb ermöglicht, dass diese Funktionen mit der gleichen Flexibilität wie agile oder schlanke Entwicklungsteams ausgeführt werden.
Lange Version
Die Ideen, die hinter DevOps standen, kamen von den Communities Systems Administration, Operations und Agile. Insbesondere hielt Patrick Debois auf der Agile2008 einen Vortrag mit dem Titel 'Agile Infrastructure', in dem er die Unterschiede zwischen den drei Funktionen innerhalb einer Organisation hervorhob:
Debois 'Vorschlag war, die drei Arten der Zusammenarbeit zu vereinheitlichen, indem speziell Systemadministrationsteams und Betriebsteams von einem Wasserfallmodell zu einem agilen Modell verschoben wurden. Zu diesem Zweck gründete Debois DevOpsDays 2009 in Gent, Belgien, und prägte versehentlich die Phrase DevOps .
Die Idee von DevOps fand großen Anklang bei den Autoren der VisibleOps-Buchreihe: Gene Kim, George Spafford und Kevin Behr; wer fuhr fort, das Phoenix-Projekt und das DevOps-Handbuch zu schreiben . In beiden Büchern wird untersucht, wie sich Agile und Lean positiv auf die Teams für Systemadministration und -betrieb auswirken können.
quelle
Als DevOps Engineer mit Operations-Hintergrund sind Sie vom manuellen Erstellen und Bereitstellen von Servern und Software zum Skripten der Installation von Software auf Ihren Servern mit BASH, PowerShell, Python usw. übergegangen. Nach einer Weile merkten Sie, wie Coole Skripterstellung ist und beginnen, ausgefeiltere Möglichkeiten zur Automatisierung der Bereitstellung zu erkunden .
Schließlich hätten Sie sich für ein Chef-, Puppet-, Ansible- oder anderes Konfigurationsmanagement- Tool entschieden, um den Status Ihrer Systemflotte zu verwalten. Als Ihre Kenntnisse in der Automatisierung der Anwendungsbereitstellung und des Systemmanagements zusammen mit Ihren Tools reifer wurden, sind Sie in jüngerer Zeit in den Bereich „ Infrastruktur als Code“ gewechselt und haben damit nicht nur die Bereitstellung von Software, sondern auch die erforderliche Infrastruktur und die erforderlichen Umgebungen automatisiert um die Software während der Umstellung des Unternehmens auf die Cloud zu betreiben.
Jetzt kochst du mit Gas. Im Laufe der Zeit wurden Sie mit den Vorteilen der Verwendung von entwicklerorientierten Tools wie der Quellcodeverwaltung vertraut gemacht , um die Module, Rezepte und Vorlagen zu verwalten, die Ihr Arsenal an Bereitstellungs- und Verwaltungstools bilden.
Als Sie in das DevOps- Team wechselten, waren Sie dem Lebenszyklus der Softwareentwicklung und dem Konzept der kontinuierlichen Integration ausgesetzt . Junge, diese Entwickler haben Änderungen schnell veröffentlicht und um Schritt zu halten, haben Sie enger mit den Entwicklern zusammengearbeitet! Sie haben die Dringlichkeit des Entwicklungsteams erlebt, die Dinge STÄNDIG zu ändern, was dem alten betrieblichen Paradigma widerspricht: " Wenn es nicht kaputt ist, reparieren Sie es nicht ". Sie prahlen nicht mehr mit der Systemverfügbarkeit, sondern stehen auf verfügbare Infrastruktur.
Sie haben bemerkt, dass der Wechsel zu DevOps mehr war als die Arbeit mit den Entwicklern oder der Einsatz neuer Tools und Techniken , aber es gab einen deutlichen kulturellen Wandel im Team, der die gesamte Organisation durchdrang. Sie haben als engmaschiges Team mit geteilten Verantwortlichkeiten , gemeinsamen Werkzeugen und gemeinsamen Zielen gearbeitet .
Sie haben Ihre Fähigkeiten in der automatisierten Bereitstellung übernommen und sie in die " CICD " -Pipeline integriert, die von einem " Continuous Integration Server " wie Jenkins , Bamboo oder Code Pipeline koordiniert wird . Wenn die Entwickler neuen Code veröffentlichen, können Ihre Skripte, Tools und Vorlagen bei Bedarf neue Umgebungen einrichten, Test-Frameworks auslösen und die Vorproduktionsumgebungen herunterfahren, nachdem die grünen Ampeln bei der Veröffentlichung aufleuchten und sich an die Vorgaben halten Ideen der " kontinuierlichen Lieferung ".
Während sich der neue Code durch die CICD-Phasen schlängelt, können Sie, die Entwickler und das Unternehmen sicher sein, dass das Update bei der Freigabe für die Produktion nicht unterbrochen wird. Es ist noch ein langer Weg, bis das Team zu einer " kontinuierlichen Bereitstellung " kommt. Sie müssen sich jedoch noch auf die Feinheiten der Automatisierung der blau / grünen Bereitstellungsfunktion einigen, und die Entscheidung ist größtenteils eine geschäftliche Entscheidung. Vorerst sind Sie damit zufrieden, dass die Anzahl der Anrufe um 3 Uhr morgens nachgelassen hat und die Anzahl der Anrufe zwischen 1 und 2 abnimmt.
Selbst wenn Sie eine Sev-1 erhalten, ziehen Sie nicht mehr die Nacht durch, während die Manager Ihnen den Rücken runteratmen - Sie können die vorherige Version problemlos über die CICD-Pipeline freigeben und das System in kurzer Zeit wieder online stellen. Das Unternehmen hat festgestellt, dass sich die Stabilität der IT-Systeme trotz der Geschwindigkeit der Änderungen verbessert hat .
Sie staunen über die Art und Weise, wie Sie die Ressourcen verwalten, die für den Betrieb der Software in Ihrem Unternehmen erforderlich sind, insbesondere, wenn Sie an den Zustand und die Menge an Blut zurückdenken, die Sie im Rechenzentrum auf Schienen zurückgelassen haben ...
quelle
Sysadmin vs. DevOps (persönliche Ansicht)
Einige Unternehmen sprechen über Dev, Ops und Test. Wenn etwas getestet werden muss, sagen sie: "Test sollte das tun". Wenn etwas entwickelt werden muss, wird Dev das tun, und wenn Software bereitgestellt werden muss, wird Ops das tun.
Meiner Meinung nach und was ich in mehreren Unternehmen erlebt habe, ist, dass dies zu einer Denkweise "über die Mauer werfen" führt, die zu Reibungen zwischen Menschen und Teams führt. Persönlich habe ich manchmal das Gefühl, dass Menschen individuell arbeiten und sagen, dass ich das getan habe. Ich habe nichts zu tun, anstatt als Team zu arbeiten.
Meiner Meinung nach bedeutet DevOps, dass jeder in einem Team verantwortlich und damit beschäftigt ist, Dinge zu entwickeln, zu testen und zu betreiben. Es gibt kein Ich in einem Team und keine getrennten Abteilungen. Jeder sollte freigeben. Natürlich gibt es Spezialitäten, aber meiner Meinung nach sollte jeder in der Lage sein, in jedem Bereich mindestens 25% der Arbeit zu verrichten. Wenn zum Beispiel jemand früher ein Entwickler war, sollte man in der Lage sein, einen Konfigurationsverwaltungscode zu ändern, z. B. Chefkoch, und Software bereitzustellen.
Verweise
Sysadmin
Laut Wikipedia :
DevOps
Laut Wikipedia :
DevOps
DevOps-Toolchain
quelle
Ein Systemadministrator ist für die Wartung und Konfiguration von Servern verantwortlich. Er ist dafür verantwortlich, dass der Benutzer die Leistung, Verfügbarkeit und Sicherheit erhält, die er sucht. Die Definition der Rolle eines DevOps-Ingenieurs ist etwas schwieriger, da es keinen formellen Karriereweg gibt und DevOps selbst viele Formen annehmen kann.
Ein DevOps-Ingenieur kann zum Beispiel ein Entwickler sein, der an Netzwerk- und Bereitstellungsvorgängen interessiert ist, oder ein Systemadministrator, der eine Leidenschaft für Codierung und Skripterstellung hat. Der Übergang vom Systemadministrator zum DevOps-Ingenieur ist nicht sehr schwierig. In diesem Artikel wird der Prozess sehr gut beschrieben.
Viele Leute würden sogar argumentieren, dass dieser Übergang vom Systemadministrator zum DevOps-Ingenieur unabdingbar ist, da die Position des Systemadministrators in Zukunft hinfällig wird. Obwohl es viele Legacy-Server gibt, die gewartet werden müssen, und Systemadministratoren über viel Stammeswissen verfügen, wird die Sysadmin-Position in Zukunft immer knapper.
quelle
Es wird Server geben, die in Rechenzentren nicht laufen. Alles wird Software sein. Speicher, Netzwerk, Systeme, Sicherheit, Rechenzentren; SDN, Firewalls, NFV, Speicher, Server usw. Sysadmins ohne Softwareentwicklungshintergrund, SDLC-Erfahrung (ich meine nicht einmal das Erstellen von Skripten für Perl, Powershell usw.) werden wahrscheinlich verschwinden. Verteilte, skalierbare und virtualisierte Umgebungen, bei denen es sich hauptsächlich um Cloud-Umgebungen handelt, wachsen horizontal und nicht vertikal.
Ich wage zu sagen, dass Sysadmins vertikal wachsen, DevOps (oder OpsDev) horizontal wachsen. Sie können das gleiche Muster sehen, wie sich aus Monolithen Microservices entwickelten. Ich würde lieber den DevOps-Ingenieur aus dem Software-Team wählen, nicht aus dem Operations / System-Team.
Weil das Operations / System-Team nur das ausführt, was das Software-Team erstellt.
Sysadmin wird ausgeführt, nachdem CI / Continuous Delivery / Deployment beendet wurde.
Und wenn Sie Deployment / Delivery unterbrechen und zuweisen, kann es sein, dass die Pipeline unterbrochen ist.
Das Software-Team ist das Erstellersystem.
Es hört sich so an, als gäbe es keinen zu verwaltenden Server / System, keinen Sysadmin-Bedarf.
Serverless Computing ist ein Cloud-Computing-Ausführungsmodell, bei dem der Cloud-Anbieter als Server fungiert und die Zuordnung von Maschinenressourcen dynamisch verwaltet. Die Preisberechnung basiert auf der tatsächlichen Menge an Ressourcen, die von einer Anwendung verbraucht werden, und nicht auf vorab gekauften Kapazitätseinheiten für Serverless Computing
Jemand aus dem Software-Team weiß bereits, wie man Code erstellt und verwaltet (SRE vs DevOps / OpsDev).
Ich frage mich, warum es DevOps heißt, aber nicht OpsDev? hängt es mit der Richtung zwischen den beiden zusammen?
* Mitten im Nirgendwo habe ich nicht angefangen, über softwaredefinierten Speicher zu schreiben. Dies ist eine Reaktion auf einen jetzt gelöschten Kommentar dazu. *
Informationen zum softwaredefinierten Speicher
Software-Defined Storage (SDS) ist ein Marketingbegriff für Computer-Datenspeichersoftware zur richtlinienbasierten Bereitstellung und Verwaltung von Datenspeichern unabhängig von der zugrunde liegenden Hardware. Software-definierter Speicher
EMC kündigte sein erstes Open Source-Produkt an: Project CoprHD. CoprHD ist ein Software Defined Storage-Controller für die Automatisierung und Verwaltung von Speichern. Die kürzlich von EMC getroffene Entscheidung, Open Source zu verwenden, steht im Mittelpunkt unserer Strategie, globalen Unternehmen einen Mehrwert zu bieten, wenn wir in einen Bereich des Wachstums und extremer Veränderungen eintreten. Als weltweit führender Anbieter von Speicher- und Informationsmanagement ist EMC führend in Bezug auf Software Defined Storage (SDS) .
CoprHD ist eine Open Source-Software-definierte Speichercontroller- und API-Plattform. Es ermöglicht die richtlinienbasierte Verwaltung und Cloud-Automatisierung von Speicherressourcen für den Block-, Objekt- und Dateispeicheranbieter CoprHD
quelle