ΠΠΈΠ½Π°Π»Π°ΡΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ° ΠΎΡΠΈΠ΄ΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° DUMP IT (https://dump-ekb.ru/) Π² ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³ ΠΈ ΠΈΡΠΊΠ°ΠΌ Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΠ΅ Π² ΡΠ΅ΠΊΡΠΈΠΈΡΠ΅ Backend ΠΈ Devops ΠΈ Π΄Π°Π»ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ IT ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π·Π°ΡΠ»ΡΠΆΠ°Π²Π°Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
ΠΠΈΠΊΠΎΠ»Π°ΠΉ Π‘Π²Π΅ΡΡΠΊΠΎΠ² ΠΎΡ Evil Martians Π·Π° Serverless
ΠΠ°ΠΊΠ²ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΌ?
ΠΠ±ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° ΠΈΠΌΠ°ΡΠ΅ 8 ΡΠ΅ΠΊΡΠΈΠΈ: Backend, Frontend, Mobile, Testing and QA, Devops, Design, Science ΠΈ Management.
ΠΠ°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ Π·Π°Π»ΠΈ, ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, ΡΠ° Π² ΠΠ°ΡΠΊΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅)) ΠΠ° ~ 350 Π΄ΡΡΠΈ Π²ΡΡΠΊΠ°. Backend ΠΈ Frontend Π½Π΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ. Π‘ΡΠ°ΡΡΠ° Devops Π±Π΅ΡΠ΅ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ°ΡΠ°, Π½ΠΎ Π°ΠΊΡΠΈΠ²Π½Π°.
Π‘Π»ΡΡΠ°Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΠΈΠΈΡΠ΅ Devops ΠΈ Backend ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡ ΠΌΠ°Π»ΠΊΠΎ Ρ Π»Π΅ΠΊΡΠΎΡΠΈΡΠ΅. ΠΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° Π³ΠΎΠ²ΠΎΡΡ ΠΏΠΎ Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΠΌΠΈ ΠΈ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΌ ΡΠ΅Π·ΠΈ ΡΠ΅ΠΊΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°.
Π ΡΠ΅ΠΊΡΠΈΠΈΡΠ΅ Devops ΠΈ Backend Π³ΠΎΠ²ΠΎΡΠΈΡ Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ Π½Π° SKB-Kontur, DataArt, Evil Martians, ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³ΡΠΊΠΎ ΡΠ΅Π± ΡΡΡΠ΄ΠΈΠΎ Flag, Miro (RealTimeBoard). ΠΠ±Ρ Π²Π°Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΠΌΠΈ CI/CD, ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠ»ΡΠ³ΠΈ Π·Π° ΠΎΠΏΠ°ΡΠΊΠΈ, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅; Π’Π΅ΠΌΠΈ Π±Π΅Π· ΡΡΡΠ²ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ PostgreSQL Π² Go Π±ΡΡ Π° Π΄ΠΎΠ±ΡΠ΅ ΠΎΠ±Ρ Π²Π°Π½Π°ΡΠΈ.
ΠΠΌΠ°ΡΠ΅ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ ΠΎΡ Avito, Tinkoff, Yandex, Jetstyle, Megafon, Ak Bars Bank, Π½ΠΎ Π½ΡΠΌΠ°Ρ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠΈΡΡΡΡΠ²Π°ΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π½Π° ΡΡΡ (Π²ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΈ ΡΠ»Π°ΠΉΠ΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ, ΠΎΠ±Π΅ΡΠ°Π²Π°Ρ Π΄Π° Π³ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π΄ΠΎ 2 ΡΠ΅Π΄ΠΌΠΈΡΠΈ Π½Π° dump-ekb.ru).
Π Π°Π·Π΄Π΅Π» Devops
ΠΠ·Π½Π΅Π½Π°Π΄Π²Π°ΡΠΎ Π±Π΅ΡΠ΅, ΡΠ΅ ΡΠ΅ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π² Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ°ΡΠ° Π·Π°Π»Π°, ΠΎΠΊΠΎΠ»ΠΎ 50 ΠΌΠ΅ΡΡΠ°. Π₯ΠΎΡΠ°ΡΠ° Π΄ΠΎΡΠΈ ΡΡΠΎΡΡ Π° Π½Π° ΠΏΡΡΠ΅ΠΊΠΈΡΠ΅ :) Π©Π΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠΏΡΡ Π΄Π° ΡΠ»ΡΡΠ°ΠΌ.
ΠΠ»Π°ΡΡΠΈΠΊ Ρ ΡΠ΅Π³Π»ΠΎ ΠΏΠ΅ΡΠ°Π±Π°ΠΉΡ
Π Π°Π·Π΄Π΅Π»ΡΡ Π·Π°ΠΏΠΎΡΠ½Π° Ρ Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΠΠΈΠ» (SKB-Kontur) Π·Π° Elasticsearch Π² Kontur. Π’Π΅ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΠ° Π³ΠΎΠ»ΡΠΌ ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ Elastic (~800 TB Π΄Π°Π½Π½ΠΈ, ~1.3 ΠΏΠ΅ΡΠ°Π±Π°ΠΉΡΠ°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΈΠ·Π»ΠΈΡΡΠΊΡΡ). Elasticsearch Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Kontur Π΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½, ΡΡΡΡΠΎΠΈ ΡΠ΅ ΠΎΡ 2 ΠΊΠ»ΡΡΡΠ΅ΡΠ° (ΠΎΡ 7 ΠΈ 9 ΡΡΡΠ²ΡΡΠ°) ΠΈ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π°ΠΆΠ΅Π½, ΡΠ΅ Kontur ΠΈΠΌΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Elasticsearch (Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ°ΠΌΠΈΡΡ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ).
ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΡΠΏΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡΠ²ΠΎΠΈΡΠ΅ ΠΌΠΈΡΠ»ΠΈ Π·Π° ΠΏΠΎΠ»Π·ΠΈΡΠ΅ ΠΎΡ Elasticsearch ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π½ΠΎΡΠΈ.
ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°:
- ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ° Π½Π° Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ, Π»Π΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡ
- Π‘ΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ Π»Π΅ΡΠ½ΠΎΡΠΎ ΠΈΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅
- ΠΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΡΠΏΠΈ
- Π‘ΡΡΠ°Ρ ΠΎΡΠ½Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΊΡΡΠΈΡΡΠ°
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ:
- Π±ΡΠΎΠΊΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ (Π·Π° ΠΠΎΠ½ΡΡΡ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΎΠ»Ρ ΡΠ΅ ΠΈΠ³ΡΠ°Π΅ ΠΎΡ ΠΠ°ΡΠΊΠ°)
- Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Elasticsearch Curator (ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½ΠΎ Π²ΠΈΡΠΎΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΎΡ ΡΠ΅Π΄ΠΎΠ²Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π² Curator)
- Π±Π΅Π· Π²Π³ΡΠ°Π΄Π΅Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (ΡΠ°ΠΌΠΎ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ, Π΄ΠΎΡΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠ°ΡΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠΎ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Ρ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ)
ΠΠΌΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΎΡΠ·ΠΈΠ²ΠΈ Π·Π° Open Distro Π·Π° Elasticsearch :) Π‘ΡΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π΅ ΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΌ.
ΠΡΠΊΡΠ΄Π΅ ΠΈΠ΄Π²Π° ΠΏΠ΅ΡΠ°Π±Π°ΠΉΡΡΡ?Π’Π΅Ρ
Π½ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ ΡΠ΅ ΡΡΡΡΠΎΡΡ ΠΎΡ ΡΡΡΠ²ΡΡΠΈ Ρ 12*8 Tb SATA + 2*2 Tb SSD. Π‘ΡΡΠ΄Π΅Π½ΠΎ ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° SATA, SSD ΡΠ°ΠΌΠΎ Π·Π° Π³ΠΎΡΠ΅Ρ ΠΊΠ΅Ρ (Π³ΠΎΡΠ΅ΡΠΎ ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅).
7+9 ΡΡΡΠ²ΡΡΠ°, (7 + 9) * 12 * 8 = 1536 Tb.
Π§Π°ΡΡ ΠΎΡ ΠΏΠ»ΠΎΡΡΠ° Π΅ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π°, ΠΎΠ±ΠΎΡΠΎΠ±Π΅Π½Π° Π·Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅ ΠΈ Π΄Ρ.
Π Π΅Π³ΠΈΡΡΡΠΈ ΠΎΡ ΠΎΠΊΠΎΠ»ΠΎ 90 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎ Elasticsearch, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ΅ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° Kontur, Elba ΠΈ Π΄Ρ.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π±Π΅Π· ΡΡΡΠ²ΡΡ
Π‘Π»Π΅Π΄Π²Π° Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° Π ΡΡΠ»Π°Π½ Π‘Π΅ΡΠΊΠΈΠ½ ΠΎΡ DataArt Π·Π° Serverless.
Π ΡΡΠ»Π°Π½ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Ρ Π±Π΅Π·ΡΡΡΠ²ΡΡΠ½ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ.
Serverless Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π΅ Π΄ΠΎΠΊΠΎΡΠ²Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½. ΠΡΠΈΠΌΠ΅Ρ - AWS Lambda Serverless, Kubeless.io (Serverless Π² Kubernetes), Google Cloud Functions.
ΠΠ΄Π΅Π°Π»Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΡΡΠ²ΡΡ Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π΄ΠΎ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ Π±Π΅Π· ΡΡΡΠ²ΡΡ ΡΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ API Gateway. ΠΠ΄Π΅Π°Π»Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π°, Π΄ΠΎΠΊΠ°ΡΠΎ AWS Lambda ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅. Π Π°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΡΠ°Π²Π°Ρ Π½ΡΠ»Π΅Π²ΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π²ΡΠΈΠ½Π° (AWS Lambda - $0.2 / 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΠΏΡΠΎΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ).
ΠΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ ΠΏΠΎΡΡΠΈ ΠΈΠ΄Π΅Π°Π»Π½Π° - ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΡ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° ΡΠΎΠ²Π° ΡΠ°ΠΌ, Kubeless ΠΌΠ°ΡΠ°Π±ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Kubernetes ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
ΠΠΌΠ° Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ:
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π²Π° Π²ΡΠ΅ ΠΏΠΎ-ΡΡΡΠ΄Π½ΠΎ
- ΠΈΠΌΠ° ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΠ° Π²ΠΈ ΡΠ°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π½ΠΎ Π½Π΅ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠ°Π½Π΅ Π² ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈΡ ΡΠΌΠΈΡΡΠ» Π½Π° Π΄ΡΠΌΠ°ΡΠ°)
- Π±Π΅Π· Π²Π΅ΡΡΠΈΠΈ
Π§Π΅ΡΡΠ½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΡ Π·Π° Serverless ΠΏΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π½ΠΎ ΠΏΡΠ΅Π· Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠ΅Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π½Π΅ ΠΌΠΈ Π±Π΅ΡΠ΅ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ. Π‘Π»Π΅Π΄ Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° Π ΡΡΠ»Π°Π½ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, Π° ΡΠ»Π΅Π΄ Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° ΠΠΈΠΊΠΎΠ»Π°ΠΉ Π‘Π²Π΅ΡΡΠΊΠΎΠ² (ΠΠ»ΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΠ°Π½ΡΠΈ) ΠΎΡ Backend ΡΠ°Π·Π΄Π΅Π»Π°, ΡΠΎ ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡΠ°. ΠΠ΅ Π½Π°ΠΏΡΠ°Π·Π½ΠΎ ΠΎΡΠΈΠ΄ΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° :)
CI Π΅ Π·Π° Π±Π΅Π΄Π½ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ CI Π·Π° ΡΠ΅Π± ΡΡΡΠ΄ΠΈΠΎ?
ΠΠΈΡ Π°ΠΈΠ» Π Π°Π΄ΠΈΠΎΠ½ΠΎΠ², ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° ΡΠ΅Π± ΡΡΡΠ΄ΠΈΠΎΡΠΎ Flag ΠΎΡ ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³, Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ CI/CD.
ΠΠ΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΡΡΠ΄ΠΈΠΎ Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΎ ΠΎΡ βΡΡΡΠ΅Π½ CI/CDβ (Π²Π»Π΅Π·ΡΠ΅ Π² ΡΡΡΠ²ΡΡΠ° ΡΡΠ΅Π· SSH, Π½Π°ΠΏΡΠ°Π²Π΅ΡΠ΅ git pull, ΠΏΠΎΠ²ΡΠΎΡΠ΅ΡΠ΅ 100 ΠΏΡΡΠΈ Π½Π° Π΄Π΅Π½) ΠΊΡΠΌ ΠΠΆΠ΅Π½ΠΊΠΈΠ½Ρ ΠΈ ΠΊΡΠΌ ΡΠ°ΠΌΠΎΠ½Π°ΠΏΠΈΡΠ°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ ΠΊΠΎΠ΄ ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡ, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ Pullkins .
ΠΠ°ΡΠΎ ΠΠΆΠ΅Π½ΠΊΠΈΠ½Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ? ΠΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ Π±Π΅ΡΠ΅ ΡΠ²ΡΡΠ΄Π΅ ΡΡΡΠ΄Π½ΠΎ Π·Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅.
βΠ€Π»Π°Π³β ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π² Laravel (PHP framework). ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CI/CD ΡΡΡΠ²ΡΡ ΠΠΈΡ Π°ΠΈΠ» ΠΈ ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ ΠΌΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π° Laravel, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ Telescope ΠΈ Envoy. Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ ΡΡΡΠ²ΡΡ Π² PHP (ΠΌΠΎΠ»Ρ, ΠΈΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄), ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π²Ρ ΠΎΠ΄ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ΅Π± ΠΊΡΠΊΠΈΡΠΊΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄Π°, Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΈ Π΄Π° Π΄ΠΎΠΊΠ»Π°Π΄Π²Π° Π½Π° Slack.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π°, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠΈΠ½ΡΠΎ/Π·Π΅Π»Π΅Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΈ Π΄Π° ΠΈΠΌΠ°Ρ Π΅Π΄Π½Π°ΠΊΠ²ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² dev-stage-prod ΡΡΠ΅Π΄ΠΈ, ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ Π° ΠΊΡΠΌ Docker. ΠΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° ΠΎΡΡΠ°Π½Π°Ρ Π° ΡΡΡΠΈΡΠ΅, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π±ΡΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° Ρ ΠΎΠΌΠΎΠ³Π΅Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΠΈ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ Π½Π°ΡΡΠΈ Docker Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Ρ Π½Π΅Π³ΠΎ.
ΠΠ°ΠΊ Π½Π°ΠΌΠ°Π»ΠΈΡ ΠΌΠ΅ Π±ΡΠΎΡ Π½Π° Π²ΡΡΡΠ°Π½ΠΈΡΡΠ° ΠΊΡΠΌ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° Ρ 99%
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ Π΄ΠΎΠΊΠ»Π°Π΄ Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° Devops Π±Π΅ΡΠ΅ ΠΎΡ ΠΠΈΠΊΡΠΎΡ ΠΡΠ΅ΠΌΡΠ΅Π½ΠΊΠΎ, Π²ΠΎΠ΄Π΅Ρ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ devops Π² Miro.com (Π±ΠΈΠ²Ρ RealTimeBoard).
RealTimeBoard, Π²ΠΎΠ΄Π΅ΡΠΈΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡ Π½Π° Π΅ΠΊΠΈΠΏΠ° Π½Π° Miro, Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π‘ΡΠ±ΠΈΡΠ°Π½Π΅ΡΠΎ, ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ Π±Π΅Π· ΠΏΡΠ΅ΡΡΠΎΠΉ Π΅ ΡΡΡΠ΄Π½Π° Π·Π°Π΄Π°ΡΠ°. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΡΠ°ΠΊΠ°Π²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠ΄Π°, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΡΠ΅ Π²ΡΡΡΠ° Π½Π°Π·Π°Π΄ (ΡΠΎΠ²Π° Π΅ ΡΠ΅ΠΆΡΠΊ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ).
ΠΠΎ ΠΏΡΡΡ ΠΊΡΠΌ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΠΠΈΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π° ΠΏΡΠ΅Π· ΠΏΡΡ, Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π²ΡΡΡ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ (Atlassian Bamboo, Ansible ΠΈ Ρ.Π½.) ΠΈ ΡΠ°Π±ΠΎΡΠ° Π²ΡΡΡ Ρ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅ (ΡΠ΅ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ Π΅ΠΊΠΈΠΏ Π½Π° Devops + ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Scrum Π΅ΠΊΠΈΠΏΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ).
ΠΡΡΡΡ ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΡΡΡΠ΄Π΅Π½ ΠΈ ΡΡΡΠ½Π»ΠΈΠ², Π° ΠΠΈΠΊΡΠΎΡ ΡΠΏΠΎΠ΄Π΅Π»ΠΈ Π½Π°ΡΡΡΠΏΠ°Π½Π°ΡΠ° Π±ΠΎΠ»ΠΊΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΡΠΌ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ²ΡΡΡΠΈΡ Π° Π΄ΠΎΡΡΠΊ.
Π‘ΠΏΠ΅ΡΠ΅Π»ΠΈ ΠΊΠ½ΠΈΠ³Π° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π²ΡΠΏΡΠΎΡΠΈ
ΠΠ΅ΠΊΠ΅Π½Π΄ ΡΠ°Π·Π΄Π΅Π»
Π£ΡΠΏΡΡ Π΄Π° ΠΏΡΠΈΡΡΡΡΠ²Π°ΠΌ Π½Π° 2 Π΄ΠΎΠΊΠ»Π°Π΄Π° - ΠΎΡ ΠΠΈΠΊΠΎΠ»Π°ΠΉ Π‘Π²Π΅ΡΡΠΊΠΎΠ² (Evil Martians), ΡΡΡΠΎ Π·Π° Serverless, ΠΈ ΠΎΡ ΠΡΠΈΠ³ΠΎΡΠΈΠΉ ΠΠΎΡΠ΅Π»Π΅Π² (ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Kontur) Π·Π° ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡΡΠ°.
ΠΠ΅Π· ΡΡΡΠ²ΡΡ Π·Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΌΡΡΡΠ½ΠΈ
ΠΠΊΠΎ Π ΡΡΠ»Π°Π½ Π‘ΠΈΡΠΊΠΈΠ½ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Serverless, ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΠΏΠΎΠΊΠ°Π·Π° ΠΏΡΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Serverless, ΠΈ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ΅Π½Π°ΡΠ° ΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π² AWS Lambda.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡ: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡΡ ΠΏΠ»Π°ΡΠ΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π΅ 128 Mb ΠΏΠ°ΠΌΠ΅Ρ ΠΈ 100 ms CPU, ΡΡΡΡΠ²Π° $0,000000208. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° 1 ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΠ°ΠΊΠΈΠ²Π° Π·Π°ΡΠ²ΠΊΠΈ Π½Π° ΠΌΠ΅ΡΠ΅Ρ ΡΠ° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ.
ΠΡΠΊΠΎΠΈ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΡΠ΅ΡΡΠΎ Π½Π°Π΄Ρ Π²ΡΡΠ»ΡΡ Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡ 100 ms (ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Ruby), ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠΌ Π² Go ΠΎΡΠΈΠ³ΡΡΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΈ ΡΠΏΠ΅ΡΡΡΠ²Π°Π½ΠΈΡ.
Vostok Hercules β Π½Π°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡΡΠ° ΡΡΡΠ°Ρ ΠΎΡΠ½Π° ΠΎΡΠ½ΠΎΠ²ΠΎ!
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ° Backend ΠΎΡ ΠΡΠΈΠ³ΠΎΡΠΈΠΉ ΠΠΎΡΠ΅Π»Π΅Π² (ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Kontur) Π·Π° ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡΡΠ°. Π’Π΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡΡΠ° ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ»Π΅Π΄ΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ° ΡΠ°Π·ΠΈ ΡΠ΅Π» Contour ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ Π² Github. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡ Π΄ΠΎΠΊΠ»Π°Π΄Π° - Π₯Π΅ΡΠΊΡΠ»Π΅Ρ,
ΠΠΎΠΊΠ»Π°Π΄ΡΡ Π½Π° ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΠΠΈΠ»Π° Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° Devops ΠΎΠ±ΡΡΠ΄ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Elasticsearch, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌΠ° Π·Π°Π΄Π°ΡΠ° Π·Π° Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Vostok Hercules Π³ΠΈ ΡΠ΅ΡΠ°Π²Π°Ρ.
ΠΠ΅ΡΠΈΠ³Π°ΡΠ° ΡΠ»Π΅Π΄Π²Π° ΠΏΡΡ, ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π½Π° ΠΌΠ½ΠΎΠ·ΠΈΠ½Π° - ΠΎΡ RabbitMQ Π΄ΠΎ Apache Kafka, Π½ΠΎ Π½Π΅ Π²ΡΠΈΡΠΊΠΎ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΡΠΎΡΡΠΎ)) Π’Π΅ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡ Zookeeper, Cassandra ΠΈ Graphite ΠΊΡΠΌ Π²Π΅ΡΠΈΠ³Π°ΡΠ°. ΠΡΠΌΠ° Π΄Π° ΡΠ°Π·ΠΊΡΠΈΠ²Π°ΠΌ ΠΈΠ·ΡΡΠ»ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ (Π½Π΅ ΠΌΠΎΡ ΠΏΡΠΎΡΠΈΠ»), Π°ΠΊΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ°ΠΊΠ°ΡΠ΅ ΡΠ»Π°ΠΉΠ΄ΠΎΠ²Π΅ΡΠ΅ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°.
ΠΠ°ΠΊ ΡΠ΅ ΡΡΠ°Π²Π½ΡΠ²Π° Ρ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ?
ΠΠ΅ ΠΌΠΎΠ³Π° Π΄Π° Π³ΠΎ ΡΡΠ°Π²Π½Ρ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈΡΠ΅ Π² ΠΠΎΡΠΊΠ²Π° ΠΈ Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, ΠΌΠΎΠ³Π° Π΄Π° Π³ΠΎ ΡΡΠ°Π²Π½Ρ Ρ Π΄ΡΡΠ³ΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π² Π£ΡΠ°Π» ΠΈ Ρ 404fest Π² Π‘Π°ΠΌΠ°ΡΠ°.
DAMP ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π° Π² 8 ΡΠ΅ΠΊΡΠΈΠΈ, ΡΠΎΠ²Π° Π΅ ΡΠ΅ΠΊΠΎΡΠ΄ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈΡΠ΅ Π² Π£ΡΠ°Π». ΠΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ΅ΠΊΡΠΈΠΈ Π·Π° Π½Π°ΡΠΊΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΠΎΠ²Π° ΡΡΡΠΎ Π΅ Π½Π΅ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΎ. ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠ° Π² ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³ Π΅ Π΄ΠΎΡΡΠ° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½Π° - Π² Π³ΡΠ°Π΄Π° ΠΈΠΌΠ° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΡΠ΄Π΅Π»ΠΈ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° Yandex, Kontur, Tinkoff ΠΈ ΡΠΎΠ²Π° ΠΎΡΡΠ°Π²Ρ ΠΎΡΠΏΠ΅ΡΠ°ΡΡΠΊ Π²ΡΡΡ Ρ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆΠΈΡΠ΅.
ΠΡΡΠ³ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅, ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠΌΠ°Ρ 3-4 Π»Π΅ΠΊΡΠΎΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Π½Π°Π²Π΅Π΄Π½ΡΠΆ (ΡΠ°ΠΊΡΠ² Π±Π΅ΡΠ΅ ΡΠ»ΡΡΠ°ΡΡ Ρ Kontur, Evil Martians, Tinkoff). ΠΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΡ Π±ΡΡ Π° ΡΠΏΠΎΠ½ΡΠΎΡΠΈ, Π½ΠΎ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆΠΈΡΠ΅ ΡΠ° ΡΡΠ²ΡΠ΅ΠΌ Π½Π°ΡΠ°Π²Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈ, ΡΠΎΠ²Π° Π½Π΅ ΡΠ° ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΠΈ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆΠΈ.
ΠΠ° ΠΎΡΠΈΠ΄Π° ΠΈΠ»ΠΈ Π΄Π° Π½Π΅ ΠΎΡΠΈΠ΄Π°? ΠΠΊΠΎ ΠΆΠΈΠ²Π΅Π΅ΡΠ΅ Π² Π£ΡΠ°Π» ΠΈΠ»ΠΈ Π½Π°Π±Π»ΠΈΠ·ΠΎ, ΠΈΠΌΠ°ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ ΠΈ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΎΡ ΡΠ΅ΠΌΠΈΡΠ΅ - Π΄Π°, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅. ΠΠΊΠΎ ΠΌΠΈΡΠ»ΠΈΡΠ΅ Π·Π° Π΄ΡΠ»Π³ΠΎ ΠΏΡΡΡΠ²Π°Π½Π΅, Π±ΠΈΡ
ΡΠ°Π·Π³Π»Π΅Π΄Π°Π» ΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆΠΈΡΠ΅ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆΠΈΡΠ΅ ΠΎΡ ΠΌΠΈΠ½Π°Π»ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ
ΠΡΡΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈΡΠ΅ Π² ΡΠ΅Π³ΠΈΠΎΠ½ΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΅, ΡΠ΅ Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ²Π° Ρ Π»Π΅ΠΊΡΠΎΡΠ° ΡΠ»Π΅Π΄ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅, ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈ Π·Π° ΡΠ°ΠΊΠ°Π²Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° Dump ΠΈ ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³! )
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com