Arcitura Certified Microservice Architect (S90.MSA) — Questions and Answers
Question 1: A team is deploying microservices in a container orchestration environment like Kubernetes. When a client service needs to communicate with a provider service, it sends a request to a stable virtual IP address managed by the platform. The platform then routes this request to a healthy instance of the provider service. Which service discovery pattern does this scenario describe?
- Self-Registration
- Server-Side Discovery (Correct answer)
- Client-Side Discovery
- Third-Party Registration
Correct answer: Server-Side Discovery
This scenario describes Server-Side Discovery. The client sends a request to a logical endpoint (the Kubernetes Service's stable IP), and the platform's networking layer (acting as a server-side proxy/load balancer) is responsible for discovering a healthy service instance and forwarding the request. The client is completely abstracted from the complexity of looking up individual service instances.
Question 2: What is a key drawback of the Database-per-Service pattern?
- It forces a shared schema
- Implementing queries and transactions spanning services is harder (Correct answer)
- It prevents independent deployment
- It eliminates data ownership
Correct answer: Implementing queries and transactions spanning services is harder
With separate databases, cross-service queries and consistency require patterns like saga or composition.
Question 3: When a new pod replaces a crashed one in Kubernetes, clients can still reach the workload because:
- DNS is disabled
- They connect via the Service's stable name/IP, not the pod IP (Correct answer)
- They restart automatically
- The pod keeps the same IP
Correct answer: They connect via the Service's stable name/IP, not the pod IP
Clients target the stable Service abstraction, which is updated to point at the new pod.
Question 4: Why is centralized logging important in microservices?
- It replaces the need for testing
- It reduces the number of services
- Requests span many services, so aggregated logs are needed to trace behavior (Correct answer)
- Logs are useless in distributed systems
Correct answer: Requests span many services, so aggregated logs are needed to trace behavior
Aggregated, correlated logs are essential because a request flows through many services.
Question 5: Which pattern is commonly used to maintain data consistency across services without distributed transactions?
- Saga pattern (Correct answer)
- Two-phase commit lock
- Global table lock
- Synchronous join query
Correct answer: Saga pattern
The Saga pattern coordinates a sequence of local transactions with compensating actions instead of a distributed transaction.
Question 6: Which pattern maintains a denormalized read model updated from events?
- Bulkhead
- Strangler Fig
- Ambassador
- Materialized View (CQRS read model) (Correct answer)
Correct answer: Materialized View (CQRS read model)
A materialized view precomputes a query-optimized read model kept current via events.
Question 7: When the Circuit Breaker is in the 'half-open' state, what happens?
- A limited number of trial requests test if the dependency recovered (Correct answer)
- The service restarts
- All requests are blocked permanently
- All requests pass freely
Correct answer: A limited number of trial requests test if the dependency recovered
Half-open lets a few probe requests through to decide whether to close or re-open the breaker.
Question 8: Which pattern addresses reliably publishing events as part of a database transaction?
- Transactional Outbox (Correct answer)
- Sidecar
- Bulkhead
- Circuit Breaker
Correct answer: Transactional Outbox
The Transactional Outbox writes events to a table in the same transaction, then relays them, avoiding dual-write inconsistency.
Question 9: What does a multi-stage Docker build primarily help achieve?
- Built-in service discovery
- Smaller final image size (Correct answer)
- Faster container startup
- Automatic horizontal scaling
Correct answer: Smaller final image size
Multi-stage builds discard build-time dependencies, producing a leaner final image.
Question 10: Which of these is the main reason microservices avoid distributed ACID transactions across services?
- They are faster than local transactions
- They reduce scalability and increase coupling between services (Correct answer)
- They are required by REST APIs
- They guarantee zero latency
Correct answer: They reduce scalability and increase coupling between services
Distributed transactions like 2PC lock resources across services, harming scalability and availability.
Question 11: Which principle best describes how each microservice should be structured around a specific business capability?
- Shared global state
- Domain-driven bounded contexts (Correct answer)
- Database centralization
- Monolithic layering
Correct answer: Domain-driven bounded contexts
Microservices are organized around bounded contexts from domain-driven design, each owning a single business capability.
Question 12: Which of the following is a primary responsibility of a container orchestration platform like Kubernetes?
- Managing the application's database schema and migrations.
- Building container images from a source code repository.
- Automating the deployment, scaling, and health management of containers across a cluster. (Correct answer)
- Writing the application's business logic and API endpoints.
Correct answer: Automating the deployment, scaling, and health management of containers across a cluster.
A container orchestrator's main purpose is to manage the lifecycle of containers at scale. This includes scheduling containers onto available nodes, automatically scaling services up or down based on demand, restarting failed containers (self-healing), and handling service discovery and load balancing.
Question 13: Which pattern provides a single entry point that routes client requests to backend services?
- CQRS
- Event Sourcing
- Circuit Breaker
- API Gateway (Correct answer)
Correct answer: API Gateway
An API Gateway aggregates and routes requests, handling cross-cutting concerns.
Question 14: In Kubernetes, what is the purpose of a liveness probe?
- To check if a container should receive traffic
- To scale Pods based on CPU
- To restart a container that has become unhealthy (Correct answer)
- To mount persistent storage
Correct answer: To restart a container that has become unhealthy
A liveness probe detects a stuck container and triggers a restart.
Question 15: What is a compensating transaction in a saga?
- A retry of a failed read
- An operation that undoes a previously completed step (Correct answer)
- A load-balancing decision
- A cache invalidation
Correct answer: An operation that undoes a previously completed step
Compensating transactions reverse the effects of earlier steps when a saga must roll back.
Question 16: Which header is commonly injected by a gateway to enable distributed tracing across services?
- User-Agent
- A correlation/trace ID header (Correct answer)
- Host
- Content-Length
Correct answer: A correlation/trace ID header
Gateways add a correlation or trace ID so a request can be followed across multiple microservices in tracing tools.
Question 17: What is a typical trade-off of using an AP (availability-favoring) registry?
- It cannot scale
- It always returns errors
- It may serve stale instance data during partitions (Correct answer)
- It blocks all writes
Correct answer: It may serve stale instance data during partitions
Choosing availability means clients may occasionally receive outdated registration information.
Question 18: In the context of containerization, what is the primary purpose of a container image?
- To provide a live, running, and isolated environment for an application.
- To define the networking rules and load balancing strategy for inter-service communication.
- To serve as a static, immutable package containing an application's code, runtime, and all dependencies. (Correct answer)
- To monitor the real-time performance and resource consumption of a running microservice.
Correct answer: To serve as a static, immutable package containing an application's code, runtime, and all dependencies.
A container image is a read-only template or blueprint that packages up the application code along with all its necessary dependencies, libraries, and configuration files. A container is the runnable instance created from an image. The image itself is static and portable.
Question 19: In a microservices architecture, what does the 'Database per Service' pattern primarily ensure?
- Data is never persisted to disk
- Services bypass APIs to query each other's tables
- Each service owns and encapsulates its own data store (Correct answer)
- All services share a single relational database
Correct answer: Each service owns and encapsulates its own data store
Database per Service gives each microservice exclusive ownership of its data, preventing tight coupling at the data layer.
Question 20: An organization is migrating a legacy monolithic application to microservices. They need a way to synchronize data from the monolith's database to the new microservices' databases in near real-time without modifying the monolith's application code. Which pattern is best suited for this purpose?
- Transactional Outbox
- Change Data Capture (CDC) (Correct answer)
- API Composition
- Strangler Fig Pattern
Correct answer: Change Data Capture (CDC)
Change Data Capture (CDC) is a pattern used to monitor and capture row-level changes (inserts, updates, deletes) in a database's transaction logs and stream these changes as events to other systems. This allows new microservices to stay synchronized with the legacy database without requiring intrusive changes to the original application's code.
Question 21: How does a registry typically detect that an instance has died without deregistering?
- Through health checks or heartbeat timeouts (Correct answer)
- By restarting the instance
- By scanning source code
- It never detects it
Correct answer: Through health checks or heartbeat timeouts
Missed heartbeats or failed health checks cause the registry to expire stale entries.
Question 22: What does Kubernetes Horizontal Pod Autoscaler (HPA) adjust automatically?
- CPU limits per container
- The number of Pod replicas (Correct answer)
- The size of persistent volumes
- Node memory allocation
Correct answer: The number of Pod replicas
HPA scales the replica count up or down based on observed metrics like CPU.
Question 23: What does idempotency guarantee in service-to-service messaging?
- Strong ordering across all services
- Messages are never delivered
- Zero network latency
- Processing the same message multiple times has the same effect as once (Correct answer)
Correct answer: Processing the same message multiple times has the same effect as once
Idempotency ensures repeated delivery of the same message produces the same result, vital for at-least-once messaging.
Question 24: A development team is working on a legacy monolithic application and wants to gradually migrate its functionality to a new microservices architecture without performing a risky 'big bang' rewrite. They plan to incrementally build new microservices and route traffic to them, while the old monolith continues to handle the remaining functionality. Which pattern facilitates this gradual migration strategy?
- Strangler Fig Pattern (Correct answer)
- Sidecar Pattern
- Circuit Breaker Pattern
- API Composition Pattern
Correct answer: Strangler Fig Pattern
The Strangler Fig pattern is an architectural approach for incrementally migrating a legacy system. It involves creating a new application (the 'strangler') around the old one and gradually replacing pieces of the monolith's functionality with new microservices. An intermediary layer, often a proxy or API gateway, intercepts requests and routes them to either the new microservice or the old monolith, allowing for a safe, phased migration.
Question 25: Which pattern lets you incrementally migrate a monolith by intercepting and replacing functionality over time?
- Sidecar
- Bulkhead
- Ambassador
- Strangler Fig (Correct answer)
Correct answer: Strangler Fig
The Strangler Fig pattern gradually replaces legacy features behind a routing facade.
Question 26: Which of the following describes the primary role of an API Gateway in a microservices architecture?
- To act as a single entry point for clients, handling routing, security, and other cross-cutting concerns. (Correct answer)
- To orchestrate complex, multi-service business transactions using the Saga pattern.
- To provide a persistent storage layer shared by all microservices.
- To manage the deployment and scaling of individual microservice instances.
Correct answer: To act as a single entry point for clients, handling routing, security, and other cross-cutting concerns.
The fundamental purpose of an API Gateway is to serve as a reverse proxy and unified entry point for all external client requests. It abstracts the underlying microservice architecture, routing requests to the appropriate services while handling concerns like authentication, rate limiting, and SSL termination. It decouples clients from the internal service structure. Service scaling, transaction orchestration, and data storage are handled by other components in the ecosystem (e.g., container orchestrators, the services themselves).
Question 27: In service mesh terminology, what handles east-west (service-to-service) traffic while a gateway handles north-south traffic?
- Sidecar proxies (Correct answer)
- DNS servers
- CDN edge nodes
- Load balancers only
Correct answer: Sidecar proxies
Service meshes use sidecar proxies for internal east-west traffic, whereas the gateway manages external north-south traffic.
Question 28: When it comes to microservices, how does a backing service fit in?
- When a microservice can't handle the compute demand anymore, it's shut down.
- It acts as a dedicated service that provides essential functionality required by a microservice (Correct answer)
- It synchronizes network activity among microservices.
- It prevents the failure of a microservice.
Correct answer: It acts as a dedicated service that provides essential functionality required by a microservice
A backing service is any service that a microservice consumes over the network to perform its normal operations. These are typically external resources like databases, message queues, caching systems, or third-party APIs that provide essential infrastructure or data. They are managed independently and are crucial for the microservice's functionality.
Question 29: A microservice needs to handle cross-cutting concerns like collecting detailed logs and metrics without bloating the primary application's code. The team wants to deploy a separate, specialized container for these tasks alongside every instance of the main microservice, sharing the same network space and lifecycle. Which container design pattern is best suited for this scenario?
- Strangler Fig Pattern
- Ambassador Pattern
- Blue/Green Deployment
- Sidecar Pattern (Correct answer)
Correct answer: Sidecar Pattern
The Sidecar pattern involves co-locating a helper container with the main application container (often in the same Kubernetes Pod). This allows the sidecar to augment the main application by handling tasks like logging, monitoring, or acting as a proxy, without being tightly coupled to the application's code.
Question 30: What is the purpose of request/response transformation at the gateway?
- Adapting payload formats or protocols between clients and services (Correct answer)
- Compiling source code
- Storing user passwords
- Provisioning servers
Correct answer: Adapting payload formats or protocols between clients and services
Transformation lets the gateway reshape payloads or translate protocols (e.g., REST to gRPC) so clients and services need not match exactly.
Arcitura Certified Microservice Architect (S90.MSA)
The S90.MSA certification validates expertise in microservice architecture design patterns, containerization, data management, CI/CD deployment strategies, and API gateway management across cloud-native environments.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds