Le plein d'#opensource pour développer des systèmes complexes sans quitter sa machine de dev ⬇️

Hier j'ai onboardés 4 devs à l'Enspirit touch of software...

💡 C'est du blackbox software engineering :

  • il y a le logiciel qu'on développe, une boîte noire
  • il y a son environnement sur lequel on va vérifier ses effets souhaités

🎯 Le but c'est de gagner en vélocité et en qualité. On éviter les déploiements inutiles en staging/prod et le QA manuel pour vérifier que tout est ok.

🎯 On veut que tout soit fonctionnel et testable, sur une machine de développement ET dans la CI. Chaque développeur est pleinement responsable de la qualité du système logiciel assemblé.

Pour cela quelques ingrédients :

1️⃣ "make up" and go. Un nouveau développeur devrait être opérationnel en moins d'une heure, sur le système complet :

👉 Makefile for monorepo : https://github.com/enspirit/makefile-for-monorepos

2️⃣ On simule et on mock tous les composants externes pour lesquels il n'y a pas d'image docker disponible :

👉 Mock d'API : https://github.com/jmartin82/mmock
👉 Fake smtp : https://github.com/gessnerfl/fake-smtp-server
👉 Fake S3 : https://github.com/sculley/fake-s3
👉 Fake SES : https://github.com/Raynos/fake-ses
👉 Ce qui n'existe pas, on en crée un simulateur dont l'état est interrogeable

3️⃣ On contrôle et on peut interroger à tout moment l'état du système complet, c'est nécessaire pour le testing :

👉 Seed SQL : https://github.com/enspirit/dbagent
👉 Gateway de persistence : https://github.com/enspirit/seshat
👉 Magic API au-dessus de Postgres : https://postgrest.org/en/v12/explanations/install.html#docker
👉 Ce qui n'existe pas pour interroger l'état, on le crée

4️⃣ Testing en boîte noire :

👉 Testing d'API web : https://github.com/enspirit/webspicy
👉 Testing end2end : https://cypress.io

Gros bonus : la chaîne de CI&CD est largement simplifiée. Le Makefile offre une gestion complète du cycle de vie des images docker de tous les composants. Votre build revient à tout lui déléguer.

Il y a 15 ans de R&D là-dedans, pas mal de composants open-source ont été créés par Enspirit. C'est cadeau.

We are uncovering better ways of developing software by doing it and helping others do it.

#SoftwareEngineering #Agile

Retour