Answers every service owner must know
Posted Almost 5 years ago. Visible to the public. Draft.
- How many services are written in each language?
- Which services have security vulnerabilities or outdated dependencies?
- What upstream and downstream collaborators use Service A?
- Which services are production-critical? Which are spikes and experiments, or less important to critical application paths?
Related cards:
Minimum layers for documenting services
Type | Summary |
---|---|
Overview | An overview of the service’s purpose, intended usage and overall architecture. Service overviews should be an entry point for team members and service users. |
Contract | A service contract should describe t... |
Maximizing Service Reliability
- Load balancing and service health
- Readiness
- Liveness
- Rate limits
- Back-pressure via headers
- Validating reliability and fault tolerance
- Load testing ([The art of scalability](The
Art of Scalability))- Load test as part...
Microservices Team Models
- Grouping by function
- Unclear ownership
- Lack of autonomy
- No long-term responsibility
- Risk of silos
- Grouping across functions
- Aligning teams with business value will be reflected in the application developed; the te...
6 fundamental capabilities of microservice production environment
- A deployment target, or runtime platform, where services are run, such as virtual machines (Ideally, engineers can use an API to configure, deploy, and update service configuration. You also could call this API the control pane, as shown in the...
Three common patterns for zero-downtime deployments
- Rolling deploy — You progressively take old instances (version N) out of service while you bring up new instances (version N+1), ensuring that you maintain a minimum percentage of capacity during deployment.
- Canaries — You add a sing...
Principles of Effective Teams
- Ownership
- A team might own multiple services
- 1:n ownership can lead to conflict about technical choices and make accountability unclear
- Autonomy
- Important to scale
- Self-forming teams
-
End-to-end responsibility
...
How to build reliable communication
- Retries
- Exponential backoff
- Use jitter
- Considerations
- Always limit the total number of retries.
- Use exponential back-off with jitter t...
What’s the purpose of a microservice chassis?
- Making it easier to onboard team members
- Getting a good understanding of the code structure and concerns regarding the tech stack that an engineering team uses
- Limiting the scope of experimentation for production systems as the team build...
Common code to include in Microservice chassis
- Logging
- Configuration fetching
- Metrics collection
- Data store setup
- Health checks
- Service registry and discovery
- The chosen transport-related boilerplate (AMQP, HTTP)
Posted by Sanjay to Microservices In Action (2019-07-14 00:48)