Skip to main content

About me

Hi folks, I’m a web lover actually working @Cesson-Sévigné, mastering :

I can develop proper API design following DDD / Hexa principles if applicable. In addition to above .NET and PHP backend stacks, I’m also confident with :

I encourage TDD or at least proper integration tests on any backend frameworks, following AAA aka Arrange Act Assert principle :

Fully embracing app containerization with Docker and Kubernetes, from local, staging to production, I push to use properly configured CI/CD whenever possible in order to enforce continuous automatized testing, linting and code styling at many languages (ESLint, Prettier, PHP CS fixer, PHPStan, Black, mypy, Google Java Format, Spotless, and so on…).

Mastering installations and maintenance of Docker Swarm or bare metal Kubernetes clusters with HA architecture. Here some cloud native tools solutions I generally use :

  • HAProxy for high-availability across multiple frontend workers
  • Traefik as main automatic service discovery / ingress controller
  • Longhorn for distributed storage on Kubernetes 💽
  • cert-manager as central certificate solution for Kubernetes cluster
  • Portainer as simple GUI for containers management
  • Loki, Prometheus and Jaeger as respective logging, metrics and tracing tools
  • Grafana as GUI dashboard builder, designed for Ops
  • Gitea or GitLab as self-hosted VCS
  • SonarQube for automatic quality code scan
  • Drone or Concourse as CI solutions
  • Flux CD v2 as main CD solution for Kubernetes, allowing GitOps cluster management

I can install and manage primary-replica databases clusters, mainly PostgreSQL and MySQL, whether bare-metal or cloud managed with Kubernetes (statefulsets), with Prometheus metrics exporters.

For load testing, I can write scenarios for both K6 and Locust, coupled with proper time series DB as InfluxDB and Grafana as visualization tool. For advanced application performance analysis, I tend to use OpenTelemetry as collection tools for proper metrics that can be exposed to Prometheus, and tracing, ready to export into Jaeger.

Have some experiences with many mid-range cloud providers as Digital Ocean, Hetzner, OVH, Scaleway, and some knowledge on Terraform as main IaC tool and Salt as cluster wide configuration management.

Some notes of this blog :

  • Powered by Hugo
  • Hosted on Hetzner Cloud, fully GitOps managed from custom Terraform Hcloud project
  • Running on bare-metal lightweight Kubernetes multi-nodes cluster from K3s distribution
  • Kubernetes infrastructure completely managed with Terraform 🌴
  • HA setup using Hetzner LB, targeting 2 worker nodes, with Postgres cluster (managed on same Kubernetes cluster)
  • Traefik as reverse proxy, configured for HA 🛣️
  • Source code on my own Gitea
  • Compiled by my own Concourse instance as a final docker container image into self-hosted private registry (CI 🏗️)
  • Automatically deployed by Flux CD v2 to the Kubernetes cluster (CD 🚀)
  • Tracked with Umami 📈

All above tools are 💯% self-hosted ! Just sadly missing my own Homelab with Proxmox because no fiber 😿

Seems overkill ? Yeah, but why not ? I’m not able to write a single post without all that 😿

See some of my open sourced works.