Les microservices nous ont fait rêvés sur le papier, dans la vrai vie c'est pas si évident à mettre en oeuvre. Certains d'ailleurs en reviennent, d'autres poussent le paroxysme plus loin (serverless). L'un des points qui peut être mal anticipé pendant la phase de conception c'est l'organisation d'un développement du point de l'équipe produit.
Dans la vraie vie chez Virtuo, les développeurs développent les features demandées par l'équipe produit :
1. On la développe (souvent sans bug)
2. Ils la testent manuellement pour se rendre compte de l'impact sur le parcours utilisateur (et quelques fois ils nous font des retours de multiples natures)
3. On met prod
Dans un monde monolithique avec un seul dev, ça demande un peu d'organisation, mais ça se fait bien :
1. On tire une nouvelle branche de master sur laquelle on développe et où on mets nos tests automatisés
2. On déploie un instance éphémère de l'application sur laquelle les PO font leur tests manuels
3. Quand ils sont prêts, on merge (à la limite, on reteste manuellement rapidos si ya des doutes)
4. On pousse en prod
Dans la vraie vie chez Virtuo où on a plusieurs développeurs, plusieurs applications (microservices), et plusieurs features développées en parallèle (et quelques fois le dev d'une feature peut demander la mise à jour de plusieurs microservices différents), ça demande un peu plus d'organisation.
Dans ce talk, on abordera notre utilisation chez Virtuo de Github, Heroku, CircleCI, Docker et EC2 (AWS) pour développer et déployer une a une les features.