Background color
A black and white photo of a bench.
Engineering
5
minutes
2023-08-15

Clean Architecture et Serverless : retour sur le Devfest 2023

Dernier REX de la série, Gauthier, Développeur Web & Ops, nous raconte son expérience lors du DevFest de Lille 2023 !

Gauthier
Développeur Web & Ops
Dans cet article

Réveil aux aurores ce vendredi 26 mai 2023, direction le DevFest 2023 au Grand Palais de Lille.

Arrivé sur place à 8h45, je rentre dans la grande salle avec un mon café et parcours les différents stands.

On débute cette journée dès 9:00 avec la Keynote d'ouverture en salle Grand Théâtre.

La première conférence à laquelle j’assiste, organisé par Alexandre Touret, débute à 10:00.

Le versionning des APIs REST: dans la vraie vie, on fait comment ?

Direction la salle Marie Curie. En place à 10:05, stylo en main !

Cette conférence, présentée par Alexandre Touret, Développeur Java et Architecte senior chez Worldline, nous plonge dans un cycle de développement d'une API REST dont le workshop est sur Github.

Il nous présentera une architecture micro-service, ainsi que des mécanismes de versioning mis en place afin permettre des évolutions pour chaque consommateur de cette API REST.

Au programme :

  • 1 client avec 2 fonctionnalités
  • Puis 2 client et 3 fonctionnalités

Alexandre soulève que cela peut générer des problèmes de compatibilités et impacter la chaine de livraison, sur l’organisation du code, sur la sécurité.

Il présente ensuite des sections à versionner : le business Layer, la database… Ainsi que des changements à apporter : bloquant, non bloquant par Github...

Je gribouille quelques notes : "Comment spécifier une version ? Par l'URL (dans le path, à la racine), Header HTTP(X-API-VERSION: v1)."

D’autres outils/notions tel que Gitflow, Changelogs, Configurations serveurs (Configs Map), Kibana (observabilités), model RBAC et ABAC, ont été présentés brièvement comme solutions ou améliorations possibles.

Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes

Direction la salle Grand Théâtre. En place à 11h05, carnet sur les genoux...

Cette conférence est présentée par Katia Himeur, CTO et cofondatrice de CockpitIO (spécialiste du Cloud & DevOps).

Le vendor locking correspond à la dépendance d'un client à l'égard d'un fournisseur cloud.

FaaS est l'acronyme de "function as a Service" et correspond à un type de service de cloud computing, tel que Lambda (AWS), serverless, qui permet aux utilisateurs de développer, d'exécuter et de gérer les fonctionnalités d une application sans avoir à fournir et à gérer les ressources informatiques sous-jacentes.

Ansi, chacun dispose du temps et des ressources nécessaires pour se concentrer sur sa propre activité plutôt que sur l'infrastructure qui la supporte.

En somme, une belle présentation technique, tel un POC, permettant de réaliser, avec OpenFaas et Kuberbenetes, ce type de système.

La clean architecture : une solution pour augmenter la maintenabilité de ses systèmes

Direction la salle Louis Pasteur. Je me trouve un siège dès 14h00.

Cette conférence est présentée par Mehdi Boissat-Bron, Développeur backend pour LeBonCoin.

Dans cette présentaton, Mehdi propose un retour d'experience. Nous avons découvert le parcours qui lui a permis de mener à bien ce choix technique, et l'intérêt de la clean architecture.

A noter : La clean architecture (et la Dependency Rule) s'applique aux langages agnostiques: Backend, Frontend.

Différent points ont été évoqués: l'arborescence, la centralisation du code métier dans la couche usecase (comme le montre le schéma ci-dessous), le domaine accessible partout dans l'application… Avant de poursuivre sur des cas d'utilisations et d'exercices sous forme de devinettes.

représentation par couches

🟦 Représentation sous forme de cercles concentriques. Chaque couche N peut accéder à la couche N-1

Nous avons également pu comprendre les bénéfices, tel que l'augmentation de la maintenabilité du code, et les inconvénients de la clean architecture, tel que la difficulté à la mettre en place sur du code legacy.

Belle présentation technique, quoique un peu courte !

Retour Aux Sources : Le cache HTTP

Direction la salle Grand Théâtre pour la seconde fois.

Cette conférence est présentée par Hubert Sablonnière, Ingénieur Logiciel pour Clever Cloud.

Hubert nous a présenté différentes règles et astuces pour mieux gérer notre cache HTTP, en passant par les différentes étapes d'une requête HTTP.

Il nous présentera par la suite les 2 différents types de cache HTTP : privé (navigateur) et partagé (CDN, reverse proxy).

🔥 Par exemple, dans Mozilla, vous pouvez taper dans l URL: about:cache?storage=disk afin de visualiser votre cache privé.

🔥 Un autre exemple proposé est d'utiliser l'en-tête HTTP cache-control afin de gagner en efficacité. D'autres en-tête HTTP nous ont été présenté tels que : etag, last-modified, vary (mais attention avec cette dernière).

En conclusion, une belle conférence, particulièrement intéressante d'un point de vue technique.

Alice au pays d'Opentelemetry

Direction la salle Marie Curie pour la seconde fois.

Cette conférence est présenté par Jérôme Tama, TechLead pour Onepoint.

Cette présentation reflète son expérience lors du déploiement d'OpenTelemetry, sur une application en production, développée avec Angular, Quarkus et déployée dans un cluster Kubernetes.

Nous avons également pu découvrir rapidement des outils tels que : ElasticSearch, Apache Kafka, PostgreSQL et Apache Nifi, Grafana (Tempo), Prometheus.

Dans son REX, il nous fait part de définition, du fonctionnement d'OpenTelemetry et de la réalité qui s'est révélée plus complexe que prévue.

Il s'agit, pour ma part, d'un pied à l'étrier dans l'univers OpenTelemetry qui permet d’augmenter l'observabilité de nos services.

Parlons produit

Échangeons sur votre produit

Nous croyons en un nouveau modèle de consulting où l’excellence commence par l’écoute, le partage et une vraie vision

background color