ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

19 сСнтября Π² МосквС состоялся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ тСматичСский ΠΌΠΈΡ‚Π°ΠΏ HUG (Highload++ User Group), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» посвящён микросСрвисам. На Π½Ρ‘ΠΌ ΠΏΡ€ΠΎΠ·Π²ΡƒΡ‡Π°Π» Π΄ΠΎΠΊΠ»Π°Π΄ «Эксплуатация микросСрвисов: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас KubernetesΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ подСлились ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«Π€Π»Π°Π½Ρ‚Β» Π² области эксплуатации ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ всСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΡΡ ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² своём настоящСм ΠΈΠ»ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ с Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ (50 ΠΌΠΈΠ½ΡƒΡ‚, Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Π΅Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Ρ‹ΠΆΠΈΠΌΠΊΡƒ ΠΈΠ· Π½Π΅Π³ΠΎ Π² тСкстовом Π²ΠΈΠ΄Π΅.

NB: Π’ΠΈΠ΄Π΅ΠΎ ΠΈ прСзСнтация доступны Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΊΠΎΠ½Ρ†Π΅ этой ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ история ΠΈΠΌΠ΅Π΅Ρ‚ завязку, основной ΡΡŽΠΆΠ΅Ρ‚ ΠΈ развязку. Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΠ»Π°Π΄ большС ΠΏΠΎΡ…ΠΎΠΆ Π½Π° завязку, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Ρ‚Ρ€Π°Π³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ. Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Ρ‘ΠΌ прСдставлСн взгляд Π½Π° микросСрвисы со стороны эксплуатации.

Начну с Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ (Π² 2015 Π³ΠΎΠ΄Ρƒ) стал Martin Fowler:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

На Π½Ρ‘ΠΌ Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ Π² случаС ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠ³ΠΎ прилоТСния, Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΠ²ΡˆΠ΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹, Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ с Π½ΠΈΠΌΠΈ Π½ΠΈΠΆΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ роста слоТности дСградация эффСктивности для Π½ΠΈΡ… Π½Π΅ Ρ‚Π°ΠΊ Π·Π°ΠΌΠ΅Ρ‚Π½Π°.

Π”ΠΎΠΏΠΎΠ»Π½ΡŽ этот Π³Ρ€Π°Ρ„ΠΈΠΊ для случая использования Kubernetes:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ с микросСрвисами стало Π»ΡƒΡ‡ΡˆΠ΅? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ такая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π²Ρ‹Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅ трСбования ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ возмоТностями Kubernetes. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ‡Π°ΡΡ‚ΡŒ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΈ для ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, особСнно ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Π½Π° сСгодняшний дСнь ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ β€” это Π½Π΅ совсСм ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ (подробности Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π°Π»Π΅Π΅ Π² Π΄ΠΎΠΊΠ»Π°Π΄Π΅).

Как Π²ΠΈΠ΄Π½ΠΎ, ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ (ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠ΅, ΠΈ микросСрвисноС прилоТСния Π² инфраструктурС с Kubernetes) Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ-Ρ‚ΠΎ отличаСтся ΠΎΡ‚ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ. Π”Π°Π»Π΅Π΅ Ρ€Π΅Ρ‡ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ ΠΎ прилоТСниях, эксплуатируСмых с использованиСм Kubernetes.

ПолСзная ΠΈ врСдная ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΠΎΡΡ‚ΡŒ

И Ρ‚ΡƒΡ‚ главная ΠΌΡ‹ΡΠ»ΡŒ:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

Π§Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ микросСрвисная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°? Она Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠ½ΠΎΡΠΈΡ‚ΡŒ Π²Π°ΠΌ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·Ρƒ, увСличивая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Если Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, Ρ‚ΠΎ Π²ΠΎΡ‚ ΠΎΠ½Π°:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

Если Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, Ρ‚ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сторонС Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ врСдная ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΠΎΡΡ‚ΡŒ (ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π΅):

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ Β«Π³Π»Π°Π²Π½ΠΎΠΉ мысли»: стоит Π»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΌΠΎΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ? Π‘ Π½Π°Ρ‡Π°Π»Π° этого Π³ΠΎΠ΄Π° я посмотрСл 85 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². НС всС ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ микросСрвисными (Ρ‚Π°ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΎΠ±Π»Π°Π΄Π°Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΠΈ Π΄ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ ΠΈΠ· Π½ΠΈΡ…), Π½ΠΎ это всё Ρ€Π°Π²Π½ΠΎ большоС число. Нам (ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«Π€Π»Π°Π½Ρ‚Β») ΠΊΠ°ΠΊ аутсорсСрам удаётся Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠ°ΠΊ Π² ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… компаниях (с 5 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ), Ρ‚Π°ΠΊ ΠΈ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… (~500 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²). Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ плюсом являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ эти прилоТСния ΠΆΠΈΠ²ΡƒΡ‚ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° протяТСнии ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚.

Π—Π°Ρ‡Π΅ΠΌ микросСрвисы?

На вопрос ΠΎ пользС микросСрвисов Π΅ΡΡ‚ΡŒ вСсьма ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Ρƒ ΡƒΠΆΠ΅ упомянутого Martin Fowler:

  1. Ρ‡Ρ‘Ρ‚ΠΊΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ;
  2. нСзависимый Π΄Π΅ΠΏΠ»ΠΎΠΉ;
  3. свобода Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

Π― ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π» с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π», Π·Π°Ρ‡Π΅ΠΌ ΠΈΠΌ микросСрвисы. И составил свой список ΠΈΡ… ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

Если ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Β«Π² ощущСниях» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², Ρ‚ΠΎ:

  • Ρ‡Ρ‘Ρ‚ΠΊΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ: Π²ΠΎΡ‚ Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всё Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎ Git-рСпозиториям, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всё Β«ΠΏΠΎ ΠΏΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌΒ», Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π½ΠΎ Ρ‚Ρ‘ΠΏΠ»ΠΎΠ΅ с мягким;
  • Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ дСплоя: ΠΌΡ‹ смоТСм Π²Ρ‹ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сСрвисы нСзависимо, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° шла быстрСС (ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ);
  • Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ этот микросСрвис Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅/Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, Π° Ρ‚ΠΎΡ‚ β€” Π΄Ρ€ΡƒΠ³ΠΎΠΉ, благодаря Ρ‡Π΅ΠΌΡƒ смоТСм быстрСС Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ;
  • большая Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ: Ссли случится частичная дСградация (ΡƒΠΏΠ°Π΄Ρ‘Ρ‚ ΠΎΠ΄ΠΈΠ½ микросСрвис ΠΈΠ· 20), Ρ‚ΠΎ пСрСстанСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ лишь ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°, Π° систСма Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Виповая (врСдная) микросСрвисная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ всё Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, я ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡŽ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, основанный Π½Π° ΠΎΠΏΡ‹Ρ‚Π΅ ΠΈΠ· мноТСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ абстрактный ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½, ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Amazon ΠΈΠ»ΠΈ хотя Π±Ρ‹ OZON. Π•Π³ΠΎ микросСрвисная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° выглядит Ρ‚Π°ΠΊ:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

По совокупности ΠΏΡ€ΠΈΡ‡ΠΈΠ½, эти микросСрвисы написаны Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ микросСрвиса Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΡΡ‚ΡŒ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² своСй Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ кэшС. Ѐинальная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° получаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

ΠšΠ°ΠΊΠΎΠ²Ρ‹ Π΅Ρ‘ послСдствия?

Π£ Fowler’Π° ΠΈ Π½Π° этот счёт Π΅ΡΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ β€” ΠΎ «расплатС» Π·Π° использованиС микросСрвисов:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

А ΠΌΡ‹ посмотрим, ΠΎΠΏΡ€Π°Π²Π΄Π°Π»ΠΈΡΡŒ Π»ΠΈ наши оТидания.

Π§Ρ‘Ρ‚ΠΊΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ модулСй…

Но сколько микросСрвисов Π½Π°ΠΌ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅? МоТСм Π»ΠΈ ΠΌΡ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π±Π΅Π· распрСдСлённого трассировщика (вСдь любой запрос обрабатываСтся ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ микросСрвисов)?

БущСствуСт ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ «большой ΠΊΠΎΠΌΠΎΠΊ грязи», Π° здСсь ΠΈ вовсС получился распрСдСлённый ΠΊΠΎΠΌΠΎΠΊ грязи. Π’ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΡƒ β€” Π²ΠΎΡ‚ примСрная ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ходят запросы:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ дСплоя…

ВСхничСски ΠΎΠ½Π° достигнута: ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ микросСрвис ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Но Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всСгда выкатываСтся мноТСство микросСрвисов, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ порядок ΠΈΡ… Π²Ρ‹ΠΊΠ°Ρ‚Π°. По-Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒ Π½Π°ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π»ΠΈ порядкС ΠΌΡ‹ Π²Ρ‹ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Ρ€Π΅Π»ΠΈΠ·.

Π‘Π²ΠΎΠ±ΠΎΠ΄Π° Π²Ρ‹Π±ΠΎΡ€Π° тСхнологии…

Она Π΅ΡΡ‚ΡŒ. Волько стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ свобода Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ с бСспрСдСлом. ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ здСсь Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΒ» с Π½ΠΈΠΌΠΈ.

ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ разработки…

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ тСстовый ΠΊΠΎΠ½Ρ‚ΡƒΡ€ для всСго прилоТСния (ΠΈΠ· Ρ‚Π°ΠΊΠΎΠ³ΠΎ мноТСства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²)? А вСдь Π΅Ρ‰Ρ‘ Π½Π°Π΄ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Всё это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ количСство тСстовых ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ, оказываСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

А Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всё это локально?.. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄Π΅Π»Π°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ нСзависимо, Π½ΠΎ Β«Π½Π°ΡƒΠ³Π°Π΄Β», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° освободится ΠΊΠΎΠ½Ρ‚ΡƒΡ€ для тСстирования.

РаздСльноС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅β€¦

Π”Π°, Π½ΠΎ ΠΎΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Π² области ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π‘Π£Π‘Π”. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρƒ Cassandra, Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Ρƒ MySQL ΠΈ PostgreSQL.

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒβ€¦

Мало Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ· строя ΠΎΠ΄Π½ΠΎΠ³ΠΎ микросСрвиса Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π»ΠΎΠΌΠ°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСй систСмы, Ρ‚Π°ΠΊ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΈ новая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ отказоустойчивым ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ микросСрвис ΠΎΡ‡Π΅Π½ΡŒ слоТно. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² микросСрвисах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (memcache, Redis ΠΈ Ρ‚.ΠΏ.), для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ всё ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… рСсурсов.

Π˜Π·ΠΌΠ΅Ρ€ΠΈΠΌΠΎΡΡ‚ΡŒ нагрузки…

Π‘ этим Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

Β«Π›Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒΒ» микросСрвисов…

Π£ нас Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ появились ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ сСтСвыС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы (ΠΏΡ€ΠΈΡƒΠΌΠ½ΠΎΠΆΠ°ΡŽΡ‚ΡΡ запросы Π½Π° DNS ΠΈ Ρ‚.ΠΏ.), Π½ΠΎ ΠΈ ΠΈΠ·-Π·Π° мноТСства подзапросов ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ (Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ кэши), Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰.

И Π²ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ² ΠΈΡ‚ΠΎΠ³ соотвСтствия нашим оТиданиям:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

Но ΠΈ это Π΅Ρ‰Ρ‘ Π½Π΅ всё!

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ:

  • Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Π½Π°ΠΌ потрСбуСтся шина сообщСний.
  • Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ консистСнтный бэкап Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ? ЕдинствСнный Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ для этого. Но ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° production?
  • Если ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ², Ρ‚ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… β€” ΠΎΡ‡Π΅Π½ΡŒ трудоёмкая Π·Π°Π΄Π°Ρ‡Π°.
  • ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° внСсСния Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. НапримСр, Ссли Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ PHP, Ρ‚ΠΎ потрСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Π° ΠΈΡ… β€” дСсятки).
  • Рост ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ слоТности навскидку получаСтся ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

Π§Ρ‚ΠΎ со всСм этим Π΄Π΅Π»Π°Ρ‚ΡŒ?

НачинайтС с ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠ³ΠΎ прилоТСния. ΠžΠΏΡ‹Ρ‚ Fowler’Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ практичСски всС ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ микросСрвисныС прилоТСния Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈΡΡŒ с ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стал слишком большим, послС Ρ‡Π΅Π³ΠΎ ΠΈ Π±Ρ‹Π» Ρ€Π°Π·Π±ΠΈΡ‚. Π’ Ρ‚ΠΎ ΠΆΠ΅ самоС врСмя практичСски всС систСмы, построСнныС ΠΊΠ°ΠΊ микросСрвисныС с самого Π½Π°Ρ‡Π°Π»Π°, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ испытывали ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° цСнная ΠΌΡ‹ΡΠ»ΡŒ β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΈ ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ микросСрвисы. А Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚.

Но Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΌΡ‹ ΡƒΠΆΠ΅ оказались Π² Ρ‚Π°ΠΊΠΎΠΉ ситуации?

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ любой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ β€” ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ с Π½Π΅ΠΉ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ большС Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΡ‚Ρ€Π°Π΄Π°Ρ‚ΡŒ.

Если Π² случаС Ρ€Π°Π·Ρ€ΠΎΡΡˆΠ΅Π³ΠΎΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° (ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ рСсурсы), ΠΌΡ‹ Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π΅Π·Π°Π΅ΠΌ, Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС получаСтся обратная история: ΠΊΠΎΠ³Π΄Π° чрСзмСрная ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, Π° ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ β€” ΠΎΡ‚Ρ€Π΅Π·Π°ΠΉΡ‚Π΅ лишнСС ΠΈ укрупняйтС!

НапримСр, для рассмотрСнного Π²Ρ‹ΡˆΠ΅ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ образа…

Π˜Π·Π±Π°Π²ΡŒΡ‚Π΅ΡΡŒ ΠΎΡ‚ самых ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… микросСрвисов:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ всС микросСрвисы, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

… Π² ΠΎΠ΄ΠΈΠ½ микросСрвис, написанный Π½Π° ΠΎΠ΄Π½ΠΎΠΌ (соврСмСнном ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ сами считаСтС) языкС/Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

Π£ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ORM (ΠΎΠ΄Π½Π° Π‘Π£Π‘Π”) ΠΈ сначала ΠΏΠ°Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

… Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚ΡƒΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π² Kubernetes ΠΌΡ‹ всё это запускаСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ экзСмплярами, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ всё Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

Π Π΅Π·ΡŽΠΌΠΈΡ€ΡƒΡ

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ ΡˆΠΈΡ€Π΅. ΠžΡ‡Π΅Π½ΡŒ часто всС эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с микросСрвисами Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ взял свою Π·Π°Π΄Π°Ρ‡Ρƒ, Π½ΠΎ Ρ…ΠΎΡ‚Π΅Π» Β«ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² микросСрвисы».

Π’ словС «микросСрвисы» Ρ‡Π°ΡΡ‚ΡŒ Β«ΠΌΠΈΠΊΡ€ΠΎΒ» являСтся лишнСй. Они Β«ΠΌΠΈΠΊΡ€ΠΎΒ» лишь ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ мСньшС ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°. Но Π½Π΅ Π½Π°Π΄ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ… ΠΊΠ°ΠΊ ΠΎ Ρ‡Ρ‘ΠΌ-Ρ‚ΠΎ малСньком.

И для Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ мысли вСрнёмся ΠΊ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ:

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Kubernetes

НаписанноС ΠΊ Π½Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ (справа Π½Π°Π²Π΅Ρ€Ρ…Ρƒ) сводится ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π°Π²Ρ‹ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, которая Π΄Π΅Π»Π°Π΅Ρ‚ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, всСгда ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ β€” ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ ΡΡ‹Π³Ρ€Π°ΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² вашСм Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ микросСрвисами ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ΠΎΠΌ. Если Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΎΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ микросСрвисы, история Ρ‚ΠΎΡ‡Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΈ слайды

Π’ΠΈΠ΄Π΅ΠΎ с выступлСния (~50 ΠΌΠΈΠ½ΡƒΡ‚; ΠΊ соТалСнию, ΠΎΠ½ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ многочислСнныС эмоции посСтитСлСй, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ опрСдСляло настроСниС Π΄ΠΎΠΊΠ»Π°Π΄Π°, Π½ΠΎ ΡƒΠΆ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ):

ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄Π°:

P.S.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‹ Π² нашСм Π±Π»ΠΎΠ³Π΅:

ВСроятно, вас Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ:

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ