github.com/cilium/cilium@v1.16.2/Documentation/network/servicemesh/index.rst (about) 1 .. only:: not (epub or latex or html) 2 3 WARNING: You are looking at unreleased Cilium documentation. 4 Please use the official rendered version released here: 5 https://docs.cilium.io 6 7 .. _servicemesh_root: 8 9 ************ 10 Service Mesh 11 ************ 12 13 What is Service Mesh? 14 ##################### 15 16 With the introduction of distributed applications, additional visibility, 17 connectivity, and security requirements have surfaced. Application components 18 communicate over untrusted networks across cloud and premises boundaries, 19 load-balancing is required to understand application protocols, resiliency is 20 becoming crucial, and security must evolve to a model where sender and receiver 21 can authenticate each other’s identity. In the early days of distributed 22 applications, these requirements were resolved by directly embedding the 23 required logic into the applications. A service mesh extracts these features out 24 of the application and offers them as part of the infrastructure for all 25 applications to use and thus no longer requires to change each application. 26 27 Looking at the feature set of a service mesh today, it can be summarized as follows: 28 29 - **Resilient Connectivity**: Service to service communication must be possible across 30 boundaries such as clouds, clusters, and premises. Communication must be 31 resilient and fault tolerant. 32 - **L7 Traffic Management**: Load balancing, rate limiting, and resiliency must be 33 L7-aware (HTTP, REST, gRPC, WebSocket, …). 34 - **Identity-based Security**: Relying on network identifiers to achieve security is 35 no longer sufficient, both the sending and receiving services must be able to 36 authenticate each other based on identities instead of a network identifier. 37 - **Observability & Tracing**: Observability in the form of tracing and metrics is 38 critical to understanding, monitoring, and troubleshooting application stability, 39 performance, and availability. 40 - **Transparency**: The functionality must be available to applications in a 41 transparent manner, i.e. without requiring to change application code. 42 43 .. admonition:: Video 44 :class: attention 45 46 If you'd like a video explanation of Cilium's Service Mesh implementation, check out `eCHO episode 27: eBPF-enabled Service Mesh <https://www.youtube.com/watch?v=nJT0ASbGLvs>`__ and `eCHO episode 100: Next-gen mutual authentication in Cilium <https://www.youtube.com/watch?v=BWjDlynXhzg>`__. 47 48 Why Cilium Service Mesh? 49 ######################## 50 51 Since its early days, Cilium has been well aligned with the service mesh concept 52 by operating at both the networking and the application protocol layer to provide 53 connectivity, load-balancing, security, and observability. For all network 54 processing including protocols such as IP, TCP, and UDP, Cilium uses eBPF as the 55 highly efficient in-kernel datapath. Protocols at the application layer such as 56 HTTP, Kafka, gRPC, and DNS are parsed using a proxy such as Envoy. 57 58 .. toctree:: 59 :maxdepth: 3 60 :glob: 61 62 ingress 63 gateway-api/gateway-api 64 gateway-api/gamma 65 ingress-to-gateway/ingress-to-gateway 66 istio 67 mutual-authentication/mutual-authentication 68 l7-traffic-management