ΠΡΠΈΠ²Π΅Ρ! ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ°Π΄ΠΈΠΌ ΠΠ°Π΄ΠΈΡΠΎΠ½, Ρ ΡΡΠΊΠΎΠ²ΠΎΠΆΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ System Platform ΠΠ²ΠΈΡΠΎ. Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Ρ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ, Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅ ΡΠ°Π·. ΠΠΎΡΠ° ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π»ΠΈ ΡΠ²ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ· ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎΠ»ΡΠ·Ρ ΠΈ Π½Π΅ Π΄Π°ΡΡ ΡΠ΅Π±Π΅ Π² Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΡΡΡΡΡ. ΠΠ°ΠΊ Π½Π°ΠΌ Π·Π΄Π΅ΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ PaaS, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΏΡΠΎΡΡΠΈΠ»ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΈ ΡΠ²Π΅Π»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠ»ΠΈΠΊΡ β ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π»ΡΡΠ΅. ΠΠ΅ Π²ΡΡ, ΠΎ ΡΡΠΌ Ρ ΠΏΠΈΡΡ Π½ΠΈΠΆΠ΅, Π² ΠΠ²ΠΈΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅, ΡΠ°ΡΡΡ β ΡΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌ Π½Π°ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
(Π Π΅ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΏΠ°ΡΡΡ Π½Π° ΡΡΠ΅Ρ Π΄Π½Π΅Π²Π½ΡΠΉ ΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΎΡ ΡΠΊΡΠΏΠ΅ΡΡΠ° ΠΏΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΡΠΈΡΠ° Π ΠΈΡΠ°ΡΠ΄ΡΠΎΠ½Π°).
ΠΠ°ΠΊ ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ
ΠΠ²ΠΈΡΠΎ β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΡ Π² ΠΌΠΈΡΠ΅ ΠΊΠ»Π°ΡΡΠΈΡΠ°ΠΉΠ΄ΠΎΠ², Π½Π° Π½ΡΠΌ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 15 ΠΌΠ»Π½ Π½ΠΎΠ²ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ Π² ΡΡΡΠΊΠΈ. ΠΠ°Ρ Π±ΡΠΊΠ΅Π½Π΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ 20 ΡΡΡ. Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π‘Π΅ΠΉΡΠ°Ρ Ρ Π½Π°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠ΅Π½ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΌΡ Π²ΡΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Π½Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π³ΠΎΠ΄. ΠΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ β Π½Π°ΡΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π΄Π΅ΡΠ°Π»ΡΡ
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΌΡ Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅ΡΡΠΎΡΠΎΠ½Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»Π° Π±Ρ Π½Π°ΠΌ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΠΎΡΡΠΎ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈ ΡΠΎΠ»ΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°Π»ΠΈ ΠΈΡ Ρ ΡΠ΅Π±Ρ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ Π½ΠΈΠΌΠΈ. Π ΠΈΡΠΎΠ³Π΅ ΡΠΎΡ Ρ ΠΎΠ΄ΠΈΠ» Π² Π΄Π΅ΡΡΡΠΎΠΊ ΠΌΠ΅ΡΡ (Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ), ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠΊΡΠ΅ΠΏΠ»ΡΠ»ΡΡ Π² ΡΡΡΠ΅ΠΌΠ»Π΅Π½ΠΈΠΈ ΠΏΠΈΠ»ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΠΎ-ΡΡΠ°ΡΠΎΠΌΡ, Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅. ΠΠ΅Π»ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ Π½Π° ΡΡ Π΅ΠΌΠ°Ρ Π½ΠΈΠΆΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ, ΠΆΡΠ»ΡΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ.
Π‘Π΅ΠΉΡΠ°Ρ Π² 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, Π½ΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΡΠΎ Π½Π° Π½Π°ΡΠΈΡ
ΠΎΠ±ΡΡΠΌΠ°Ρ
Π²ΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅ΡΡΡΡ Π΄ΠΎΡΠΎΠ³ΠΎ. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ°ΡΡΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΡΠΊΡΡΠ½ΡΠ΅Π½ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β
B. Π‘ΡΠ΅Π΄Π½ΠΈΠΉ β Kubernetes. ΠΠ° Π½ΡΠΌ ΠΌΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π΅ΠΌ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΠ΅ΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ.
C. ΠΠΈΠΆΠ½ΠΈΠΉ β bare metal. ΠΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ±Π»Π°ΠΊΠ° ΠΈ ΡΡΡΠΊΠΈ ΡΠΈΠΏΠ° OpenStack, Π° ΡΠΈΠ΄ΠΈΠΌ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π½Π° bare metal.
ΠΡΠ΅ ΡΠ»ΠΎΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ PaaS. Π ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΡΠ°, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΡΡ ΡΠ°ΡΡΠ΅ΠΉ.
I. ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΠ΅Π· CLI-ΡΡΠΈΠ»ΠΈΡΡ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎ-ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌΡ ΠΈ Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠΎΠΌ ΡΡΠΈΠ»ΠΈΠΉ.
II. Π‘Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΎΡ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π²ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠΈΠΉ Π΄Π°ΡΠ±ΠΎΡΠ΄.
III. Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π‘ΡΡΠΊΡΠ΅ΡΡΡ Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΡΠ°Π²Π»ΡΡΡ ΡΡΠΈΠ³Π³Π΅ΡΡ Π½Π° Π·Π½Π°ΡΠΈΠΌΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½ΠΈ ΠΎΠ΄Π½Π° Π·Π°Π΄Π°ΡΠ° Π½Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π·Π°Π±ΡΠ» ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ΅Π±Π΅ ΡΠ°ΡΠΊ Π² Jira. ΠΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Atlas.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² ΠΠ²ΠΈΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²Π΅Π΄ΡΡΡΡ ΠΏΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Π½ΠΈΠΌΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π²ΡΠΏΡΡΠΊΠ°.
ΠΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°
Π ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΏΠΎΡΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
CLI-push β Continuous Integration β Bake β ΠΠ΅ΠΏΠ»ΠΎΠΉ β ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΡΡ β Canary-ΡΠ΅ΡΡΡ β Squeeze Testing β ΠΡΠΎΠ΄Π°ΠΊΡΠ΅Π½ β ΠΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅.
ΠΡΠΎΠΉΠ΄ΡΠΌΡΡ ΠΏΠΎ Π½Π΅ΠΉ ΡΠΎΠ²Π½ΠΎ Π² ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
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. Labels. ΠΠ»ΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΏΡΠΎΠ΄ΡΠΊΡΡ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ. ΠΠΎΠΌΠΎΠ³Π°ΡΡ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ ΠΏΠΈΠ»ΠΈΡΠ΅ Π»ΠΈ Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Π΄Π΅Π»Ρ Π½Π°Π·Π°Π΄ Π²ΡΠΊΠ°ΡΠΈΠ»ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΡΠ½ΠΈΡΠ° Π²Π°ΡΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ.
VII. ΠΠ»Π°Π΄Π΅Π»Π΅Ρ ΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΅Π³ΠΎ β ΠΈΠ»ΠΈ ΠΈΡ β Ρ ΠΏΠΎΠΌΠΎΡΡΡ PaaS ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½ΠΎ Π΄Π»Ρ ΡΡΡΠ°Ρ ΠΎΠ²ΠΊΠΈ ΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΠΌ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΡ ΠΈ Π²ΡΡΡΠ½ΡΡ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Ρ ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° β ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ΅Π²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ code review.
Continuous Integration
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π° Π² TeamCity.
- ΠΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ°Π².
- ΠΠΎΠΈΡΠΊ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΡΠ΅ΡΠ²ΠΈΡΠ°. Π’ΡΡ Π³ΠΈΠ±ΡΠΈΠ΄Π½Π°Ρ ΡΡ Π΅ΠΌΠ° β ΡΡΡΠ½Π°Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠΊΠ° ΠΎΡ PaaS. ΠΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ° Π΄Π°Π΅Ρ ΡΠ±ΠΎΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π² Π΄ΡΡΠ³ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ²ΠΎΠ»ΠΈΠ»ΡΡ.
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π² Atlas (ΡΠΌ. Π²ΡΡΠ΅). Π‘ΠΎ Π²ΡΠ΅ΠΌΠΈ Π΅Π³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°ΠΌΠΈ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ. ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π½Π΅Ρ Π»ΠΈ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π²ΡΠΏΠ»ΡΠ²Π°Π΅Ρ alter table ΠΈΠ»ΠΈ Π΅ΡΡ ΡΡΠΎ-ΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ Π½Π°ΡΡΡΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΡΡ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π’ΠΎΠ³Π΄Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π° ΡΡΠ°Π²ΠΈΡΡΡ Π² ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ β PaaS Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΎΡΠΈΠ³Π½Π°Π»ΠΈΡΡ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π½Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ.
Bake
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ°Π΄ΠΈΡ β ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ.
- Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΠΊΠ»Π°ΡΡΠΈΠΊΠ΅ β Π² Docker-ΠΎΠ±ΡΠ°Π·.
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Helm-ΡΠ°ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½ΠΈΠΌ ΡΠ΅ΡΡΡΡΠΎΠ². Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄Π»Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΡΡΠ°. Π‘ΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠΌ app.toml, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ CLI-push.
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ΅ΡΠΎΠ² Π°Π΄ΠΌΠΈΠ½Π°ΠΌ Π½Π° ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΏΠΎΡΡΠΎΠ² (ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ).
- ΠΡΠΎΠ³ΠΎΠ½ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΡΡΡ code coverage. ΠΡΠ»ΠΈ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π΄Π°Π»ΡΡΠ΅ β Π½Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ β ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ ΠΏΡΠΎΠΉΠ΄ΡΡ. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π° Π³ΡΠ°Π½ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ, ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ Β«ΠΏΠ΅ΡΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠΉΒ» ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ: ΡΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° ΠΏΠΎ ΡΠ°ΡΡΠΈ ΡΠ΅ΡΡΠΎΠ² Π½Π΅Ρ (ΠΈ Π½Π°Π΄ΠΎ Π±Ρ ΡΡΠΎ-ΡΠΎ Ρ ΡΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ).
- Π£ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ CPU. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ Π½Π° Golang ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΡ
Π² Kubernetes. ΠΡΡΡΠ΄Π° ΠΎΠ΄Π½Π° ΡΠΎΠ½ΠΊΠΎΡΡΡ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ·ΡΠΊΠ° Golang: ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΡΡΡΡ Π²ΡΠ΅ ΡΠ΄ΡΠ° Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅, Π΅ΡΠ»ΠΈ Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π½Π΅ Π²ΡΡΡΠ°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ GOMAXPROCS ΠΈ ΠΊΠΎΠ³Π΄Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΈΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠΎ ΠΎΠ½ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π° ΡΠ΅ΡΡΡΡΡ, ΠΌΠ΅ΡΠ°Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ. ΠΠ° Π³ΡΠ°ΡΠΈΠΊΠ°Ρ
Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π³ΠΎΠ½ΠΊΠΈ Π·Π° ΡΠ΅ΡΡΡΡΡ. (ΠΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π»Π΅ΠΆΠ°Ρ
Π·Π΄Π΅ΡΡ ).
ΠΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΌΠ΅Π½ΡΡΠ΅ β Π»ΡΡΡΠ΅. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ: 643ms, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ: 42ms. Π€ΠΎΡΠΎ ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡΠ½ΠΎ.
ΠΡΠ΅ΠΌΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΌΠ΅Π½ΡΡΠ΅ β Π»ΡΡΡΠ΅. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ: 14091 ns, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ: 151 ns. Π€ΠΎΡΠΎ ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡΠ½ΠΎ.
ΠΠ° ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ°Π²Π»ΡΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ²Π½ΠΎ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ
ΠΠ΅ΠΏΠ»ΠΎΠΉ
β’ ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΉ. ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° Π² Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
β API endpoints.
β Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠΎΠ² API endpoints ΡΡ
Π΅ΠΌΠ΅.
β Π€ΠΎΡΠΌΠ°Ρ Π»ΠΎΠ³ΠΎΠ².
β ΠΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ°Ρ
ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ (ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ netramesh)
β ΠΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΠ° Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΈΠ½Ρ (event bus). ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΠΈΠ½Ρ. Π ΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ ΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠ΅ ΡΠ²ΡΠ·Π½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΎ), ΡΠ°ΠΊ ΠΈ Π±ΠΈΠ·Π½Π΅Ρ-Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΡΠΈΠ»ΠΈΠ²Π°ΡΡ (ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠ»ΠΎΡ
ΠΎ!). Π Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ° ΡΠ²ΡΠ·Π½ΠΎΡΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ ΠΈ ΡΠΈΡΠ°Π΅Ρ ΡΠΈΠ½Ρ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ.
ΠΠΎΠΊΠ° ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΉ Π² ΠΠ²ΠΈΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΈΡ ΠΏΡΠ» ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅, ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ.
Π‘ΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ
β’ Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π·Π°ΠΊΡΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΡΡΠ΅. ΠΠ»Ρ Π½Π΅Π³ΠΎ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠΉ
β’ ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΌΡ ΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΡΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΡΠ°Π·Π½ΠΈΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π°ΠΏΠ΄Π΅ΠΉΡΠ° ΡΠ΅ΡΠ²ΠΈΡΠ° Π΅Π³ΠΎ performance ΡΠΏΠ°Π» Π² ΠΏΠΎΠ»ΡΠΎΡΠ° ΡΠ°Π·Π°, ΡΡΠΎ ΡΡΡΠΊΠΈΠΉ ΡΠΈΠ³Π½Π°Π» Π΄Π»Ρ Π΅Π³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π²: Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΏΠ°ΡΡΡΡ Π² ΠΊΠΎΠ΄ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ.
ΠΡ ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΌΡ ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ auto scaling ΠΈ, Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π»ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌ. Π Π·Π°ΠΎΡΡΡΡΠ΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π½Π° ΡΠΊΡΡΡΠ΅ΠΌΡΠΌΠ°Ρ .
a) Π‘ΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΎΠ±ΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ.
β Π‘Π»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»Π° β ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ-ΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π²Π΄ΡΡΠ³ ΡΠΏΠ°Π»Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·.
β Π‘Π»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠ° β ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ.
b) Π‘ΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΎΡΡΠ΅ΡΠΊΡ ΠΏΠΎ RPS.
Π’ΡΡ ΡΠΌΠΎΡΡΠΈΠΌ ΠΈ ΡΠ°Π·Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΈ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ Π²ΡΠ΄Π°Π΅Ρ 100 rps β ΡΠΎ ΠΎΠ½ Π»ΠΈΠ±ΠΎ ΠΏΠ»ΠΎΡ
ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½, Π»ΠΈΠ±ΠΎ ΡΡΠΎ Π΅Π³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°, Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΏΠΎΠ²ΠΎΠ΄ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΡΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ.
ΠΡΠ»ΠΈ ΠΆΠ΅ RPS Π½Π°ΠΎΠ±ΠΎΡΠΎΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π±Π°Π³ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΈΠ· endpoint-ΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ, Π° ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ return true;
Canary-ΡΠ΅ΡΡΡ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΉΠ΄Π΅Π½Ρ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ, ΠΌΡ ΠΎΠ±ΠΊΠ°ΡΡΠ²Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π° ΠΌΠ°Π»ΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ, Ρ ΠΌΠΈΠ·Π΅ΡΠ½ΠΎΠΉ Π΄ΠΎΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° β ΠΌΠ΅Π½ΡΡΠ΅ 0,1%. ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅ Π±ΡΠ»ΠΈ Π·Π°Π²Π΅Π΄Π΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅. ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ canary-ΡΠ΅ΡΡΠ° β 5 ΠΌΠΈΠ½ΡΡ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ β 2 ΡΠ°ΡΠ°. ΠΠ»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΡ Π² ΡΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ:
β ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ ΡΠ·ΡΠΊΠ°, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²ΠΎΡΠΊΠ΅ΡΡ php-fpm;
β ΠΎΡΠΈΠ±ΠΊΠΈ Π² Sentry;
β ΡΡΠ°ΡΡΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ²;
β Π²ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅ΡΠΎΠ² (response time), ΡΠΎΡΠ½ΠΎΠ΅ ΠΈ ΡΡΠ΅Π΄Π½Π΅Π΅;
β latency;
β ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅;
β ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
Squeeze Testing
Squeeze Testing Π΅ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· Β«Π²ΡΠ΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅Β». ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ Π²Π²Π΅Π»ΠΈ Π² Netflix. Π‘ΡΡΡ Π΅Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΌΡ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΡΠ°Π½Ρ Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠΊΠ°Π·Π° ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π». ΠΠ°Π»ΡΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΡΠ°Π½Ρ ΠΈ Π½Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΡΡ ΠΏΠ°ΡΠΎΡΠΊΡ β ΡΠ½ΠΎΠ²Π° Π΄ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ°; ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΡ
ΠΏΠΎΡΠΎΠ»ΠΎΠΊ ΠΈ Π΄Π΅Π»ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ Β«ΡΠΊΠ²ΠΈΠ·ΠΎΠΌΒ». Π ΡΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ½ΡΡΠ°Π½ΡΡ Π·Π° ΡΠ°Π³ ΠΈ Π²ΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
.
ΠΠ°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠ΅ΡΡΠ°ΠΌ ΡΠ΅ΡΠ΅Π· Β«Π²ΡΠ΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅Β» ΡΠΎΠΆΠ΅ ΡΡΠ΅ΠΊΠ°ΡΡΡΡ Π² ΠΎΠ±ΡΡΡ Π±Π°Π·Ρ ΠΌΠ΅ΡΡΠΈΠΊ, Π³Π΄Π΅ ΠΌΡ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΠΎΠ³Π°ΡΠ°Π΅ΠΌ ΠΈΠΌΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠΌΠΈ Β«ΡΠΈΠ½ΡΠ΅ΡΠΈΠΊΡΒ».
ΠΡΠΎΠ΄Π°ΠΊΡΠ΅Π½
β’ ΠΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΊΠ°ΡΡΠ²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½, ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ CPU, ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΎΠΏΡΡΡ, Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. Auto scaling Ρ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈΠ½Π³ΠΎΠΌ RPS Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ Π»ΠΈΡΡ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΡΡΠΈΠΌΠΈΠ½Π³Π°. Π’Π°ΠΊ ΡΡΠΎ ΠΌΡ ΡΠΌΠΎΡΡΠΈΠΌ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
Π ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ:
β ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ CPU ΠΈ RAM,
β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ,
β Π²ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅ΡΠ°,
β ΠΏΡΠΎΠ³Π½ΠΎΠ· Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΡ
ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π΄Π°Π½Π½ΡΡ
.
ΠΡΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΌΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΡΠΊΠ΅ΠΉΠ»ΠΈΠΌ, Π° ΡΠ΅, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ, ΠΏΠ°Π΄Π°ΡΡ ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ. Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΡ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠ»Π° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π°Π³ΡΡΠ·ΠΊΡ, ΠΌΡ ΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Β«Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎΒ» Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° (ΠΏΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ CPU ΠΈ RAM Π²ΠΊΡΠΏΠ΅ Ρ app-specific metrics) ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΡ Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΉ Β«ΡΠ΅ΠΏΠΎΡΠΊΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉΒ», ΡΠ²Π΅ΡΡ Ρ Π΄ΠΎΠ½ΠΈΠ·Ρ.
ΠΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π²Π²Π΅Π΄ΡΠ½ Π² ΡΡΡΠΎΠΉ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π²Π΅ΡΠΈΠ²Π°ΡΡ Π½Π° Π½Π΅Π³ΠΎ ΡΡΠΈΠ³Π³Π΅ΡΡ.
ΠΠΎΡ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΈΠ³Π³Π΅ΡΡ.
β ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ.
β ΠΡΠ»ΠΈ Π²ΡΠΏΡΡΠ΅Π½Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
β Π‘Π°ΠΌ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΡΡ.
β ΠΡΡΡΠΈΠΌΠΎ ΡΠ½ΠΈΠ·ΠΈΠ»Π°ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ΅ΡΠ²ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π²ΡΡ
ΠΎΠ΄ΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π½ΠΎΡΠΌΡ.
β Π‘Π΅ΡΠ²ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π§Π°ΡΡΡ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ, ΡΠ°ΡΡΡ β ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π°Π²Π½ΠΎ Π½Π΅ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ»ΡΡ ΠΈ Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠ°ΡΠ±ΠΎΡΠ΄
ΠΡΠ»ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΊΠΎ, Π΄Π°ΡΠ±ΠΎΡΠ΄ β ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΉ ΠΏΡΠ»ΡΡ Π²ΡΠ΅Π³ΠΎ Π½Π°ΡΠ΅Π³ΠΎ PaaS.
- ΠΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ΅, Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ², ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½-ΠΊΠΎΠΏΠΈΠΉ, Π²Π΅ΡΡΠΈΠΈΜ ΠΈ Ρ. Π΄.
- Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΈ labels (ΠΌΠ°ΡΠΊΠ΅ΡΠ°ΠΌ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΊ Π±ΠΈΠ·Π½Π΅Ρ-ΡΠ½ΠΈΡΠ°ΠΌ, ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Ρ. Π΄.)
- Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ, Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°.
- ΠΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ.
- ΠΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΎΠ±Π·ΠΎΡΠ° Π²ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ.
ΠΡΠΎΠ³ΠΎ
ΠΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ PaaS Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠ³ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄Π΅Π»Ρ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½: Kubernetes, Helm, β Π² Π½Π°ΡΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ TeamCity, Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π°ΠΌ ΠΈ ΠΊΡΡΠ°ΠΌ Π² ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Ρ. Π΄. Π‘Π΅ΠΉΡΠ°Ρ Π½Π° ΡΡΠΎ ΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ°ΡΠ° ΡΠ°ΡΠΎΠ² β ΠΏΡΠΎΡΠ΅ΡΡΡ quickstart ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌ ΡΠ΅ΡΠ²ΠΈΡ.
Π― Π΄Π΅Π»Π°Π» Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ Π΄Π»Ρ HighLoad++ 2018, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΠΎΠ½ΡΡ-ΡΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π» Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°
ΠΡ Π² ΠΠ²ΠΈΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΡΡΡ
Π΄Π½Π΅Π²Π½ΡΠΉ ΡΡΠ΅Π½ΠΈΠ½Π³ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡ
Π’ΡΠ΅Π½ΠΈΠ½Π³ ΠΏΡΠΎΠΉΠ΄ΡΡ Ρ 5 ΠΏΠΎ 7 Π°Π²Π³ΡΡΡΠ° Π² ΠΠΎΡΠΊΠ²Π΅. ΠΡΠΎ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π΄Π½ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π½ΡΡΡ. ΠΠ±Π΅Π΄ ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΎΡΠΈΡΠ΅, Π° Π΄ΠΎΡΠΎΠ³Ρ ΠΈ ΠΏΡΠΎΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΡΠ°ΡΡΠ½ΠΈΠΊ ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌ.
ΠΠΎΠ΄Π°ΡΡ Π·Π°ΡΠ²ΠΊΡ Π½Π° ΡΡΠ°ΡΡΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ
ΠΡ ΠΎΠ±ΡΡΠ²ΠΈΠΌ ΠΈΠΌΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° ΡΡΠ΅Π½ΠΈΠ½Π³Π° Π°ΠΏΠ΄Π΅ΠΉΡΠΎΠΌ ΠΊ ΡΡΠΎΠΌΡ ΠΏΠΎΡΡΡ ΠΈ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠ΅ΡΡΡ
ΠΠ²ΠΈΡΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² (AvitoTech Π²
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com