Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture, 1st edition
BRAND: PEARSON
Publisher: | Addison-Wesley Professional |
Author: | Vaughn Vernon; Tomasz Jaskula |
Edition: | (November 15, 2021) © 2022 |
eBook ISBN: | 9780137355501 |
Print ISBN: | 9780137355464 |
Type: | 1 Year Subscription. Dành cho Cá nhân |
eBook edition. 1 Year Subscription. Dành cho Cá nhân | Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In
See what in the box
Mô tả sản phẩm
Các khối chiến lược và các dịch vụ vi mô giúp những người ra quyết định kinh doanh và các thành viên nhóm kỹ thuật cộng tác để hiểu rõ các vấn đề chiến lược của họ và xác định các phương pháp tiếp cận kiến trúc tối ưu của họ, cho dù đó là các dịch vụ vi mô được phân phối, các khối nguyên khối được mô-đun hóa tốt hay các dịch vụ chi tiết thô nằm giữa hai. Viết cho cả sinh viên MBA và sinh viên CNTT, chuyên gia kiến trúc phần mềm hàng đầu Vaughn Vernon và Tomasz Jaskuła hướng dẫn bạn đưa ra các quyết định tổng hợp về kiến trúc cân bằng dựa trên nhu cầu và mục đích thay vì quan điểm phổ biến, để bạn có thể tối đa hóa giá trị kinh doanh và cung cấp các hệ thống phát triển dễ dàng hơn.
Xuyên suốt, các tác giả cung cấp các ví dụ ứng dụng thực tế, chỉ ra cách xây dựng các khối nguyên khối được thiết kế tốt, có thể bảo trì và mở rộng cũng như cách phân hủy các hệ thống kế thừa có khối lượng lớn thành các dịch vụ vi mô thực sự hiệu quả.
Foreword xiii
Preface xvii
Acknowledgments xxv
About the Authors xxxi
Part I: Transformational Strategic Learning through Experimentation 1
Executive Summary 3
Chapter 1: Business Goals and Digital Transformation 7
Digital Transformation: What Is the Goal? 8
Why Software Goes Wrong 11
Your Enterprise and Conway's Law 18
(Re)Thinking Software Strategy 24
Are Monoliths Bad? 30
Are Microservices Good? 31
Don't Blame Agile 34
Getting Unstuck 36
Summary 37
References 38
Chapter 2: Essential Strategic Learning Tools 39
Making Decisions Early and Late, Right and Wrong 40
Culture and Teams 43
Modules First 51
Deployment Last 55
Everything in Between 57
Where Is Your Spaghetti and How Fast Does It Cook? 70
Strategic Architecture 70
Applying the Tools 72
Summary 75
References 75
Chapter 3: Events-First Experimentation and Discovery 77
Commands and Events 78
Rapid Learning with EventStorming 81
Applying the Tools 92
Summary 99
References 100
Part II: Driving Business Innovation 101
Executive Summary 103
Chapter 4: Reaching Domain-Driven Results 109
Domains and Subdomains 111
Summary 115
References 116
Chapter 5: Contextual Expertise 117
Bounded Context and Ubiquitous Language 117
Core Domain 121
Supporting Subdomains, Generic Subdomains, and Technical Mechanisms 123
Business Capabilities and Contexts 125
Not Too Big, Not Too Small 128
Summary 129
References 130
Chapter 6: Mapping, Failing, and Succeeding--Choose Two 131
Context Mapping 131
Topography Modeling 151
Ways to Fail and Succeed 154
Applying the Tools 158
Summary 163
References 164
Chapter 7: Modeling Domain Concepts 165
Entities 166
Value Objects 167
Aggregates 168
Domain Services 169
Functional Behavior 170
Applying the Tools 173
Summary 173
References 174
Part III: Events-First Architecture 175
Executive Summary 177
Chapter 8: Foundation Architecture 181
Architectural Styles, Patterns, and Decision Drivers 183
Quality Attributes 196
Applying the Tools 206
Summary 207
References 208
Chapter 9: Message- and Event-Driven Architectures 211
Message- and Event-Based REST 216
Event-Driven and Process Management 220
Event Sourcing 223
CQRS 227
Serverless and Function as a Service 229
Applying the Tools 231
Summary 231
References 232
Part IV: The Two Paths for Purposeful Architecture 233
Executive Summary 235
Chapter 10: Building Monoliths Like You Mean It 239
Historical Perspective 241
Right from the Start 244
Right from Wrong 253
Keeping It Right 264
Summary 265
References 266
Chapter 11: Monolith to Microservices Like a Boss 267
Mental Preparation with Resolve 267
Modular Monolith to Microservices 271
Big Ball of Mud Monolith to Microservices 275
Unplugging the Legacy Monolith 286
Summary 287
References 288
Chapter 12: Require Balance, Demand Strategy 289
Balance and Quality Attributes 289
Strategy and Purpose 291
Conclusion 297
References 298
Index 299
Các khối chiến lược và các dịch vụ vi mô giúp những người ra quyết định kinh doanh và các thành viên nhóm kỹ thuật cộng tác để hiểu rõ các vấn đề chiến lược của họ và xác định các phương pháp tiếp cận kiến trúc tối ưu của họ, cho dù đó là các dịch vụ vi mô được phân phối, các khối nguyên khối được mô-đun hóa tốt hay các dịch vụ chi tiết thô nằm giữa hai. Viết cho cả sinh viên MBA và sinh viên CNTT, chuyên gia kiến trúc phần mềm hàng đầu Vaughn Vernon và Tomasz Jaskuła hướng dẫn bạn đưa ra các quyết định tổng hợp về kiến trúc cân bằng dựa trên nhu cầu và mục đích thay vì quan điểm phổ biến, để bạn có thể tối đa hóa giá trị kinh doanh và cung cấp các hệ thống phát triển dễ dàng hơn.
Xuyên suốt, các tác giả cung cấp các ví dụ ứng dụng thực tế, chỉ ra cách xây dựng các khối nguyên khối được thiết kế tốt, có thể bảo trì và mở rộng cũng như cách phân hủy các hệ thống kế thừa có khối lượng lớn thành các dịch vụ vi mô thực sự hiệu quả.
Foreword xiii
Preface xvii
Acknowledgments xxv
About the Authors xxxi
Part I: Transformational Strategic Learning through Experimentation 1
Executive Summary 3
Chapter 1: Business Goals and Digital Transformation 7
Digital Transformation: What Is the Goal? 8
Why Software Goes Wrong 11
Your Enterprise and Conway's Law 18
(Re)Thinking Software Strategy 24
Are Monoliths Bad? 30
Are Microservices Good? 31
Don't Blame Agile 34
Getting Unstuck 36
Summary 37
References 38
Chapter 2: Essential Strategic Learning Tools 39
Making Decisions Early and Late, Right and Wrong 40
Culture and Teams 43
Modules First 51
Deployment Last 55
Everything in Between 57
Where Is Your Spaghetti and How Fast Does It Cook? 70
Strategic Architecture 70
Applying the Tools 72
Summary 75
References 75
Chapter 3: Events-First Experimentation and Discovery 77
Commands and Events 78
Rapid Learning with EventStorming 81
Applying the Tools 92
Summary 99
References 100
Part II: Driving Business Innovation 101
Executive Summary 103
Chapter 4: Reaching Domain-Driven Results 109
Domains and Subdomains 111
Summary 115
References 116
Chapter 5: Contextual Expertise 117
Bounded Context and Ubiquitous Language 117
Core Domain 121
Supporting Subdomains, Generic Subdomains, and Technical Mechanisms 123
Business Capabilities and Contexts 125
Not Too Big, Not Too Small 128
Summary 129
References 130
Chapter 6: Mapping, Failing, and Succeeding--Choose Two 131
Context Mapping 131
Topography Modeling 151
Ways to Fail and Succeed 154
Applying the Tools 158
Summary 163
References 164
Chapter 7: Modeling Domain Concepts 165
Entities 166
Value Objects 167
Aggregates 168
Domain Services 169
Functional Behavior 170
Applying the Tools 173
Summary 173
References 174
Part III: Events-First Architecture 175
Executive Summary 177
Chapter 8: Foundation Architecture 181
Architectural Styles, Patterns, and Decision Drivers 183
Quality Attributes 196
Applying the Tools 206
Summary 207
References 208
Chapter 9: Message- and Event-Driven Architectures 211
Message- and Event-Based REST 216
Event-Driven and Process Management 220
Event Sourcing 223
CQRS 227
Serverless and Function as a Service 229
Applying the Tools 231
Summary 231
References 232
Part IV: The Two Paths for Purposeful Architecture 233
Executive Summary 235
Chapter 10: Building Monoliths Like You Mean It 239
Historical Perspective 241
Right from the Start 244
Right from Wrong 253
Keeping It Right 264
Summary 265
References 266
Chapter 11: Monolith to Microservices Like a Boss 267
Mental Preparation with Resolve 267
Modular Monolith to Microservices 271
Big Ball of Mud Monolith to Microservices 275
Unplugging the Legacy Monolith 286
Summary 287
References 288
Chapter 12: Require Balance, Demand Strategy 289
Balance and Quality Attributes 289
Strategy and Purpose 291
Conclusion 297
References 298
Index 299