ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ β€” ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π²Π·Ρ€Ρ‹Π² вСрсий

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию авторский ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Microservices – Combinatorial Explosion of Versions.
ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ — ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π²Π·Ρ€Ρ‹Π² вСрсий
Π’ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° ΠΊΠΎΠ³Π΄Π° ΠΌΠΈΡ€ IT постСпСнно ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° микросСрвисы ΠΈ инструмСнты Π²Ρ€ΠΎΠ΄Π΅ Kubernetes, всС Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠΉ становится лишь ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π²Π·Ρ€Ρ‹Π² вСрсий микросСрвисов. ВсС ΠΆΠ΅ IT сообщСство ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сСгодняшняя ситуация Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Β«Dependency hellΒ» ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ поколСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями микросСрвисов вСсьма слоТная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Одним ΠΈΠ· Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π² этому ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ€ΠΎΠ΄Π΅ Β«Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΌΠ½Π΅ ΠΌΠΎΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Β».

Если Π²Ρ‹ читая этот тСкст ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ваш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ состоит ΠΈΠ· 10 микросСрвисов. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· этих микросСрвисов Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ 1 новая вСрсия. Волько 1 вСрсия β€” надСюсь, ΠΌΡ‹ всС ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ это вСсьма Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ΄Π½Π°ΠΊΠΎ посмотим Π΅Ρ‰Π΅ Ρ€Π°Π· Π½Π° наш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. Π‘ ΠΎΠ΄Π½ΠΎΠΉ лишь Π½ΠΎΠ²ΠΎΠΉ вСрсиСй ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρƒ нас Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ появилось 2^10 β€” ΠΈΠ»ΠΈ 1024 ΠΏΠ΅Ρ€ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ наш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

Если Π΅Ρ‰Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ 10 микросСрвисов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 2 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ вСрсии Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ микросСрвис (Π»ΠΈΠ±ΠΎ ΡΡ‚Π°Ρ€ΡƒΡŽ, Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²ΡƒΡŽ). Π’Π΅ΠΏΠ΅Ρ€ΡŒ, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· этих Π΄Π²ΡƒΡ… вСрсий. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈ, это Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Ρƒ нас Π±Ρ‹Π»ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число ΠΈΠ· 10 Π·Π½Π°ΠΊΠΎΠ². К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, скаТСм Ρ‡Ρ‚ΠΎ 1 β€” это новая вСрсия, Π° 0 β€” старая вСрсия β€” Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° возмоТная пСрмутация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ 1001000000 β€” Π³Π΄Π΅ 1ΠΉ ΠΈ 4ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹, Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅Ρ‚. Из ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число ΠΈΠ· 10 Π·Π½Π°ΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ 2^10 ΠΈΠ»ΠΈ 1024 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΌΡ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ»ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Ρ‹ числа, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ рассуТдСния Π΄Π°Π»Π΅Π΅ β€” Π° Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ 100 микросСрвисов ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ 10 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… вСрсий? Вся ситуация становится вСсьма нСприятной β€” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас 10^100 ΠΏΠ΅Ρ€ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ β€” Π° это ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ число. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ эту ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π½Π΅ прячСмся Π·Π° словами Π²Ρ€ΠΎΠ΄Π΅ Β«kubernetesΒ», Π° встрСчаСм ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π΅ΡΡ‚ΡŒ.

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰ΡƒΡΡŒ ΠΊ ΠΌΠΈΡ€Ρƒ DevOps ΠΈ микросСрвисов. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ стоит огромная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΌΠ°ΡΠΊΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ ΠΊΠ°ΠΊ слон Π² ΠšΡƒΠ½ΡΡ‚ΠΊΠ°ΠΌΠ΅Ρ€Π΅ β€” вСдь Ρ‡Ρ‚ΠΎ я часто ΡΠ»Ρ‹ΡˆΡƒ β€” «просто возьми kubernetes ΠΈ helm, ΠΈ всС Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ!Β» Но Π½Π΅Ρ‚, всС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ссли всС ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, аналитичСскоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ прСдставляСтся ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ Π² Π²ΠΈΠ΄Ρƒ слоТности. Как ΠΈ Π² NLP, Π½Π°ΠΌ слСдуСт сначала ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ суТСния области поиска β€” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π·Π° счСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΏΠ΅Ρ€ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ.

Одна ΠΈΠ· Π²Π΅Ρ‰Π΅ΠΉ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ β€” я писал Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρƒ ΠΎ нСобходимости ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ разброс ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ процСсс CI/CD ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² сокращСнии Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΉ. Однако, сСгодняшнСС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π» с CI/CD Π½Π΅ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠ΅Ρ€ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ инструмСнтария ΡƒΡ‡Π΅Ρ‚Π° ΠΈ отслСТивания ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

Π§Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ β€” это систСма экспСримСнтов Π½Π° стадии ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, Π³Π΄Π΅ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ риск ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ процСсс обновлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ тСстирования Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚.

Вакая систСма экспСримСнтов ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. Π”Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹ ΠΏΠΈΡˆΡƒΡ‚ тСсты (это критичСский этап β€” ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠ½Π°Ρ‡Π΅ Ρƒ нас Π½Π΅Ρ‚ критСрия ΠΎΡ†Π΅Π½ΠΊΠΈ β€” это ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ).
  2. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚) ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ CI систСму β€” этот процСсс Π½Π° сСгодняшний дСнь Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½, ΠΈ вопрос создания CI систСмы для Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½
  3. «Умная систСма ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈΒ» собираСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… CI систСм ΠΈ собираСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, запускаСт тСстированиС ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ† вычисляСт Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° исходя ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² риск. Если ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, эта систСма ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… происходит ошибка. Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡŽ, Ρ‡Ρ‚ΠΎ систСма тСстов здСсь ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ критичСской Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ β€” Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ систСма ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ тСсты ΠΊΠ°ΠΊ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ ΠΎΡ†Π΅Π½ΠΊΠΈ.
  4. CD систСма, которая Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Β«Π£ΠΌΠ½ΠΎΠΉ систСмы ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈΒ» ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ нСпосрСдствСнно ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. Π­Ρ‚Π° стадия Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ».

ΠŸΠΎΠ΄Ρ‹Ρ‚ΠΎΠΆΠΈΠ²Π°Ρ, для мСня ΠΎΠ΄Π½Π° ΠΈΠ· самых Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ сСйчас β€” это отсутствиС Ρ‚Π°ΠΊΠΎΠΉ Β«Π£ΠΌΠ½ΠΎΠΉ систСмы ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈΒ», которая Π±Ρ‹ связывала Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ позволяла ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π² Ρ†Π΅Π»ΠΎΠΌ составлСн. МнС Π±ΡƒΠ΄ΡƒΡ‚ интСрСсны мысли сообщСства ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ (спойлСр β€” я сСйчас Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Reliza, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΡƒΠΌΠ½ΠΎΠΉ систСмой ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ).

Одна послСдняя Π²Π΅Ρ‰ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Ρ…ΠΎΡ‡Ρƒ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, β€” для мСня ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ Π½Π΅ являСтся ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ для любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° хотя Π±Ρ‹ срСднСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Для мСня Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ большой скСптицизм ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ врСмя Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ качСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π° счСт возвращСния ΠΊ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Ρƒ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ управлСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ β€” срСди Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ состоит, ΠΎΠ΄Π½Π°ΠΊΠΎ всС это Π½Π΅ Ρ‚Π°ΠΊ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΈ проявляСтся Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ тратят Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ. БлСдствиСм ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° являСтся фактичСская Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² ΠΊΠΎΠ΄ β€” ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ мСдлСнная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π°Ρ‚Π΅ΠΌ микросСрвисная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° сталкиваСтся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ Π²Π·Ρ€Ρ‹Π²Π° Π½Π° стадии ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. Π”Π°, Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΠ»ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΡΠ°ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ β€” со стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° ΡΡ‚Π°Π΄ΠΈΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. Однако, Π½Π° ΠΌΠΎΠΉ взгляд, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ микросСрвисов всС ΠΆΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΡΡ‚ΠΈΠ³Π°ΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² быстрСС (вСроятно, Π² основном, ΠΈΠ·-Π·Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” ΠΈΠ»ΠΈ batch size). Однако, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° ΠΊ микросСрвисам ΠΏΠΎΠΊΠ° Π½Π΅ Π΄Π°Π» достаточного ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ процСсса β€” ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ Π²Π·Ρ€Ρ‹Π² вСрсий микросСрвисов β€” это огромная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Ρƒ нас Π΅ΡΡ‚ΡŒ большой ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ситуации ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

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