Component Factory ★ 2013 : un jar exécutable en mode message (un simple Business Component pour notifier le status des ordres de paiement) Monolithe Style d’Architecture
microservice) Peur du Changement ★ Il sera petit (quelques mega) ★ Il sera déployé en dehors d’un serveur d’appli ★ Ce sera un processus autonome ★ Il aura : ☑ son propre code ☑ sa propre base de données ☑ sa propre implémentation ☑ son propre cycle de livraison ★ Il communiquera avec un protocole lâches (Pub/Sub) ★ Il aura la responsabilité la plus simple possible ★ Il sera scalable Règles D’architecture
B S’enregistrer Router Eureka (discovery) Client Exposer /feature-a/** /feature-b/** ZUUL (edge) Load balancer Circuit breaker Complexité induite Feature A A B Simplicité de déploiement Résilience
Docker ◦ Docker registry ★ Rancher ◦ Rancher catalog ★ Services à la demande ★ Mise en commun des ressources ★ Elas<cité rapide ★ Services mesurés ★ SaaS ★ PaaS ★ IaaS Infra As Code
deux contextes ? 䡦 Requêtes HTTP synchrones depuis un aggrégateur ? Cohérence des données Client Ordre Ordre DB Client DB ? ? ? 䡦 Vue matérialisée entre les 2 contextes ? 䡦 Fusionne les microservices et les bases ? 䡦 “Change Data Capture” entre les bases ? ?
de prod pour démarrer la Transformation ★ Utilisez les coûts due à l’obsolescence comme Levier pour initier le changement ★ Commencez par la Reproductibilité avec le CI si vous voulez créer le besoin de livrer par incrément ★ N’ayez pas peur de vous tromper jusqu’à ce que vous trouviez votre Style d’architecture et retrouviez le Plaisirs de coder ★ Utilisez vos réussites pour définir vos Règles d’architecture ★ Standardisez vos microservices pour en faciliter l’Adoption ★ Utilisez un Discovery Server (API Gateway) pour Simplifier les déploiements et augmenter la Résilience ★ Utilisez les sous domaines et les cartes de contexte du DDD pour identifier les Frontières de vos microservices ★ Utilisez les faux microservices pour donner de la Confiance dans votre stratégie de migration ★ Testez une feature dans une équipe cross-fonctionnelle pour avoir des Objectifs partagés avec les Ops ★ Bénéficiez rapidement d’une Infra as code avec Docker et du Provisionnement automatique avec Rancher ★ Utilisez le pattern CQRS/ES pour garantir la Cohérence des données cross-domaines