Comment un Sys. Compétences administratives pour travailler en tant qu'ingénieur DevOps?

10

Je suis à la recherche de recommandations sur la façon de devenir un ingénieur DevOps dédié.

J'ai toujours voulu travailler sur des projets liés au développement car j'adore coder mais malheureusement je n'ai jamais eu la chance. J'ai déjà travaillé sur des projets indépendants en utilisant .Net et PHP et je suis certifié en Java SE mais je ne l'ai jamais utilisé.

Mon expérience de travail comprend la gestion de systèmes et d'applications. La plupart du temps, je suis un senior maintenant dans ce domaine, donc un passage au développement n'est pas préféré car je devrais recommencer en tant que junior. Cependant, je pense que DevOps sera parfait pour moi, mais je dois savoir ce que je dois étudier pour combler les lacunes dans mes connaissances pour être un bon ingénieur DevOps dédié (de préférence la partie sur l'écriture d'automatisation et d'outils).

Veuillez recommander ce que je devrais étudier, par exemple j'ai entendu dire que Python et Perl et Ruby sont très bons pour DevOps, mais par quoi d'autre devrais-je commencer et quelles sont les compétences obligatoires que je dois couvrir en premier?

Mes compétences actuelles:

Sys. Admin

  • Administration Unix (HP-UX, Solaris) et Linux (Ubuntu, Red Hat, CentOS)
  • Administration des technologies middleware (WebLogic, Apache-Tomcat, WebSphere, MQ)
  • Script Bash / Shell

  • Configuration et administration du serveur Web

  • Excellente connaissance des systèmes de base de données courants (SQL Server, Oracle, MySQL, etc.)
  • Services Web et intégrations SOAP / REST / API
  • Oracle Business Intelligence Suite (OBIEE, DAC, Informatica)
  • Développement et administration des remèdes ITSM.
  • SAP Business Object (Analytics).
  • Splunk
  • Centre de service - Gestion des services informatiques compatible avec l'ITIL
  • Bonne compréhension des technologies d'application Web.

Développeur

  • Compétences de développement expert dans Microsoft Visual Basic.
  • Excellentes compétences en développement dans Java SE.
  • Développement Microsoft .Net
  • Développement MS SharePoint.
  • Expert en MS Office avec une connaissance approfondie des macros et de l'automatisation dans toutes les applications MS Office.
  • Développement PHP intermédiaire (CakePHP)
user3561596
la source

Réponses:

8

Consultez les rôles d'ingénieur DevOps et consultez la liste des technologies qu'ils recherchent. En règle générale, vous aurez besoin de compétences en script d'automatisation (comme Bash, Python ou PowerShell), des compétences en gestion de configuration (comme Chef, Puppet ou Ansible) et une expérience fondamentale de la maintenance et de la configuration d'un pipeline Build / Release. Pour cela, cherchez à acquérir de l'expérience avec les outils CI / CD comme AppVeyor (.NET), Jenkins, Travis CI etc. Vous devez également être familier avec Git et les systèmes de contrôle de source en général tels que BitBucket ou TFS. Vous auriez également intérêt à vous familiariser avec les techniques de test automatisé.

Si vous ne l'avez pas déjà fait, envisagez d'héberger certains produits open source dans Github et de configurer un pipeline pour eux qui effectue des tests automatisés sur les validations ainsi que (si possible) la publication sur un système de gestion de packages. C'est une expérience formidable qui démontre vos compétences.

Pour une compréhension plus générale de la philosophie de DevOps (sachez qu'il s'agit à la fois d'une culture et d'un ensemble technologique), faites autant de lecture que possible sur le sujet et commencez à suivre (par exemple via Twitter) les goûts de Gene Kim, Jez Humble et Patrick Debois. Je vous recommande également de lire le manuel DevOps qu'ils ont rédigé. Il s'agit d'une explication très approfondie de ce qu'est DevOps ainsi que de la manière dont les organisations pourraient l'adopter.

Vous pouvez également consulter DevOps liés Rencontrez Ups et conférences (telles que la vitesse , DevOpsDays et Config Camp Management ). Les opportunités varieront bien sûr selon l'endroit où vous vous trouvez dans le monde.

Mark Wragg
la source
bien dit .. d'après mon expérience issue du développement dans DevOps et en travaillant avec des administrateurs sys, ils manquent généralement des compétences les plus recherchées sous la forme de contrôle de version (Git), de compétences de script de base (bash ou Python) et de pouvoir construire des pipelines en utilisant quelque chose de similaire à Jenkins Pipeline DSL .. Je recommanderais également terraform en plus de connaître l'un des principaux outils CM (marionnette, chef, ansible, sel)
TechDawg270
2

Faites une liste des outils DevOps qui semblent être populaires, téléchargez, suivez le manuel et faites-le.

  • Vagabond
  • Ansible
  • Docker
  • Kubernetes / OpenShift

Cela vous donnera un bon départ en cours d' exécution avec les outils plus près du côté « Ops », et - si vous parvenez à choisir également pourquoi et pour quoi ces outils sont utilisés - vous faire un membre digne de la plupart des équipes. Vous pouvez ramasser le plus de morceaux Dev-sided au fur et à mesure (par exemple, les pipelines CI / CD, etc.).

AnoE
la source