Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ использования service mesh

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ использования service mesh

ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².: Π°Π²Ρ‚ΠΎΡ€ это ΡΡ‚Π°Ρ‚ΡŒΠΈ (Luc Perkins) β€” developer advocate Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ CNCF, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Π΄ΠΎΠΌΠΎΠΌ для Ρ‚Π°ΠΊΠΈΡ… Open Source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠ°ΠΊ Linkerd, SMI (Service Mesh Interface) ΠΈ Kuma (кстати, Π²Ρ‹ Ρ‚ΠΎΠΆΠ΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈΡΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π² этом спискС Π½Π΅Ρ‚ Istio?..). Π’ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· ΠΏΡ‹Ρ‚Π°ΡΡΡŒ принСсти Π² DevOps-сообщСство Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΠΌΠΎΠ΄Π½Ρ‹ΠΉ Ρ…Π°ΠΉΠΏ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«service meshΒ», ΠΎΠ½ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ 16 Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

БСгодня service mesh ― ΠΎΠ΄Π½Π° ΠΈΠ· самых горячих Ρ‚Π΅ΠΌ Π² области ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ (ΠΈ ΠΏΠΎ ΠΏΡ€Π°Π²Ρƒ!). Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ эту Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ нСвСроятно пСрспСктивной ΠΈ ΠΌΠ΅Ρ‡Ρ‚Π°ΡŽ ΡΡ‚Π°Ρ‚ΡŒ свидСтСлСм Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° это ΠΈΠΌΠ΅Π΅Ρ‚ смысл). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½Π° Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½Π° ΠΎΡ€Π΅ΠΎΠ»ΠΎΠΌ таинствСнности для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° людСй. ΠŸΡ€ΠΈ этом Π΄Π°ΠΆΠ΅ Ρ‚Π΅, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌ с Π½Π΅ΠΉ, Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‚ΡΡ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΏΠ»ΡŽΡΡ‹ ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° собой прСдставляСт (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ вашСго ΠΏΠΎΠΊΠΎΡ€Π½ΠΎΠ³ΠΎ слугу). Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, пСрСчислив Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сцСнарии использования «сСрвисных сСток»*.

* ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².: здСсь ΠΈ Π΄Π°Π»Π΅Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ («сСрвисная сСтка») для всё Π΅Ρ‰Ρ‘ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° service mesh.

Но спСрва Ρ…ΠΎΡ‡Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ:

  • Π― Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» с сСрвисными сСтками ΠΈ Π½Π΅ использовал ΠΈΡ… Π²Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², затСянных Ρ€Π°Π΄ΠΈ собствСнного образования. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΈΠΌΠ΅Π½Π½ΠΎ я написал ΠΊΡƒΡ‡Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ service mesh ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Twitter Π² 2015 Π³ΠΎΠ΄Ρƒ (Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½Π° Π΅Ρ‰Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ «сСрвисной сСткой») ΠΈ участвовал Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сайта ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для Linkerd, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚.
  • Мой список β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΈ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΉ. Π’ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ нСизвСстныС ΠΌΠ½Π΅ сцСнарии использования, ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ навСрняка Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ развития Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ роста Π΅Π΅ популярности.
  • Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ каТдая ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ рСализация service mesh ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС пСрСчислСнныС случаи использования. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΈ выраТСния Π²Ρ€ΠΎΠ΄Π΅ Β«service mesh моТСт…» слСдуСт Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Β«ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ всС популярныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ service mesh могут…».
  • ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ значСния.

ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ список:

  • ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ сСрвисов;
  • ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅;
  • аутСнтификация ΠΈ авторизация;
  • балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ;
  • circuit breaking;
  • Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅;
  • ΠΊΠ°Π½Π°Ρ€Π΅Π΅Ρ‡Π½Ρ‹Π΅ развСртывания;
  • синС-Π·Π΅Π»Π΅Π½Ρ‹Π΅ развСртывания;
  • ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ;
  • load shedding;
  • Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°;
  • изоляция;
  • ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ частоты запросов, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Ρ‹;
  • тСлСмСтрия;
  • Π°ΡƒΠ΄ΠΈΡ‚;
  • визуализация.

1. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ сСрвисов

TL;DR: ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сСрвисам Π² сСти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простых ΠΈΠΌΠ΅Π½.

БСрвисы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСски Β«Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΒ» Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ― Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, service.api.production, pets/staging ΠΈΠ»ΠΈ cassandra. ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ срСды ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ своСй ΡΠ»Π°ΡΡ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΈ Π·Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ мноТСство экзСмпляров сСрвиса. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΉ ситуации физичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ…Π°Ρ€Π΄ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ всС IP-адрСса.

Плюс ΠΊΠΎ всСму, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ сСрвис Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ запросы этому сСрвису, Π½Π΅ опасаясь, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ окаТутся Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Ρƒ Π΅Π³ΠΎ Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ экзСмпляра. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, service mesh Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ всСх экзСмпляров сСрвисов ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ список хостов Π² максимально Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии.

КаТдая service mesh Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ обнаруТСния сСрвисов ΠΏΠΎ-своСму. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ самым распространСнным способом являСтся дСлСгирования внСшним процСссам Π²Ρ€ΠΎΠ΄Π΅ DNS Kubernetes. Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π² Twitter для этих Ρ†Π΅Π»Π΅ΠΉ ΠΌΡ‹ использовали систСму ΠΈΠΌΠ΅Π½ Finagle. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, тСхнология service mesh Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ появлСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² имСнования (хотя я Π΅Ρ‰Π΅ Π½Π΅ встрСчал Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ SM с Ρ‚Π°ΠΊΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ).

2. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅

TL;DR: Π˜Π·Π±Π°Π²ΡŒΡ‚Π΅ΡΡŒ ΠΎΡ‚ Π½Π΅Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами ΠΈ пускай этот процСсс Π±ΡƒΠ΄Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ.

ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² Π²Π°ΡˆΡƒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΡΠ΅Ρ‚ΡŒ. Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ экраны прСкрасно ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с этим. Но Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Ρ…Π°ΠΊΠ΅Ρ€ всС ΠΆΠ΅ ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΡŒ? Он смоТСт Π΄Π΅Π»Π°Ρ‚ΡŒ с внутрисСрвисным Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ всС, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ‚? Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ этого всС ΠΆΠ΅ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ сцСнарий, слСдуСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΅Ρ‚ΡŒ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ΠΌ (zero-trust), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вСсь Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных сСрвисных сСток Π΄ΠΎΠ±ΠΈΠ²Π°ΡŽΡ‚ΡΡ этого с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ TLS (mutual TLS, mTLS). Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях mTLS Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ†Π΅Π»Ρ‹Ρ… ΠΎΠ±Π»Π°ΠΊΠ°Ρ… ΠΈ кластСрах (Π΄ΡƒΠΌΠ°ΡŽ, ΠΈ ΠΌΠ΅ΠΆΠΏΠ»Π°Π½Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ устроСны Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ).

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, для mTLS service mesh Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис ΠΌΠΎΠΆΠ΅Ρ‚ сам ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ своСм TLS, Π½ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ способ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСртификаты, Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ хостам сСрвиса, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ эти сСртификаты ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ². Π”Π°, Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ этих сСртификатов Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. БСрвисныС сСтки Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ mTLS с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСм Π²Ρ€ΠΎΠ΄Π΅ SPIFFE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ процСсс выпуска ΠΈ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ сСртификатов.

3. АутСнтификация ΠΈ авторизация

TL;DR: УстанавливайтС, ΠΊΡ‚ΠΎ являСтся ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€ΠΎΠΌ запроса, ΠΈ опрСдСляйтС, Ρ‡Ρ‚ΠΎ ΠΈΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ запрос достигнСт сСрвиса.

БСрвисы часто хотят Π·Π½Π°Ρ‚ΡŒ, ΠΊΡ‚ΠΎ выполняСт запрос (аутСнтификация), ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ€Π΅ΡˆΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ (авторизация). Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π·Π° мСстоимСниСм Β«ΠΊΡ‚ΠΎΒ» ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ:

  1. Π”Ρ€ΡƒΠ³ΠΈΠ΅ сСрвисы. Π­Ρ‚ΠΎ называСтся Β«Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ peer’Π°Β». НапримСр, сСрвис web Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ сСрвису db. БСрвисныС сСтки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ mTLS: сСртификаты Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² Ρ€ΠΎΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°.
  2. НСкиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ-люди. Π­Ρ‚ΠΎ называСтся Β«Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ запроса». НапримСр, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ haxor69 Ρ…ΠΎΡ‡Π΅Ρ‚ приобрСсти Π½ΠΎΠ²ΡƒΡŽ Π»Π°ΠΌΠΏΡƒ. БСрвисныС сСтки ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, JSON Web Tokens.

    Многим ΠΈΠ· нас доводилось Π΄Π΅Π»Π°Ρ‚ΡŒ это Π² ΠΊΠΎΠ΄Π΅ прилоТСния. ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ запрос, ΠΌΡ‹ просматриваСм Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ users, Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ сравниваСм ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Π·Π°Ρ‚Π΅ΠΌ провСряСм столбСц permissions ΠΈ Ρ‚.Π΄. Π’ случаС service mesh это происходит Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ запрос достигнСт сСрвиса.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ установили, ΠΎΡ‚ ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡˆΠ΅Π» запрос, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. НСкоторыС service mesh’ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ (ΠΎ Ρ‚ΠΎΠΌ, ΠΊΡ‚ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ) Π² Π²ΠΈΠ΄Π΅ YAML-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ Π²Ρ€ΠΎΠ΄Π΅ Open Policy Agent. ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ Ρ†Π΅Π»ΡŒ β€” Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши сСрвисы ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ Π»ΡŽΠ±Ρ‹Π΅ запросы, смСло прСдполагая, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ исходят ΠΈΠ· Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ источника ΠΈ дСйствиС это Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ.

4. Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

TL;DR: РаспрСдСляйтС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΠΎ экзСмплярам сСрвиса ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.

«БСрвис» Π² составС сСрвисной сСкти ΠΎΡ‡Π΅Π½ΡŒ часто состоит ΠΈΠ· мноТСства ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Ρ… экзСмпляров. НапримСр, сСгодня сСрвис cache состоит ΠΈΠ· 5 ΠΊΠΎΠΏΠΈΠΉ, Π° Π·Π°Π²Ρ‚Ρ€Π° ΠΈΡ… число ΠΌΠΎΠΆΠ΅Ρ‚ возрасти Π΄ΠΎ 11. Запросы, Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π² cache, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π² соотвСтствии с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ. НапримСр, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π½Π° работоспособный экзСмпляр. Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠ³ΠΎ обслуТивания (Round-robin), Π½ΠΎ сущСствуСт ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π·Π²Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… (weighted) запросов (ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ), ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠ΅ (ring) Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (использованиС согласованного Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ для upstream-хостов) ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ наимСньшСго числа запросов (ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ отдаСтся экзСмпляру с наимСньшим числом запросов).

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ балансировщики ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ HTTP ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ для Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ‚ΠΈΠΏΠ° east-west (Ρ‚.Π΅. для Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π΄Π°Ρ‚Π°Ρ†Π΅Π½Ρ‚Ρ€Π° ― ΠΏΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².)(типичная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния service mesh). ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ service mesh для балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½Π° позволяСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ балансировки для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвиса ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ слоя, Ρ‚Π΅ΠΌ самым устраняя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ балансировщики Π² сСтСвом стСкС.

5. Π Π°Π·Ρ€Ρ‹Π² Ρ†Π΅ΠΏΠΈ (circuit breaking)

TL;DR: ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΌΡƒ сСрвису ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡƒΡ‰Π΅Ρ€Π± ΠΏΡ€ΠΈ Π½Π°ΠΈΡ…ΡƒΠ΄ΡˆΠΈΡ… сцСнариях.

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ сСрвис Π½Π΅ справляСтся с Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ, service mesh прСдоставляСт нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ (ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ рассказано Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…). Circuit breaking ― это самый ТСсткий Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сСрвиса ΠΎΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Однако сам ΠΏΠΎ сСбС ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла ― Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ запасной ΠΏΠ»Π°Π½. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ (backpressure) Π½Π° сСрвисы, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ запросы (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ свою service mesh для этого!), ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ статус-страницы Π² красный Ρ†Π²Π΅Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ страницы с Β«ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΊΠΈΡ‚ΠΎΠΌΒ» (Β«Twitter is downΒ»).

БСрвисныС сСтки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° послСдуСт ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ‡Ρ‚ΠΎ Π·Π° этим послСдуСт. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Β«ΠΊΠΎΠ³Π΄Π°Β» ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: ΠΎΠ±Ρ‰Π΅Π΅ число запросов Π·Π° Π½Π΅ΠΊΠΈΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, количСство ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, pending-запросы, Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈ Ρ‚.Π΄.

Π’Ρ‹ вряд Π»ΠΈ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ circuit breaking’ΠΎΠΌ, Π½ΠΎ приятно ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ Π½Π° ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ случай.

6. ΠΠ²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

TL;DR: Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΠΉΡ‚Π΅ число экзСмпляров сСрвиса Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π².

Service mesh’ΠΈ ― это Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ, поэтому ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Однако ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ service mesh’ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ доступ ΠΊΠΎ всСму Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами, ΠΎΠ½ΠΈ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит: ΠΊΠ°ΠΊΠΈΠ΅ сСрвисы ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ совсСм слабо (Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° Π½ΠΈΡ… мощности тратятся Π²ΠΏΡƒΡΡ‚ΡƒΡŽ) ΠΈ Ρ‚.Π΄.

НапримСр, Kubernetes ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ сСрвисы Π² зависимости ΠΎΡ‚ использования pod’Π°ΠΌΠΈ CPU ΠΈ памяти (см. наш Π΄ΠΎΠΊΠ»Π°Π΄ Β«ΠΠ²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСсурсами Π² KubernetesΒ» β€” ΠΏΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².), Π½ΠΎ Ссли Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° основС любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ показатСля (Π² нашСм случаС β€” связанного с Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ), понадобится ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°. Руководство Π²Ρ€ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Envoy, Istio ΠΈ Prometheus, Π½ΠΎ сам процСсс довольно слоТСн. ΠœΡ‹ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ service mesh Π΅Π³ΠΎ упростила, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² просто Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ условия Π²Ρ€ΠΎΠ΄Π΅ Β«ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒ количСство экзСмпляров сСрвиса auth, Ссли число запросов, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… выполнСния, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹Β».

7. ΠšΠ°Π½Π°Ρ€Π΅Π΅Ρ‡Π½Ρ‹Π΅ развСртывания

TL;DR: Π˜ΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ вСрсии сСрвиса Π½Π° подмноТСствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½Π΅ΠΊΠΈΠΉ SaaS-ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ Π½Π°ΠΌΠ΅Ρ€Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½ΠΎΠ²ΡƒΡŽ ΠΊΡ€ΡƒΡ‚ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π’Ρ‹ протСстировали Π΅Π΅ Π² staging, ΠΈ ΠΎΠ½Π° прСкрасно ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°. Но всС ΠΆΠ΅ ΠΎΠ΄ΠΎΠ»Π΅Π²Π°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ опасСния насчСт Π΅Π΅ повСдСния Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… условиях. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…, Π½Π΅ рискуя ΠΏΡ€ΠΈ этом Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠšΠ°Π½Π°Ρ€Π΅Π΅Ρ‡Π½Ρ‹Π΅ развСртывания ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ подходят для этого. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ подмноТСству ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π­Ρ‚ΠΎ подмноТСство ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· самых Π»ΠΎΡΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с бСсплатной вСрсиСй ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²Ρ‹Ρ€Π°Π·ΠΈΠ²ΡˆΠΈΡ… ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ±Ρ‹Ρ‚ΡŒ Β«ΠΏΠΎΠ΄ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°ΠΌΠΈΒ».

Service mesh’ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ это, позволяя ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠ°ΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния ΡƒΠ²ΠΈΠ΄ΠΈΡ‚, ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΡ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. ΠŸΡ€ΠΈ этом для самих сСрвисов Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ мСняСтся. ВСрсия 1.0 сСрвиса считаСт, Ρ‡Ρ‚ΠΎ всС запросы ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π΅ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π° вСрсия 1.1 Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ своих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. А Π²Ρ‹, Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ старой ΠΈ Π½ΠΎΠ²ΠΎΠΉ вСрсиСй, пСрСнаправляя растущСС число ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π½ΠΎΠ²ΡƒΡŽ, Ссли ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ ваши Β«ΠΏΠΎΠ΄ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅Β» Π΄Π°ΡŽΡ‚ Π΄ΠΎΠ±Ρ€ΠΎ.

8. Π‘ΠΈΠ½Π΅-Π·Π΅Π»Π΅Π½Ρ‹Π΅ развСртывания

TL;DR: Π’Ρ‹ΠΊΠ°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΊΡ€ΡƒΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всС Π½Π°Π·Π°Π΄.

Бмысл синС-Π·Π΅Π»Π΅Π½Ρ‹Ρ… Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΉ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ «синий» сСрвис, запустив Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ со старым, Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΌΒ». Если всС ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π³Π»Π°Π΄ΠΊΠΎ ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ сСрвис Ρ…ΠΎΡ€ΠΎΡˆΠΎ сСбя Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚, Ρ‚ΠΎ старый ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ постСпСнно ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. (Π£Π²Ρ‹, ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈ этот Π½ΠΎΠ²Ρ‹ΠΉ «синий» сСрвис ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ ΡΡƒΠ΄ΡŒΠ±Ρƒ Β«Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎΒ» ΠΈ исчСзнСт…) Π‘ΠΈΠ½Π΅-Π·Π΅Π»Π΅Π½Ρ‹Π΅ развСртывания ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΊΠ°Π½Π°Ρ€Π΅Π΅Ρ‡Π½Ρ‹Ρ… Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ новая функция ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ сразу всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (Π° Π½Π΅ Ρ‡Π°ΡΡ‚ΡŒ); смысл здСсь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π°Π³ΠΎΡ‚ΠΎΠ²Π΅ Β«Π·Π°ΠΏΠ°ΡΠ½ΡƒΡŽ гавань», Ссли Π²Π΄Ρ€ΡƒΠ³ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ.

Service mesh’ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ тСстирования «синСго» сСрвиса ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Β«Π·Π΅Π»Π΅Π½Ρ‹ΠΉΒ» Π² случаС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ. НС говоря ΡƒΠΆΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΡƒΡ‚Π½ΠΎ ΠΎΠ½ΠΈ Π΄Π°ΡŽΡ‚ массу ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (см. ΠΏΡƒΠ½ΠΊΡ‚ «ВСлСмСтрия» Π½ΠΈΠΆΠ΅) ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ «синСго», которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³ΠΎΡ‚ΠΎΠ² Π»ΠΈ Ρ‚ΠΎΡ‚ ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ эксплуатации.

ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².: ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… стратСгиях развСртывания Π² Kubernetes (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ упомянутыС canary, blue/green ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

9. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ

TL;DR: Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ экзСмпляры сСрвисов работоспособны, ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½Π° Ρ‚Π΅ ΠΈΠ· Π½ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°ΡŽΡ‚.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ (health check) ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π»ΠΈ экзСмпляры сСрвиса ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. НапримСр, Π² случаС HTTP-сСрвисов ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ GET-запрос Π½Π° endpoint /health. ΠžΡ‚Π²Π΅Ρ‚ 200 OK Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ экзСмпляр Π·Π΄ΠΎΡ€ΠΎΠ², любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ― Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Service mesh’ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ способ, ΠΊΠ°ΠΊΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ частоту, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ эта ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ. Π­Ρ‚Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ circuit breaking’Π°.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ выступаСт Π½Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сцСнариСм использования, Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для достиТСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ. Π’Π°ΠΊΠΆΠ΅, Π² зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² health check’ΠΎΠ², ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ внСшниС (ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ цСлям сСрвисных сСток) дСйствия: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ страницу состояния, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ issue Π½Π° GitHub ΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΈΠΊΠ΅Ρ‚ JIRA. И service mesh ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ всСго этого.

10. ΠŸΠ΅Ρ€Π΅Π±Ρ€Π°ΡΡ‹Π²Π°Π½ΠΈΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (load shedding)

TL;DR: ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΠΉΡ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ всплСск Π² использовании.

Если Π½Π΅ΠΊΠΈΠΉ сСрвис оказываСтся ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ этого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Β«ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒΒ», Β«ΠΏΠ΅Ρ€Π΅Π»ΠΈΡ‚ΡŒΒ» (shed) Π΅Π³ΠΎ Ρ‚ΡƒΠ΄Π°). НапримСр, Π² Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ сСрвис ΠΈΠ»ΠΈ Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€, ΠΈΠ»ΠΈ Π² постоянный Pulsar topic. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, сСрвис ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ запросов вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΠ°ΡΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ всС. БбрасываниС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‡Π΅ΠΌ Ρ€Π°Π·Ρ€Ρ‹Π² Ρ†Π΅ΠΏΠΈ, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ ΠΈΠΌ. Оно позволяСт ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ каскадныС сбои, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Π΄Π°ΡŽΡ‚ downstream-сСрвисы.

11. РаспараллСливаниС/Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°

TL;DR: ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ запрос сразу Π² нСсколько мСст.

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ запрос (ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ запросов) сразу Π² нСсколько сСрвисов. Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ― ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° части production-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² staging-сСрвис. Основной Π²Π΅Π±-сСрвСр production’Π° отправляСт запрос ΠΊ ниТСстоящСму сСрвису products.production ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π½Π΅ΠΌΡƒ. А service mesh ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ этот запрос ΠΈ отправляСт Π΅Π³ΠΎ Π½Π° products.staging, ΠΎ Ρ‡Π΅ΠΌ Π²Π΅Π±-сСрвСр Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅Ρ‚.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ связанный сцСнарий использования сСрвисной сСтки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ… распараллСливания Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ― это рСгрСссионноС тСстированиС. Оно прСдусматриваСт ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ запросов Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ вСрсиям сСрвиса ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΎΠ³ΠΎ, Π²Π΅Π΄ΡƒΡ‚ Π»ΠΈ всС вСрсии сСбя ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. МнС ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π»Π°ΡΡŒ рСализация service mesh с ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмой рСгрСссионного тСстирования Π²Ρ€ΠΎΠ΄Π΅ Diffy, Π½ΠΎ сама идСя каТСтся пСрспСктивной.

12. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ

TL;DR: Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ свою service mesh Π½Π° ΠΌΠΈΠ½ΠΈ-сСти.

Π’Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ сСгмСнтация, изоляция ― это искусство раздСлСния сСрвисной сСтки Π½Π° логичСски обособлСнныС сСгмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ ΠΎ Π΄Ρ€ΡƒΠ³Π΅. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° созданиС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… частных сСтСй. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΆΠ΅ Ρ€Π°Π·Π½ΠΈΡ†Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСми прСимущСствами service mesh (Π²Ρ€ΠΎΠ΄Π΅ обнаруТСния сСрвисов), Π½ΠΎ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ. НапримСр, Ссли Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ сумССт ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² сСрвис Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· подсСтСй, ΠΎΠ½ Π½Π΅ смоТСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ сСрвисы Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… подсСтях, ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‚Ρ€Π°Ρ„ΠΈΠΊ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, прСимущСства ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ захочСтся Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ сСрвисы Π½Π° подсСти Π² зависимости ΠΎΡ‚ структуры ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚ ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΡƒΠΌΠ΅ всю service mesh.

13. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ частоты запросов, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Ρ‹

TL;DR: Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ насущныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ запросами.

ВсС эти Π²Π΅Ρ‰ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ случаи использования, Π½ΠΎ я Ρ€Π΅ΡˆΠΈΠ» ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈΠ·-Π·Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Ρ‰Π΅ΠΉ особСнности: ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΈΠΌΠ°ΡŽΡ‚ Π½Π° сСбя Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ запросов, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π²Π΅Π±-сСрвСр Π½Π° Ruby on Rails (Π½Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ с service mesh), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт запросы ΠΊ backend-сСрвисам Ρ‡Π΅Ρ€Π΅Π· gRPC, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ само Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли N запросов Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ. Π’Π°ΠΊΠΆΠ΅ придСтся Π²Ρ‹ΡΡΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ объСм Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° способны Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ эти сСрвисы ΠΈ Π·Π°’hardcode’ΠΈΡ‚ΡŒ эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Плюс ΠΊΠΎ всСму, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡ€Π° ΡΠ΄Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ запросу ΠΏΡ€ΠΎΡ‚ΡƒΡ…Π½ΡƒΡ‚ΡŒ (ΠΏΠΎ timeout). И для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ любой ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π²Π΅Π±-сСрвСр придСтся ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° этих Π·Π°Π΄Π°Ρ‡ сСрвисной сСткС ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ сСрвисов Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ…, Π½ΠΎ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ слоТная Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° сСрвисов, скаТСм, A –> B –> C –> D –> E, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ вСсь ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» запроса. Если стоит Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΎΠ΄Π»ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Ρ‹ Π² сСрвисС Π‘, Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это всС Ρ€Π°Π·ΠΎΠΌ, Π° Π½Π΅ ΠΏΠΎ частям: ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΠΊΠΎΠ΄ сСрвиса ΠΈ доТидаясь, ΠΏΠΎΠΊΠ° pull request Π±ΡƒΠ΄Π΅Ρ‚ принят ΠΈ CI-систСма Ρ€Π°Π·Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ сСрвис.

14. ВСлСмСтрия

TL;DR: Π‘ΠΎΠ±ΠΈΡ€Π°ΠΉΡ‚Π΅ всю Π½ΡƒΠΆΠ½ΡƒΡŽ (ΠΈ Π½Π΅ совсСм) ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ сСрвисов.

ВСлСмСтрия ― это ΠΎΠ±Ρ‰ΠΈΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² сСбя ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ трассировку ΠΈ Π»ΠΎΠ³ΠΈ. БСрвисныС сСтки ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ для сбора ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ всСх Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π΄Π΅ΡΡŒ всС становится Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ расплывчатым, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ число Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² слишком Π²Π΅Π»ΠΈΠΊΠΎ. Для сбора ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π΅ΡΡ‚ΡŒ Prometheus ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты, для сбора Π»ΠΎΠ³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ fluentd, Loki, Vector ΠΈ Π΄Ρ€. (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ClickHouse с нашим loghouse для K8s β€” ΠΏΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².), для распрСдСлСнной трассировки Π΅ΡΡ‚ΡŒ Jaeger ΠΈ Ρ‚.ΠΏ. КаТдая service mesh ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈ инструмСнты ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, смоТСт Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Open Telemetry ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡŽ.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС прСимущСство Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ service mesh Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ sidecar-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ со своих сСрвисов. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π² своС распоряТСниС Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π΅Π΄ΠΈΠ½ΡƒΡŽ систСму сбора Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, ΠΈ service mesh ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ всС эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами. НапримСр:

  • tail’ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΎΡ‚ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ сСрвиса Π² CLI;
  • ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ объСм запросов с ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° service mesh;
  • ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ распрСдСлСнныС трассировки ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² систСму Π²Ρ€ΠΎΠ΄Π΅ Jaeger.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ суТдСниС: Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, тСлСмСтрия ― это Ρ‚Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, сильноС Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ сСрвисной сСтки Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π‘Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ отслСТиваниС Π½Π° Π»Π΅Ρ‚Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Β«Π·ΠΎΠ»ΠΎΡ‚Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΒ» Π²Ρ€ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… запросов ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ― это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ станСм свидСтСлями возникновСния этаких Π€Ρ€Π°Π½ΠΊΠ΅Π½ΡˆΡ‚Π΅ΠΉΠ½-стСков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ спСциализированныС систСмы, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΠΈΡ… ΡƒΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ сСбя Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹.

15. Аудит

TL;DR: Π’ΠΎΡ‚, ΠΊΡ‚ΠΎ Π·Π°Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΡ€ΠΎΠΊΠΈ истории, ΠΎΠ±Ρ€Π΅Ρ‡Π΅Π½ ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ.

Аудит ― это искусство наблюдСния Π·Π° Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ событиями Π² систСмС. Π’ случаС service mesh это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ отслСТиваниС Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π΄Π΅Π»Π°Π» запросы ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ endpoint’Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… сСрвисов ΠΈΠ»ΠΈ сколько Ρ€Π°Π· Π·Π° послСдний мСсяц происходило Π½Π΅ΠΊΠΎΠ΅ событиС, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ бСзопасности.

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π°ΡƒΠ΄ΠΈΡ‚ ΠΎΡ‡Π΅Π½ΡŒ тСсно связан с Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΠ΅ΠΉ. Π Π°Π·Π½ΠΈΡ†Π° ΠΆΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ тСлСмСтрия ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ассоциируСтся с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ тСхничСская ΡΡ‚Ρ€ΠΎΠΉΠ½ΠΎΡΡ‚ΡŒ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π°ΡƒΠ΄ΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ вопросам, выходящим Π·Π° Ρ€Π°ΠΌΠΊΠΈ строго тСхничСской сфСры (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, соотвСтствиС трСбованиям GDPR ― ΠžΠ±Ρ‰Π΅Π³ΠΎ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π° Π•Π‘ ΠΏΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Ρ…).

16. Визуализация

TL;DR: Π”Π° здравствуСт React.js ― нСистощимый источник ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²Ρ‹Ρ… интСрфСйсов.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ подходящий Ρ‚Π΅Ρ€ΠΌΠΈΠ½, Π½ΠΎ я Π΅Π³ΠΎ Π½Π΅ знаю. Π― просто имСю Π² Π²ΠΈΠ΄Ρƒ графичСскоС прСдставлСниС service mesh ΠΈΠ»ΠΈ Π΅Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ срСдних Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ sidecar-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ ΠΈ оповСщСния.

Π Π°Π±ΠΎΡ‚Π° Π² сСрвис-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС сопряТСна с Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ сильной ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π•Π³ΠΎ ВСличСством ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚ΠΎΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ слСдуСт ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ любой Ρ†Π΅Π½ΠΎΠΉ. Π‘Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ графичСский интСрфСйс для service mesh с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ значСния для роста популярности этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

НС Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² список

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ я намСрСвался Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² список Π΅Ρ‰Π΅ нСсколько сцСнариСв использования, Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π΅ΡˆΠΈΠ» Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ этого. Π’ΠΎΡ‚ ΠΎΠ½ΠΈ вмСстС с ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ ΠΌΠΎΠ΅Π³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

  • ΠœΡƒΠ»ΡŒΡ‚ΠΈ-Π΄Π°Ρ‚Π°Ρ†Π΅Π½Ρ‚Ρ€. Π’ ΠΌΠΎΠ΅ΠΌ прСдставлСнии это Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ сцСнарий использования, сколько узкая ΠΈ конкрСтная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния сСрвисных сСток ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Ρ€ΠΎΠ΄Π΅ обнаруТСния сСрвисов.
  • Ingress ΠΈ egress. Π­Ρ‚ΠΎ связанная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π½ΠΎ я ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ» сСбя (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, искусствСнно) сцСнариСм использования Β«Ρ‚Ρ€Π°Ρ„ΠΈΠΊ east-westΒ». Ingress ΠΈ egress Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На этом ΠΏΠΎΠΊΠ° всС! ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, этот список вСсьма условСн ΠΈ, скорСС всСго, Π½Π΅ΠΏΠΎΠ»ΠΎΠ½. Если Π²Π°ΠΌ каТСтся, Ρ‡Ρ‚ΠΎ я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ упустил, ΠΈΠ»ΠΈ Π² Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ошибся, ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎ ΠΌΠ½Π΅ Π² Twitter (@lucperkins). ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° приличия.

P.S. ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π’ качСствС основы для Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ взято ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«What is a Service Mesh (and when to use one)?Β» (Π°Π²Ρ‚ΠΎΡ€ β€” Gregory MacKinnon). На Π½Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π·Π΅Π»Π΅Π½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ) ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° ΠΊ service mesh, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ (Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ Ρ†Π²Π΅Ρ‚).

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π² нашСм Π±Π»ΠΎΠ³Π΅:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com