Profil de Samuel DENIS
Devops Cloud et Kubernetes

Expérience

J'ai une expérience totale de 7 ans et demi :

  • 5 ans de freelance
  • 1 an et demi en CDI
  • 1 an de stages

Disponibilité

Je suis disponible à partir de mi-2023 à raison de maximum deux jours par semaine pour une mission devops cloud et kubernetes.

Compétences

Architecture
  • Micro-services
  • Modular monolithe
  • API (RESTful, JSON)
  • Messaging
Cloud
  • IaC (Terraform)
  • Scaleway
  • AWS
  • OVH
  • GCP
Conteneurs
  • Kubernetes
  • Docker
  • Podman
  • Docker Compose
Outils Kubernetes
  • Helm
  • Istio
  • cert-manager
  • PostgreSQL operator
  • RabbitMQ operator
GitOps
  • ArgoCD
  • FluxCD
  • Gitlab Agent
Packaging
  • Kustomize
  • Helm
  • Harbor registry
Gestion de secrets
  • Hasicorp Vault
  • Sealed Secrets
  • External Secrets Operator
Intégration continue
  • Gitlab CI/CD
  • Bitbucket Pipelines
  • Github Actions
Systèmes d'exploitation
  • Arch Linux
  • Debian
  • Alpine Linux
  • Ubuntu
Serveurs web
  • Nginx
  • Caddy
  • Apache 2
Langages
  • NodeJS (Typescript, Javascript)
  • Python (Flask, Django, scripting)
  • Shell (POSIX, Bash)
  • Notions de Rust
Bases de données
  • PostgreSQL
  • MongoDB
  • MySQL/MariaDB
  • Redis
Messaging et streaming
  • RabbitMQ
  • AWS SQS
  • Apache Kafka
  • MQTT
Gestion de version
  • Git (Git Flow)
  • Mercurial
Méthodologie
  • Agile/SCRUM
  • Kanban
  • Télétravail
Gestion de projet
  • Jira
  • Trello
  • Redmine
Langues
  • Français (langue maternelle)
  • Anglais (professionnel)

Expériences

Depuis mars 2022 : devops Kubernetes

Poste
devops Kubernetes
Client
Socotec IO
Durée
en cours

Contexte

Socotec IO est la branche technologique de Socotec qui gère la majorité des logiciels fournis en SaaS par la maison-mère à ses clients finaux. J'interviens dans le cadre de l'amélioration de l'infrastructure cloud et de leur utilisation de Kubernetes.

Réalisations

  • Transfert des différents services sur une installation GitOps avec Flux
  • Mise en place de Sealed Secrets pour chiffrer les variables sensibles
  • Amélioration continue des outils de déploiement
  • Travail coordonné avec le prestataire d'infrastructure

Environnement technique

Technologies
  • Kubernetes
  • Gitlab
  • Python
Kubernetes
  • FluxCD
  • Helm
  • Istio
Gestion de projet
  • Asana
  • Office.com
  • Méthodologie Agile

Octobre 2021 à décembre 2021 : devops

Poste
devops
Client
Witekio
Durée
3 mois

Contexte

Witekio a été choisi par un client final pour faciliter le développement d'un logiciel multiplateforme. J'ai notamment créé un environnement qui permet à un développeur de compiler le logiciel pour plusieurs plateformes.

Réalisation

  • Création d'un environnement de build sous Docker pour un logiciel multiplateforme

Environnement technique

Technologies
  • Docker
  • CMake
  • Qt
Gestion de projet
  • Azure Devops
  • Jira

Depuis mai 2021 : architecte et devops

Poste
architecte et devops
Client
Inferensia
Durée
en cours

Contexte

Inferensia a lancé en 2021 le développement de leur projet Kantik : une plateforme SaaS d'analyse de données comptables, notamment pour la détection de fraude et l'évaluation des risques. Je les accompagne en gérant toute la partie intégration continue, déploiement et infrastructure.

Réalisations

  • Aide à l'architecture des services
  • Création d'une architecture cloud à base de Kubernetes
  • Mise en place du déploiement continu et d'outils GitOps
  • Interconnexion de plusieurs clusters Kubernetes

Environnement technique

Infrastructure
  • Terraform
  • Scaleway
  • Kubernetes
  • Docker Compose
Kubernetes
  • ArgoCD
  • Kustomize
  • Helm
  • Istio
Outils
  • Gitlab CI/CD
  • Hashicorp Vault
  • Jira (Kanban)
  • Harbor registry
Bases de données et messaging
  • PostgreSQL
  • RabbitMQ

Novembre 2020 à avril 2021 : devops et consultant agile

Poste
devops et consultant agile
Client
Netframe
Durée
6 mois

Contexte

Netframe est une startup française qui développe une plateforme SasS, précisément un espace de travail pour les entreprises : réseau social, dépôt de documents et fils de discussions. J'ai pu les aider à créer une méthodologie agile tout en mettant en place leur premier déploiement continu sur une préproduction.

Réalisations

  • Mise en place d'une méthodologie inspirée d'Agile
  • Création d'un environnement de développement local avec Docker Compose
  • Migration de Bitbucket à Github
  • Initiatialisation d'une intégration continue
  • Architecture du nouvel environnement de production
  • Proof of concept d'utilisation de Kubernetes
  • Architecture et mise en place d'une préproduction sur Kubernetes
  • Création d'un déploiement continu pour la nouvelle préproduction

Environnement technique

Infrastructure
  • Docker Compose
  • Kubernetes
  • Voyager (HAProxy)
  • OVH
Langages
  • GNU Makefile
  • Python
  • PHP (Laravel 5)
Bases de données
  • MySQL
  • Elastic Search
  • Redis
Autre
  • Bitbucket puis Github
  • Netframe

Novembre 2019 à juin 2020 : architecte et développeur IoT/cloud

Poste
architecte et développeur IoT/cloud
Client
Witekio
Durée
8 mois

Contexte

Pour répondre aux besoins IoT d'un client final, Witekio a été choisi pour créer une plateforme SaaS de gestion de machines de chantiers. J'ai pu participer à l'architecture de la solution et son développement côté embarqué et cloud.

Réalisations

  • Développement de services pour un appareil embarqué
  • Mise en place de la communication entre l’appareil et le cloud
  • Création d’API cloud pour mettre à disposition les données récoltées par les appareils embarqués
  • Architecture des services embarqués et cloud, architecture de la communication entre les appareils et le cloud

Environnement technique

Langages
  • Python
  • NodeJS
  • Scripts Bash
  • Scripts shell POSIX
Bases de données
  • CosmosDB
  • MariaDB
  • SQLite
Infrastructure
  • Azure
  • Docker
  • Bitbucket Pipeline
Cloud Azure
  • WebApp
  • IoT Hub + DPS
  • CosmosDB
  • Functions
Organisation
  • Agile
  • SCRUM
  • Jira
  • Office 365

Juin 2019 à octobre 2019 : développeur cloud

Poste
développeur cloud
Client
Witekio
Durée
5 mois

Contexte

Pour un client final, dans un projet IoT, Witekio a été choisi pour développer une plateforme cloud de réception, stockage et mise à disposition (API) de données de capteurs. J'ai pu participer à la mise en place de l'infrastructure AWS et au développement du back-end.

Réalisations

  • Développement d’une plateforme cloud sur AWS pour réceptionner des données IoT
  • Architecture des services autour de l’event sourcing
  • Aide à la mise en place de l’infrastructure AWS

Environnement technique

Langages
  • NodeJS
  • TypeScript
  • Scripts shell POSIX
Bases de données et flux d'échanges
  • PostgreSQL
  • Kafka
  • Redis
Infrastructure
  • Docker
  • AWS EC2
  • AWS ECS
  • AWS System Manager
  • Bitbucket Pipeline
Organisation
  • Agile
  • SCRUM
  • Jira
  • Office 365
Autre
  • Authentification Keycloak
  • Docker Compose

Novembre 2018 à avril 2019 : architecte stockage de données

Poste
architecte stockage de données
Client
ITCE
Durée
6 mois

Contexte

ITCE est la branche IT de la Caisse d'Épargne. J'ai eu la chance d'y être intégré afin d'étudier des solutions novatrices en terme de stockage, notamment du NoSQL.

Réalisations

  • Comparatif de bases de données relationnelles (Oracle, PostgreSQL et MySQL) en termes de fonctionnalités, coût et performances
  • Définition de l’architecture d’une base MongoDB pour un POC
  • Validation de l’utilisation de MongoDB pour un futur projet

Environnement technique

Langages
  • SQL
  • Scripts shell POSIX
Bases de données
  • MongoDB
  • Oracle
  • PostgreSQL
  • MySQL
Outils
  • Confluence
  • Suite Office

Septembre 2018 : consultant MongoDB et NodeJS

Poste
consultant MongoDB et NodeJS
Client
Shortcuts
Durée
1 mois

Contexte

Shortcuts propose un logiciel de gestion pour les salons de coiffure. J'ai eu l'opportunité de les aider au début du développement d'un nouveau service avec des technologies qui leur était encore peu familières.

Réalisations

  • Définition et modélisation du stockage des données
  • Création d'indexes et de requêtes optimisées
  • Conseils en architecture de code back-end

Environnement technique

Langage
  • NodeJS
Base de données
  • MongoDB

Mars 2018 à novembre 2018 : consultant

Poste
consultant
Client
divers
Durée
8 mois

Contexte

Lors de mes débuts comme freelance, j'ai commencé par aider quelques petites startups à se lancer, notamment en proposant des infrastructures cloud, du consulting en stockage de données et de l'aide à la gestion de projet.

Réalisations

  • Mise en place d’infrastructures cloud
  • Mise en place de gestion de projet et pratiques devops (méthodologie agile, intégration continue, code review, tests, conteneurs, …)
  • Développement back-end
  • Conseils en stockage de données (bonnes pratiques, NoSQL, migration de bases de données relationnelles vers du NoSQL)

Environnement technique

Langages
  • NodeJS
  • PHP
  • Python
  • Scripts shell POSIX
Bases de données
  • MongoDB
  • MySQL/MariaDB
  • Redis
Infrastructure/devops
  • Scaleway
  • OVH
  • AWS
  • Docker
Cloud AWS
  • EC2 + VPC
  • RDS, ElastiCache
  • S3 + CloudFront
  • Route53
  • Lambda
Organisation
  • Agile (Scrum, Kanban)
  • Trello
  • Jira

Septembre 2016 à février 2018 : devops et développeur

Poste
devops et développeur
Entreprise
Datananas
Durée
1 an ½

Contexte

Après un premier logiciel de collection de prospects grâce à LinkedIn, Datananas a recruté une équipe pour développer un logiciel d'aide à la prospection commerciale grâce à de l'intelligence artificielle. J'ai eu la chance de faire partie de cette équipe à ma sortie d'école !

Réalisations

  • Mise en place de l'infrastructure AWS (migration depuis Heroku)
  • Migration de la base MongoDB depuis Mlab vers Atlas
  • Architecture des micro-services
  • Mise en place des tests fonctionnels

Environnement technique

Langages
  • NodeJS (Express)
  • modules npm internes
  • WordPress
  • Scripts shell POSIX
Bases de données et messaging
  • MongoDB
  • MySQL (WordPress)
  • Redis
  • RabbitMQ
Infastructure AWS
  • IAM
  • CodeDeploy
  • EC2 (VPC, instances, ELB)
  • Elastic Beanstalk
  • ECS + ECR
  • ElastiCache
  • S3
  • CloudFront
Organisation
  • Agile
  • Jira (sprints et Kanban)
  • Google Suite

Janvier 2016 à juin 2016 : développeur fullstack

Poste
développeur fullstack
Entreprise
Catalisio
Durée
6 mois

Contexte

Catalisio était une startup qui proposait un logiciel d'analyse SEO pour aider les e-commerçants dans leur référencement naturel afin de réduire leurs coûts SEA. L'entreprise tentait de « casser » le fameux « not provided » de Google Analytics. En 2017, Catalisio est racheté par Neodia Digital.

Réalisations

  • Création de regroupements sémantiques de mots-clés afin de mieux comprendre les utilisateurs des moteurs de recherche
  • Création du suivi de notoriété SEA/SEO pour mieux définier la priorisation des budgets SEA
  • Création d'un système de multi-comptes pour un même client
  • Proof of Concept technologique pour un passage de MySQL à MongoDB

Environnement technique

Langages back-end
  • PHP (Laravel 4)
  • Composer
  • Scripts Bash
Langages front-end
  • HTML
  • CSS
  • jQuery
  • AngularJS
Organisation
  • Agile
  • SCRUM
  • Redmine
  • Google Suite
Infrastructure/devops
  • Jenkins
  • AWS EC2
  • AWS RDS
  • AWS SQS

Février 2015 à mai 2015 : développeur et accélérateur de pages web

Poste
développeur et accélérateur de pages web
Entreprise
Braincracking
Durée
3 mois

Contexte

Braincracking est la société de consulting de Jean-Pierre Vincent, spécialisé dans la performance web et le développement. J'ai pu le suivre dans son quotidien et commencer à prendre goût à l'indépendance !

Réalisations

  • Amélioration de la performance de sites Web pour des clients grands comptes (chargement, affichage, fonctionnalités, …)
  • Développement d'une application JavaScript fullstack
  • Préparation d'une conférence sur les performances de rendu sur mobile
  • Préparation d'une formation sur la performance Web

Environnement technique

Langages
  • NodeJS (Express)
  • HTML
  • SASS
  • JavaScript (ES6)
Autre
  • Mercurial (Bitbucket)
  • Ubuntu Server
  • SQLite
Organisation
  • Kanban
  • Trello

Mai 2014 à août 2014 : développeur web

Poste
développeur web
Entreprise
Meltygroup
Durée
4 mois

Contexte

Meltygroup est un groupe de divertissement dédié aux jeunes qui gère, en 2014, plus de 20 sites, dont certains en tant que régie. Le tout grâce à une équipe de 8 développeurs, en 2014 tout du moins.

Réalisations

  • Maintenance des sites sur la plateforme interne
  • Gestion de la nouvelle version mobile des sites (création et déploiement global) conjointement avec le directeur artistique

Environnement technique

Langages back-end
  • PHP (framework interne)
  • Scripts Bash
  • Scripts shell POSIX
Langages front-end
  • HTML
  • SASS
  • Javascript (jQuery sur PC, natif sur mobile)
Autre
  • Nginx
  • Debian