Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Ronnie Mitra, Irakli Nadareishvili
Microservices: Up and Running
1. Towards a Microservices Architecture
What are Microservices?
Why Microservices?
The Microservices Way: Speed, Safety & Scale
Building A Microservices Architecture
Microservices Guiding Principles
Introducing the “Up and Running” Microservices Model
Summary
2. Five Principles
Why Principles Matter
Goals and Principles
People-First Design
Rightsized Services
Build-Services-Only
Single-Cloud Architecture
12 Factor Development
1. “One codebase tracked in revision control, many deploys”
2. “Explicitly declare and isolate dependencies”
3. “Store config in the environment”
4. “Treat backing services as attached resources”
5. “Strictly separate build and run stages”
6. “Execute the app as one or more stateless processes”
7. “Export services via port binding”
8. “Scale out via the process model”
9. “Maximise robustness with fast startup and graceful shutdown”
10. “Keep development, staging, and production as similar as possible”
11. “Treat logs as event streams”
12. “Run admin/management tasks as one-off processes”
Summary
3. Designing Your Microservices Operating Model
Your Microservices Operating Model
The Architectural Decision Record
Designing Microservice Teams
The Responsibilities of the Microservice Team
Team Size
Team Design Templates
ACTION: Assemble Your Team
Shared Components and Platform Teams
The Distributed Monolith
The Platform Team
Governance, Guardrails and Choice Architecture
Our Operating Model
The Up and Running Teams
Summary
4. Infrastructure Pipeline
DevOps Principles and Practices
Immutable Infrastructure
Infrastructure as Code
Continuous Integration and Continuous Delivery
Setting up the Infrastructure as Code Environment
Set up Github
Install Terraform
Configure Amazon Web Services
Set up an AWS Operations Account
Configure The AWS CLI
Setup AWS Permissions
Create an S3 Backend for Terraform
Build an Infrastructure as Code Pipeline
Create the Sandbox Repository
Understanding Terraform
Writing the Sandbox Code
Build the Pipeline
Test the Pipeline
Architecture Decision Record: Infrastructure Pipeline
Summary
5. Building a Microservice Infrastructure
Infrastructure Components
The Network
The Kubernetes Service
Service Mesh
Continuous Delivery Server
Implementing The Infrastructure
Getting Your Workspace Ready
Setting Up The Module Repositories
The Network Module
The Kubernetes and Istio Module
Setting up Argo CD
Testing the Environment
Clean Up the Infrastructure
Summary
6. Designing Microservices: The SEED(S) Process
Introducing the Seven Essential Evolutions of Design for Services - SEED(S) Method
Identifying Actors
Example Actors In Our Sample Project
Identifying Jobs to Be Done (JTBDs)
Using Job Story Format to Capture JTBDs
Example JTBDs In Our Sample Project
Designing queryable and actionable interaction patterns with Sequence Diagrams
Deriving actions and queries from JTBDs
Example Queries and Actions For Our Sample Project
Describing Each Query And Action As A Spec, With An Open Standard
Example Open API Spec for an Action In Our Sample Project
Getting Feedback on the API spec
Implementing Microservices
Microservices vs. APIs
Summary
7. Rightsizing Your Microservices: Finding Service Boundaries
Why boundaries matter, when they matter and how to find them
Domain-Driven Design And Microservice Boundaries
Basic Notions of Domain-Driven Design
Context Mapping
Synchronous vs. Asynchronous Relationships
A DDD Aggregate
Introduction to Event Storming
Event-Storming Process
The universal sizing formula
The Universal Sizing Formula
Summary
8. Dealing with the Data
Design Considerations For Data Management in Microservices
Microservices Embed Their data
Important Nuances of Embedding Data with Microservices.
Data Embedding Example For Our Sample Project
Using Data Duplication To Solve For Independence
Distributed Transactions and Surviving Failures
Event Sourcing and CQRS
Event Sourcing
Event Store
Command Query Responsibility Segregation (CQRS)
ES/CQRS Beyond Microservices
Summary
9. Developer Workspace
Coding Standards and Developer’s Setup
10 Workspace Guidelines for a Superior Developer Experience
Setting Up Containerized Environment Locally
Installing Multipass
Entering the container, and mapping folders.
Installing Docker
Testing Docker
Installing Kubernetes
Bonus: Installing Cassandra.
Summary
10. Developing Microservices
Designing Microservice Endpoints
Flights Microservice
Reservations Microservice
Designing Open API Spec
Implementing the Data For a Microservice
Redis For the Reservations Data Model
MySQL Data Model for the Flights Microservice
Implementing Code for a Microservice
The Code Behind the Flights Microservice
Introducing a Second Microservice to the Project
Hooking Services Up With an Umbrella Project
Summary
11. Building your Microservice Pipeline: From Test to Release
Setting up the Staging Environment
The Nginx Ingress Module
The Database Module
Fork the Staging Infrastructure Project
Configure the Staging Workflow
Edit The Staging Infrastructure Code
Microservices Continuous Integration
Introducing Docker Hub as our Container Registry
Configuring DockerHub
Configuring the CI Workflow
Deploying the Flights Service
Understanding Kubernetes Deployments
Creating a Helm Chart
Create the Microservice Deployment Repository
ArgoCD for GitOps Deployment
Configuring the AWS API Gateway
Setting up the API User
Fork the API Gateway Repository
Customise the API Gateway Terraform File
Testing the API
Clean Up
Summary
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Microservices: Up and Running
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset