ΠΡ 4 Π΄ΠΎ 6 ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ Π² Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΎΠ½Π½Π°ΡΠ° Π·Π°Π»Π° Selectel ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ ΡΡΠΈΠ΄Π½Π΅Π²Π΅Π½ .

ΠΠ·Π³ΡΠ°Π΄ΠΈΡ ΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄Π΅Ρ ΠΌΠ΅ ΠΎΡ ΠΌΠΈΡΡΠ»ΡΠ°, ΡΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΈΡΠ΅ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ ΠΏΠΎ DevOps, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π°ΡΡΡΠ½ΠΈΡΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅, Π²ΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ. ΠΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°Ρ Π½ΠΈ ΡΠ°ΠΌΠΎ ΠΎΠΏΠΈΡΡΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°: ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΡΡΠ±Π²Π° ΠΈ ΠΊΠ°ΠΊ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ, ΠΈ ΡΠ°Π·ΠΊΠ°Π· ΠΊΠ°ΠΊ Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠΌ Π½ΠΈΠ΅.
ΠΡΠ² Π²ΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΠΏΡΠΈ Π²ΡΠ΅ΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° DevOps. ΠΡΠΊΠΎΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Git, Π΄ΡΡΠ³ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ SRE. ΠΡΡΡΡΡ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ°ΠΊΠ°, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ Π½Π΅ΡΠΎ Π°ΠΊΡΡΠ°Π»Π½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈ Π²Π΅Π΄Π½Π°Π³Π°.
ΠΠ°ΠΏΠΎΡΠ²Π°ΠΌΠ΅ Ρ Git, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΌΠ΅ CI/CD, ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄ (IaC), ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ ΠΈ ΠΈΠ·ΡΡΠ°Π²Π°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΈ Π² ΠΊΡΠ°Ρ Π΄ΠΎΡΡΠΈΠ³Π°ΠΌΠ΅ Π΄ΠΎ SRE: ΠΏΡΠ΅Π²ΡΡΡΠ°ΠΌΠ΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° Π² ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌΠ° ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠ° ΠΈΡΡΠΎΡΠΈΡ.
Git
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°ΠΌΠΎ ΠΎΠ½Π·ΠΈ, ΠΊΠΎΠΉΡΠΎ Π²ΡΠ΅ΡΠ° Π΅ ΠΊΡΠΏΠΈΠ» ΠΏΡΡΠ²ΠΈΡ ΡΠΈ Π»Π°ΠΏΡΠΎΠΏ, Π½Π΅ ΠΏΠΎΠ»Π·Π²Π° Git. Π’ΠΎΠ²Π° Π΅ ΡΡΠΈΠ²ΠΈΠ°Π»Π΅Π½ ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΠ΅ΡΡΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΠΌΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅: ΠΎΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π΅Π½ push Π² master, Π΄ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Git Π½Π° ΡΡΡΠ²ΡΡΠ° ΡΡΠ΅Π· Ctrl-C, Ctrl-V.
Π Π°Π·ΠΊΠ°Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ, ΠΊΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ, ΠΊΠ°ΠΊ Π³ΠΎ ΠΏΡΠ°Π²ΡΡ Π² Southbridge.
ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΏΡΠ΅Π· ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°: ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° Git, ΡΠ°Π±ΠΎΡΠ° Π² Π΅ΠΊΠΈΠΏ.
Π’Π΅ΠΌΠ° β1: ΠΡΠ½ΠΎΠ²ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Git
- ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ git init, commit, add, diff, log, status, pull, push
- Git flow, ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ ΡΠ°Π³ΠΎΠ²Π΅, ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π·Π° merge
- Π Π°Π±ΠΎΡΠ° Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ remote repo
Π’Π΅ΠΌΠ° β2: Π Π°Π±ΠΎΡΠ° Π² Π΅ΠΊΠΈΠΏ Ρ Git
- GitHub flow
- Fork, remote, pull request
- ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ, ΡΠ΅Π»ΠΈΠ·ΠΈ, ΠΎΡΠ΅ Π²Π΅Π΄Π½ΡΠΆ Π·Π° Gitflow ΠΈ Π΄ΡΡΠ³ΠΈ flow, ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΈ Π·Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΡ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ°ΠΊΠ°, ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° Π²Π½Π΅Π΄ΡΡΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ.
ΠΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° DevOps, ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ Git ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅, ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° ΡΠ΅Π΄ΠΈΡΠ° ΠΏΠΎΠ²ΡΠ°ΡΡΡΠΈ ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΡΠ΄Π°.
DevOps ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ
Π Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ DevOps ΠΏΡΠ΅Π· ΠΏΠΎΠ³Π»Π΅Π΄Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°: ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π»ΠΎΠΊΠ°Π»Π½Π° ΡΡΠ΅Π΄Π°, ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΠΌΠ΅ Π½Π΅Π³ΠΎΠ²ΠΈΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π»ΠΎΠ³Π²Π°Π½Π΅, Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π³ΠΎ ΡΠ΅ΡΡΠ²Π°ΠΌΠ΅, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ/ΡΠ΅ΠΊΡΠ΅ΡΠΈ ΠΈ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ, ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΡΠ°ΡΠΈΡΠΎΠ²ΠΊΠ° (opentracing).
Π’Π΅ΠΌΠ° β3: Π Π°Π±ΠΎΡΠ° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π°: ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ
- ΠΠΈΡΠ΅ΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π½Π° Python (Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ΡΡΠΎΠ²Π΅)
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° docker-compose Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°
Π’Π΅ΠΌΠ° β4: ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°
- ΠΡΠ°ΠΊΡΠΈΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ΅ Π²ΠΈΠ΄ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π»ΠΎΠ³ΠΎΠ²Π΅, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΡΠ΅ΡΡΠ²Π°Ρ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠ΅ Π³ΠΎ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Ρ. ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ°Ρ Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅: ΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ΄Π° ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ, ΠΊΠ°ΠΊ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Ρ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΈ Π΄Π° ΡΠ΅ΡΡΠ²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ ΡΠ΅ ΡΠ΅ΡΠ°Π²Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π½Π° DevOps: ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π΅Π²ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΎΠΏΡΠΎΠ²Π΅ΡΠ΅. Π’ΠΎΠ²Π° Π΅ ΠΊΠ»ΡΡΠΎΠ²Π°ΡΠ° ΡΡΡΠΏΠΊΠ° ΠΊΡΠΌ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ ΠΎΡ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈ ΠΊΡΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ°.
CI/CD
Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° CI/CD. Π©Π΅ Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΡΡΡΠ½Π°ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ: make ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, git Ρ ΡΠΊ, ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. Π©Π΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ° Π°ΠΊΡΡΠ°Π»Π½ΠΈ ΠΈ ΠΊΠΎΠ³Π° Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡ CI Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Gitlab.
Π’Π΅ΠΌΠ° β5: CI/CD: ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ°
- ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ°
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ (bash, make, gradle)
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° git-hooks Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ
- Π€Π°Π±ΡΠΈΡΠ½ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ½ΠΈ Π»ΠΈΠ½ΠΈΠΈ Π·Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ ΠΈ ΡΡΡ Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² IT
- ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° βΠΎΠ±Ρβ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½
- Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ Π·Π° CI/CD: Drone CI, BitBucket Pipelines, Travis ΠΈ Ρ.Π½.
Π’Π΅ΠΌΠ° β6: CI/CD: Π Π°Π±ΠΎΡΠ° Ρ Gitlab
- Gitlab CI β ΠΎΠ±ΡΠΎ
- Gitlab Runner, ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- Gitlab CI, ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°, Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
- Π‘ΡΡΠΏΠΊΠΈ Π² Gitlab CI
- ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² Gitlab CI
- Π‘Π³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅, ΡΠ΅ΡΡΠ²Π°Π½Π΅, Π΄Π΅ΠΏΠ»ΠΎΠΉ
- ΠΠΎΠ½ΡΡΠΎΠ» ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ: only, when
- Π Π°Π±ΠΎΡΠ° Ρ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ
- Π¨Π°Π±Π»ΠΎΠ½ΠΈ Π² .gitlab-ci.yml, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΡΠ° Π² ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°
- Include β ΡΠ΅ΠΊΡΠΈΠΈ
- Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° gitlab-ci.yml (Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈ push Π² ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°)
Π‘ΡΠ²ΠΌΠ΅ΡΡΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΡΠ΅ ΠΈΠ·Π΄ΠΈΠ³Π° Π½Π° Π½ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ: Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΡ ΠΏΠΈΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Π·Π° CI, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π³ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΉΠΊΠΈ ΡΠ²ΠΎΡ CI Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°.
ΠΠ°ΠΌΠ°Π»ΡΠ²Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅, Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΡΡΡΠ½Π° ΡΠ°Π±ΠΎΡΠ°, ΠΈΠ·ΡΠ΅Π·Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ βΠ΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡ ΡΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡΠΎ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ make ΡΠ°ΠΉΠ»β. ΠΠ΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΠΈ Π±ΡΡΠ·ΠΎ.
IaC
Π’Π΅ΠΌΠ°ΡΠ° Infrastructure as Code Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Terraform ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° ΠΎΡ ΠΎΠ±Π»Π°ΡΠ½ΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° Selectel ΠΠ»Π΅ΠΊΡΠ΅ΠΉ Π‘ΡΠ΅ΠΏΠ°Π½Π΅Π½ΠΊΠΎ. Π’ΠΎΠΉ ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ° ΠΊΠ°ΠΊ Π±ΡΡΠ·ΠΎ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΄Π° ΡΠ°Π·Π³ΡΡΡΠ°ΡΠ΅ ΠΈ ΡΠΊΠ°Π»ΠΈΡΠ°ΡΠ΅ ΡΡΡΠ²ΡΡΠΈ, ΠΊΠ°ΠΊ Π΄Π° ΠΎΠΏΠ°ΠΊΠΎΠ²Π°ΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ.
Π§ΠΎΠ²Π΅ΠΊΡΡ, ΡΡΠ·Π΄Π°Π» Ρ ΠΈΠ»ΡΠ΄ΠΈ IaC ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ Π½Π΅ΡΠ°ΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π΄Π° ΠΈΠ·Π±ΡΠ³Π²Π°ΡΠ΅.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΎΠ±Π»Π°ΠΊΠ° Π½Π° Selectel Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΎ Π·Π° ΠΎΠ±Π»Π°ΡΠΈΡΠ΅ Π½Π° Google ΠΈ Amazon.
Π‘Π»ΡΠΆΠΈΡΠ΅Π»ΡΡ Π½Π° Southbridge ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΠΠ΅ΡΡΠΎΠΏΡΠ½ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Ansible ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π·Π³ΡΡΡΠ½Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ ΠΈ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
ΠΠΊΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΡΡΡΠ½ΠΎ (Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠ΅ ΡΡΡΠ²ΡΡΠΈ, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ), ΠΏΡΠΈ ΠΎΠΏΠΈΡ Π΄Π° Π²Π΄ΠΈΠ³Π½Π΅ΡΠ΅ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΈ ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΈ Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π’Π°Π·ΠΈ Π·Π°Π΄Π°ΡΠ° Π»Π΅ΡΠ½ΠΎ ΠΎΡΠ½Π΅ΠΌΠ° 3-5 Π΄Π½ΠΈ. Π Π°Π±ΠΎΡΠ°ΡΠ° Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠΎ Ρ ΠΊΠΎΠ΄ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π°ΠΊΡΡΠ°Π»Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΎ Π·Π° ΠΌΠΈΠ½ΡΡΠΈ.
ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠ»Π΅ΠΉΠ±ΡΡΠΈ, ΠΊΠ°ΠΊΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΡΡΠ΅ΡΠ°Ρ ΠΈ Π·Π°ΡΠΎ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΏΠ»Π΅ΠΉΠ±ΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ Π±Π°Π²Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊΡΠΎ ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π°Π»ΠΎ. Π’ΠΎΠ²Π° Π΅ ΠΎΠΏΠΈΡ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ IaC Π² Southbridge.
Π’Π΅ΠΌΠ° β7: Infrastructure as Code
- IaC: ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΡΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄
- ΠΠ±Π»Π°ΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ (packer)
- IaC Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Terraform
- Π‘ΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Ansible ΠΏΠ»Π΅ΠΉΠ±ΡΡΠΈ
- ΠΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΡΡ
- IaC Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Ansible
- Database as a Code / ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ Π½Π° PostgreSQL
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΡΡ ΠΈ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡ.
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΡ Π½Π°ΡΡΠ°Π²Π° Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΡΠ»ΠΎΠΆΠ½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°: Π±ΡΡΠ·ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΡΡΠ΅Π΄ΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ΅Π΄ΠΈ, ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°Π±ΠΎΡΡΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΠΊΠΈΠΏΠ°.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΡΡΠ°Π²Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ°Π·Π³ΡΡΡΠ° ΡΡΠ΅Π΄ΠΈ.
ΠΠΎΠ½ΡΡ ΡΠ°Π·Π΄Π΅Π»Π° β ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ² ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΎΡ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ PostgreSQL. Π©Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ Π³ΠΎΡΠΎΠ² ΠΏΠ»Π΅ΠΉΠ±ΡΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² Southbridge, Π²ΠΈΠ΅ ΡΠ΅ ΡΠ°Π·Π³ΡΡΡΠ°ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π° ΡΡΠ΅Π±Π΅Π½ ΡΡΠ΅Π½Π΄ ΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ.
Π’Π΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΠΈ Π³ΡΠ΅ΡΠΊΠ°ΡΠ° Π²Π΅Π΄Π½Π°Π³Π° Π½Π° Ρ ΠΈΠ»ΡΠ΄Π° ΡΡΡΠ²ΡΡΠ°. ΠΡΠΈ Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅. ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΡΡΡΠ½ΠΎΡΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΎΡΠ½Π΅ΠΌΠ° ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅ ΠΎΠ±Π΅Π·ΡΠΈΠ»Π²Π° ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ°.
ΠΠ΅ΠΊΠ° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΊΠ°ΠΊ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΡΠΎΠ»ΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΡΠ²ΠΎΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ. ΠΠ΅ΡΠ΅ Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΡΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π° Π΄Π° Π³ΠΈ ΠΎΠΏΠΈΡΠ΅ΡΠ΅ Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ° Π½Π° ΠΌΡΡΡΠΎ.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ΅ Π½Π°ΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΈ ΡΡΡΠ²ΡΡΠΈ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π©Π΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π©Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π»ΠΎΡΠΈ ΠΈ Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ.
Π’Π΅ΠΌΠ° β8: Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
- Π’Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Molecule ΠΈ Gitlab CI
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Vagrant
Π’Π΅ΠΌΠ° β9: ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Ρ Prometheus
- ΠΠ°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
- ΠΠΈΠ΄ΠΎΠ²Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
- Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
- ΠΠ°ΠΊ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ Π·Π΄ΡΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
- Π§ΠΎΠ²Π΅ΠΊΠΎ ΡΠ΅ΡΠΈΠΌΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ
- Health Check: Π½Π° ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π΅ ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠ° Π±ΠΈΠ·Π½Π΅ΡΠ° Π½Π΅ ΠΌΡ Π΅ Π²ΡΠ΅ Π΅Π΄Π½ΠΎ, ΡΠ΅ Π³Π»Π°Π²Π½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π°, Π°ΠΊΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π·Π° ΠΏΠ»Π°ΡΠ°Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠ°.
Π Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΡΡΠ°ΡΡΠ²Π°Ρ Π½Π° ΡΠ°Π²Π½Π° Π½ΠΎΠ³Π°. Π ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΠΏΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΏΠ°Π΄Π°Ρ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅. ΠΠ°ΡΠΈΡΡ ΠΊΡΡΡ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²Π° ΡΠΎΠ»Ρ ΠΈΠ³ΡΠ°ΡΡ Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Ρ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π½Π° Southbridge. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π±ΡΠΎΡΡ Π½Π° Π·Π°Π³ΡΠ±ΠΈΡΠ΅, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΡΡΠΈΠ²ΠΎΠ²Π΅ ΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π±ΡΡΠ·ΠΎ ΡΠ΅ Π½Π°ΠΌΠ°Π»Π΅Π΅.
ΠΠΎΠ½ΡΡ Π·Π° ΡΠ°Π·Π΄Π΅Π»Π°: Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°, ΡΠ΅ Π΅ Π½Π°ΡΡΡΠΏΠΈΠ»ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΡΠ°, ΠΈ ΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ.
ΠΠΎΠ³ΠΈΡΠ°Π½Π΅
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π³ΡΠ΅ΡΠΊΠ° Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π΅, ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π³ΠΈ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ, ΡΠΎΠ²Π° ΠΎΡΠ½Π΅ΠΌΠ° Π²ΡΠ΅ΠΌΠ΅. Π’ΠΎΠ²Π° Π½Π΅ Π΅ ΡΠΈΠ³ΡΡΠ½ΠΎ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ Π²Π»ΠΈΠ·Π° Π½Π° ΡΡΡΠ²ΡΡ, ΠΊΡΠ΄Π΅ΡΠΎ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅.
DevOps ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΠ±ΠΈΡΠ°Π½Π΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅.
Π’Π΅ΠΌΠ° β10: ΠΠΎΠ³ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Ρ ELK
- ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° elastic (ΡΡΡΡΠ΅Π½Π΅, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈ Π½Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ΡΠΎ, Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅)
- ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° kibana (ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π΅Π·ΠΈΠΊ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±Π»Π°, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈ)
- ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π° elastic ΠΈ ΡΡΡ Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- Π‘ΡΠ±ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² APM (ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ)
- ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ: ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° Π½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡ β SIEM
ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΡΡ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π°Π½Π°Π»ΠΈΠ·, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°.
SRE
Π ΡΡΠΈΠ³Π°ΠΌΠ΅ Π΄ΠΎ ΡΠ΅ΠΌΠ°ΡΠ°, ΠΊΡΠΌ ΠΊΠΎΡΡΠΎ Southbridge ΡΠ°ΠΌΠΎ ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ° ΠΈ Π·Π° ΠΊΠΎΡΡΠΎ Π΄ΡΡΠ³ΠΈΡΠ΅ Π»Π΅ΠΊΡΠΎΡΠΈ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΄Π΅Π½ Π½Π° Slurm. Π Π°Π΄Π²Π°ΠΌΠ΅ ΡΠ΅, ΡΠ΅ Ρ ΠΏΡΠΈΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ ΠΠ²Π°Π½ ΠΡΡΠ³Π»ΠΎΠ² ΠΎΡ Booking.com.
ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΆΠΈΠ²Π΅Π΅ Π² ΡΠ΅Π°Π»Π½ΠΈΡ ΡΠ²ΡΡ, ΠΊΡΠ΄Π΅ΡΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½Π° ΠΈ Π²ΡΡΠΊΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ° ΡΠ΅Π½Π°.
ΠΠ°ΠΊΠ²ΠΎ Π΅ SLA Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠ»ΠΎΠΆΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ? ΠΠ°ΠΆΠ΅ΡΠ΅, ΠΊΠ°ΠΊ Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ, ΡΠ΅ ΡΠ°ΠΉΡΡΡ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½, Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ Ρ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΠ΅. ΠΠ°ΠΊΠ²ΠΈ ΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ Π·Π° SLA, ΠΎΡ ΠΊΡΠ΄Π΅ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°ΠΌΠ΅, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°ΠΌΠ΅?
ΠΠ°ΠΊ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ SLA? ΠΠ°ΠΊ Π΄Π° Π³ΠΈ ΡΠΏΠ°Π·Π²Π°ΠΌΠ΅?
Π’Π΅ΠΌΠ° β11: SRE
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° SLA, SLO, Error Budget ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΡΠ°ΡΠ½ΠΈ ΡΠ΅ΡΠΌΠΈΠ½ΠΈ ΠΎΡ ΡΠ²Π΅ΡΠ° Π½Π° SRE
SRE: ΠΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ SLI ΠΈ SLO
SRE: ΠΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Error Budget
SRE: Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ (apigateway, service mesh, circuit brackers)
ΠΠΈΠ·Π½Π΅ΡΡΡ ΠΈΡΠΊΠ° SRE. ΠΠΎΠ½Π΅ Π½Π° Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ: Π΄Π° Π²Π·Π΅ΠΌΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π΅Π½ ΡΡΡΠ²ΡΡ ΠΈΠ»ΠΈ Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΎΡ Π±Π΅ΠΊΡΠΏ? ΠΠ΄Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ? ΠΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Π·Π°ΡΠΈΡΠ° ΠΎΡ DDoS ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π°ΡΠ°ΠΊΠ°ΡΠ°?
ΠΠΈΡΠ΅ΠΊΡΠΎΡΡΡ Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈ Ρ ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ΅ βΡΠ°ΠΉΡΡΡ ΡΠ°Π±ΠΎΡΠΈβ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΡ Π·Π²ΡΠ½ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΠΊΠ°Π·Π²Π°, ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° Π·Π° ΠΏΠΎΡΡΡΠΊΠ° Π½Π΅ ΡΠ΅ ΠΎΡΠ²Π°ΡΡ.
ΠΠ°ΡΠΎΠ²Π° Π½Π° DevOps ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½Π΅ ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΠ½ΠΎ Π΄Π° ΡΠ°Π·Π±ΠΈΡΠ°Ρ SRE, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎ Π΄Π° Π³ΠΎΠ²ΠΎΡΡΡ Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° Π·Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ.
Π Π΅Π·ΡΠΌΠ΅
ΠΠ° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΡΠ΅ ΡΠ΅ Π½Π°ΡΡΠ°Ρ:
β ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ Git;
β Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Ρ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°;
β Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°Ρ (Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ) ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ (ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ) CI/CD;
β Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄;
β Π΄Π° ΡΠ΅ΡΡΠ²Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°;
β Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ;
β Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°Ρ Π»ΠΎΠ³Π²Π°Π½Π΅ΡΠΎ;
β Π΄Π° ΡΠ°Π·Π±ΠΈΡΠ°Ρ ΠΈ Π² ΠΈΠ΄Π΅Π°Π»Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ β Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ SRE.
ΠΠ° Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΈΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ β ΠΏΠΎ ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄ habrapost ΠΎΡΡΡΡΠΏΠΊΠ° 15%.
ΠΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠΎΡΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΠΌΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. Π’Π°ΠΊΠ° ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊ ΡΠ»Π΅Π΄ Π·Π°Π²ΡΡΡΠ°Π½Π΅ΡΠΎ ΡΠΈ ΠΎΡ Π‘Π»ΡΡΠΌΠ° ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π΄ΠΈΠ³Π½Π΅ ΡΠ²ΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π² DevOps.
ΠΠ° Π±ΠΈΠ·Π½Π΅ΡΠ° ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΠΎΠ΅Π²ΡΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ°, ΠΏΠΎ-Π±ΡΡΠ·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
