Frage Wie kann ein Linux-Administrator seine Shell-Skripting- und Automatisierungsfähigkeiten verbessern?


In meiner Organisation arbeite ich mit einer Gruppe von NOC-Mitarbeitern, Nachwuchsingenieuren und einer Handvoll leitender Ingenieure zusammen; alles mit einem Fokus auf Linux. Ein interessanter Schritt in der Art und Weise, wie das Unternehmen Talente entwickelt, ist, dass es einen Weg vom NOC zu den leitenden Ingenieuren gibt. Wenn ich den Talentpool als einen relativen Newcomer betrachte, sehe ich, dass es eine Spaltung in den Fähigkeiten gibt, die mit der Zeit wächst ...

  • Es gibt Ingenieure, die eine oder mehrere bestimmte Technologien gut kennen und ständig in die Materie eintauchen ... z. MySQL, Firewalls, SAN-Speicher, Load Balancer ...
  • Es gibt andere, die Generalisten sind und mehrere Technologien navigieren können.
  • Alle lernen genug Linux (Befehle, Prozesse), um zu tun, was sie täglich brauchen und benutzen.

Ein unterscheidender Faktor zwischen einigen Mitarbeitern ist, wie gut sie Skripting-, Automatisierungs- und Konfigurationsverwaltungsmethoden berücksichtigen. Zum Beispiel haben wir zwei Ingenieure, die den Großteil von Amazon erledigen AWS CloudFormation Arbeit, und ein anderer, der die meisten behandelt Marionette Infrastruktur. Vielleicht ist ein Viertel der Ingenieure in BASH Shell Scripting geschickt.

Betrachtet man dies im Kontext der unglaublich hohe Nachfrage nach DevOps Fähigkeiten auf dem ArbeitsmarktIch bin gespannt, wie andere Organisationen die Entwicklung dieser Fähigkeiten fördern und ihre internen Talente wachsen lassen. Scripting scheint kein besonders lehrbares Konzept zu sein.

  • Wie verbessert ein Systemadministrator sein Shell-Skript?
  • Gibt es noch einen Platz für Ingenieure, die nicht im DevOps-Paradigma mithalten können?
  • Sind wir einfach davon auszugehen, dass einige Menschen zurückbleiben werden, wenn sich diese Technologien entwickeln? Ist das in Ordnung?

30
2017-09-11 13:13


Ursprung


Du übst. Versuche alles zu automatisieren, baue VMs, etc .. - Doon
@Doon Ich mache das seit 15 Jahren, also hatte ich viel Zeit zu üben, Dinge zu brechen und dahin zu kommen, wo ich bin. Für Junior-Ingenieure von heute, und mit dem Grad der Komplexität in einigen der bestehenden automatisierten Setups, scheint es nicht genug Zeit oder einen sicheren Ort zu geben, um dieses Experimentieren in vielen Umgebungen zu ermöglichen. - ewwhite
Mentoring von den Senioren, plus gute Dokumentation und andere nachhaltige Praktiken (keine technischen Schulden aufzubauen) ist eine sehr gute Möglichkeit, das Wissen in Ihren PJs einzuprägen. - mfinni
eigentlich denke ich, dass der sichere ort heute in der vms ist, da du nicht die ganze physische hardware brauchst. Jetzt Zeit / etc. Ja, das ist knapp :) Aber angesichts der Verfügbarkeit von kostenlosen / Low-Cost-Hypervisors, und die Formbarkeit von * nix OSes Sie können einige ziemlich komplexe Setups zu lernen. - Doon
Eine interessante Herausforderung, die für so viele Dinge in der IT-Welt gilt. Kein Budget für das Training. Keine Zeit oder Ausrüstung zum Üben. VMs helfen sehr, aber die Lücke bleibt bestehen. - Dave M


Antworten:


Ich habe den Vorteil, die Größe und Komplexität Ihrer Umgebung zu verstehen. Da Sie für einen Cloud- / Hosting-Anbieter arbeiten, können Sie davon ausgehen, dass Sie eine große Anzahl von kleinen bis mittelgroßen Umgebungen (10-100 Server) haben. Es gibt sicherlich tägliche Aufgaben, die von der jr erledigt werden. Ingenieure und NOC-Mitarbeiter, die sich wiederholen (Erstellen von Benutzerkonten, Konfigurieren von Sicherungsagenten usw.). Ebenso gibt es wahrscheinlich einige manuelle Dinge, die vom sr erledigt werden. Ingenieure mögen es, ESXi auf neuer Hardware zu installieren oder Dinge wie MPIO zu konfigurieren oder VMware-Module für bestimmte Hardwaresätze zu installieren. All diese Dinge können und sollten automatisiert werden.

Wenn Ihre Mitarbeiter in der Lage sind, den Großteil ihrer Arbeit ohne Automatisierung zu erledigen, dann sind Sie meines Erachtens überbesetzt. Alle IT-Mitarbeiter, die einen ganzen Tag arbeiten können, der hauptsächlich aus manuellen Prozessen besteht, haben keine Motivation zur Automatisierung. Warum lernst du eine neue Fähigkeit, die nicht als angesehen wird? notwendig und könnte sogar sein unheimlich? Schließlich ist die Notwendigkeit die Mutter, wenn es um Innovation geht.

Irgendwann in Ihrer Organisation werden Sie zu einer Größe wachsen, in der Sie herumfliegen und auseinanderfallen, oder Sie werden fast alles automatisieren und übertreffen. Sicherlich sollten die leitenden Ingenieure hier die Führung übernehmen und vielleicht sogar mit den Nachwuchsingenieuren und dem NOC-Personal zusammenarbeiten, um einen Teil ihrer Arbeitslast zu automatisieren. Dies gibt dem jr. Ingenieure haben die Möglichkeit, das Framework vieler Skripts zu verwenden, mit denen sie für jeden Mandanten und die neue Hardware-Revision je nach Bedarf optimieren können. Dies entfernt den entmutigenden Gedanken von "Oh mein Gott, wo fange ich überhaupt an?" aus der Gleichung und gibt ihnen einen Starthilfe zu lösen echt Problem. Was mich zu meinem letzten Punkt bringt. Bücher und Beispiele sind gut und gut, aber es gibt nichts, was das Gefühl der Erfüllung eines Problems ersetzen könnte tatsächlich Problem, dem sie gegenüberstehen. Geben Sie ihnen ein Ziel, wie bei allen neuen Servern für Tenant x bestimmte ESXi-Module installiert sein sollten, und arbeiten Sie dann mit ihnen zusammen. Passen Sie das Skript dann so an, dass es in einer mandantenfähigen Umgebung funktioniert.

Wie verbessert ein Systemadministrator sein Shell-Skript?

Durch brauchen zu, wie oben beschrieben.

Gibt es noch einen Platz für Ingenieure, die nicht im DevOps-Paradigma mithalten können?

Sicher, es gibt viele Organisationen, die nicht zur DevOps-Methodik wechseln können oder wollen. Sie scheinen mehr und mehr zu sein langweilig Optionen, aber sie sind trotzdem Optionen.

Sind wir einfach davon auszugehen, dass einige Menschen zurückbleiben werden, wenn sich diese Technologien entwickeln?

Wie bei jeder neuen Technologie - ja.


tl; dr Sie werden nie jemanden wirklich investieren lernen, bis sie den Wert darin sehen. Wenn sie ihre täglichen Aufgaben manuell erledigen können, dann sind sie überbesetzt und es gibt keinen Anreiz.


9
2017-09-11 18:25



Ich lese das : you'll start automating almost everything *in* excel. - mfinni
Ja, 32-Bit-Excel-VB-Makros sind die Dinge, auf denen Wolken aufgebaut sind. Wusstest du das nicht? - MDMarra
Ich habe das Gefühl, dass du vielleicht Recht hast ... - mfinni
Dieses Wissen sollte nicht Geh weg. Anstatt "Do this x steps" in Ihrem internen Wiki (oder was auch immer) zu dokumentieren, sagen Sie "Diese x Codezeilen installieren $ stuff" und Sie kommentieren Ihren Code auch stark auf solche Dinge. Nicht Skripting aufgrund des Verlustes von Wissen, der auftreten könnte, deckt eine mögliche Unreife in Ihrem Dokumentationsprozess auf. Es ist kein Grund, Automatisierung zu vermeiden. - MDMarra
@MDMarra Was ist ein? Wiki? - ewwhite


• Wie verbessert ein Systemadministrator sein Shell-Scripting?

Üben, gemischt mit Antrieb. Es klingt banal, aber du musst es wollen um besser zu werden, zusätzlich zum Üben. Wenn Sie nicht wirklich Spaß am Schreiben haben, können Sie gezwungen sein, es jahrelang zu tun, wenn Sie es brauchen und nie wirklich gut werden. Wenn du es nicht tust wollen um besser zu werden, könntest du jeden Tag bei der Arbeit neben dem besten Scripter der Welt sitzen und nicht einen Bruchteil der Fähigkeiten aufheben, die du haben könntest.

Ich kenne die Leute, die sich trotz IT-Arbeit hartnäckig weigern, irgendwelche Skripte zu lernen. Für diese Leute in der Branche wird es bald keinen Platz mehr geben. Sie sind Teil einer sterbenden Generation.

(Ich spreche nicht von alten Leuten, ich meine das bildlich. : P)

• Gibt es noch einen Platz für Ingenieure, die nicht im DevOps-Paradigma mithalten können?

Nee. Alles, was sie tun, kann und wird schließlich automatisiert werden.

Ich würde behaupten, dass wir sie vielleicht nie Ingenieure genannt hätten. Es ist schon schlimm genug, dass die IT - Industrie das Wort "Ingenieur" für sich selbst verwendet hat, was meines Erachtens eine Art Beleidigung für die tatsächlich Ingenieure, die Jahre in Hochschulbildungsprogrammen verbracht und legale Zertifizierungen erhalten haben, damit sie Brücken, Hochhäuser, Hadron-Collider usw. entwerfen können ... das sind die echt Ingenieure.

Aber es gibt eine Ähnlichkeit ... Wenn Sie sich als "Ingenieur" in der IT-Branche bezeichnen wollen, dann bedeutet das zumindest Sie erstellen Dinge. Sie sind erfinderisch und du verbindest die Punkte auf neue Weise, an die noch nie zuvor jemand gedacht hat. Du machst Dinge, von denen niemand sonst wusste, wie wertvoll es wäre, bis du es geschafft hättest.

Wenn Sie nicht Code oder Skript, dann gibt es keine Möglichkeit, mit Computern zu tun, außer nur sie zu pflegen und vielleicht ein oder zwei Softwarepakete zu installieren. Vielleicht werfen Sie eine neue Festplatte in den alten MSA. Und in diesem Fall würde ich dich als Administrator bezeichnen, sicher, aber nicht unbedingt als Ingenieur. Und ich würde sagen, dass viel von Ihrem Job in Gefahr ist, weg automatisiert zu werden.

• Müssen wir einfach davon ausgehen, dass einige Menschen zurückbleiben werden, wenn sich diese Technologien entwickeln?

Der Markt wird sich anpassen. Es kann sein, dass manche Leute keine 6-stelligen Gehälter machen, wenn sie sie nicht wirklich verdienen, was in dieser Branche ziemlich oft vorkommt.


Ich finde, dass Kreativität, und nicht nur Coding / Scripting-Fähigkeiten, ein Schlüsselfaktor ist. Es ist diese Kreativität, die du dir selbst sagen musst. "Oh, hey, ich könnte das automatisieren!"Und dann kommt die Fähigkeit erst ins Spiel. Wenn Sie sich selbst etwas schreiben nur nachdem dein Boss es dir gesagt hat, dann hast du vielleicht nicht diesen Antrieb oder diese Kreativität, über die ich geredet habe ... und das sind zwei Qualitäten, die sehr hart sind, vielleicht unmöglich, zu lehren.


21
2017-09-11 13:56



Sehr gute Einsicht. Ich befürchte, dass die Mehrheit der Menschen in der IT die Typen sind, die zurückgelassen werden. ich bin Das jetzt zu sehen ... Aber es spricht auch zu Antrieb und Motivation ... - ewwhite


Wie verbessert ein Systemadministrator sein Shell-Skript?

Wie wird man in irgendetwas besser? Lesen Sie Bücher, besuchen Sie Klassen und wenden Sie dann die erlernten Prinzipien an. (Oder eine Kombination der Methoden.) Dies ist absichtlich zu stark vereinfacht, da es nichts Besonderes gibt, über das Lernen von Skripten zu lernen, wie man kocht oder wie man ein Auto repariert.

Gibt es noch einen Platz für Ingenieure, die nicht im DevOps-Paradigma mithalten können?

Dies ist im Rahmen dieser Website schwer zu beantworten (wo klare / definierte Antworten auf die gestellten Fragen erforderlich sind). Wir können dies vorhersagen, aber es gibt Probleme mit dem DevOps-Modell. Ich denke, es ist sehr schwierig für eine Person, in beiden Disziplinen sehr kompetent zu sein. Die Kosteneinsparungen eines 2-für-1-Angestellten sind für Unternehmen derzeit sehr attraktiv, aber es ist schwer zu sagen, ob dieser Trend anhalten wird. Es ist sicherlich für die kurze Zeit.

Sind wir einfach davon auszugehen, dass einige Menschen zurückbleiben werden, wenn sich diese Technologien entwickeln?

Wie schnell die Dinge laufen, ja. Die meisten von Ihnen beobachten es wahrscheinlich an Ihren eigenen Arbeitsplätzen. Sie sollten auf jeden Fall mit Stellenangeboten Schritt halten und wissen, was der Markt derzeit verlangt. (Es gibt viele Stellenangebote für Hadoop in Ihrer Nähe? Lernen Sie Hadoop.) Wenn Sie nicht mit dem Markt Schritt halten, riskieren Sie, dass Sie zurückgelassen werden.


7
2017-09-11 14:11



> Wenn Sie nicht mit dem Markt Schritt halten, riskieren Sie, zurückgelassen zu werden. <Ist das nicht eine Tautologie? - Michael Martinez


Üblicherweise schickt man Nachwuchsingenieure nicht in eine komplexe, geschäftskritische Produktionsumgebung. Sie haben leitende Ingenieure dafür. Junior-Ränge sollten in Dev / Test-Sandboxen arbeiten dürfen.

Wenn Sie einen Techniker für Technology X benötigen und die Rolle intern ausfüllen möchten, finden Sie jemanden, der bereit ist, es zu lernen, strukturiertes Training zu finden und beides zu kombinieren.

Finde heraus, welche Fähigkeiten du in einer Abteilung brauchst. Finde jemanden, der sie lernen möchte. Unterrichten / Ausgeben von Geld für das Training.


5
2017-09-11 13:24



Der Aufbau von Fähigkeiten in Technologie X ist in vielen Fällen eindeutig. Es gibt einen Zertifizierungs- und Schulungspfad für Cisco, VMware, EMC, Red Hat, usw. Es ist die Skript-Denkweise und die moderaten Entwicklungsfähigkeiten, die weniger zu sein scheinen trainierbar. - ewwhite
Scripting ist Programmieren (ich hoffe, dass die Stack-Überlauf-Leute nicht vorbeikommen, um einen Krieg zu beginnen). Es gibt eine Art zu denken und eine Art zu sehen und sich Problemen zu nähern, die nicht jedem gut stehen. "Lehren der Skript-Denkweise" ist das, was die Leute hoffentlich aus der Praxis bekommen. ... Und "moderate Entwicklungsfähigkeiten" sind nur generisch genug, um nichts zu bedeuten. ---- Wie für das Programmieren lehren, Blick auf Bereich Universitäten, die Intro-Programmierkurse anbieten. Ein früher Informatikkurs kann viel dazu beitragen, Denkweisen zu vermitteln. - Daniel Widrick
Hell, UMass Lowell hat Kurse für "Bash Scripting" und "Unix / Linux Administration". Ich habe sie beide genommen. Gelehrt von alten Greybeards, die zweifellos ihre Emacs-Profile zeigen wollten. (Online-Unterricht, also nehme ich einfach die Graue Bärnheit an.) - mfinni
@mfinni Ich hatte keine Ahnung! :) - ewwhite
Ich arbeite gerade an dem UML BS im Informationstechnologie Programm. Alles online, seit ich in einem AS in CompSci transferiert habe, mit einem Jahr Laborwissenschaft, Calc, etc - mfinni


Gibt es noch einen Platz für Ingenieure, die nicht mithalten können?   DevOps Paradigma?

"Devops" ist nur ein neues Wort für etwas, was Systemadministratoren seit Jahrzehnten tun.

Sind wir einfach davon auszugehen, dass einige Menschen zurückbleiben werden, wenn sich diese Technologien entwickeln?

Ganz im Gegenteil. Im Laufe der Zeit wird technische Hilfe immer notwendiger. Jeder mit irgendwelchen technischen Kenntnissen und technischen Fähigkeiten wird einen Arbeitsplatz haben.


1
2017-10-10 22:41