Frage Agile Systemadministrator und Devops - Wie zu erreichen? [geschlossen]


Agile Systemadministration und Devops gehören heutzutage zu den am meisten aktuellen Themen in Bezug auf Systemadministration und -betrieb. Beide Konzepte konzentrieren sich hauptsächlich auf Überbrückung der Lücke zwischen Operationen / Systemadministratoren und den Projekten (Entwickler, Unternehmen usw.). Auch wenn du noch nie von dem Konzept der Devils gehört hast, bin ich mir sicher, dass dir dieses Thema ebenfalls am Herzen liegt.

Also, welche Werkzeuge und Techniken verwenden Sie, um in Ihren Unternehmen Entwickler zu erreichen? Ich interessiere mich besonders für Themen wie Change Management, kontinuierliche Integration und Automatisierung, aber nicht nur in diesen Themen. Bitte teilen Sie Ihre Gedanken. Ich freue mich auf Ihre Antworten / Meinungen :)


18
2018-05-17 19:11


Ursprung


Ein Teil des Problems der "Überbrückung" von Entwicklung und Betrieb (Systemadministration) ist die andere oberste Priorität. Priorität des Systemadministrators ist Behalten Dinge arbeiten, obwohl eine Vielzahl von gemeinsamen sich wiederholenden Aufgaben. Priorität der Entwicklung ist zu erstellen neue Funktionalität. Diese Aufgaben können sich aber dort sehr überschneiden Will kommt mal wenn sie streiten. In diesen Zeiten der Konkurrenz muss sich Ihr DevOp entscheiden, entweder ein Operator oder ein Entwickler zu sein. Bestimmte Einstellungen können den Fehler tolerieren, aber die meisten profitieren nicht von den finanziellen Reprotokollen. - Chris S
Außerdem habe ich kürzlich jemanden gehört, der über Administratoren spricht, die auch programmieren können. Fähigkeiten bestimmen nicht Prioritäten oder primäre Verantwortlichkeiten. Moderne Administratoren müssen faul sein; Zu diesem Zweck müssen sie bei allem, was sie tun, effizient sein. Scripting, das Erstellen von Wartungs-Utilities und das Verstehen von Code sind einfach eine Grundfertigkeit. SAs, die diese Fähigkeiten nicht anbieten, werden zu kleinen und lethargischen Geschäftsmodellen (z. B. der Fertigung) degradiert, wo solche Ineffizienz toleriert wird. Die sich verändernde Wissensbasis garantiert nicht die Koexistenz einer abscheulichen Terminologie. - Chris S


Antworten:


  • svn / git - Revisionskontrolle, offensichtlich.

  • trac / redmine / jira - Ticketing.

  • Cobbler - für die Bereitstellung von Betriebssystemen für Basisbetriebssysteme. Cobbler ist ein Red Hat Produkt, aber ich bin mir sicher, dass es etwas Ähnliches für Debian / Ubuntu gibt. Ähnlich werden die meisten "Cloud Control Panel" Unternehmen wie RightScale dies für Sie bereitstellen. Das Stichwort lautet "JEOS" oder "gerade genug Betriebssystem". Meine Route besteht darin, die "% packages --nobase" -Zeile in meinen Kickstarts zu verwenden und dann meinen eigenen Stack über ...

  • Puppet / Chef - für Konfigurationsmanagement und Konsistenzdurchsetzung. Es gibt auch andere Optionen hier, es ist wichtiger, dass Sie einen als den verwenden. Ein Trick, den ich besonders wichtig finde, ist, die Konfigurationen in demselben Versionskontrollsystem zu speichern, wie es die Entwickler verwenden. Dies hilft, den Workflow der beiden Teams zusammenzuführen und für einander sichtbar zu machen.

  • func (oder capistrano oder cluster-ssh) - zum Ausführen des Bereitstellungsskripts im Cluster. Der Trick dabei ist, etwas zu schaffen, das die Senior-Entwickler selbst ausführen können, um neue Dinge live zu pushen und die unvermeidlichen Fixes voranzutreiben.
    Dies ist der eigentliche Kern von devops, der es den Entwicklern ermöglicht, die Umgebung zu unterbrechen und zu reparieren. Viele Systemadministratoren sind zu energiehungrig, um so etwas loszulassen, oder ihr Management arbeitet immer noch an der falschen Vorstellung, dass Systemadministratoren Entwickler überwachen sollten (als ob wir sogar die Hälfte dessen lesen könnten, was sie tun).

  • Kakteen / Ganglia / Collectd / Munin - Graphen sind soooooo Schlüssel. Es ist der geschäftliche Wert von Metriken mit dem menschlichen Wert einfacher Visuals. Das Korrelieren des Zeitstempels von Code-Pushs mit dem Zeitstempel von Änderungen in den Graphen ist immens wertvoll, um die Leistungsregression zu beheben und reale Fakten über Leistungsentscheidungen zu sehen. Es ist ein wichtiger Punkt hier, dass die Graphen von den Entwicklern leicht zu sehen und zu verwenden sind und deren Management dies von ihnen erwarten muss.

  • nagios / zabbix / smokeping / etc - Überwachung von Server-Stuff und Performance-Metriken vom Typ "Basisseite". Wiederum sind die Graphen der Schlüssel. Dies sind mehr für die Op-Seite des Teams.

  • gomez / keynote / browsermob - externe Überwachung der vollständigen Browserleistung unter Berücksichtigung von Drittanbieterdiensten, CDNs und Renderzeitproblemen. Dies sind mehr für die Entwickler-Seite des Teams.

Dies ist eine Mischung aus Werkzeugen und Techniken, konzentrieren Sie sich auf die Techniken. Insbesondere die Änderung der Einstellung "sysadmin" von devops von "admin" zu "operations". Es geht darum, die Entwickler zu aktivieren. Ihnen die Möglichkeit geben, Dinge zu tun, indem sie es ihnen ermöglichen, Dinge zu reparieren, indem sie ihnen ermöglichen, echte Fakten / Metriken / Graphen darüber zu sehen, was sie getan haben. Umgekehrt müssen die Entwickler akzeptieren, dass sie aktiviert wurden und tatsächlich die Arbeit machen, Leistungstrends zu beobachten, Probleme zu debuggen und nicht nur über Funktionen nachzudenken, sondern auch, wie sie diese ausrollen und wie sie die Gesundheit des gesamten Systems / der Umgebung beeinflussen .


30
2018-05-17 21:08



+1 "Kern von Devops, die Entwickler befähigen, die Umgebung zu brechen und zu reparieren" - Ryan Gibbons
Das steht in direktem Konflikt mit der Bereitstellung zuverlässiger Dienste und warum Entwickler manchmal Entwickler sein können, die ohne Verständnis spielen. Die Fähigkeit besteht darin, das richtige Gleichgewicht zwischen freier Entwicklung und Ringfencing-Änderung zu finden, um Pausen vom Benutzer hinter Staging, Redundanz usw. zu verbergen. - JamesRyan


Wir arbeiten daran, genau das bei National Instruments zu tun. Sie können mehr darüber lesen, was wir tun http://dev2ops.org/blog/2010/4/27/qa-ernest-mueller-on-bringing-agile-to-operations.html

Die Mischung der Werkzeuge, die Cage Nut hier erwähnt, geht grundsätzlich in die Richtung, in die wir uns hier bewegen.


4
2018-05-17 22:10





Der beste Ansatz besteht darin, die Umgebung zu verstehen, in der Sie arbeiten. Beginnen Sie mit den Entwicklern und Managern zu sprechen. Versuchen Sie, sie an Bord zu bringen und Ideen von ihnen abzuwerfen. Wahrscheinlich werden sie eine gute Vorstellung davon haben, wie die Dinge laufen und ob deine Ideen für die Einführung von Devils irgendwelche Probleme verursachen werden.

Von dort aus beginnen Sie, sich Anwendungen anzusehen und sie einzeln nacheinander einzuführen, um Probleme zu lösen.


2
2018-05-18 00:52



introduce them one at a time to solve problems.+1 - Banjer


Während die Werkzeuge und Techniken wichtig sind, ist der kritische Pfad in der gesamten Organisation zusammenzuarbeiten. Heutzutage IT-Betrieb ist Geschäftsbetrieb. Etsy zeigt Umsatzänderungen in ihren Dashboards an, die für alle sichtbar sind.


0
2017-08-04 23:44