SRE: les compétences demandées autour d'AWS

23 octobre 2020

Logo SRE

Après avoir passé quelques entretiens cet été sur des postes de DevOps/SRE dans des sociétés utilisant AWS, voici les compétences qui m'ont été demandées le plus souvent...

Ayant travaillé sur des serveurs embarqués pendant 5 ans.. (Travail par ailleurs super intéressant)..

Au moment de changer de poste, j'ai rencontré quelques difficultés à sortir du lot parmi d'autres candidats sur des postes d'Ingénieurs Cloud Senior/DevOps/SRE Senior. (sur des salaires à Paris de plus de 60 k €). Je suis pourtant passionné d'AWS et ceux me connaissent savent que je m'investis à fond.

Pour je dois bien le reconnaitre, je manque d'expérience sur la gestion d'infrastructure sur AWS, les stacks Kubernetes, le monitoring, la mise à l'échelle et la haute-disponibilité, etc..

Compétences demandées

Connaissances et compréhension des services de base AWS

  • En Général

    • Savoir expliquer quels sont les avantages et inconvénients d'un service managé ?
  • EC2

    • Autoscaling Group
    • Application Load Balancer / Network Load Balancer
    • Security Group
    • Comment créer une AMI (packer)
  • EKS

    • Compréhension globale de Kubernetes
      • Décrire le fonctionnement du stockage (PV,PVC, StorageClass)
      • Connaitre le maximum de scénario pouvant se produire ou provoquer des blocages etc.. (Pour moi cela s'acquiert avec l'expérience mais bon, c'est demandé quand même)
    • Savoir dire en quoi EKS est intéressant à vis d'un cluster Kubernetes géré par soi-même
  • Route53

    • Décrire le service
    • Lister différentes politique de routage
  • S3

    • Savoir créer un rôle IAM de tête pour qu'une application puisse lire/écrire dans un bucket
  • RDS

    • Connaitre les possibilités en termes de haute-disponibilité
    • Connaitre les possibilités en termes de backup
  • IAM

    • Comment donne t'on les droits à une application en dehors d'AWS
    • Comment donne t'on les droits à une application s'exécutant sur une instance EC2
    • Comment donne t'on les droits à un utilisateur sur sa machine
  • CloudWatch Metrics

    • Savoir créer des alarmes
  • Monitoring et Alerting

    • Connaitre le fonctionnement d'un ou plusieurs outils de monitoring (Prometheus, CloudWatch, etc..)
  • Logs

    • Connaitre le fonctionnement et la mise en oeuvre de CloudWatch logs (retention, recherche)
    • Connaitre le fonctionnement et la mise en oeuvre de service tiers de gestion de logs (DataDogs,...)
    • Connaitre au moins Grafana (par exemple sur Prometheus)
    • Connaitre ELK
  • Rôle des composants suivants:

    • CloudFront
    • Kinesis (Stream)
    • Elasticache
    • DynamoDB
    • Lambda
    • SQS
    • SNS
  • Autres outils souvent demandés:

    • Terraform
    • CloudFormation
    • Ansible
    • Savoir écrire des Helm Charts ou des Charts Kustomize
    • AWS CDK (ne devrais pas tarder...)

Architecture

Etudier/Faire de la veille sur des architectures intéressante mise en place par des sociétés connues sur AWS (Netflix et autres)

Par exemple avec la série de vidéos ou des articles blog. This is My Architecture

Base de donnée

  • Avoir une expérience sur base NoSQL MongoDB/DocumentDB/DynamoDB (Sharding)
  • Avoir une expérience sur MySQL (Master/Slave), (Read replicas)

Développement

  • Connaitre au moins language de scripting, j'ai noté qu'être polyglotte (connaitre plusieurs languages de programmation) était bien percu.
  • S'intéresser à Golang ou NodeJS
  • Connaitre les compléxité de tel ou tel fonction (Honnêtement, personnellement je ne sais pas répondre à ces questions)

Tests techniques

  • Généralement des discussions techniques avec les membres de l'équipe SRE
  • Parfois des Coding Game (adapté à AWS avec des questions sur le Python)
  • Parfois des analyses de données (un jeu de donnée est fourni, on doit retrouver des valeurs dans le jeu de donnée).

Conclusion

Beaucoup de compétences demandées sur ces postes (Senior), cela montre qu'il faut rester formé en permanence pour être compétitif. Evidemment, il est utile se renseigner sur la stack (souvent décrites dans les annonces) et de rafraichir ses connaissances avant les entretiens.

Pour le reste, quand je n'ai pas la réponse, je part du principe que je ne sais pas, mais que j'adore apprendre.

D'ailleurs, je compte bien traiter l'essentiel des sujets sur ce blog (voir ma TODO)

Update du 07/11/2020, on va plutôt créer une startup :)

N'hésitez pas à commenter s'il manque des sujets, je suis preneur de vos retours :)


Chargement en cours

Ajouter un commentaire

Photo Thibault Cordier

Thibault Cordier

Freelance DevOps & Cloud