Wie kann ein Sys. Admin-Fähigkeiten bis zur Arbeit als DevOps-Ingenieur?


10

Ich suche nach Empfehlungen, wie ich mich als engagierter DevOps-Ingenieur qualifizieren kann.

Ich wollte schon immer an entwicklungsbezogenen Projekten arbeiten, da ich das Codieren liebe, aber leider habe ich nie die Chance dazu bekommen. Ich habe zuvor an freiberuflichen Projekten mit .Net und PHP gearbeitet und bin in Java SE zertifiziert, habe es aber nie verwendet.

Meine Berufserfahrung umfasst die Verwaltung von Systemen und Anwendungen. Meistens bin ich jetzt ein Senior in diesem Bereich, daher wird ein Wechsel zur Entwicklung nicht bevorzugt, da ich als Junior neu anfangen müsste. Ich denke jedoch, dass DevOps perfekt für mich sein wird, aber ich muss wissen, was ich studieren muss, um die Lücken in meinem Wissen zu schließen, um ein guter engagierter DevOps-Ingenieur zu sein (vorzugsweise der Teil über das Schreiben von Automatisierung und Tools).

Bitte empfehlen Sie, was ich lernen soll, zum Beispiel habe ich gehört, dass Python, Perl und Ruby sehr gut für DevOps sind, aber womit sollte ich noch beginnen und welche obligatorischen Fähigkeiten muss ich zuerst behandeln?

Meine aktuellen Fähigkeiten:

Sys. Administrator

  • Unix (HP-UX, Solaris) und Linux (Ubuntu, Red Hat, CentOS) Administration
  • Administration von Middleware Technologies (WebLogic, Apache-Tomcat, WebSphere, MQ)
  • Bash / Shell Scripting

  • Konfiguration und Verwaltung des Webservers

  • Hervorragende Kenntnisse gängiger Datenbanksysteme (SQL Server, Oracle, MySQL usw.)
  • Webdienste und Integrationen SOAP / REST / API
  • Oracle Business Intelligence Suite (OBIEE, DAC, Informatica)
  • Entwicklung und Verwaltung von ITSM-Arzneimitteln.
  • SAP Business Object (Analytics).
  • Splunk
  • Service Center - ITIL-fähiges IT-Service-Management
  • Starkes Verständnis der Webanwendungstechnologien.

Entwickler

  • Expertenentwicklungsfähigkeiten in Microsoft Visual Basic.
  • Hervorragende Entwicklungsfähigkeiten in Java SE.
  • Microsoft .Net-Entwicklung
  • MS SharePoint-Entwicklung.
  • Experte für MS Office mit Expertenwissen in Makros und Automatisierung für alle MS Office-Anwendungen.
  • Intermediate PHP-Entwicklung (CakePHP)

Antworten:


8

Suchen Sie nach DevOps Engineer-Rollen und sehen Sie sich die Liste der Technologien an, nach denen sie suchen. In der Regel benötigen Sie Kenntnisse in der Automatisierung von Skripten (wie Bash, Python oder PowerShell), Kenntnisse im Konfigurationsmanagement (wie Chef, Puppet oder Ansible) sowie grundlegende Erfahrung in der Wartung und Konfiguration einer Build / Release-Pipeline. Machen Sie sich hierzu mit CI / CD-Tools wie AppVeyor (.NET), Jenkins, Travis CI usw. vertraut. Sie sollten auch mit Git- und Quellcodeverwaltungssystemen im Allgemeinen wie BitBucket oder TFS vertraut sein. Sie würden auch davon profitieren, sich mit automatisierten Testtechniken vertraut zu machen.

Wenn Sie dies noch nicht getan haben, sollten Sie einige Open Source-Produkte in Github hosten und eine Pipeline für diese einrichten, die automatisierte Tests für Commits sowie (wenn möglich) Veröffentlichungen auf einem Paketverwaltungssystem durchführt. Dies ist eine großartige Erfahrung und zeigt Ihre Fähigkeiten.

Um ein allgemeineres Verständnis der Philosophie von DevOps zu erhalten (achten Sie darauf, dass es sich sowohl um eine Kultur als auch um ein Technologie-Set handelt), lesen Sie so viel wie möglich über das Thema und folgen Sie (z. B. über Twitter) Leuten wie Gene Kim und Jez Humble und Patrick Debois. Außerdem empfehle ich Ihnen, das von ihnen verfasste DevOps-Handbuch zu lesen . Es ist eine sehr gründliche Erklärung, was DevOps ist und wie Organisationen es übernehmen könnten.

Sie können sich auch DevOps-bezogene Meet Ups und Konferenzen ansehen (z. B. Velocity , DevOpsDays und Config Management Camp ). Die Möglichkeiten variieren natürlich je nachdem, wo auf der Welt Sie sich befinden.


Gut gesagt. Aus meiner Erfahrung mit der Entwicklung zu DevOps und der Arbeit mit Systemadministratoren fehlen ihnen normalerweise die am meisten nachgefragten Fähigkeiten in Form von Versionskontrolle (Git), grundlegenden Skriptfähigkeiten (Bash oder Python) und der Fähigkeit, Pipelines zu erstellen Ich würde auch Terraform empfehlen, zusätzlich zu einem der wichtigsten CM-Tools (Marionette, Koch, Ansible, Salz)
TechDawg270

2

Erstellen Sie eine Liste der DevOps-Tools, die beliebt zu sein scheinen, laden Sie sie herunter, folgen Sie dem Handbuch und machen Sie es einfach.

  • Landstreicher
  • Ansible
  • Docker
  • Kubernetes / OpenShift

Dies gibt Ihnen einen guten Start mit den Tools, die näher an der "Ops" -Seite liegen, und macht Sie zu einem würdigen Mitglied der meisten Teams , wenn Sie auch herausfinden, warum und was für diese Tools verwendet werden. Sie können die dev-seitigeren Teile (z. B. CI / CD-Pipelines usw.) aufheben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.