Note :

Ce livre présente une exploration innovante et accessible de l'architecture pour les données immuables, en s'appuyant sur une base mathématique solide. Il traite de la pertinence de l'architecture immuable dans le développement de logiciels modernes, en offrant un aperçu de concepts tels que le modèle historique et le langage de modélisation factuel. Bien que le livre soit agréable à lire et qu'il incite à la réflexion, son application pratique présente des difficultés en raison du soutien limité existant dans le paysage du développement logiciel.
Avantages:⬤ Très lisible et accessible, malgré le fait qu'il soit écrit par un mathématicien.
⬤ Explications claires et concises de sujets complexes tels que React, la blockchain et les données immuables.
⬤ Fournit des informations précieuses sur les différentes approches et concepts architecturaux.
⬤ Présente des idées révolutionnaires qui remettent en question les modèles traditionnels de données d'application.
⬤ L'élégance et la spécificité du langage sont dues à la formation mathématique de l'auteur.
⬤ De nombreuses idées présentées sont en avance sur leur temps et n'ont pas encore été largement adoptées par l'industrie.
⬤ Support pratique limité avec peu de bibliothèques ou d'outils existants pour mettre en œuvre les concepts discutés.
⬤ Nécessite de nombreuses lectures de base pour saisir pleinement les concepts présentés.
(basé sur 5 avis de lecteurs)
The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems
Ce livre vous apprend à évaluer un système distribué du point de vue des objets immuables. Vous comprendrez les problèmes des conceptions existantes, saurez comment apporter de petites modifications pour corriger ces problèmes et apprendrez à appliquer les principes de l'architecture immuable à vos outils.
La plupart des composants logiciels se concentrent sur l'état des objets. Ils stockent l'état actuel d'une ligne dans une base de données relationnelle. Ils suivent les modifications de l'état au fil du temps, en se basant sur plusieurs hypothèses de base : il existe une seule et dernière version de chaque objet, l'état d'un objet change de manière séquentielle et il existe un système d'enregistrement.
C'est un défi lorsqu'il s'agit de construire des systèmes distribués. Qu'il s'agisse de microservices autonomes ou d'applications mobiles déconnectées, la plupart des problèmes que nous essayons de résoudre se résument à la synchronisation d'un état en constante évolution entre des composants isolés. Les systèmes distribués seraient beaucoup plus faciles à construire si les objets ne pouvaient pas changer.
Après avoir lu L'art de l'architecture immuable, vous comprendrez les avantages de l'utilisation d'objets immuables dans vos propres systèmes distribués. Vous apprendrez un ensemble de règles pour identifier et échanger des objets immuables, et vous verrez une collection de théorèmes utiles qui émergent et garantissent que les systèmes distribués que nous construisons sont finalement cohérents. En utilisant des modèles, vous trouverez où la vérité converge, vous verrez comment les changements sont associatifs plutôt que séquentiels, et vous vous sentirez à l'aise pour comprendre qu'il n'y a plus de source unique de vérité. Des exemples pratiques renforcent la façon de construire des logiciels en utilisant les modèles, les techniques et les outils décrits. À la fin du cours, vous posséderez le langage et les ressources nécessaires pour analyser et construire des systèmes distribués en toute confiance.
Les hypothèses du passé étaient suffisantes pour construire des systèmes mono-utilisateur et mono-ordinateur. Mais au fur et à mesure que nous nous étendons à de multiples appareils, à des expériences partagées et à l'informatique en nuage, elles se retournent contre nous. Il est temps d'adopter de nouvelles hypothèses. Commencez par des objets immuables et construisez de meilleurs systèmes distribués.
Ce que vous apprendrez
⬤ Évaluer un système distribué du point de vue des objets immuables.
⬤ Reconnaître les problèmes dans les conceptions existantes et apporter de petites modifications pour les corriger.
⬤ Démarrer un nouveau système à partir de zéro, en appliquant des modèles.
Appliquer les principes de l'architecture immuable à vos outils, y compris les bases de données SQL, les files d'attente de messages et les protocoles de réseau que vous utilisez déjà.
⬤ Découvrir de nouveaux outils qui appliquent nativement ces principes.
A qui s'adresse ce livre ?
Aux architectes logiciels et aux développeurs seniors. Il contient des exemples en SQL et dans des langages tels que JavaScript et C#. Une expérience préalable de l'informatique distribuée, de la modélisation des données ou de l'analyse commerciale est utile.