Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅! Аз съм Π’Π°Π΄ΠΈΠΌ Мадисон, Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° System Platform Π½Π° Авито. Π—Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ компанията Π½ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° към микросСрвисна Π΅ Π³ΠΎΠ²ΠΎΡ€Π΅Π½ΠΎ нСвСднъТ. Π’Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° сподСля ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ…ΠΌΠ΅ инфраструктурата си, Π·Π° Π΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅ΠΌ максимална ΠΏΠΎΠ»Π·Π° ΠΎΡ‚ микросСрвиситС ΠΈ Π΄Π° Π½Π΅ сС ΠΈΠ·Π³ΡƒΠ±ΠΈΠΌ Π² тях. Как Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° PaaS Ρ‚ΡƒΠΊ, ΠΊΠ°ΠΊ опростихмС внСдряванСто ΠΈ свСдохмС ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° микросСрвиз Π΄ΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ β€” Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ. НС всичко, Π·Π° ΠΊΠΎΠ΅Ρ‚ΠΎ пиша ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ, Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ напълно Π² Авито, част ΠΎΡ‚ Π½Π΅Π³ΠΎ β€” ΠΊΠ°ΠΊ Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° си.

(А Π² края Π½Π° Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° Π·Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° участватС Π² Ρ‚Ρ€ΠΈΠ΄Π½Π΅Π²Π΅Π½ сСминар ΠΎΡ‚ СкспСрта ΠΏΠΎ микросСрвисна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠšΡ€ΠΈΡ Π ΠΈΡ‡Π°Ρ€Π΄ΡΡŠΠ½).

Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

Как стигнахмС Π΄ΠΎ микросСрвиситС

Авито Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ классифайди Π² свСта, Π½Π° Π½Π΅Π³ΠΎ сС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 15 ΠΌΠ»Π½. Π½ΠΎΠ²ΠΈ обяви Π½Π° Π΄Π΅Π½. ΠΠ°ΡˆΠΈΡΡ‚ Π±Π΅ΠΊΠ΅Π½Π΄ ΠΏΠΎΠ΅ΠΌΠ° Π½Π°Π΄ 20 Ρ…ΠΈΠ». заявки Π² сСкунда. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠΌΠ°ΠΌΠ΅ няколко стотин микросСрвиза.

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ ΠΎΡ‚ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Как Ρ‚ΠΎΡ‡Π½ΠΎ β€” Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ»Π΅Π³ΠΈ Π² Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ Ρ€Π°Π·ΠΊΠ°Π·Π°Ρ…ΠΌΠ΅ Π² Π½Π°ΡˆΠ°Ρ‚Π° сСсия Π½Π° РИВ++ 2017. На CodeFest 2017 (Π²ΠΈΠΆΡ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ), Π‘Π΅Ρ€Π³Π΅ΠΉ ΠžΡ€Π»ΠΎΠ² ΠΈ ΠœΠΈΡ…Π°ΠΈΠ» ΠŸΡ€ΠΎΠΊΠΎΠΏΡ‡ΡƒΠΊ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ обясниха Π·Π°Ρ‰ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΡŠΡ‚ към микросСрвизи ΠΈ ΠΊΠ°ΠΊΠ²Π° роля ΠΈΠ³Ρ€Π°Π΅ Kubernetes. А Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€Π°Π²ΠΈΠΌ всичко възмоТно, Π·Π° Π΄Π° свСдСм Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚Π°ΠΊΠ°Π²Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° носи.

Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π΅ ΡΡŠΠ·Π΄Π°Π²Π°Ρ…ΠΌΠ΅ СкосистСма, която всСстранно Π΄Π° Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ внСдряванСто Π½Π° микросСрвизи. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡΡŠΠ±ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ опСнсорс Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, пускахмС Π³ΠΈ ΠΏΡ€ΠΈ нас ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΠΌΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° сС справят с тях. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ‚Π΅ обикаляха Π½Π° дСсСтина мСста (Ρ‚Π°Π±Π»Π°, Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ услуги), слСд ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΡƒΡ‚Π²ΡŠΡ€Π΄ΠΈΡ…Π° Π² ΠΆΠ΅Π»Π°Π½ΠΈΠ΅Ρ‚ΠΎ си Π΄Π° ΠΏΠΈΡˆΠ°Ρ‚ ΠΊΠΎΠ΄ ΠΏΠΎ стария Π½Π°Ρ‡ΠΈΠ½, Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°. ЗСлСният цвят Π½Π° схСмитС ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½ΠΎΡ€ΡŠΡ‡Π½ΠΎ, ΠΆΡŠΠ»Ρ‚ΠΈΡΡ‚ цвят β€” автоматизация.

Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

Π‘Π΅Π³Π° Π² CLI ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° PaaS с Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сС създава Π½ΠΎΠ²Π° услуга, Π° с ΠΎΡ‰Π΅ Π΄Π²Π΅ сС добавя Π½ΠΎΠ²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ сС внСдрява Π² Stage.

Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

Как Π΄Π° ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π΅ΠΌ Π΅ΠΏΠΎΡ…Π°Ρ‚Π° Π½Π° 'микросСрвисната Ρ€Π°Π·ΠΏΠΎΠΊΡŠΡΠ°Π½ΠΎΡΡ‚'

ΠŸΡ€ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π·Π° Π΄Π° сС осигури консистСнтност Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΏΡ€ΠΎΡƒΡ‡Π°Ρ‚ ΠΊΠ°ΠΊΠ²ΠΎ сС случва ΠΏΡ€ΠΈ ΡΡŠΡΠ΅Π΄ΠΈΡ‚Π΅. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΎΠ²Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° контСкститС Π½Π° услугитС спряха Π΄Π° зависят Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³.

ОсвСн Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° микросСрвисната Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚ мноТСство процСси, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

β€’ рСгистрация Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ;
β€’ прослСдяванС Π½Π° заявки (Jaeger);
β€’ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ (Sentry);
β€’ статуси, ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΎΡ‚ Kubernetes (Event Stream Processing);
β€’ race limit / circuit breaker (ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Hystrix);
β€’ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° услугитС (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Netramesh);
β€’ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ (Grafana);
β€’ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ (TeamCity);
β€’ комуникация ΠΈ нотификация (Slack, email);
β€’ прослСдяванС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ (Jira);
β€’ ΡΡŠΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° докумСнтация.

Π—Π° Π΄Π° Π½Π΅ Π·Π°Π³ΡƒΠ±ΠΈ систСмата цСлостта си ΠΈ Π΄Π° останС Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π° ΠΏΡ€ΠΈ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, Π½ΠΈΠ΅ прСосмислихмС организацията Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° микросСрвиситС Π² Авито.

Как управлявамС микросСрвиситС

Π•Π΄ΠΈΠ½Π½Π°Ρ‚Π° Β«ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Π½Π° партията» срСд ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎ микросСрвизи Π½Π° Авито сС ΠΏΠΎΠ΄ΠΏΠΎΠΌΠ°Π³Π° ΠΎΡ‚:

  • раздСлянС Π½Π° инфраструктурата Π½Π° слоСвС;
  • концСпцията Platform as a Service (PaaS);
  • ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ сС случва с микросСрвиситС.

Нивата Π½Π° абстракция Π½Π° инфраструктурата Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Ρ‚Ρ€ΠΈ слоя. Π”Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΎΡ‚ горния към долния.

A. Π“ΠΎΡ€Π΅Π½ β€” service mesh. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΠΎΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅ Istio, Π½ΠΎ сС ΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ Ρ‚ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ рСсурси, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΎΠ±Π΅ΠΌΠΈ Π΅ ΠΏΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ скъпо. Π—Π°Ρ‚ΠΎΠ²Π° ΡΡ‚Π°Ρ€ΡˆΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΡŠΡ‚ Π² архитСктурния Π΅ΠΊΠΈΠΏ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Π›ΡƒΠΊΡŒΡΠ½Ρ‡Π΅Π½ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈ собствСно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” Netramesh (Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ Π² Open Source), ΠΊΠΎΠ΅Ρ‚ΠΎ сСга ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² продукция ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ консумира ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ рСсурси ΠΎΡ‚ Istio (Π½ΠΎ ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° всичко, с ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΡ…Π²Π°Π»ΠΈ Istio).
B. Π‘Ρ€Π΅Π΄Π΅Π½ β€” Kubernetes. На Π½Π΅Π³ΠΎ Ρ€Π°Π·Π²ΡŠΡ€Ρ‚Π°ΠΌΠ΅ ΠΈ СксплоатирамС микросСрвиситС.
C. Π”ΠΎΠ»Π΅Π½ β€” bare metal. НС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±Π»Π°Ρ†ΠΈΡ‚Π΅ ΠΈ Π½Π΅Ρ‰Π° ΠΊΠ°Ρ‚ΠΎ OpenStack, Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ изцяло Π½Π° bare metal.

Всички слоСвС сС обСдиняват Π² PaaS. А Ρ‚Π°Π·ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΎΡ‚ своя страна, сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Ρ‚Ρ€ΠΈ части.

I. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ, управлявани Ρ‡Ρ€Π΅Π· CLI-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°. ИмСнно тя ΠΏΠΎΠΌΠ°Π³Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π΄Π° създадС микросСрвис ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΈ с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ усилия.

II. Π‘Π²ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° всичкитС инструмСнти Ρ‡Ρ€Π΅Π· ΠΎΠ±Ρ‰ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄.

III. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π‘Π²ΡŠΡ€Π·Π²Π° сС с ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‡ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΈ Π·Π° Π·Π½Π°Ρ‡ΠΈΠΌΠΈ дСйствия. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° систСма, Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½Π° Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ остава ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π½Π°Ρ‚Π° само Π·Π°Ρ‰ΠΎΡ‚ΠΎ някой Π΅ Π·Π°Π±Ρ€Π°Π²ΠΈΠ» Π΄Π° си Π·Π°Π΄Π°Π΄Π΅ Π·Π°Π΄Π°Ρ‡Π° Π² Jira. Π—Π° Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ΅Π½ инструмСнт, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ Atlas.

Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

РСализацията Π½Π° микросСрвиси Π² Авито ΡΡŠΡ‰ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΠΎ Π΅Π΄ΠΈΠ½Π΅Π½ ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠ΅Ρ‚ΠΎ опростява ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π°Π΄ тях Π½Π° всяка Ρ„Π°Π·Π° ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ пусканСто.

Как Π΅ структуриран стандартният ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° микросСрвис?

Π’ ΠΎΠ±Ρ‰ΠΈ Π»ΠΈΠ½ΠΈΠΈ, Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Π·Π° създаванС Π½Π° микросСрвис ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

CLI-push β†’ ΠΠ΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° интСграция β†’ Π‘Π΅ΠΉΠΊΠ²Π°Π½Π΅ β†’ Π”Π΅ΠΏΠ»ΠΎΠΉΠ²Π°Π½Π΅ β†’ Π˜Π·ΠΊΡƒΡΡ‚Π²Π΅Π½ΠΈ тСстовС β†’ ΠšΠ°Π½Π°Ρ€ΡΠΊΠΈ тСстовС β†’ БтрСс тСстовС β†’ ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡ β†’ ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°.

Π”Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡ€Π΅Π· нСя Ρ‚ΠΎΡ‡Π½ΠΎ Π² Ρ‚Π°Π·ΠΈ послСдоватСлност.

CLI-push

β€’ БъздаванС Π½Π° микросСрвиси.
Π”ΡŠΠ»Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ сС Π±ΠΎΡ€ΠΈΡ…ΠΌΠ΅ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΠΌ всСки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΊΠ°ΠΊ Π΄Π° създава микросСрвиси. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ написахмС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΈ инструкции Π² Confluence. Но схСмитС сС промСняха ΠΈ Π΄ΠΎΠΏΡŠΠ»Π²Π°Ρ…Π°. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° сС създадС Π±ΡƒΡ‚ΠΈΠ»Π΅Ρ‡Π½ΠΎ Π³ΡŠΡ€Π»ΠΎ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° процСса: Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° стартиранС Π½Π° микросСрвиси бСшС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ допустимото, ΠΈ всС ΠΏΠ°ΠΊ ΠΏΡ€ΠΈ тяхното създаванС чСсто Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ…Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ.

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…ΠΌΠ΅ прост CLI инструмСнт, ΠΊΠΎΠΉΡ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° основнитС ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° микросСрвис. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, Ρ‚ΠΎΠΉ замСства ΠΏΡŠΡ€Π²ΠΈΡ git push. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π°Π²ΠΈ.

β€” Бъздава сСрвиз ΠΏΠΎ шаблон β€” ΡΡ‚ΡŠΠΏΠΊΠ° ΠΏΠΎ ΡΡ‚ΡŠΠΏΠΊΠ°, Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° «магьосник». ИмамС шаблони Π·Π° основнитС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π² Π±Π΅ΠΊΠ΅Π½Π΄Π° Π½Π° Авито: PHP, Golang ΠΈ Python.

β€” Π‘ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° срСда Π·Π° Π»ΠΎΠΊΠ°Π»Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° машина β€” стартира сС Minikube, Helm Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ ΠΈ стартират Π² локалния kubernetes.

β€” Π‘Π²ΡŠΡ€Π·Π²Π° Π½ΡƒΠΆΠ½Π°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. На Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π΅ ΠΌΡƒ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Π·Π½Π°Π΅ IP адрСс, Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π°, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° ΠΌΡƒ Π‘Π” β€” Π±ΠΈΠ»ΠΎ Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π² Stage ΠΈΠ»ΠΈ Π½Π° продукция. ОсвСн Ρ‚ΠΎΠ²Π°, Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ сС Ρ€Π°Π·Π³ΡŠΠ²Π° Π²Π΅Π΄Π½Π°Π³Π° Π² отказоустойчива конфигурация ΠΈ с балансировка.

β€” Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° live Π±ΠΈΠ»Π΄. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠ» промяна Π² микросСрвиса Ρ‡Ρ€Π΅Π· своята IDE. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΡŠΡ‚ Π²ΠΈΠΆΠ΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° тях прСнастройва ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ (Π·Π° Golang) ΠΈ рСстартира. Π—Π° PHP просто ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠΌΠ΅ дирСкторията Π² ΠΊΡƒΠ±Π° ΠΈ Ρ‚Π°ΠΌ live reload сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Β«Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΒ».

β€” Π“Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ тСстовС. Π’ΡŠΠ² Π²ΠΈΠ΄ Π½Π° шаблони, Π½ΠΎ напълно ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΈ Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°.

β€’ Π”Π΅ΠΏΠ»ΠΎΠΉ Π½Π° микросСрвиз..

Π Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° микросСрвиз Ρƒ нас ΠΏΡ€Π΅Π΄ΠΈ бСшС ΠΌΠ°Π»ΠΊΠΎ слоТно. Π—Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ бяха Π½ΡƒΠΆΠ½ΠΈ:

I. Dockerfile.

II. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Ρ„Π°ΠΉΠ».
III. Helm Ρ‡Π°Ρ€Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ сам ΠΏΠΎ сСбС си Π΅ Ρ‚Ρ€ΠΎΠΌΠ°Π² ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°:

β€” самитС Ρ‡Π°Ρ€Ρ‚Π°;
β€” шаблони;
β€” ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ стойности с ΠΎΠ³Π»Π΅Π΄ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ срСди.

Π‘Π΅Π³Π° сС ΠΈΠ·Π±Π°Π²ΠΈΡ…ΠΌΠ΅ ΠΎΡ‚ ΠΌΡŠΠΊΠΈΡ‚Π΅ с ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° манифСститС Π½Π° Kubernetes ΠΈ Ρ‚Π΅ Π²Π΅Ρ‡Π΅ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ. Но Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ опростихмС Π΄ΠΎ ΠΊΡ€Π°Π΅Π½ ΠΏΡ€Π΅Π΄Π΅Π» дСплоя. ΠžΡ‚Ρ‚ΡƒΠΊ Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ ΠΈΠΌΠ°ΠΌΠ΅ Dockerfile, Π° цСлият ΠΊΠΎΠ½Ρ„ΠΈΠ³ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ прописва Π² Π΅Π΄ΠΈΠ½ СдинствСн ΠΊΡ€Π°Ρ‚ΡŠΠΊ Ρ„Π°ΠΉΠ» app.toml.

Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

Π”Π°, ΠΈ Π² самото app.toml сСга става Π·Π° ΠΌΠΈΠ½ΡƒΡ‚Π°. ΠŸΡ€ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅, ΠΊΠΎΠ»ΠΊΠΎ копия Π½Π° услугата Π΄Π° сС пускат (Π½Π° dev ΡΡŠΡ€Π²ΡŠΡ€Π°, Π½Π° staging, Π½Π° продукцията) ΠΈ посочвамС зависимоститС ΠΌΡƒ. ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π΄Π° size = "small" Π² Π±Π»ΠΎΠΊΠ° [engine]. Π’ΠΎΠ²Π° Π΅ Π»ΠΈΠΌΠΈΡ‚ΡŠΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ бъдС отпуснат Π½Π° услугата ΠΏΡ€Π΅Π· Kubernetes.

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° конфигурацията Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Helm Ρ‡Π°Ρ€Ρ‚Π° ΠΈ сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π²Ρ€ΡŠΠ·ΠΊΠΈ към Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ.

β€’ Основна валидация. Π’Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡΡŠΡ‰ΠΎ са Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ.
Врябва Π΄Π° слСдим:
β€” Π΄Π°Π»ΠΈ ΠΈΠΌΠ° Dockerfile;
β€” Π΄Π°Π»ΠΈ ΠΈΠΌΠ° app.toml;
β€” Π΄Π°Π»ΠΈ докумСнтацията Π΅ Π½Π° място;
β€” Π² Ρ€Π΅Π΄ Π»ΠΈ са зависимоститС;
β€” Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Π»ΠΈ са ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° извСстия.
ΠžΡ‚Π½ΠΎΡΠ½ΠΎ послСдната Ρ‚ΠΎΡ‡ΠΊΠ°: ΡΠΎΠ±ΡΡ‚Π²Π΅Π½ΠΈΠΊΡŠΡ‚ Π½Π° услугата сам посочва, ΠΊΠΎΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π΄Π° сС слСдят.

β€’ ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° докумСнтацията.
ВсС ΠΎΡ‰Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Π° Π·ΠΎΠ½Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎ, Π½Π°ΠΉ-ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΡ‚ΠΎ Π½Π΅Ρ‰ΠΎ, Π½ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Ρ€Π΅ΠΊΠΎΡ€Π΄Π½ΠΎ "чСсто забравяно", Π° Π·Π½Π°Ρ‡ΠΈ ΠΈ уязвимо Π·Π²Π΅Π½ΠΎ Π² Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π°.
НСобходимо Π΅ докумСнтацията Π΄Π° бъдС ΠΏΠΎΠ΄ всСки микросСрвиз. Π’ΠΊΠ»ΡŽΡ‡Π²Π° слСднитС Π±Π»ΠΎΠΊΠΎΠ²Π΅.

I. ΠšΡ€Π°Ρ‚ΠΊΠΎ описаниС Π½Π° услугата.. Няколко изрСчСния Π·Π° Ρ‚ΠΎΠ²Π°, ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΈ Π·Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π½ΡƒΠΆΠ½Π°.

II. Π›ΠΈΠ½ΠΊ към Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π°.. Π’Π°ΠΆΠ½ΠΎ Π΅, ΠΏΡ€ΠΈ Π±ΡŠΡ€Π· ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π»ΠΈ Redis Π·Π° ΠΊΠ΅ΡˆΠΈΡ€Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚ΠΎ основно Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² пСрсистСнтСн Ρ€Π΅ΠΆΠΈΠΌ. Π’ Авито всС ΠΎΡ‰Π΅ Ρ‚ΠΎΠ²Π° Π΅ Π»ΠΈΠ½ΠΊ към Confluence.

III. Runbook.. ΠšΡ€Π°Ρ‚ΠΊΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° стартиранС Π½Π° услугата ΠΈ Ρ‚ΡŠΠ½ΠΊΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с нСя.

IV. FAQ., ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΅ Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, с ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ‚ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ»Π΅Π³ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с услугата.

V. ОписаниС Π½Π° endpoints Π·Π° API.. Ако случайно Π½Π΅ стС посочили Ρ†Π΅Π»Π΅Π²ΠΈΡ‚Π΅ мСста, вСроятно Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ»Π΅Π³ΠΈ, Ρ‡ΠΈΠΈΡ‚ΠΎ микросСрвизи са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с вашия, Ρ‰Π΅ трябва Π΄Π° платят Π·Π° Ρ‚ΠΎΠ²Π°. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Swagger ΠΈ Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΎ brief.

VI. Π•Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ. Или ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ към ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, функционалност ΠΈΠ»ΠΈ структурно ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° компанията ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ услугата. ΠŸΠΎΠΌΠ°Π³Π°Ρ‚ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ Π±ΡŠΡ€Π·ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π°Π»ΠΈ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ функционалност, която Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ»Π΅Π³ΠΈ са Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΈ сСдмица Π·Π° ΡΡŠΡ‰ΠΈΡ бизнСс ΡŽΠ½ΠΈΡ‚.

VII. ΠŸΡ€ΠΈΡ‚Π΅ΠΆΠ°Ρ‚Π΅Π» ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Ρ‚Π΅Π»ΠΈ Π½Π° услугата. Π’ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи тях β€” ΠΈΠ»ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ β€” ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Ρ‡Ρ€Π΅Π· PaaS, Π½ΠΎ Π·Π° сигурност изисквамС ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π΄Π° Π³ΠΈ посочи ΠΈ Ρ€ΡŠΡ‡Π½ΠΎ.

Накрая, Π΄ΠΎΠ±Ρ€Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‚ Ρ€Π΅Π²ΡŽΡ‚Π° Π½Π° докумСнтацията, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΊΠΎΠ΄ Ρ€Π΅Π²ΡŽΡ‚Π°.

Continuous Integration

  • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
  • БъздаванС Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π² TeamCity.
  • Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²Π°.
  • НамиранС Π½Π° ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Ρ‚Π΅Π»ΠΈ Π½Π° услугата. Π’ΡƒΠΊ ΠΈΠΌΠ° Ρ…ΠΈΠ±Ρ€ΠΈΠ΄Π½Π° схСма β€” Ρ€ΡŠΡ‡Π½ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΎΡ‚ PaaS. ΠŸΡŠΠ»Π½Π°Ρ‚Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° схСма Π΄Π°Π²Π° сбой ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° услуги Π² ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π΄Ρ€ΡƒΠ³ Π΅ΠΊΠΈΠΏ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° услугата Π΅ напуснал.
  • РСгистрация Π½Π° услугата Π² Atlas (Π²ΠΆ. ΠΏΠΎ-Π³ΠΎΡ€Π΅). Π‘ всички Π½Π΅ΠΉΠ½ΠΈ ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Ρ‚Π΅Π»ΠΈ ΠΈ зависимости.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΠΌΠ΅ Π΄Π°Π»ΠΈ няма срСд тях ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ опасни. НапримСр, Π² Π΅Π΄Π½Π° ΠΎΡ‚ тях ΠΌΠΎΠΆΠ΅ Π΄Π° сС появи alter table ΠΈΠ»ΠΈ Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Ρ€ΡƒΡˆΠΈ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° Π½Π° схСмата Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ вСрсии Π½Π° услугата. Π’ΠΎΠ³Π°Π²Π° миграцията Π½Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°, Π° сС поставя Π² Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚ β€” PaaS трябва Π΄Π° сигнализира Π½Π° притСТатСля Π½Π° услугата, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ бСзопасно Π΄Π° бъдС ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π°.

Опаковка

БлСдващият Π΅Ρ‚Π°ΠΏ Π΅ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° услугитС ΠΏΡ€Π΅Π΄ΠΈ внСдряванС.

  • БглобяванС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. По класиката β€” Π² Docker ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
  • Π“Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Helm-Ρ‡Π°Ρ€ΠΊΠΎΠ²Π΅ Π·Π° самата услуга ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ с нСя рСсурси. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ кСш. Π’Π΅ сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с конфигурацията app.toml, която бСшС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π° Π½Π° Π΅Ρ‚Π°ΠΏΠ° CLI-push.
  • БъздаванС Π½Π° Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ Π·Π° администраторитС Π·Π° отварянС Π½Π° ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅ (ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ).
  • ИзпълнСниС Π½Π° unit тСстовС ΠΈ изчисляванС Π½Π° code coverage.. Ако ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π΅ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎΡ‚ΠΎ ΠΏΡ€Π°Π³ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ, Π΅ ΠΌΠ½ΠΎΠ³ΠΎ вСроятно, Ρ‡Π΅ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ - ΠΏΡ€ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ - услугата няма Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅. Ако Π΅ Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ‚Π° Π½Π° допустимото, услугата Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ β€žΠΏΠ΅ΡΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‰β€œ ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚: Π² Ρ‚ΠΎΠ·ΠΈ случай, ΠΏΡ€ΠΈ ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ Π½Π° показатСля с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, Ρ‡Π΅ няма Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊ ΠΏΠΎ частта с тСстовСтС (ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅Ρ‰ΠΎ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡ).
  • ΠžΡ‚Ρ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° ограничСнията ΠΏΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ CPU. Основно микросСрвизитС пишСм Π½Π° Golang ΠΈ Π³ΠΈ стартирамС Π² Kubernetes. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, Π΅Π΄Π½Π° особСност, ΡΠ²ΡŠΡ€Π·Π°Π½Π° със спСцификата Π½Π° Π΅Π·ΠΈΠΊΠ° Golang: ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΏΡ€ΠΈ стартиранС сС задСйстват всички ядра Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π°, освСн Π°ΠΊΠΎ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π½Π΅ сС Π·Π°Π΄Π°Π΄Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° GOMAXPROCS, ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π° Π΅Π΄Π½Π° машина сС стартират няколко Ρ‚Π°ΠΊΠΈΠ²Π° услуги, Ρ‚Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° сС ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€Π°Ρ‚ Π·Π° рСсурси, ΠΏΡ€Π΅Ρ‡Π΅ΠΉΠΊΠΈ си Π²Π·Π°ΠΈΠΌΠ½ΠΎ. На Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ сС промСня Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС, Π°ΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС стартира Π±Π΅Π· конкурСнция ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ Π·Π° рСсурси. (Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΡ‚Π΅ са Π½Π°Π»ΠΈΡ‡Π½ΠΈ) Ρ‚ΡƒΠΊ.).

Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

Π’Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ β€” ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅. ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ: 643ms, ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ: 42ms. Π‘Π½ΠΈΠΌΠΊΠ°Ρ‚Π° Π΅ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌΠ°.

Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

Π’Ρ€Π΅ΠΌΠ΅ Π·Π° опСрация, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ β€” ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅. ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ: 14091 ns, ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ: 151 ns. Π‘Π½ΠΈΠΌΠΊΠ°Ρ‚Π° Π΅ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌΠ°.

На Π΅Ρ‚Π°ΠΏΠ° Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° сборката ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π·Π°Π΄Π°Π΄Π΅ Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° automaxprocs ΠΎΡ‚ ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°Ρ‚Π° ΠΎΡ‚ Uber.

Π”Π΅ΠΏΠ»ΠΎΠΉ

β€’ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΈΡ‚Π΅. ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π΄Π° доставямС сборкитС Π½Π° услугата Π² ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ срСди, трябва Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ слСдното:
β€” API ΠΊΡ€Π°ΠΉΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ.
β€” Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° API ΠΊΡ€Π°ΠΉΠ½ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ с схСмата.
β€” Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅.
β€” Π—Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈ ΠΏΡ€ΠΈ заявки към услугата (Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈ netramesh)
β€” Π—Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Π½Π° собствСника ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π² ΡˆΠΈΠ½Π°Ρ‚Π° (event bus). Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° прослСдяванС Π½Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° услугитС Ρ‡Ρ€Π΅Π· ΡˆΠΈΠ½Π°Ρ‚Π°. Π’ ΡˆΠΈΠ½Π°Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡ‚Π΅Π½Ρ‚Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° услугитС (ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΠ±Ρ€Π΅), Ρ‚Π°ΠΊΠ° ΠΈ бизнСс Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ засилват ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° услугитС (ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ лошо!). И Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚ станС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΊΠΎΠΉ пишС ΠΈ Ρ‡Π΅Ρ‚Π΅ ΡˆΠΈΠ½Π°Ρ‚Π° ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° сС раздСлят услугитС ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ.

ВсС ΠΎΡ‰Π΅ ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΈΡ‚Π΅ Π² Авито Π½Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΏΡƒΠ»ΡŠΡ‚ ΠΈΠΌ сС Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°. ΠšΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ споразумСния Π² ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° Π΅ΠΊΠΈΠΏΠ°, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-лСсно Π΅ Π΄Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½ΠΎΡΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ микросСрвизитС.

Π‘ΠΈΠ½Ρ‚Π΅Ρ‚ΠΈΡ‡Π½ΠΈ тСстовС

β€’ ВСстиранС Π² Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ½Ρ‚ΡƒΡ€. Π‘Π΅Π³Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠΏΠ΅Π½ сорс Hoverfly.io. ΠŸΡŠΡ€Π²ΠΎ записва Ρ€Π΅Π°Π»Π½ΠΎΡ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° услугата ΠΈ слСд Ρ‚ΠΎΠ²Π° - Ρ‚ΠΎΡ‡Π½ΠΎ Π² затворСния ΠΊΠΎΠ½Ρ‚ΡƒΡ€ - Π³ΠΎ Π΅ΠΌΡƒΠ»ΠΈΡ€Π°.

β€’ ВСстиранС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. Π‘Ρ‚Ρ€Π΅ΠΌΠΈΠΌ сС Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ΠΌ всички услуги Π΄ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π° производитСлност. И всички вСрсии Π½Π° всяка услуга трябва Π΄Π° сС ΠΏΠΎΠ΄Π»Π°Π³Π°Ρ‚ Π½Π° тСстиранС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ β€” Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° производитСлност Π½Π° услугата ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° с ΠΏΡ€Π΅Π΄Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ вСрсии Π½Π° ΡΡŠΡ‰Π°Ρ‚Π° услуга. Ако слСд ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ производитСлността Π½Π° услугата Π΅ спаднала с 50%, Ρ‚ΠΎΠ²Π° Π΅ ясСн сигнал Π·Π° нСйния собствСник: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° сС ΠΊΠΎΠΏΠ°Π΅ Π² ΠΊΠΎΠ΄Π° ΠΈ Π΄Π° сС ΠΏΠΎΠΏΡ€Π°Π²ΠΈ ситуацията.
ΠžΡ‚ ΡΡŠΠ±Ρ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Ρ‡Π΅Ρ€ΠΏΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€Π°Π½Π΅ ΠΈ, Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка, Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΠ±Ρ€Π΅ услугата сС ΠΏΠΎΠ΄Π΄Π°Π²Π° Π½Π° ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅.

ΠŸΡ€ΠΈ тСстиранС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ провСрявамС Π΄Π°Π»ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурси отговаря Π½Π° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ограничСния. И ставамС особСно Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈ към СкстрСмнитС стойности.

a) Π“Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π° ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅.
β€” ΠŸΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ ниско β€” вСроятно Π½Π΅Ρ‰ΠΎ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π°ΠΊΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π΅ спаднало ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ.
β€” ΠŸΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ високо β€” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π΅ оптимизация.

b) Π“Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π° ΠΎΡ‚Ρ€ΡΠ·ΡŠΠΊΠ° ΠΏΠΎ RPS.
Π’ΡƒΠΊ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия ΠΈ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° ΠΈ общия Π±Ρ€ΠΎΠΉ. НапримСр, Π°ΠΊΠΎ услугата Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° 100 rps β€” Ρ‚ΠΎ ΠΈΠ»ΠΈ Π΅ лошо написана, ΠΈΠ»ΠΈ Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅ΠΉΠ½Π° спСцифика, Π½ΠΎ Π² ΠΊΠ°ΠΊΡŠΠ²Ρ‚ΠΎ ΠΈ случай Ρ‚ΠΎΠ²Π° Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ Π½Π° услугата.
Ако RPS Π΅ ΠΏΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎΠ³Π°Π²Π°, възмоТно Π΅, някакъв бъг ΠΈ някой ΠΎΡ‚ ΠΊΡ€Π°ΠΉΠ½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΅ спрял Π΄Π° изпълнява ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ ΠΈ просто задСйства Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ return true;

Canary-тСстовС

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ са ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π»ΠΈ синтСтичнитС тСстовС, тСствамС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° микросСрвиса с малък Π±Ρ€ΠΎΠΉ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠ°Π·Π»ΠΈΠ²ΠΎ, с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠ°Ρ‚Π° аудитория Π½Π° услугата β€” ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 0,1%. На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ Π΄Π° ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ тСхничСски ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Ρ‚Π΅ максимално Π±ΡŠΡ€Π·ΠΎ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² услугата. ΠœΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° canary тСста Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, основното β€” 2 часа. Π—Π° слоТни услуги Π·Π°Π΄Π°Π²Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Ρ€ΡŠΡ‡Π½ΠΎ.
АнализирамС:
β€” ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, спСцифични Π·Π° Π΅Π·ΠΈΠΊΠ°, Π² частност, Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ†ΠΈ php-fpm;
β€” Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Sentry;
β€” статуси Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅;
β€” Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ (response time), Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈ срСдно;
β€” латСнтност;
β€” ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΈ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ;
β€” ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

Squeeze Testing

Squeeze тСстовС, извСстни ΠΎΡ‰Π΅ ΠΊΠ°Ρ‚ΠΎ тСстовС Ρ‡Ρ€Π΅Π· "издлъгванС", бяха въвСдСни ΠΎΡ‚ Netflix. Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° мСтодологията Π΅, Ρ‡Π΅ ΠΏΡŠΡ€Π²ΠΎ запълвамС Π΅Π΄ΠΈΠ½ инстанс с Ρ€Π΅Π°Π»Π΅Π½ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π΄ΠΎ ΠΎΡ‚ΠΊΠ°Π· ΠΈ Ρ‚Π°ΠΊΠ° установявамС ΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΌΡƒ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° добавямС ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ инстанс ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°ΠΌΠ΅ Ρ‚Π΅Π·ΠΈ Π΄Π²Π° инстанса ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π΄ΠΎ максимума; наблюдавамС тСхния Ρ‚Π°Π²Π°Π½ ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° с ΠΏΡŠΡ€Π²ΠΈΡ "сквиз". И Ρ‚Π°ΠΊΠ°, ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ ΠΏΠΎ Π΅Π΄ΠΈΠ½ инстанс Π² ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΈ изчислявамС закономСрноститС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅.
Π”Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ тСстовСтС Ρ‡Ρ€Π΅Π· "издлъгванС" ΡΡŠΡ‰ΠΎ сС ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Ρ‚ Π² ΠΎΠ±Ρ‰Π° Π±Π°Π·Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠ»ΠΈ обогатявамС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ изкуствСно Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅, ΠΈΠ»ΠΈ напълно Π³ΠΈ замСнямС с "синтСтично".

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΡ

β€’ ΠœΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅. ΠšΠΎΠ³Π°Ρ‚ΠΎ пускамС услугата Π² продукция, слСдим ΠΊΠ°ΠΊ сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°. По наш ΠΎΠΏΠΈΡ‚, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ само Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° CPU Π΅ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½. Автоматичното ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ с Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈΠ½Π³ RPS Π² чист Π²Π°Ρ€ΠΈΠ°Π½ Π΅ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ, Π½ΠΎ само Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ услуги, ΠΊΠ°Ρ‚ΠΎ ΠΎΠ½Π»Π°ΠΉΠ½ стрийминг. Π—Π°Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΈ всичко Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π° спСцифични Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, ΠΏΡ€ΠΈ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅:
β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° CPU ΠΈ RAM,
β€” броя Π½Π° заявкитС Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°,
β€” Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€,
β€” ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°Ρ‚Π° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΈ историчСски Π΄Π°Π½Π½ΠΈ.

ΠŸΡ€ΠΈ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° услугата Π΅ ΡΡŠΡ‰ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π° прослСдявамС зависимоститС, Π·Π° Π΄Π° Π½Π΅ сС случи Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ ΠΏΡŠΡ€Π²Π°Ρ‚Π° услуга Π² Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Π΄Π° сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°, Π° Ρ‚Π΅Π·ΠΈ, към ΠΊΠΎΠΈΡ‚ΠΎ тя сС ΠΎΠ±Ρ€ΡŠΡ‰Π°, Π΄Π° ΠΏΠ°Π΄Π½Π°Ρ‚ ΠΏΠΎΠ΄ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. Π—Π° Π΄Π° установим ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π·Π° цСлия ΠΏΡƒΠ» услуги, Π³Π»Π΅Π΄Π°ΠΌΠ΅ историчСскитС Π΄Π°Π½Π½ΠΈ Π½Π° "Π±Π»ΠΈΠ·ΠΊΠ°Ρ‚Π°" зависима услуга (ΠΏΠΎ комбинация ΠΎΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° CPU ΠΈ RAM Π·Π°Π΅Π΄Π½ΠΎ с app-specific metrics) ΠΈ Π³ΠΈ ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠΌΠ΅ с историчСскитС Π΄Π°Π½Π½ΠΈ Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‰Π°Ρ‚Π° услуга, ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ ΠΏΠΎ цялата "Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ зависимости", ΠΎΡ‚Π³ΠΎΡ€Π΅ Π½Π°Π΄ΠΎΠ»Ρƒ.

ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡŠΡ‚ Π΅ пуснат Π² дСйствиС, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈ към Π½Π΅Π³ΠΎ.

Π•Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈ ситуации, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС задСйстват Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈΡ‚Π΅.
β€” ΠžΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ са ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ опасни ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ.
β€” ИздадСни са Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° сигурност.
β€” Π‘Π°ΠΌΠ°Ρ‚Π° услуга ΠΎΡ‚Π΄Π°Π²Π½Π° Π½Π΅ Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π°.
β€” Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ намаляло Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° услугата ΠΈΠ»ΠΈ някои ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΈ ѝ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Ρ‚ извън Π½ΠΎΡ€ΠΌΠΈΡ‚Π΅.
β€” Услугата Π΅ прСстанала Π΄Π° отговаря Π½Π° Π½ΠΎΠ²ΠΈΡ‚Π΅ изисквания Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°.

Част ΠΎΡ‚ Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈΡ‚Π΅ отговаря Π·Π° стабилността Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°, част β€” ΠΊΠ°Ρ‚ΠΎ функция Π·Π° обслуТванС Π½Π° систСмата β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, някаква услуга ΠΎΡ‚Π΄Π°Π²Π½Π° Π½Π΅ Π΅ Π±ΠΈΠ»Π° Π²Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΈ основният ѝ ΠΎΠ±Ρ€Π°Π· Π΅ спрял Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° сигурностната ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°.

Π”Π°ΡˆΠ±ΠΎΡ€Π΄

Накратко, Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΡŠΡ‚ Π΅ контролният ΠΏΠ°Π½Π΅Π» Π·Π° всичкитС Π½ΠΈ PaaS услуги.

  • Π•Π΄ΠΈΠ½Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° информация Π·Π° услугата, с Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ ѝ с тСстовС, броя Π½Π° ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅ ѝ, броя Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ копия, вСрсии ΠΈ Ρ‚.Π½.
  • БрСдство Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ услуги ΠΈ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ (ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π·Π° принадлСТност към бизнСс Π΅Π΄ΠΈΠ½ΠΈΡ†ΠΈ, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²Π° функционалност ΠΈ Ρ‚.Π½.)
  • БрСдство Π·Π° интСграция с инфраструктурни инструмСнти Π·Π° трасировка, Π»ΠΎΠ³ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³.
  • Π•Π΄ΠΈΠ½Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° докумСнтация ΠΏΠΎ услуги.
  • Π•Π΄ΠΈΠ½Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° всички ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΏΠΎ услуги.

Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС
Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС
Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС
Какво Π·Π½Π°Π΅ΠΌ Π·Π° микросСрвиситС

ΠžΠ±Ρ‰ΠΎ

ΠŸΡ€Π΅Π΄ΠΈ внСдряванСто Π½Π° PaaS новият Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ моТСшС Π΄Π° ΠΎΡ‚Π΄Π΅Π»ΠΈ няколко сСдмици, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ всички инструмСнти, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° стартиранС Π½Π° микросСрвиса Π² продукция: Kubernetes, Helm β€” Π² Π½Π°ΡˆΠΈΡ‚Π΅ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ особСности TeamCity, настройкитС Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с Π±Π°Π·ΠΈ ΠΈ кСшовС ΠΏΠΎ отказоустойчив Π½Π°Ρ‡ΠΈΠ½ ΠΈ Ρ‚.Π½. Π‘Π΅Π³Π° ΠΎΡ‚Π½Π΅ΠΌΠ° няколко часа β€” просто Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ quickstart ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ самата услуга.

ΠŸΡ€Π΅Π·Π΅Π½Ρ‚ΠΈΡ€Π°Ρ… Π½Π° Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ° Π½Π° HighLoad++ 2018, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ ΠΈ прСзСнтацията.

Бонус Ρ‚Ρ€Π°ΠΊ Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚ΠΎΡ…Π° Π΄ΠΎ края

НиС Π² Авито ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎ Ρ‚Ρ€ΠΈΠ΄Π½Π΅Π²Π½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΎΡ‚ ΠšΡ€ΠΈΡ Π ΠΈΡ‡Π°Ρ€Π΄ΡΡŠΠ½, СкспСрт ΠΏΠΎ микросСрвизна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. ИскамС Π΄Π° ΠΏΠΎΠ΄Π°Ρ€ΠΈΠΌ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ пост Π΄Π° участва Π² Π½Π΅Π³ΠΎ. Π’ΡƒΠΊ Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ.

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‰Π΅ сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ ΠΎΡ‚ 5 Π΄ΠΎ 7 август Π² Москва. Π’ΠΎΠ²Π° са Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Π΄Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ напълно Π·Π°Π΅Ρ‚ΠΈ. ΠžΠ±ΡΠ΄ΡŠΡ‚ ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‰Π΅ сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π°Ρ‚ Π² нашия офис, Π° Ρ‚Ρ€Π°Π½ΡΠΏΠΎΡ€Ρ‚ΡŠΡ‚ ΠΈ настаняванСто Ρ‰Π΅ сС ΠΏΠΎΠ΅ΠΌΠ°Ρ‚ ΠΎΡ‚ избрания участник.

Заявка Π·Π° участиС ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ΄Π°Π΄Π΅Π½Π° Π² Ρ‚Π°Π·ΠΈ Π³ΡƒΠ³ΡŠΠ» Ρ„ΠΎΡ€ΠΌΠ°. ΠžΡ‚ вас сС изисква ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ° Π·Π°Ρ‰ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΠΈΠ΅ трябва Π΄Π° посСтитС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ информация ΠΊΠ°ΠΊ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с вас. ΠžΡ‚Π³ΠΎΠ²Π°Ρ€ΡΠΉΡ‚Π΅ Π½Π° английски, Π·Π°Ρ‰ΠΎΡ‚ΠΎ участника, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ бъдС ΠΈΠ·Π±Ρ€Π°Π½ Π·Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠšΡ€ΠΈΡ Ρ‰Π΅ ΠΈΠ·Π±ΠΈΡ€Π° сам.
Π©Π΅ обявим ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° участника Π² ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ с актуализация Π½Π° Ρ‚ΠΎΠ·ΠΈ пост ΠΈ Π² социалнитС ΠΌΡ€Π΅ΠΆΠΈ Π½Π° Авито Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ (AvitoTech Π² Facebook, Π’ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅, Twitter) Π½Π΅ ΠΏΠΎ-късно ΠΎΡ‚ 19 юли.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster