Muutke küpsiste eelistusi

Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture [Pehme köide]

  • Formaat: Paperback / softback, 352 pages, kõrgus x laius x paksus: 228x176x22 mm, kaal: 560 g
  • Sari: Addison-Wesley Signature Series (Vernon)
  • Ilmumisaeg: 28-Oct-2021
  • Kirjastus: Addison Wesley
  • ISBN-10: 0137355467
  • ISBN-13: 9780137355464
  • Formaat: Paperback / softback, 352 pages, kõrgus x laius x paksus: 228x176x22 mm, kaal: 560 g
  • Sari: Addison-Wesley Signature Series (Vernon)
  • Ilmumisaeg: 28-Oct-2021
  • Kirjastus: Addison Wesley
  • ISBN-10: 0137355467
  • ISBN-13: 9780137355464
Most recent microservices books fully buy into the hype, starting from the premise that microservices are nearly always the best approach to developing enterprise systems. But that isn’t always a safe assumption: in fact, in some cases, it can be disastrous, leading to architectures that serve nobody well. Strategic Microservices and Monoliths helps business decision-makers and technical team members collaborate to clearly understand their strategic problems, and identify their optimal architectural approaches, whether those turns out to be distributed microservices, well-modularized monoliths, or coarser-grade services partway between the two. 


Writing for executives and IT professionals alike, leading software architecture expert Vaughn Vernon and Tomasz Jaskula guide you through making balanced architecture compositional decisions based on need and purpose rather than popular opinion, so you can maximize business value and deliver systems that evolve more easily. Throughout, the authors provide realistic application examples, showing how to construct well-designed monoliths that are maintainable and extensible, and how to decompose massively tangled legacy systems into truly effective microservices.



Strategic Microservices and Monoliths helps business decision-makers and technical team members collaborate to clearly understand their strategic problems, and identify their optimal architectural approaches, whether those turns out to be distributed microservices, well-modularized monoliths, or coarser-grade services partway between the two. Writing for MBA and IT students alike, leading software architecture expert Vaughn Vernon and Tomasz Jaskula guide you through making balanced architecture compositional decisions based on need and purpose rather than popular opinion, so you can maximize business value and deliver systems that evolve more easily. Throughout, the authors provide realistic application examples, showing how to construct well-designed monoliths that are maintainable and extensible, and how to decompose massively tangled legacy systems into truly effective microservices. 

Arvustused

"Most books address either the business of software or the technical details of building software. Strategic Monoliths and Microservices provides a comprehensive approach to blending the needs of business and technology in an approachable way. It also dispels many of today's myths while offering practical guidance that any team or organization can apply immediately and with confidence." --James Higginbotham, Executive API Consultant, Founder of LaunchAny, and author of Principles of Web API Design

"Digital Transformation cannot succeed as a 'grass roots' effort. Vaughn and Tomasz offer C-level execs a roadmap to software excellence that includes establishing the culture necessary to foster and sustain software innovation. Written with real-world understanding, Vaughn and Tomasz help the reader to appreciate that moving software development from a cost center to a profit center involves tradeoffs that need not sacrifice innovation. A must-read for decision makers." --Tom Stockton, Principal Architect, MAXIMUS

"In this book, Vaughn Vernon and Tomasz Jaskua use their extensive experience with DDD to present a comprehensive guide to using the many different aspects of DDD for modern systems development and modernization. It will be a valuable guide for many technical leaders who need to understand how to use DDD to its full potential." --Eoin Woods, software architect and author

"There are common misconceptions and roots of failure around software engineering. One notable example is neglecting the rugged trek towards digital transformation. Such an endeavor comprises breakthrough innovations, failure culture, emphasis on the role of software architecture, as well as on the importance of efficient and effective inter-human communication. Fortunately, the authors offer the necessary help for  mastering all hurdles and challenges. What I like most about this book is the holistic view it provides to all stakeholders involved in digital transformation and innovation. Vaughn Vernon and Tomasz Jaskua introduce a clear path to successful innovation projects. They provide insights, tools, proven best practices, and architecture styles both from the business and engineering viewpoint. Their book sheds light on the implications of digital transformation and how to deal with them successfully. This book deserves to become a must-read for practicing software engineers, executives, as well as senior managers. It will always serve me as a precious source of guidance and as a navigator whenever I am entering uncharted territories." --Michael Stal, Certified Senior Software Architect, Siemens Technology

"Digital transformation is a much used but little understood concept. This book provides valuable insight into this topic and how to leverage your existing assets on the journey. Modern technical and social techniques are combined in the context of a single case study. Compelling reading for both business and technology practitioners." --Murat Erder, co-author of Continuous Architecture in Practice (2021) and Continuous Architecture (2015)

"Packed with insightful recommendations for every executive leader seeking clarity on the distinction between when to strategically apply a monolith vs. microservice architectural approach for success. Highly encourage every CEO, CIO, CTO, and (S)VP of Software Development to start here with immersing themselves in Vaughn and Tomasz's succinct distillation of the advantages, disadvantages, and allowance for a hybrid combination, and then go become a visionary thought leader in their respective business domain." --Scott P. Murphy, Principal Architect, Maximus, Inc.

"A 'must-read' for Enterprise leaders and architects who are planning for or executing a digital transformation! The book is a true guide for ensuring your enterprise software innovation program is successful." --Chris Verlaine, DHL Express Global Aviation IT DevOps Director, Head of DHL Express Global Aviation IT Software Modernization Program

" Strategic Monoliths and Microservices is a great resource to connect business value to an evolvable enterprise architecture. I am impressed with how the authors use their deep understanding and experience to guide informed decisions on the modularization journey. Along the way every valuable tool and concept is explained and properly brought into context. Definitely a must-read for IT decision makers and architects. For me this book will be an inspiring reference and a constant reminder to seek the purpose in architecture. The Microservices discussion has reached a completely new maturity level." --Christian Deger, Head of Architecture and Platform at RIO | The Logistics Flow, organizer of over 60 Microservices Meetups

"The choice of microservices or monoliths architecture goes far beyond technology. The culture, organization, and communication that exist within a company are all important factors that a CTO must consider carefully in order to successfully build digital systems. The authors explain this extremely well from various perspectives and based on very interesting examples." --Olivier Ulmer, CTO, Groupe La Française

"Building a technology engine to move quickly, experiment, and learn is a competitive advantage in today's digital world. Will ' de-jour architecture' help with this endeavor? This amazing book by Vaughn and Tomasz fills a void in the market and re-focuses on the core objectives of software architecture: move fast, experiment, focus on the outcomes that bring value. A reader will come away better suited to decide whether microservices architecture and all the complexity with it is right for them." --Christian Posta, Global Field CTO, Solo.io

Foreword xiii
Preface xvii
Acknowledgments xxv
About the Authors xxxi
Part I: Transformational Strategic Learning through Experimentation 1(100)
Executive Summary
3(4)
Chapter 1 Business Goals and Digital Transformation
7(32)
Digital Transformation: What Is the Goal?
8(3)
Software Architecture Quick Glance
10(1)
Why Software Goes Wrong
11(7)
Debt Metaphor
12(1)
Software Entropy
13(1)
Big Ball of Mud
14(1)
Running Example
15(3)
Your Enterprise and Conway's Law
18(6)
Communication Is about Knowledge
19(2)
The Telephone Game
21(1)
Reaching Agreement Is Hard
22(1)
But Not Impossible
23(1)
(Re)Thinking Software Strategy
24(6)
Thinking
24(2)
Rethinking
26(4)
Are Monoliths Bad?
30(1)
Are Microservices Good?
31(3)
Don't Blame Agile
34(2)
Getting Unstuck
36(1)
Summary
37(1)
References
38(1)
Chapter 2 Essential Strategic Learning Tools
39(38)
Making Decisions Early and Late, Right and Wrong
40(3)
Culture and Teams
43(8)
Failure Is Not Fatal
45(1)
Failure Culture Is Not Blame Culture
46(1)
Getting Conway's Law Right
47(4)
Enabling Safe Experimentations
51(1)
Modules First
51(4)
Deployment Last
55(2)
Everything in Between
57(13)
Business Capabilities, Business Processes, and Strategic Goals
57(5)
Strategic Delivery on Purpose
62(4)
Using Cynefin to Make Decisions
66(4)
Where Is Your Spaghetti and How Fast Does It Cook?
70(1)
Strategic Architecture
70(2)
Applying the Tools
72(3)
Summary
75(1)
References
75(2)
Chapter 3 Events-First Experimentation and Discovery
77(24)
Commands and Events
78(3)
Using Software Models
81(1)
Rapid Learning with EventStorming
81(11)
When Remote Sessions Are Demanded
84(1)
Facilitating Sessions
85(4)
Big-Picture Modeling
89(3)
Applying the Tools
92(7)
Summary
99(1)
References
100(1)
Part II: Driving Business Innovation 101(74)
Executive Summary
103(6)
Chapter 4 Reaching Domain-Driven Results
109(8)
Domains and Subdomains
111(4)
Summary
115(1)
References
116(1)
Chapter 5 Contextual Expertise
117(14)
Bounded Context and Ubiquitous Language
117(4)
Core Domain
121(2)
Supporting Subdomains, Generic Subdomains, and Technical Mechanisms
123(2)
Supporting Subdomains
124(1)
Generic Subdomains
124(1)
Technical Mechanisms
125(1)
Business Capabilities and Contexts
125(3)
Not Too Big, Not Too Small
128(1)
Summary
129(1)
References
130(1)
Chapter 6 Mapping, Failing, and Succeeding-Choose Two
131(34)
Context Mapping
131(20)
Partnership
133(2)
Shared Kernel
135(2)
Customer-Supplier Development
137(2)
Conformist
139(2)
Anticorruption Layer
141(2)
Open-Host Service
143(5)
Published Language
148(3)
Separate Ways
151(1)
Topography Modeling
151(3)
Ways to Fail and Succeed
154(4)
Applying the Tools
158(5)
Summary
163(1)
References
164(1)
Chapter 7 Modeling Domain Concepts
165(10)
Entities
166(1)
Value Objects
167(1)
Aggregates
168(1)
Domain Services
169(1)
Functional Behavior
170(3)
Applying the Tools
173(1)
Summary
173(1)
References
174(1)
Part III: Events-First Architecture 175(58)
Executive Summary
177(4)
Chapter 8 Foundation Architecture
181(30)
Architectural Styles, Patterns, and Decision Drivers
183(13)
Ports and Adapters (Hexagonal)
183(7)
Modularization
190(3)
REST Request-Response
193(3)
Quality Attributes
196(10)
Security
196(3)
Privacy
199(2)
Performance
201(2)
Scalability
203(1)
Resilience: Reliability and Fault Tolerance
204(1)
Complexity
205(1)
Applying the Tools
206(1)
Summary
207(1)
References
208(3)
Chapter 9 Message- and Event-Driven Architectures
211(22)
Message- and Event-Based REST
216(4)
Event Logs
216(2)
Subscriber Polling
218(1)
Server-Sent Events
219(1)
Event-Driven and Process Management
220(3)
Event Sourcing
223(4)
CQRS
227(2)
Serverless and Function as a Service
229(2)
Applying the Tools
231(1)
Summary
231(1)
References
232(1)
Part IV: The Two Paths for Purposeful Architecture 233(66)
Executive Summary
235(4)
Chapter 10 Building Monoliths Like You Mean It
239(28)
Historical Perspective
241(3)
Right from the Start
244(9)
Business Capabilities
245(3)
Architecture Decisions
248(5)
Right from Wrong
253(11)
Change within Change
256(3)
Break the Coupling
259(5)
Keeping It Right
264(1)
Summary
265(1)
References
266(1)
Chapter 11 Monolith to Microservices Like a Boss
267(22)
Mental Preparation with Resolve
267(4)
Modular Monolith to Microservices
271(4)
Big Ball of Mud Monolith to Microservices
275(11)
User Interactions
276(2)
Harmonizing Data Changes
278(6)
Deciding What to Strangle
284(2)
Unplugging the Legacy Monolith
286(1)
Summary
287(1)
References
288(1)
Chaper 12 Require Balance, Demand Strategy
289(10)
Balance and Quality Attributes
289(2)
Strategy and Purpose
291(6)
Business Goals Inform Digital Transformation
291(1)
Use Strategic Learning Tools
292(1)
Event-Driven Lightweight Modeling
292(1)
Driving Business Innovation
293(1)
Events-First Architecture
294(1)
Monoliths as a First-Order Concern
295(1)
Purposeful Microservices from a Monolith
295(1)
Balance Is Unbiased, Innovation Is Essential
296(1)
Conclusion
297(1)
References
298(1)
Index 299
Vaughn Vernon is a champion of simplifying software architecture and development, with an emphasis on reactive methods. He has a unique ability to teach and lead with Domain-Driven Design using lightweight tools to unveil unimagined value. He helps organizations achieve competitive advantages using enduring tools such as architectures, patterns, and approaches, and through partnerships between business stakeholders and software developers.

Tomasz Jaskua has 20 years of professional experience as a developer, software architect, team leader, trainer, and technical conference speaker. An IDDD Workshop trainer in both French and Polish, he founded Paris Domain-Driven Design and F# user groups. Jaskua's company, Luteceo (luteceo.fr), spreads good software and architecture practices based on Domain-Driven Design and software craftsmanship. He previously worked for many companies in e-commerce, industry, insurance, and finance, gaining deep experience for creating software that delivers clear business value and competitive advantage.