βΠΠ±Π»Π°ΡΠ½ΠΈβ (cloud native) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΈ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΠΎ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠ»Π°Π±ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΎΡ ΠΎΠ±Π»Π°ΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π’Π°ΠΊΠΈΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ Π·Π° ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Ρ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΠΈ ΡΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Ρ Π΄ΠΎΡΠΈ ΠΏΡΠΈ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΠΎΡΠΊΠ°Π·ΠΈ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ. ΠΠ±ΡΠ°ΡΠ½Π°ΡΠ° ΡΡΡΠ°Π½Π° Π½Π° ΠΌΠΎΠ½Π΅ΡΠ°ΡΠ° ΡΠ° Π½Π°Π±ΠΎΡΠΈΡΠ΅ ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ (ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΈ), ΠΊΠΎΠΈΡΠΎ ΠΎΠ±Π»Π°ΡΠ½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π½Π°Π»Π°Π³Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ.

Π‘ΡΡ ΡΡΠ·Π½Π°Π½ΠΈΠ΅ Π·Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΈ Π²Π°ΠΆΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊΡΠΌ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π·Π½Π°ΡΡ ΠΎΡΠΊΡΠ΄Π΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π°Ρ. Π ΡΠΎΠ·ΠΈ ΠΏΠΎΡΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ, ΡΠΈΡΡΠΎ ΡΠΏΠ°Π·Π²Π°Π½Π΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π° Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π΄ΠΎΡΠΈ ΠΏΡΠΈ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΈ ΠΎΡΠΊΠ°Π·ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΠ’-ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. ΠΠΎΠ½Π΅ΡΠ½Π°ΡΠ° ΡΠ΅Π» Π½Π° ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΡΡΠΊ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π΅ Π΄Π° Π½Π°ΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΊΠ°ΡΠΎ Kubernetes.
ΠΡΠΈΠ½ΡΠΈΠΏΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΡΡΡΠ΅Ρ
Π ΡΠ²Π΅ΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Ρ Π΄ΠΎΡΡΠ° ΠΎΠ±ΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠΏΠ°Π·Π²Π°Ρ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΡΡΡΠ΅Ρ. Π’Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π²ΡΠ΅ΠΊΠΈ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅. ΠΡΠ΅ΠΊΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΈΠΌΠ° ΡΠ²ΠΎΠΈ ΡΠ΅Π»ΠΈ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ²Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ. ΠΡΠΈΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ:
- (Keep it simple, stupid) β Π½Π΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°ΠΉΡΠ΅;
- (Donβt repeat yourself) β Π½Π΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΡΠΉΡΠ΅;
- (You arenβt gonna need it) β Π½Π΅ ΡΡΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π΅ΡΠ°, ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π½ΡΠΌΠ°ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π° Π½ΡΠΆΠ΄Π°;
- (Separation of concerns) β ΡΠ°Π·Π΄Π΅Π»ΡΠΉΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΠΈΡΠ΅.
ΠΠ°ΠΊΡΠΎ ΡΠ΅ Π²ΠΈΠΆΠ΄Π°, ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π½Π΅ Π·Π°Π΄Π°Π²Π°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΊΡΠΌ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π·Π΄ΡΠ°Π²ΡΠ°Π·ΡΠΌΠ½ΠΈ ΡΠ°Π·ΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈ Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ·ΠΎΠ²Π°Π²Π°Ρ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° β Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΡΠ²ΠΈΡΠ΅ ΠΏΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅, ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Π½ΠΈ ΠΎΡ Π ΠΎΠ±ΡΡΡ ΠΠ°ΡΡΠΈΠ½. SOLID Π²ΠΊΠ»ΡΡΠ²Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π·Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄ΠΎΠΏΡΠ»Π²Π°ΡΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ β Π°ΠΊΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ β ΠΏΠΎΠΌΠ°Π³Π°Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎ-ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° ΡΡΡ
Π² Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ΅Π½ ΠΏΠ»Π°Π½.
ΠΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ Π½Π° SOLID ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π½Π° ΡΡΠ΅ΡΠ°ΡΠ° Π½Π° ΠΠΠ ΠΈ ΡΠ΅ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Ρ Π½Π° Π΅Π·ΠΈΠΊΠ° Π½Π° ΠΏΠΎΠ½ΡΡΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅. AnalogΠΈΡΠ½ΠΎ, Π·Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠ°ΠΌΠΎ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΡΡΠΊ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠ»Π°Ρ, Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π‘Π»Π΅Π΄Π²Π°ΠΉΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΡΠ΅Π»ΠΈΡΠ΅ ΠΈ Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠ°ΡΠΎ Kubernetes.
ΠΠ±Π»Π°ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ: ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π° Red Hat
ΠΠ½Π΅Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΡΡΠΈ Π²ΡΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎ Π·Π° Π΄Π° ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Ρ ΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΎΠ±Π»Π°ΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠ°ΡΠΎ Kubernetes, Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠΈΠ»ΠΈΡ.
ΠΡΠ½ΠΎΠ²Π°ΡΠ° Π·Π° ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΠΈΠ΄Π΅ΠΈ Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π΄ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅. ΠΠΏΠΈΡΠ²Π°Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈ Π·Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠ°ΡΠΎ Kubernetes. ΠΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π² Π½Π°ΡΠΈΡΠ΅ ΡΠ°Π·ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π΅ ΠΎΠ±ΡΠ°Π·ΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π° ΠΏΠΎΠ΄ ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. Π¦Π΅Π»ΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π΅ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Ρ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ (scheduling β ΠΈΠ·Π±ΠΎΡ Π½Π° Ρ
ΠΎΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°), ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π»Π°Π³Π°Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΠ΅Π΄.
ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° (Single Concern Principle, SCP)
Π’ΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΡΠ²Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ (Single Responsibility Principle, ), ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ°ΡΡ ΠΎΡ Π½Π°Π±ΠΎΡΠ° SOLID ΠΈ Π³Π»Π°ΡΠΈ, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΎΠ±Π΅ΠΊΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π΅Π΄Π½Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΈ ΡΠ°Π·ΠΈ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ°Π½Π° Π² ΠΊΠ»Π°ΡΠ°. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° SRP Π΅, ΡΠ΅ Π²ΡΡΠΊΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ Π΅ ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π° ΠΊΠ»Π°ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π΅Π΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° ΠΏΡΠΎΠΌΡΠ½Π°.
Π SCP Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° βΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡβ (responsibility) ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π° βΠ·Π°Π΄Π°ΡΠ°β (concern), Π·Π° Π΄Π° ΠΏΠΎΡΠΎΡΠΈΠΌ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΏΠΎ-ΡΠΈΡΠΎΠΊΠ° ΡΠ΅Π» Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΠΠ ΠΊΠ»Π°Ρ. Π Π°ΠΊΠΎ ΡΠ΅Π»ΡΠ° Π½Π° SRP Π΅ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎ Π·Π°Π΄ SCP ΡΡΠΎΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈ Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅. Π‘Π»Π΅Π΄Π²Π°ΠΉΠΊΠΈ SRP ΠΈ ΡΡΠ·Π΄Π°Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΠ°Π²Π° Π΅Π΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° Π·Π°Π΄Π°ΡΠ° ΠΈ ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ²Π° ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π·Π°Π²ΡΡΡΠ΅Π½ Π½Π°ΡΠΈΠ½, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°ΡΠ΅ ΡΠ°Π½ΡΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠΈΠ΄ΠΆΠ° Π½Π° ΡΠΎΠ·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΡΠΈΠ½ΡΠΈΠΏΡΡ SCP Π³Π»Π°ΡΠΈ, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠ°Π²Π° Π΅Π΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° Π·Π°Π΄Π°ΡΠ° ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Π΄ΠΎΠ±ΡΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, SCP Π² ΡΠ²Π΅ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ SRP Π² ΡΠ²Π΅ΡΠ° Π½Π° ΠΠΠ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π΅Π΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ, Π° ΠΏΡΠ΅Π· ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ΡΠ°Π²Π° Π΅Π΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° Π·Π°Π΄Π°ΡΠ°.
ΠΠΊΠΎ Π½ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅Π½ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠ°Π²Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π·Π°Π΄Π°ΡΠΈ, ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΠΎΠ΄Π½ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ pod (Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°) Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ sidecar ΠΈ init ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, SCP ΡΠ»Π΅ΡΠ½ΡΠ²Π° Π·Π°ΠΌΡΠ½Π°ΡΠ° Π½Π° ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π± ΡΡΡΠ²ΡΡ ΠΈΠ»ΠΈ Π±ΡΠΎΠΊΠ΅Ρ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ) Ρ Π½ΠΎΠ², ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΡΡΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ°, Π½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ.

ΠΡΠΈΠ½ΡΠΈΠΏΡΡ Π·Π° ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° (High Observability Principle, HOP)
ΠΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΊΠ°ΡΠΎ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠ°ΠΌΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΠΎ βΡΠ΅ΡΠ½Π° ΠΊΡΡΠΈΡβ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΡΡΠ°Π²Π° Π²ΡΠΏΡΠΎΡ Π·Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Ρ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΠΈ Π΄Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈ ΠΌΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ. ΠΠ΅Π· ΡΠΎΠ²Π° Π½Π΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ½ΠΈΡΠΈΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Ρ Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½ ΡΠΈΠΊΡΠ», ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π²Π»ΠΎΡΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΠ° ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° ΠΏΠΎΠ½Π΅ Π΄Π° ΠΈΠΌΠ° API Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ: ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ (liveness) ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ (readiness). ΠΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΈΡΠ° Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΠ²ΠΎΠ΅ΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π°ΠΆΠ½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΡΡΠ΅Π· STDERR ΠΈ STDOUT Π·Π° Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Fluentd, Logstash ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. Π ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠΎ OpenTracing, Prometheus ΠΈ Ρ.Π½.
ΠΠ±ΡΠΎ Π²Π·Π΅ΡΠΎ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ βΡΠ΅ΡΠ½Π° ΠΊΡΡΠΈΡβ, Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ½Π°Π±Π΄Π΅Π½ΠΎ Ρ Π²ΡΠΈΡΠΊΠΈ API, ΠΊΠΎΠΈΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΏΠΎ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡ Π½Π°ΡΠΈΠ½.
ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» (Life-cycle Conformance Principle, LCP)
LCP Π΅ Π°Π½ΡΠΈΡΠ΅Π·Π° Π½Π° HOP. ΠΠΎΠΊΠ°ΡΠΎ HOP ΡΠ²ΡΡΠ΄ΠΈ, ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅, LCP ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΡΠ±ΠΈΡΠΈΡ, Π½ΠΎ ΠΈ Π΄Π° ΡΠ΅ Π°Π΄Π°ΠΏΡΠΈΡΠ°, Ρ.Π΅. Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ° Π½Π° ΡΡΡ . ΠΡΡΡΠΊ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π·Π° Π·Π°ΠΏΠΈΡ.

ΠΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΡΡΠ±ΠΈΡΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΌΠ°Π³Π°Ρ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠΈ ΠΎΡ ΡΡΡ
Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠ΅Π°Π³ΠΈΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π²Π·Π΅ΡΠΎ ΠΎΡ ΡΠ°ΠΌΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π΅, ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΡΠ° ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ ΠΏΠΎΠ½Π°ΡΡ Π΄ΠΎΠ±ΡΠ΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ°, ΡΠΎ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠ΅Π½ΠΎ Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ signal: terminate (SIGTERM) ΠΈ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π΄Π° ΠΈΠ½ΠΈΡΠΈΠΈΡΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΡΡΠΏΠ΅Π΅ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ signal: kill (SIGKILL), ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄Π²Π° ΡΠ»Π΅Π΄ SIGTERM.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π·Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π²Π°ΠΆΠ½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΠΊΠ°ΡΠΎ PostStart ΠΈ PreStop. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° 'ΡΠ°Π·Π³ΡΡΠ²Π°Π½Π΅', ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π° ΡΠ΅ΡΡΡΡΠΈ ΠΏΡΠΈ Π·Π°ΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ ΡΠΈ.
ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈΡ ΠΎΠ±ΡΠ°Π· (Image Immutability Principle, IIP)
ΠΠ±ΡΠΎΠΏΡΠΈΠ΅ΡΠΎ Π΅, ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΡΠ°Π²Π°Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ ΡΠ»Π΅Π΄ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΈΠΌ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΡΡΡΠΊ ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ Π΅ΠΊΡΡΠ΅ΡΠ½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ (Ρ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠΎΠ²Π°), ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ° Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΡΠ΅Π΄Π° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Ρ ΠΈΠ»ΠΈ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π·Π° Π²ΡΡΠΊΠ° ΡΡΠ΅Π΄Π°. Π‘Π»Π΅Π΄ Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈΡΡ ΠΎΠ±ΡΠ°Π· ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, ΠΏΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΠ’ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ, ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°.
Π¦Π΅Π»ΡΠ° Π½Π° IIP Π΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΎΠ±ΡΠ°Π·, Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π°. Π‘ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π²Π°ΠΆΠ½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠ°ΡΠΎ ΠΎΡΠΊΠ°Ρ (roll-back) ΠΈ Π½Π°ΠΊΠ°Ρ (roll-forward) Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.

ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ (Process Disposability Principle, PDP)
ΠΠ΄Π½ΠΎ ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π΅ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π΅ΡΠ΅ΠΌΠ΅ΡΠ½ΠΎΡΡ: ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° ΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ½ΠΈΡΠΎΠΆΠ΅Π½Π°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎ Π²ΡΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ Π΄ΡΡΠ³Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ. ΠΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΡΠ°ΠΊΠ°Π²Π° Π·Π°ΠΌΡΠ½Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ±ΡΠΎΠΉΠ½ΠΈ: ΠΏΡΠΎΠ²Π°Π» Π½Π° ΡΠ΅ΡΡΠ° Π·Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ, ΡΠΊΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° Π΄ΡΡΠ³ Ρ ΠΎΡΡ, ΠΈΠ·ΡΠ΅ΡΠΏΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Ρ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΡΠΈ ΡΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡ
Π΅ΠΌΠΈ Ρ ΠΈΠ·Π»ΠΈΡΡΠΊ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π±ΡΡΠ·ΠΎ ΠΈ Π΄Π° Π·Π°Π²ΡΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ Π±ΡΡΠ·ΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° Π±ΡΠ΄Π΅ Π³ΠΎΡΠΎΠ²ΠΎ Π·Π° Π²Π½Π΅Π·Π°ΠΏΠ΅Π½ ΡΠ°ΡΠ°Π»Π΅Π½ ΠΎΡΠΊΠ°Π· Π½Π° ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ.
ΠΠ΄Π½Π° ΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈΡΠ΅, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π΅ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΠΌΠΎΠ³Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°Ρ Ρ ΠΎΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΡΠ΅ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° β ΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΊΠΎΠΏΠΈΡΠ°Π½ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π² ΡΠ΅Π»Π΅Π²ΠΈΡ Ρ ΠΎΡΡ ΠΏΡΠ΅Π· ΠΌΡΠ΅ΠΆΠ°ΡΠ°.
ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° ΡΠ°ΠΌΠΎΠΎΠ±Π΅Π·ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ (Self-containment Principle, S-CP)
Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½, ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π°ΠΉΠΊΠΈ, ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ ΡΠΈΡΡΠ° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, ΡΠ°ΠΊΠ° ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π² ΡΠ°ΠΌΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π’Π°ΠΌ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΠΈ Π½Π΅ΡΠ° ΠΊΠ°ΡΠΎ ΡΡΠ΅Π΄Π° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ) ΠΈ Π΄ΡΡΠ³ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠ°Π²ΡΡ ΡΠ°ΠΌΠΎ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π°ΡΠΈΡΠ°Ρ ΠΎΡ ΡΡΠ΅Π΄Π° Π½Π° ΡΡΠ΅Π΄Π° ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π· Kubernetes ConfigMap.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π·Π° Π‘Π£ΠΠ Π² ΡΡΡΡΠ°Π²Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π‘ΠΏΠΎΡΠ΅Π΄ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° S-CP, ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Ρ Π² Π΅Π΄ΠΈΠ½, Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ°ΠΊΠ°, ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π·Π° Π‘Π£ΠΠ Π΄Π° ΡΡΠ΄ΡΡΠΆΠ° Π²ΡΠΈΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ β Π²ΡΠΈΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π± ΡΡΡΠ²ΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π°, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π·Π° Π‘Π£ΠΠ ΠΈ ΡΠ΅ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° Ρ Π½Π΅Π³ΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ.
ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ (Runtime Confinement Principle, RCP)
ΠΡΠΈΠ½ΡΠΈΠΏΡΡ S-CP ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΄ΡΡΠΆΠ° Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΡ ΡΠ°ΠΉΠ» Π½Π° ΠΎΠ±ΡΠ°Π·Π°. ΠΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π½Π΅ Π΅ ΠΏΡΠΎΡΡΠΎ "ΡΠ΅ΡΠ½Π° ΠΊΡΡΠΈΡ", ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° β ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ°ΠΉΠ»Π°. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²Π° ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: ΠΎΠ±Π΅ΠΌ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ, Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ.

Π ΡΡΠΊ ΠΏΡΠΈΠ½ΡΠΈΠΏΡΡ RCP Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΡΡΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΠΉΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° ΡΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΠ΅Π΄Π°Π΄Π΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°. ΠΠΌΠ°ΠΉΠΊΠΈ ΡΠ΅ΡΡΡΡΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ (ΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΡΡΡΡΠΈ Π¦Π, ΠΏΠ°ΠΌΠ΅Ρ, ΠΌΡΠ΅ΠΆΠ° ΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΡ ΡΡΡΠ±Π²Π°Ρ), ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΠ’-ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° SLA Π½ΠΈΠ²Π° Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅.
ΠΡΠ²Π΅Π½ Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π½Π΅ Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΠΎΡ Π½Π΅Π³ΠΎ ΡΠ°ΠΌΠΊΠΈ. Π ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ, ΠΏΡΠΈ Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΡΠ΅ΡΡΡΡΠΈ, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Ρ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡ ΡΠ΅ Π³ΠΎ Π²ΠΊΠ»ΡΡΠΈ Π² ΡΠΏΠΈΡΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ.
ΠΠΎΠ³Π°ΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΎΠ±Π»Π°ΡΠ½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½Π΅, ΠΏΡΠ΅Π΄ΠΈ Π²ΡΠΈΡΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π½Π°ΡΠΈΠ½Π° Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠΎ-Π³ΠΎΡΠ΅ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Ρ
ΠΌΠ΅ ΡΠ΅Π΄ΠΈΡΠ° ΠΎΠ±ΡΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ Π·Π°Π΄Π°Π²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΈΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ.
Π‘Π»Π΅Π΄Π²Π° Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΠΌ, ΡΠ΅ ΠΎΡΠ²Π΅Π½ ΡΠ΅Π·ΠΈ ΠΎΠ±ΡΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ, ΡΠ΅ Π²ΠΈ ΡΡΡΠ±Π²Π°Ρ ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΠΏΡΠ΅Π΄Π½Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΡΠ°ΡΠΊΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ ΠΏΠΎ-ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ (ΠΈΠ»ΠΈ Π½Π΅) Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΡΡΠ°:
- ΠΠΏΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅: ΠΈΠ·ΡΡΠΈΠ²Π°ΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π½Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ β ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΠΈ ΠΊΠΎΠΏΠΈΡΠ° Π² ΡΠ΅Π»Π΅Π²ΠΈΡ Ρ ΠΎΡΡ ΠΏΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ°.
- ΠΡΠΈΠ΅Π½ΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ User-ID: Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° sudo ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ userid Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ.
- ΠΠ°ΡΠΊΠΈΡΠ°ΠΉΡΠ΅ Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΠ²Π΅: Π½ΠΎΠΌΠ΅ΡΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΡΠΎΡΠΈΡΠ΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° EXPOSE β Π½Π° Π΄ΡΡΠ³ΠΈΡΠ΅ Ρ ΠΎΡΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²Π°ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΈ.
- Π‘ΡΡ ΡΠ°Π½ΡΠ²Π°ΠΉΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠΎΠΌΠΎΠ²Π΅: Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ ΡΠ»Π΅Π΄ ΡΠ½ΠΈΡΠΎΠΆΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈ Π½Π° ΡΠΎΠΌΠΎΠ²Π΅.
- ΠΠΏΡΠ΅Π΄Π΅Π»Π΅ΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π½Π° ΠΎΠ±ΡΠ°Π·Π°: Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅, ΡΠ°Π³ΠΎΠ²Π΅ΡΠ΅ ΠΈ Π°Π½ΠΎΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠ»Π΅ΡΠ½ΡΠ²Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ β Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΡΠ΅ Π²ΠΈ Π±ΡΠ΄Π°Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΈ.
- Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Ρ ΠΎΡΡΠ° ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅: Π·Π° Π½ΡΠΊΠΎΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ Ρ ΠΎΡΡΠ° ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ, ΠΊΠ°ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°ΡΠ°.
- Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΎΠ΄Π΅Π»ΡΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π·Π° ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ:
11 ΡΠ½ΠΈ Π² 11.00
ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π½Π°ΡΡΠΈΡΠ΅:
- Immutable Red Hat Enterprise Linux CoreOS
- OpenShift service mesh
- Operator framework
- Knative framework
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
