What’s the purpose of a microservice chassis?
Posted Almost 5 years ago. Visible to the public. Draft.
- 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 builds common knowledge, even if not always in the same tech stack
- Helping to adhere to best practices
Last edit
Almost 5 years ago
Sanjay
Related cards:
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...
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... |
Characteristics of a successful on-cal rotation
- Inclusive — Everyone who can do it, should do it, including VPs and directors.
- Fair — On-call work should be remunerated in addition to normal working hours.
- Sustainable — Enough engineers should be in a rotation to avoid burnout...
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...
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...
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...
Answers every service owner must know
- 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 e...
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-08 02:56)