Atjaunināt sīkdatņu piekrišanu

Microservices: Up and Running: A Step-by-Step Guide to Building a Microservice Architecture [Mīkstie vāki]

3.84/5 (38 ratings by Goodreads)
  • Formāts: Paperback / softback, 255 pages, height x width: 233x178 mm
  • Izdošanas datums: 31-Dec-2020
  • Izdevniecība: O'Reilly Media
  • ISBN-10: 1492075450
  • ISBN-13: 9781492075455
Citas grāmatas par šo tēmu:
  • Mīkstie vāki
  • Cena: 52,03 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Standarta cena: 61,21 €
  • Ietaupiet 15%
  • Grāmatu piegādes laiks ir 3-4 nedēļas, ja grāmata ir uz vietas izdevniecības noliktavā. Ja izdevējam nepieciešams publicēt jaunu tirāžu, grāmatas piegāde var aizkavēties.
  • Daudzums:
  • Ielikt grozā
  • Piegādes laiks - 4-6 nedēļas
  • Pievienot vēlmju sarakstam
  • Formāts: Paperback / softback, 255 pages, height x width: 233x178 mm
  • Izdošanas datums: 31-Dec-2020
  • Izdevniecība: O'Reilly Media
  • ISBN-10: 1492075450
  • ISBN-13: 9781492075455
Citas grāmatas par šo tēmu:

Microservices architectures offer faster change speeds, better scalability, and cleaner, evolvable system designs. But implementing your first microservices architecture is difficult. How do you make myriads of choices, educate your team on all the technical details, and navigate the organization to a successful execution to maximize your chance of success? With this book, authors Ronnie Mitra and Irakli Nadareishvili provide step-by-step guidance for building an effective microservices architecture.

Architects and engineers will follow an implementation journey based on techniques and architectures that have proven to work for microservices systems. You'll build an operating model, a microservices design, an infrastructure foundation, and two working microservices, then put those pieces together as a single implementation. For anyone tasked with building microservices or a microservices architecture, this guide is invaluable.

  • Learn an effective and explicit end-to-end microservices system design
  • Define teams, their responsibilities, and guidelines for working together
  • Understand how to slice a big application into a collection of microservices
  • Examine how to isolate and embed data into corresponding microservices
  • Build a simple yet powerful CI/CD pipeline for infrastructure changes
  • Write code for sample microservices
  • Deploy a working microservices application on Amazon Web Services
Preface xi
1 Toward a Microservices Architecture
1(14)
What Are Microservices?
2(2)
Reducing Coordination Costs
4(1)
The Coordination Cost Problem
4(2)
The Hard Parts
6(1)
Learning by Doing
7(1)
The "Up and Running" Microservices Model
8(2)
Decisions, Decisions
10(1)
Writing a Lightweight Architectural Decision Record
11(2)
Summary
13(2)
2 Designing a Microservices Operating Model
15(20)
Why Teams and People Matter
16(1)
Team Size
17(1)
Team Skills
18(1)
Interteam Coordination
19(2)
Introducing Team Topologies
21(1)
Team Types
21(2)
Interaction Modes
23(1)
Designing a Microservices Team Topology
24(1)
Establish a System Design Team
24(2)
Building a Microservices Team Template
26(3)
Platform Teams
29(2)
Enabling and Complicated-Subsystem Teams
31(1)
Consumer Teams
32(2)
Summary
34(1)
3 Designing Microservices: The Seed(s) Process
35(22)
Introducing the Seven Essential Evolutions of Design for Services: The Seed(s) Method
36(1)
Identifying Actors
37(2)
Example Actors in Our Sample Project
39(1)
Identifying Jobs That Actors Have to Do
39(2)
Using Job Story Format to Capture JTBDs
41(1)
Example JTBDs in Our Sample Project
42(1)
Discovering Interaction Patterns with Sequence Diagrams
43(2)
Deriving Actions and Queries from JTBDs
45(2)
Example Queries and Actions for Our Sample Project
47(1)
Describing Each Query and Action as a Specification with an Open Standard
48(1)
Example OAS for an Action in Our Sample Project
49(4)
Getting Feedback on the API Specification
53(1)
Implementing Microservices
53(1)
Microservices Versus APIs
54(2)
Summary
56(1)
4 Rightsizing Your Microservices: Finding Service Boundaries
57(18)
Why Boundaries Matter, When They Matter, and How to Find Them
57(2)
Domain-Driven Design and Microservice Boundaries
59(3)
Context Mapping
62(3)
Synchronous Versus Asynchronous Integrations
65(1)
A DDD Aggregate
66(1)
Introduction to Event Storming
66(2)
The Event-Storming Process
68(5)
Introducing the Universal Sizing Formula
73(1)
The Universal Sizing Formula
74(1)
Summary
74(1)
5 Dealing with the Data
75(22)
Independent Deployability and Data Sharing
75(2)
Microservices Embed Their Data
77(1)
Embedding Data Should Not Lead to an Explosion in the Number of Database Clusters
78(1)
Data Embedding and the Data Delegate Pattern
79(2)
Using Data Duplication to Solve for Independence
81(1)
Distributed Transactions and Surviving Failures
82(3)
Event Sourcing and CQRS
85(1)
Event Sourcing
85(6)
Improving Performance with Rolling Snapshots
91(1)
Event Store
92(1)
Command Query Responsibility Segregation
93(1)
Event Sourcing and CQRS Beyond Microservices
94(1)
Summary
95(2)
6 Building an Infrastructure Pipeline
97(40)
DevOps Principles and Practices
98(1)
Immutable Infrastructure
99(1)
Infrastructure as Code
100(2)
Continuous Integration and Continuous Delivery
102(2)
Setting Up the IaC Environment
104(1)
Set Up Git Hub
104(1)
Install Terraform
105(1)
Configuring Amazon Web Services
106(1)
Setting Up an AWS Operations Account
106(4)
Configure the AWS CLI
110(2)
Setting Up AWS Permissions
112(3)
Creating an S3 Backend for Terraform
115(1)
Building an IaC Pipeline
116(1)
Creating the Sandbox Repository
117(2)
Understanding Terraform
119(1)
Writing the Code for the Sandbox Environment
120(3)
Building the Pipeline
123(10)
Testing the Pipeline
133(2)
Summary
135(2)
7 Building a Microservices Infrastructure
137(42)
Infrastructure Components
137(1)
The Network
138(1)
The Kubernetes Service
139(1)
The GitOps Deployment Server
140(2)
Implementing the Infrastructure
142(1)
Installing kubectl
142(1)
Setting Up the Module Repositories
142(3)
The Network Module
145(15)
The Kubernetes Module
160(11)
Setting Up Argo CD
171(4)
Testing the Environment
175(2)
Cleaning Up the Infrastructure
177(1)
Summary
178(1)
8 Developer Workspace
179(18)
Coding Standards and the Developer's Setup
180(1)
10 Workspace Guidelines for a Superior Developer Experience
181(6)
Setting Up a Containerized Environment Locally
187(1)
Installing Multipass
188(1)
Entering the Container and Mapping Folders
189(1)
Installing Docker
190(1)
Testing Docker
191(1)
Advanced Local Docker Usage: Installing Cassandra
192(1)
Installing Kubernetes
193(2)
Summary
195(2)
9 Developing Microservices
197(34)
Designing Microservice Endpoints
197(4)
Flights Microservice
201(1)
Reservations Microservice
201(1)
Designing an Open API Specification
202(6)
Implementing the Data for a Microservice
208(1)
Redis for the Reservations Data Model
209(2)
MySQL Data Model for the Flights Microservice
211(1)
Implementing Code for a Microservice
212(1)
The Code Behind the Flights Microservice
213(5)
Health Checks
218(2)
Introducing a Second Microservice to the Project
220(6)
Hooking Services Up with an Umbrella Project
226(3)
Summary
229(2)
10 Releasing Microservices
231(32)
Setting Up the Staging Environment
232(1)
The Ingress Module
233(1)
The Database Module
234(1)
Forking the Staging Infrastructure Project
234(1)
Configuring the Staging Workflow
235(2)
Editing the Staging Infrastructure Code
237(4)
Shipping the Flight Information Container
241(1)
Introducing Docker Hub
241(1)
Configuring Docker Hub
242(1)
Configuring the Pipeline
242(4)
Deploying the Flights Service Container
246(1)
Understanding Kubernetes Deployments
247(1)
Creating a Helm Chart
248(1)
Creating the Microservices Deployment Repository
249(6)
Argo CD for GitOps Deployment
255(5)
CleanUp
260(1)
Summary
261(2)
11 Managing Change
263(18)
Changes in a Microservices System
263(1)
Be Data-Oriented
264(1)
The Impact of Changes
265(1)
Three Deployment Patterns
266(2)
Considerations for Our Architecture
268(1)
Infrastructure Changes
269(4)
Microservices Changes
273(4)
Data Changes
277(2)
Summary
279(2)
12 A Journey's End (and a New Beginning)
281(10)
On Complexity and Simplification Using Microservices
282(1)
Microservices Quadrant
283(2)
Measuring the Progress of a Microservices Transformation
285(3)
Summary
288(3)
Index 291
Ronnie Mitra is a member of the API Academy and a recognized thought-leader in the API community, especially around API design and HCI (Human-Computer Interaction). He co-authored O'Reilly's "Microservice Architecture" book.