ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ!.. Π Π½Π°Π²Π΅ΡΠ΅ΡΠΈΠ΅ΡΠΎ Π½Π° Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΊΡΡΡΠ°
Π‘Π΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅Π½ ΡΠ»ΠΎΠΉ Ρ Π½ΠΈΡΠΊΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ, ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±Π΅ΠΌΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠΏΡΠΎΡΠ΅ΡΠ½ΠΈ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (API). Service Mesh ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±ΡΡΠ·Π°, Π½Π°Π΄Π΅ΠΆΠ΄Π½Π° ΠΈ ΡΠΈΠ³ΡΡΠ½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈ ΡΠ΅ΡΡΠΎ Π΅ΡΠΈΠΌΠ΅ΡΠ½ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Service Mesh ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ, Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅, ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡ, ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΠΌΠΎΡΡ, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π» Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ (ΠΏΡΠ΅ΠΊΡΡΠ²Π°Ρ).
ΠΡΠ΅ΠΆΠ°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ΅Π· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΡΡΠ»ΡΠ³Π° Ρ ΠΏΡΠΎΠΊΡΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, Π½Π°ΡΠ΅ΡΠ΅Π½ Π‘ΡΡΠ°Π½ΠΈΡΠ½Π° ΠΊΠΎΠ»ΠΈΡΠΊΠ°. Π‘ΡΡΠ°Π½ΠΈΡΠ½Π° ΠΊΠΎΠ»ΠΈΡΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, ΡΠΎΠ΅ΡΡ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π°Π±ΡΡΡΠ°Ρ
ΠΈΡΠ° ΠΎΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΈΡΠ°Ρ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Ρ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠ»ΡΠ³ΠΈ, Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ Service Mesh ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
Istio ΠΎΡ Google, IBM ΠΈ Lyft Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠΎΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π·Π° ΡΡΠ»ΡΠ³ΠΈ. Π Kubernetes, ΠΊΠΎΠΉΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Π² Google, ΡΠ΅Π³Π° Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠ°ΠΌΠΊΠ° Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° ΠΎΡ Istio. ΠΠΎΡΡΠ°Π²ΡΠΈΡΠΈΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π°Ρ ΠΊΠΎΠΌΠ΅ΡΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Istio. Π©Π΅ Π±ΡΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΈ Π½ΠΎΠ²ΠΈ Π½Π΅ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄ΠΎΠ½Π΅ΡΠ°Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄.
Istio ΠΎΠ±Π°ΡΠ΅ Π½Π΅ Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΎΠΏΡΠΈΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Service Mesh. ΠΌΠΎΠ΄Π΅Π» sidecar proxy
Π΅ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ΄ΠΈ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Buoyant, HashiCorp, Solo.io ΠΈ Π΄Ρ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ: ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π½Π° Netflix Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡΠ΅, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Service Mesh ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ Ribbon, Hysterix, Eureka, Archaius, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠ°ΡΠΎ Azure Service Fabric.
Service Mesh ΡΡΡΠΎ ΠΈΠΌΠ° ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π·Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ:
- Π Π°ΠΌΠΊΠ° Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ ΠΊΡΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΈΠΌΠ° Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ - ΡΠ°ΠΌΠΊΠ° Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. Kubernetes ΡΠ²ΡΡΠ΄ΠΎ Π·Π°Π΅ ΡΠ°Π·ΠΈ Π½ΠΈΡΠ°, Π΄ΠΎΡΠΎΠ»ΠΊΠΎΠ²Π°, ΡΠ΅ Π΄ΠΎΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΌΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈ Docker Swarm ΠΈ Mesosphere DC/OS ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Kubernetes ΠΊΠ°ΡΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°.
- Π£ΡΠ»ΡΠ³ΠΈ ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ (Kubernetes Pods). ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡΡ Π΅ Π΅Π΄Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π°. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π΅ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π Kubernetes Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡΡ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΠΌΠ°Π»ΠΊΠ° Π³ΡΡΠΏΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ pod. ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΡΠ΄ΠΊΠΎ ΠΈΠΌΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ ΠΈΠ»ΠΈ pod; ΠΏΠΎ-ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ Π΅ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ, ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ ΠΈΠ»ΠΈ pod (ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ).
- Sidecar Proxy. Sidecar Proxy ΡΠ°Π±ΠΎΡΠΈ Ρ Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΈΠ»ΠΈ pod. Π¦Π΅Π»ΡΠ° Π½Π° Sidecar Proxy Π΅ Π΄Π° Π½Π°ΡΠΎΡΠ²Π° ΠΈΠ»ΠΈ ΠΏΡΠΎΠΊΡΠΈ ΡΡΠ°ΡΠΈΠΊ, ΠΈΠ΄Π²Π°Ρ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Ρ ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ, ΠΈ Π΄Π° Π²ΡΡΡΠ° ΡΡΠ°ΡΠΈΠΊ. Sidecar Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° Ρ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠ° Sidecar ΠΈ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΎΡ ΡΠ°ΠΌΠΊΠ° Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ. ΠΠ½ΠΎΠ³ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ Π½Π° Service Mesh ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Sidecar Proxy Π·Π° ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ Π² ΠΈ ΠΈΠ·Π²ΡΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΈΠ»ΠΈ pod.
- ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠΎΠ³Π°ΡΠΎ Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Ρ Π΄ΡΡΠ³Π° ΡΡΠ»ΡΠ³Π°, ΡΠΎΠΉ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ (ΠΎΡΠΊΡΠΈΠ΅) Π·Π΄ΡΠ°Π² ΠΈ Π½Π°Π»ΠΈΡΠ΅Π½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° Π΄ΡΡΠ³Π°ΡΠ° ΡΡΠ»ΡΠ³Π°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡΡ ΠΈΠ·Π²ΡΡΡΠ²Π° DNS ΡΡΡΡΠ΅Π½ΠΈΡ. Π Π°ΠΌΠΊΠ°ΡΠ° Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΏΠΈΡΡΠΊ Ρ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π·Π°ΡΠ²ΠΊΠΈ, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° DNS Π·Π°ΡΠ²ΠΊΠΈ.
- ΠΠ°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ°ΠΌΠΊΠΈ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ»ΠΎΠΉ 4 (ΡΡΠ°Π½ΡΠΏΠΎΡΡ). Service Mesh ΠΏΡΠΈΠ»Π°Π³Π° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΈΠ²ΠΎ 7 (Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅), Π±ΠΎΠ³Π°ΡΠΎ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°. ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° API, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠΈΠ½ΡΠΎ-Π·Π΅Π»Π΅Π½ΠΎ ΠΈΠ»ΠΈ ΠΊΠ°Π½Π°ΡΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅.
- Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅. Service Mesh ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΈΡΡΠΎΠ²Π° ΠΈ Π΄Π΅ΡΠΈΡΡΠΈΡΠ° Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ, ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΠΉΠΊΠΈ ΡΠΎΠ²Π° Π±ΡΠ΅ΠΌΠ΅ ΠΎΡ ΡΡΠ»ΡΠ³ΠΈΡΠ΅. Service Mesh ΠΌΠΎΠΆΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΡΠ΅Π· ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ, Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΡΠΊΡΠΏΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡΡΠ·ΠΊΠΈ. ΠΠ°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π΅ Π²Π·Π°ΠΈΠΌΠ΅Π½ TLS (mTLS), ΠΊΡΠ΄Π΅ΡΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Ρ ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ (PKI) Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΎΡ Sidecar Proxy.
- Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ. Service Mesh ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΎΡΠΈΠ·ΠΈΡΠ° ΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π° Π·Π°ΡΠ²ΠΊΠΈ, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΡΠ²ΡΠ½ ΠΈΠ»ΠΈ Π²ΡΡΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠ°ΠΌΠΎ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π΄ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π±Π»ΠΎΠ½ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅. Service Mesh ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°
ΠΌΠΎΠ΄Π΅Π» Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ , ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ° Π½Π΅Π·Π΄ΡΠ°Π²ΠΎΡΠ»ΠΎΠ²Π½ΠΈΡΠ΅ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π³ΠΈ Π²ΡΡΡΠ° Π² ΠΏΡΠ»Π° ΠΎΡ Π·Π΄ΡΠ°Π²ΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΠ·Π²ΠΈΠΊΠ²Π° ΡΠ΅ ΡΠ°ΡΡΡΠ° ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Service Mesh, ΠΊΠΎΡΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈΡΠ΅ Π Π°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ. Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΈ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π Π°Π²Π½ΠΈΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ, ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π°. ΠΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΠ°Π²Π½ΠΈΠ½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΈΠ»ΠΈ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° Ρ API, CLI ΠΈΠ»ΠΈ GUI Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠΎΠ½ΡΡΠΎΠ»Π½Π°ΡΠ° ΡΠ°Π²Π½ΠΈΠ½Π° Π² Service Mesh ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Sidecar Proxy ΠΈ Data Plane.
Service Mesh Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ. ΠΠΈΠΎΠ½Π΅ΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΡΠ°
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Service Mesh Π΅Π΄Π²Π° Π»ΠΈ Π½ΡΠΊΠΎΠ³Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΡ
ΠΈΡΠ΅ΠΊΡΠΈΡΠ΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ Ρ ΠΎΠ³ΡΠΎΠΌΠ΅Π½ Π°ΡΡΠ΅Π½Π°Π» ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡ
Π΅ ΡΡΠΊ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΅Π΄ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎ Π·Π°Π΄Π°ΡΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠΈ ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° - ΠΈΠ·ΠΊΠΎΠ²Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΈΡΠΎΠ½ΠΈ.
ΠΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Ρ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° Service Mesh, ΠΊΠ°ΡΠΎ NGINX, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Kubernetes ΠΈ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π΅Π· Service Mesh. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Istio Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎΡΡΠ½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π·Π° ΡΡΠ»ΡΠ³ΠΈ, Π½ΠΎ Π½Π΅ΠΉΠ½Π°ΡΠ° ΠΌΠΎΠ΄ΡΠ»Π½ΠΎΡΡ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°Ρ ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΠ°ΠΌΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ. ΠΠΌΠ°ΠΉΠΊΠΈ ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ°Π·Π²ΠΈΠ΅ΡΠ΅ ΡΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Service Mesh, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ Π½Π΅ ΡΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ, ΡΠ΅ Π½ΡΠΊΠΎΠ³Π° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Ρ Π²Π½Π΅Π΄ΡΠΈΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π²ΡΠ² Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com