The Tao of Microservices
Summary

The Tao of Microservices guides you on the path to understanding how to apply microservice architectures to your own real-world projects. This high-level book offers a conceptual view of microservice design, along with core concepts and their application.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

An application, even a complex one, can be designed as a system of independent components, each of which handles a single responsibility. Individual microservices are easy for small teams without extensive knowledge of the entire system design to build and maintain. Microservice applications rely on modern patterns like asynchronous, message-based communication, and they can be optimized to work well in cloud and container-centric environments.

About the Book

The Tao of Microservices guides you on the path to understanding and building microservices. Based on the invaluable experience of microservices guru Richard Rodger, this book exposes the thinking behind microservice designs. You'll master individual concepts like asynchronous messaging, service APIs, and encapsulation as you learn to apply microservices architecture to real-world projects. Along the way, you'll dig deep into detailed case studies with source code and documentation and explore best practices for team development, planning for change, and tool choice.

What's Inside

  • Principles of the microservice architecture
  • Breaking down real-world case studies
  • Implementing large-scale systems
  • When not to use microservices


About the Reader

This book is for developers and architects. Examples use JavaScript and Node.js.

About the Author

Richard Rodger, CEO of voxgig, a social network for the events industry, has many years of experience building microservice-based systems for major global companies.

Table of Contents

    PART 1 - BUILDING MICROSERVICES
  1. Brave new world
  2. Services
  3. Messages
  4. Data
  5. Deployment
  6. PART 2 - RUNNING MICROSERVICES
  7. Measurement
  8. Migration
  9. People
  10. Case study: Nodezoo.com
1123674523
The Tao of Microservices
Summary

The Tao of Microservices guides you on the path to understanding how to apply microservice architectures to your own real-world projects. This high-level book offers a conceptual view of microservice design, along with core concepts and their application.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

An application, even a complex one, can be designed as a system of independent components, each of which handles a single responsibility. Individual microservices are easy for small teams without extensive knowledge of the entire system design to build and maintain. Microservice applications rely on modern patterns like asynchronous, message-based communication, and they can be optimized to work well in cloud and container-centric environments.

About the Book

The Tao of Microservices guides you on the path to understanding and building microservices. Based on the invaluable experience of microservices guru Richard Rodger, this book exposes the thinking behind microservice designs. You'll master individual concepts like asynchronous messaging, service APIs, and encapsulation as you learn to apply microservices architecture to real-world projects. Along the way, you'll dig deep into detailed case studies with source code and documentation and explore best practices for team development, planning for change, and tool choice.

What's Inside

  • Principles of the microservice architecture
  • Breaking down real-world case studies
  • Implementing large-scale systems
  • When not to use microservices


About the Reader

This book is for developers and architects. Examples use JavaScript and Node.js.

About the Author

Richard Rodger, CEO of voxgig, a social network for the events industry, has many years of experience building microservice-based systems for major global companies.

Table of Contents

    PART 1 - BUILDING MICROSERVICES
  1. Brave new world
  2. Services
  3. Messages
  4. Data
  5. Deployment
  6. PART 2 - RUNNING MICROSERVICES
  7. Measurement
  8. Migration
  9. People
  10. Case study: Nodezoo.com
38.99 In Stock
The Tao of Microservices

The Tao of Microservices

by Richard Rodger
The Tao of Microservices

The Tao of Microservices

by Richard Rodger

eBook

$38.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

Summary

The Tao of Microservices guides you on the path to understanding how to apply microservice architectures to your own real-world projects. This high-level book offers a conceptual view of microservice design, along with core concepts and their application.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

An application, even a complex one, can be designed as a system of independent components, each of which handles a single responsibility. Individual microservices are easy for small teams without extensive knowledge of the entire system design to build and maintain. Microservice applications rely on modern patterns like asynchronous, message-based communication, and they can be optimized to work well in cloud and container-centric environments.

About the Book

The Tao of Microservices guides you on the path to understanding and building microservices. Based on the invaluable experience of microservices guru Richard Rodger, this book exposes the thinking behind microservice designs. You'll master individual concepts like asynchronous messaging, service APIs, and encapsulation as you learn to apply microservices architecture to real-world projects. Along the way, you'll dig deep into detailed case studies with source code and documentation and explore best practices for team development, planning for change, and tool choice.

What's Inside

  • Principles of the microservice architecture
  • Breaking down real-world case studies
  • Implementing large-scale systems
  • When not to use microservices


About the Reader

This book is for developers and architects. Examples use JavaScript and Node.js.

About the Author

Richard Rodger, CEO of voxgig, a social network for the events industry, has many years of experience building microservice-based systems for major global companies.

Table of Contents

    PART 1 - BUILDING MICROSERVICES
  1. Brave new world
  2. Services
  3. Messages
  4. Data
  5. Deployment
  6. PART 2 - RUNNING MICROSERVICES
  7. Measurement
  8. Migration
  9. People
  10. Case study: Nodezoo.com

Product Details

ISBN-13: 9781638351733
Publisher: Manning
Publication date: 12/11/2017
Sold by: SIMON & SCHUSTER
Format: eBook
Pages: 328
File size: 5 MB

About the Author

Richard Rodger, CEO of voxgig, a social network for the events industry, has many years of experience building microservice-based systems for major global companies.
Richard Rodger, CEO of voxgig, a social network for the events industry, has many years of experience building microservice-based systems for major global companies.

Table of Contents

Preface xiii

Acknowledgments xv

About this book xvii

About the author xxi

About the cover illustration xxii

Part 1 Building Microservices 1

1 Brave new world 3

1.1 The technical debt crisis 3

1.2 Case study: A microblogging startup 6

Iteration 0 Posting entries 6

Iteration 1 A search index 10

Iteration 2 Simple composition 13

Iteration 3 Timelines 15

Iteration 4 Scaling 17

1.3 How the monolith betrays the promise of components 20

1.4 The microservice idea 23

The core technical principles 24

1.5 Practical implications 28

Specification 28

Deployment 29

Security 30

People 31

1.6 What you get for your money 32

1.7 Summary 33

Services 34

2.1 Defining microservices 35

2.2 Case study: The digital edition of a newspaper 37

The business goals 37

The informal requirements 37

A functional breakdown 38

2.3 Microservice architectures 39

The mini web servers architecture 39

2.4 Diagrams for microservices 40

2.5 The microservice dependency tree 41

The asynchronous message architecture 44

2.6 Monolithic projects vs. microservice projects 46

How microservices change project management 48

Uniformity makes estimation easier 48

Disposable code makes for friendlier teams 49

Homogeneous components allow for heterogeneous configuration 50

There are different types of code 51

2.7 The unit of software 51

2.8 Requirements to messages to services 52

2.9 Microservice architecture diagrams 55

Diagramming message flows 57

2.10 Microservices are software components 59

Encapsulated 59

Reusable 59

Well-defined interfaces 60

Composable 60

Microservices in practice as components 60

2.11 The internal structure of a microservice 63

2.12 Summary 63

3 Messages 65

3.1 Messages are first-class citizens 66

Synchronous and asynchronous 67

When to go synchronous 68

When to go asynchronous 69

Thinking distributed from day one 70

Tactics to limit failure 72

3.2 Case study: Sales tax rules 73

The wider context 73

3.3 Pattern matching 74

Sales tax: starting simple 75

Sales tax: handling categories 76

Sales tax: going global 79

Business requirements change, by definition 80

Pattern matching lowers the cost of refactoring 81

3.4 Transport independence 81

A useful fiction: the omnipotent observer 82

3.5 Message patterns 83

Core patterns: one message/two services 83

Core patterns: two messages/two services 86

Core patterns: one message/n services 88

Core patterns: m messages/n services 90

m/n: chain 90

m/n: Tree 91

Scaling messages 92

3.6 When messages go bad 93

The common failure scenarios, and what to do about them 94

Failures dominating the request/response interaction 95

Failures dominating the sidewinder interaction 95

Failures dominating the winner-take-all interaction 96

Failures dominating the fire-and-forget interaction 97

3.7 Summary 98

4 Data 99

4.1 Data doesn't mean what you think it means 100

Data is heterogeneous, not homogeneous 100

Data can be private 102

Data can be local 103

Data can be disposable 104

Data doesn't have to be accurate 105

4.2 Data strategies for microservices 106

Using messages to expose data 106

Using composition to manipulate data 107

Using the system configuration to control data 111

Using weaker constraints to distribute data 117

4.3 Rethinking traditional data patterns 118

Primary keys 118

Foreign keys 119

Transactions 120

Transactions aren't as good as you think they are 124

Schemas draw down technical debt 125

4.4 A practical decision guide for microservice data 126

Greenfield 127

Legacy 128

4.5 Summary 129

5 Deployment 130

5.1 Things fall apart 131

5.2 Learning from history 132

Three Mile Island 132

A model for failure in software systems 136

Redundancy doesn't do what you think it does 140

Change is scary 141

5.3 The center cannot hold 143

The cost of perfect software 144

5.4 Anarchy works 145

5.5 Microservices and redundancy 145

5.6 Continuous delivery 147

Pipeline 148

Process 149

Protection 150

5.7 Running a microservice system 151

Immutability 151

Automation 154

Resilience 158

Validation 163

Discovery 165

Configuration 166

Security 167

Staging 168

Development 169

5.8 Summary 170

Part 2 Running Microservices 171

6 Measurement 173

6.1 The limits of traditional monitoring 174

Classical configurations 175

The problem with averages 177

Using percentiles 178

Microservice configurations 180

The power of scatterplots 181

Building a dashboard 182

6.2 Measurements for microservices 183

The business layer 183

The message layer 184

The service layer 191

6.3 The power of invariants 194

Finding invariants from the business logic 196

Finding invariants from the system architecture 197

Visualizing invariants 198

System discovery 199

Synthetic validation 201

6.4 Summary 201

7 Migration 203

7.1 A classic e-commerce example 204

The legacy architecture 204

The software delivery process 206

7.2 Changing the goal posts 207

The practical application of politics 209

7.3 Starting the journey 210

7.4 The strangler tactic 211

Partial proxying 212

What to do when you can't migrate 213

The Greenfield tactic 215

The macroservice tactic 217

7.5 The strategy of refinement 220

7.6 Moving from the general to the specific 220

Adding features to the product page 220

Adding features to the shopping cart 223

Handling cross-cutting concerns 225

7.7 Summary 227

8 People 228

8.1 Dealing with institutional politics 229

Accepting hard constraints 229

Finding sponsors 229

Building alliances 232

Value-focused delivery 232

Acceptable error rates 233

Dropping features 233

Stop abstracting 234

Deprogramming 234

External validation 235

Team solidarity 235

Respect the organization 236

8.2 The politics of microservices 237

Who owns what? 237

Who's on call? 239

Who decides what to code? 240

8.3 Summary 244

9 Case study: Nodezoo.com 246

9.1 Design 247

What are the business requirements? 247

What are the messages? 249

What are the services? 255

9.2 Deliver 260

Iteration 1 Local development 260

Iteration 2 Testing, staging, and risk measurement 272

Iteration 3 The path to production 278

Iteration 4 Enhancing and adapting 282

Iteration 5 Monitoring and debugging 288

Iteration 6 Scaling and performance 292

9.3 Brave new world 295

Index 297

From the B&N Reads Blog

Customer Reviews