SysAdmin, tout ce qu’il faut savoir sur ce métier en mouvance

Parfois également appelé Administrateur Systèmes et Réseaux, le SysAdmin est par définition plus orienté vers les technologies Open Source et à l'aise avec le scripting. Autrement dit, il va privilégier une console Bash à une interface graphique (GUI). Le SysAdmin est à l'écoute des collaborateurs et des besoins de l'entreprise, ses maîtres-mots sont organisation, anticipation et automatisation. De manière générale, c'est lui qu'on appelle à l'aide dès qu'on a un problème.  

Le SysAdmin est la personne en charge de tout ce qui touche de près ou de loin à un serveur ou au réseau. C'est lui qu'on appelle dès qu'on a un problème, comme une machine virtuelle inaccessible, ou qu'on a besoin d'une nouvelle machine. Très souvent, il vous répond : "Tu peux me faire un ticket stp ?" 

Un SysAdmin c'est quoi ? 

Parfois également appelé Administrateur Systèmes et Réseaux, le SysAdmin est par définition plus orienté vers les technologies Open Source et à l'aise avec le scripting. Autrement dit, il va privilégier une console Bash à une interface graphique (GUI).  Le SysAdmin est à l'écoute des collaborateurs et des besoins de l'entreprise, ses maîtres-mots sont organisation, anticipation et automatisation. De manière générale, c'est lui qu'on appelle à l'aide dès qu'on a un problème.    

Quel est son domaine de compétences ? 

Il possède également un large spectre de compétences et connaissances techniques. Cela passe notamment par l'utilisation, la gestion et l'administration : 

  • Du matériel physique (postes de travail, portables, serveurs) 
  • Des différents systèmes d'exploitation (Windows, Linux/Unix, MacOS, ...) 
  • Des hyperviseurs et outils gravitant autour de la virtualisation (VMware, VirtualBox, ...) 
  • Des réseaux (routage, wifi, ...) 
  • De la sécurité (gestion des accès, pare-feu, ...) 
  • De la supervision des environnements et services 
  • Du stockage 
  • De la gestion des sauvegardes 
  •  ... 

Il se doit d'être polyvalent sur les compétences citées ci-dessus, mais il peut être spécialisé dans une ou plusieurs d'entre elles (système, réseau, virtualisation, ...). Cela peut varier d'une organisation à l'autre en fonction des méthodes d'organisation utilisées (ITIL, Agilité, ...).   Au sein d'ISC France, le SysAdmin s'occupe de gérer tout cela et travaille étroitement avec les développeurs.  Historiquement, la stack technique utilisée était plus ou moins classique : postes de travail Windows, utilisation de VMs de développement pour les développeurs, hyperviseur VMware ESX pour héberger les différentes machines virtuelles, ... 

 

 

 

 

De nouvelles méthodes de travail 

Ces dernières années, des nouvelles technologies et façons de faire sont apparues dans le monde IT. 

Mouvement DevOps 

Le mouvement DevOps prône le rapprochement des développeurs et des opérationnels (SysAdmin /infogérants). C’est un élément déterminant sur le changement du métier de SysAdmin. Il doit permettre d’améliorer le time to market tout en limitant au maximum les possibilités d’erreurs humaines.  Le SysAdmin (ou Ops) doit maintenant travailler en amont avec les équipes de développement. Ceci étant, avec sa vision opérationnelle et sa maitrise technique il sait apporter de précieux conseils sur l'architecture système à mettre en place. Car oui, elle est forcément différente de ce qui était pratiqué par le passé.  De plus, étant pleinement impliqué dès le début, il peut prôner la proactivité plutôt que la réactivité. 

 

De nouveaux outils  

Docker 

Docker a été utilisé lors d'un POC (Proof Of Concept) grandeur nature au sein d'ISC France dès 2015, et nous a poussés à revoir nos méthodes de travail. Cet outil de "containerisation" est majoritairement au centre d'un grand nombre de changements. Il modifie radicalement la manière dont les applications sont hébergées, et nécessite la mise en place de nouveaux process.  En bref, il faut retenir que Docker permet de déployer très facilement et rapidement une application. Cet outil repose sur LXC (technologie de container datant en 2008) et facilite la gestion des containers. Les containers sont justement bien plus légers et polyvalents que les VMs ce qui apporte de nombreux avantages.  En revanche, un container étant par définition en lecture seule, cela change fondamentalement la gestion des données. La sécurité est un élément important à étudier dans le cadre d'hébergement d'applications utilisées en production. 

OpenStack  

En parallèle du POC Docker, courant 2015, nous avons travaillé à la mise en place d'un cloud privé OpenStack. Non pas pour remplacer l'intégralité de l'infrastructure VMware mais pour rajouter plus de flexibilité, de fonctionnalités et de réactivité à celle-ci.  Tout comme Docker, OpenStack est au cœur de nombreux changements dans les habitudes de travail et les façons de faire. La gestion des instances (VMs) se fait plus facilement en ligne de commande (CLI) et il est même possible de gérer la plateforme de cloud privé sans interface graphique grâce à l’API disponible. Avec elle, il est donc possible de créer des scripts afin d’automatiser un grand nombre d’actions.  Retrouvez plus de précision sur OpenStack dans cet article. 

Everything As Code et Immutabilité des environnements 

L’utilisation des instances marque un tournant du rapport entre le SysAdmin et ses VMs. On parle aussi d’un changement de paradigme Pet VS Cattle. L’heure de la sacro-sainte VM est maintenant révolue : si on a une instance qui pose problème, on ne cherche pas (trop) à comprendre le pourquoi du comment mais on procède à sa recréation. Pourquoi ? Car en amont tout a été scripté (via des scripts tels que bashplaybooks Ansible, …) et que les outils cités ci-dessus nous le permettent.  Docker permet, entre autres, de facilement appliquer ce principe. D’une part, la donnée utile est externalisée du container. D’autre part, il est possible de démarrer une application très rapidement avec l’utilitaire docker-compose. 

De manière générale chez ISC France, le démarrage des instances est également scripté afin d’effectuer la configuration ainsi que le démarrage automatique de l’application qu’elle est censée faire tourner. Elle est également immutable, ce qui signifie qu’elle est construite à partir d’un fichier descriptif et qu’une fois cette action faite, elle n’est plus modifiable. Des systèmes d’exploitation comme CoreOS (distribution minimaliste dédiée à l’exécution de containers Docker) fonctionnent sur ce principe-là.    

Un métier en mouvement 

En quelques années chez ISC France, la boite à outils du SysAdmin a évolué. En effet, elle s’est grandement étoffée, ce qui a redéfini le métier.  Ce sont ces changements qui ont poussé les SysAdmin et quelques experts en développement à former l’Equipe Moyens de Productions (EMP). Cette cohabitation permet ainsi de profiter des expertises de chacun et d’appréhender plus facilement les nouveaux outils.  Ils utilisent tous deux les mêmes outils (Docker, Ansible, …). Ces derniers reposent sur des fichiers qui, au même titre que le code, doivent être versionnés dans un gestionnaire de code source (SCM). Par conséquent, les SysAdmin utilisent quotidiennement Git pour leurs propres besoins. 

La complexité des environnements gérés par les SysAdmin a aussi augmenté. Par le passé, tout se passait au-dessus de la couche physique des serveurs : dans la VM. Aujourd’hui, on parle de container et d’un niveau d’abstraction plus élevé (il faut traverser plus de couches pour arriver à l’application). Cette complexité participe grandement à la montée en compétence du SysAdmin, mais apporte également de nouveaux challenges sur certains aspects du métier (gestion de la donnée, de la scalabilité des applications, de la haute disponibilité, …).  

Ces changements ne sont pas près de s'arrêter car nous travaillons dans un milieu qui évolue sans cesse et très rapidement. Aujourd’hui au sein d’ISC France, nous hébergeons la quasi-totalité de nos applications internes via des containers Docker, mais gérons ceux-ci “à la main”. Demain cette tâche sera déléguée à un orchestrateur (Kubernetes) qui reste à mettre à place et qui va, comme Docker en son temps, changer encore les façons de faire. Et vous, quelle est votre approche de ce métier ?