# πŸ“ ΠšΡƒΠ± выТивания (The Survival Cube) Β«ΠšΡƒΠ± выТивания» β€” это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π³Π»Π°Π²Π½Ρ‹ΠΉ графичСский Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ **AfRel**. Он слуТит для стратСгичСского позиционирования: ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π³Π΄Π΅ систСма находится сСйчас ΠΈ ΠΊΡƒΠ΄Π° ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠΉΡ‚ΠΈ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния рСсурсных ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. ## НазначСниС ΠšΡƒΠ± выТивания β€” это трёхмСрная систСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ для описания состояния систСмы ΠΈ Π΅Ρ‘ Ρ†Π΅Π»Π΅ΠΉ. Он позволяСт: * Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС систСмы Π² ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌΡ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°Ρ…. * ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ состояниС ΠΊΠ°ΠΊ Π²Π΅ΠΊΡ‚ΠΎΡ€ (ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ) двиТСния. * Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ выТивания: сТатиС, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ качСства ΠΈΠ»ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ. ## Оси ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ### X: ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ (Scale, Volume) * число обслуТиваСмых сущностСй (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, сСрвисы, запросы, ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹). * Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹: ΡˆΡ‚ΡƒΠΊΠΈ, **RPS**, строки ΠΊΠΎΠ΄Π°, количСство ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. * ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сТатиСм (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ X) ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ (ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ X). ### Y: ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ (Quality, Density) * ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ количСства. * Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹: `latency` (мс), `throughput` (**RPS**), `availability` (%), `error rate` (%), `MTBF` . * ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Y = ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ свойств, ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ Y = дСградация. ### Z: РСсурсы/Π”Π΅Π½ΡŒΠ³ΠΈ (Resources/Money) * ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ достиТСния Ρ†Π΅Π»ΠΈ ΠΈΠ»ΠΈ поддСрТания состояния. * Π•Π΄ΠΈΠ½ΠΈΡ†Ρ‹: Π΄ΠΎΠ»Π»Π°Ρ€Ρ‹, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-часы, Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΎΠ±Π»Π°ΠΊΠΎ, **ROI**. * ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Z (ΡƒΠ±Ρ‹Ρ‚ΠΎΠΊ, инвСстиции) допустим, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. ## Π’ΠΎΡ‡ΠΊΠΈ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ * ВСкущая Ρ‚ΠΎΡ‡ΠΊΠ° A=(X_cur, Y_cur, Z_cur) β€” состояниС Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚. * ЦСлСвая Ρ‚ΠΎΡ‡ΠΊΠ° B=(X_targ, Y_targ, Z_targ) β€” ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ состояниС. * Π’Π΅ΠΊΡ‚ΠΎΡ€ AB β€” стратСгия двиТСния. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ²: * Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ с качСством: + Ξ”X<0, (мСньшС количСство) + Ξ”Y>0, (Π²Ρ‹ΡˆΠ΅ качСство) + Ξ”Z<0 (Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΠΌ рСсурсы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΆΠ°Ρ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ). * ЭкстСнсивноС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅: + Ξ”X>0, (количСство растёт) + Ξ”Y<0, (качСство ΠΏΠ°Π΄Π°Π΅Ρ‚) + Ξ”Z<0 (Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π΅ растём количСством с ускорСниСм). * Π˜Π½Π²Π΅ΡΡ‚ΠΈΡ†ΠΈΠΈ Π² качСство ΠΏΡ€ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅: + Ξ”X=0, (количСство ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅) + Ξ”Y>0, (качСство растёт) + Ξ”Z<0 (ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ, тратя рСсурсы Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π΅). ## НСдопустимыС ΠΈ опасныС области X < 0 Π² Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа сСрвисов). Однако ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ξ”XΞ”X ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ (сТатиС). Z < 0 (ΡƒΠ±Ρ‹Ρ‚ΠΎΠΊ) допустимо Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного ΠΏΠ»Π°Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊ Zβ‰₯0Zβ‰₯0. X = 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС сущностСй (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, процСсс Π½Π΅ обслуТиваСт Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°) β€” допустимо ΠΊΠ°ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ состояниС (миграция, Π½ΠΎΡ‡Π½ΠΎΠΉ простой), Π½ΠΎ постоянноС X = 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΠΌΠ΅Ρ€Ρ‚ΡŒ процСсса. ```text ПадСниС Y Π½ΠΈΠΆΠ΅ минимально допустимого SLA β€” нСТизнСспособноС состояниС. ``` ## ГрафичСскоС прСдставлСниС ΠšΡƒΠ± с подписанными осями X, Y, Z. ![ΠšΡƒΠ± выТивания](./qwads.jpeg) Π’ΠΎΡ‡ΠΊΠΈ: * A (исходноС состояниС) * B (ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ состояниС) * C (Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ состояниС) Π’Π΅ΠΊΡ‚ΠΎΡ€/траСктория β€” стрСлка ΠΈΠ»ΠΈ ломаная линия (Ссли ΠΏΡƒΡ‚ΡŒ Π½Π΅ прямой). ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΡƒΠ±Ρƒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° (ссылаСтся Π½Π° Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ b1). ## ΠŸΡ€ΠΈΠΌΠ΅Ρ€ (для Ρ†Π΅Π»ΠΈ b1 β€” сТатиС с качСством) ### Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° * X = 10X = 10 сСрвисов, * Y = 200Y =200 мс (latency), * Z = 500k Z = 500k $/Π³ΠΎΠ΄ (Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹). ### ЦСлСвая Ρ‚ΠΎΡ‡ΠΊΠ° * X = 3X = 3 сСрвиса, * Y = 100Y = 100 мс, * Z = 350k Z=350k $/Π³ΠΎΠ΄. ### Π’Π΅ΠΊΡ‚ΠΎΡ€ * Ξ”X = βˆ’7 Ξ”X = βˆ’7, * Ξ”Y = βˆ’100 Ξ”Y = βˆ’100 мс, * Ξ”Z = βˆ’150k Ξ”Z = βˆ’150k $/Π³ΠΎΠ΄ (экономия). На ΠΊΡƒΠ±Π΅ это изобраТаСтся ΠΊΠ°ΠΊ диагональ Π²Π½ΠΈΠ·-Π²Π»Π΅Π²ΠΎ-Π²ΠΏΠ΅Ρ€Ρ‘Π΄ (Ссли Z β€” Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ось, направлСнная Π²Π²Π΅Ρ€Ρ… для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, Ρ‚ΠΎ экономия β€” Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π½ΠΈΠ· ΠΏΠΎ Z).