Fundamentals of Software Architecture: An Engineering Approach

£3,609

Description de l’éditeur

parteagerparteager

parteagerparteager

De la préface

Les mathématiciens créent des théories basées sur des axiomes, des hypothèses pour des choses incontestablement vraies. Les architectes logiciels construisent également des axiomes, mais le monde du logiciel est, eh bien, plus doux que les mathématiques : les choses fondamentales continuent de changer à un rythme rapide dans le monde du logiciel.

L’écosystème du développement logiciel existe dans un état constant d’équilibre dynamique : alors qu’il existe dans un état équilibré à un moment donné, il présente un comportement dynamique sur le long terme. Un excellent exemple moderne de la nature de cet écosystème suit l’ascension de conteneurisation et les changements qui en découlent : des outils comme Kubernetes n’existaient pas il y a dix ans, mais aujourd’hui, des conférences logicielles entières existent pour servir ses utilisateurs. L’écosystème logiciel change de manière fractale : un petit changement entraîne un autre petit changement ; lorsqu’il est répété des centaines de fois

Les architectes ont la responsabilité importante de continuer à remettre en question les hypothèses et les axiomes hérités des époques précédentes. De nombreux livres sur l’architecture logicielle ont été écrits à une époque qui ne ressemble qu’à peine au monde actuel.

En fait, les auteurs pensent que nous devons régulièrement remettre en question les axiomes fondamentaux, à la lumière de l’amélioration des pratiques d’ingénierie, des écosystèmes opérationnels, des processus de développement de logiciels, tout ce qui constitue l’équilibre désordonné et dynamique où travaillent au quotidien architectes et développeurs.

Des observateurs attentifs de l’architecture logicielle au fil du temps ont été témoins d’une lente évolution des capacités. En commençant par les pratiques d’ingénierie de la programmation eXtreme, en passant par la livraison continue, la révolution DevOps, les microservices, la conteneurisation et maintenant les ressources basées sur le cloud, toutes ces innovations conduisent à de nouvelles capacités et à de nouveaux compromis. Pour illustrer bien ce changement de perspective, pendant de nombreuses années, la définition ironique de l’architecture logicielle était « ce qui est difficile à changer plus tard ». Ensuite, le style d’architecture des microservices est apparu, où le changement est une considération de conception de première classe.

Chaque nouvelle ère nécessite de nouvelles pratiques, outils, mesures, modèles et une foule d’autres changements. Ce livre examine l’architecture logicielle sous un jour moderne, en tenant compte de toutes les innovations de la dernière décennie, ainsi que de nouvelles métriques et mesures adaptées aux nouvelles structures et perspectives désormais disponibles.

Ce livre ne fera pas de quelqu’un une architecture logicielle du jour au lendemain, c’est un domaine nuancé aux multiples facettes. Nous voulons fournir aux architectes existants et en plein essor un bon aperçu moderne de l’architecture logicielle et de ses nombreux aspects, de la structure aux compétences générales. Bien que ce livre couvre des modèles bien connus, nous adoptons une nouvelle approche, en nous appuyant sur les leçons apprises, les outils, les pratiques d’ingénierie et d’autres contributions modernes pour créer un livre moderne sur l’architecture logicielle.

Titres associés
Analyse de compromis moderne pour les architectures distribuées Soutenir le changement constant Redéfinir le rôle de l’architecte dans l’entreprise numérique

There are no comments yet.

Be the first to comment on “Fundamentals of Software Architecture: An Engineering Approach”

Your email address will not be published.