0% found this document useful (0 votes)
5 views3 pages

Study Guide

Study Guide
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views3 pages

Study Guide

Study Guide
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

01 - Introduction to Microservices

● Monolith vs Microservices: advantages and disadvantages of each approach


● Reasons for switching to microservice architecture (growing out of your monolith)
● Three-part definition of microservice architecture
○ Difference between SOA and microservices

Introduction to Microservices - Extra should not be known for the exam

02 - Decomposing
● What is requirements analysis
● “Strangling fig” or “Event interception” design pattern for legacy applications
● Most important considerations for creating good diagrams
● 3-step process for building microservice architecture
● Different Strategies for decomposition (defining services)

03 - Microservice internal
● Issues with layered architecture
● Hexagonal and Onion style architecture
○ Why inward dependencies?
● Transaction script VS (Rich) Domain Model
● Patterns to create a rich domain model
○ Entities, values, domain service and domain events
○ Aggregates and repository
● Different methods for handling queries in a microservice architecture
○ CQRS
● API composition pattern

04 - Microservice interaction
● Interaction styles and their advantages and challenges.
● Issues with synchronous interaction and how to eliminate them
● gRPC
○ Why/where to use it
○ Where not to use it
● Broker vs brokerless messaging
● Saga’s
○ What is it
○ What problem do they solve
○ advantages and disadvantages
○ How do they work?
● Choreography vs Orchestration
○ With examples

05 - Scaling and caching


● Four types of scaling, their strengths and limitations
● Cache hit vs cache miss
● Reasons for caching
● Techniques for writing data in the context of caching

Case study r/place should not be known for the exam, but can be useful to better understand
the aforementioned concepts.

06 - Resiliency & Chaos Engineering


● Types of resiliency
● Timeouts
○ How long
○ Where
○ How
● Retries
○ Dangers of retries and how to solve them (exponential back-off)
● Bulkheads
● Circuit breakers
● Idempotency
● Redundancy
● Cellular architecture
● Chaos engineering: What is it, why is it useful
● Blame culture
○ Issues with blame culture
○ Blameless post-mortem to solve these issues

07 - Organizational structures
● Loosely Coupled Organizations
○ Goal
○ Stream-aligned teams
○ Importance of autonomy
● Communities of Practice
● Enabling teams
● Platform team
● Site Reliability Engineering
○ Error budget: what culture problem does it solve, and how.
● Strong ownership vs collective ownership: advantages and disadvantages
○ Full life-cycle ownership
● Enabling teams
○ Communities of Practice
○ Platform team
■ Paved road
● Internal open source
○ What & why?
● Do-ocracy
○ What & why?

08 - Change management
● Issues with doing a full software rewrite
○ How to do it well
● Patterns for avoiding breaking changes
○ Expansion change
○ Tolerant readers
○ Explicit interfaces
○ Versioning
● Patterns for separating upstream from downstream releases
○ Emulation
○ Coexisting/duplication
● Patterns for separating deployment from release
○ Feature toggles/flags
○ A/B testing
● What is WebAssembly
● What is the WebAssembly System Interface

You might also like