Chapter 17. Service Mesh Flashcards

1
Q

What is Service Mesh?

A
  • network communication infrastructure layer for microservice-based application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does a Service Mesh allow?

A
  • when multiple microservices are communicating with each other, a service mesh allows to decouple resilient communication patterns (like circuit breakers, timeouts, …) from the application code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How is a Service Mesh implemented?

A
  • usually using a sidecar proxy
  • sidecar proxy: container, that runs alongside the primary application and compliments it with additional features like logging, monitoring and traffic routing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the sidecar pattern implementing in a Service Mesh architecture?

A
  • implements inter-service communication, monitoring or other features, that can be decoupled and abstracted away from individual services
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are features of Service Mesh? (8)

A
  • Communication - flexible and reliable communicatoin between various service instances
  • Circuit breakers - restricts traffic to unhealthy service instances
  • Routing - passes a REST request from the local service instance, to which the service is connected
  • Retries and Timeouts - can automatically retry requests on certain failures and can timeout requests after a specific period
  • Service Discovery - discovery healthy, available instances of services
  • Observability - monitors latency, traces traffic flow and generates acces logs
  • Authentication and Authorization - can authenticate and authorize incoming requests
  • Transport Layer Security (TLS) Encryption - can secure service-to-service communication using TLS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What planes exist in a service mesh?

A
  • features (like software-defined networking) Data and Control planes
  • Service Mesh Data Plane - implements the Service Mesh features, touches every packte/request in the system
  • Service Mesh Control Plane - provides policy and configuration for the Data Plane. For example by using the control plane, we can specify the settings for load balancing, weighted load balancing and circuit breakers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Name a few Service Mesh implementations

A
  • Envoy (open source)
  • Consul (open source)
  • Istio (open source)
  • Kuma
  • Linkerd (open source)
  • Traefik Mesh (open source)
  • Meshery (open source)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Envoy? What kind of architecture has it?

A
  • open source project, that provides a proxy and communication bus for large, modern, service-oriented architectures
  • has out of process architecture - therefore not dependent on application code, sidecar pattern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What How is Istio build up?

A

Two planes:
- Data Plane: composed of set of Envoy proxies deployed as sidecars to provide medium for communication and to control all network communication between microservices
- Control Plane: manages and configures proxies to route traffic, enforces policies at runtime, and collects telemetry. Includes the Citaled, Gallery and Pilot

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are Istio main components?

A
  • Envoy Proxy: Istio uses extended version of envoy proxies. implements it using features like load-balancing, dynamic service discovery, health checks. Deployed as sidecars
  • Istiod - provides service discovery, configuration and certificate management
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Benefits of Istio?

A
  • traffic control with rich routing rules and automatic load balancing
  • internal and external Gateway supports
  • network resiliency
  • security and authentication
How well did you know this?
1
Not at all
2
3
4
5
Perfectly