ΠΠ±ΠΈΡΠ°ΠΌ Π΅Π΄Π½ΠΎΡΠ΅Π΄ΠΌΠΈΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΡΠ΅ ΠΏΠ»Π°ΡΠ° ΠΎΡ Π΅Π΄Π½ΠΎΠ³ΠΎΠ΄ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. Π Agile Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΌΠΈ Ρ Π°ΡΠ΅ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° MVP ΠΈ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ, ΡΠΎΠ²Π° Π΅ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠ΅ΡΠΎ Π½Π΅ΡΠΎ: Π½Π°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΠΏΠ°ΡΡΠ΅, Π²Π½Π΅Π΄ΡΠΈΡΠ΅ Π³ΠΎ ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΠ΅Π΄.
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° DevOps Π²ΡΠ² ΡΠΎΡΠΌΠ°ΡΠ°, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π° Π² ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ, Π΅ ΡΠ°ΠΌΠΎ Π΅Π΄Π½ΠΎΠ³ΠΎΠ΄ΠΈΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ»ΠΈ ΡΠ»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½ΠΈ.
ΠΠΈΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡ ΠΌΠ΅ Π½Π°ΡΠΈΡ ΠΊΡΡΡ DevOps Π² ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°ΡΠ° Π½Π° βMVP DevOps Π² Π΅Π΄ΠΈΠ½ ΡΠΏΡΠΈΠ½Ρβ ΠΈ βΠ³ΠΎΡΠΎΠ²Π½ΠΎΡΡ Π·Π° Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅β. Π Π°ΠΊΠΎ Π² ΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ»Π°Π½, ΡΠΎΠ³Π°Π²Π° βΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΡΡ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ΅ Π²ΡΡΠ½Π΅, Π΄Π° ΠΌΠΎΠΆΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈ Π½Π΅ΡΠΎ Ρ Π΄ΠΎΠΌΠ° ΠΈ Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ Π½Π΅Π³ΠΎβ.
MVP DevOps: ΠΡΡΡΡΡ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° DevOps. ΠΠΈΠ΅ Π½Π΅ ΡΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ Π·Π° Π·Π°Π΄Π°ΡΠ° Π΄Π° ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΈ ΡΡΠ°Π²Π½ΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ CI/CD ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π° ΡΠ°Π·ΠΊΡΠΈΠ΅ΠΌ Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΌΠ΅ Π΅Π΄ΠΈΠ½ ΡΡΠ΅Π½ ΡΡΠ΅ΠΊ: Gitlab CI/CD, Ansible, Terraform ΠΈ Packer, Molecule, Prometheus, EFK. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠΉΠ΄Π΅ΡΠ΅ ΠΎΡ ΠΊΡΡΡΠΎΠ²Π΅ΡΠ΅, Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π·Π° ΠΏΠΈΠ»ΠΎΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΡ ΡΡΠ΅Π±Π½ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ.
ΠΠΎΡΠΎΠ²Π½ΠΎΡΡ Π·Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ: ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΌΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΏΡΠΈΠ»Π°Π³Π°ΡΠ΅, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠ΅ΠΆΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Ansible playbook Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈΠ»ΠΈ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π±ΠΎΡ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΡΠ²ΡΡΠ° ΠΎΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΡΠΈ. Π’ΠΎΠ΅ΡΡ, ΠΏΠΎΠ»ΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠ»Π΅Π΄ ΡΠ΅Π΄ΠΌΠΈΡΠ°. ΠΠΎΠΆΠ΅ Π΄Π° Π΅ Π±Π΅Π·ΠΊΡΠ°ΠΉΠ½ΠΎ Π΄Π°Π»Π΅ΡΠ΅ ΠΎΡ DevOps ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ»Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, Π½ΠΎ Π΅ ΡΠ°ΠΌ, ΡΡΠΊ Π΅, ΡΠ°Π±ΠΎΡΠΈ ΠΈ Π½ΠΎΡΠΈ ΠΏΠΎΠ»Π·ΠΈ.
Π’Π΅ΠΌΠΈ Π·Π° Slurm DevOps
Π’Π΅ΠΌΠ° β1: ΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π½Π° Git - Π³ΠΎΠ²ΠΎΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ.
Π’Π΅ΠΌΠ° #2: Π Π°Π±ΠΎΡΠ° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° β Π΅Π΄ΠΈΠ½ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ ΠΎΡ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΈΡΠ΅ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΠ°ΠΊΠ° ΡΠ΅ Π½ΠΈΠ΅ ΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°.
Π’Π΅ΠΌΠ° #3: ΠΡΠ½ΠΎΠ²ΠΈ Π½Π° CI/CD
- ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² CI/CD Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ°
- Gitlab CI ΠΡΠ½ΠΎΠ²ΠΈ
- ΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Ρ gitlab-runner
- Bash, make, gradle ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ CI/CD ΠΈ Π΄Ρ
- Docker ΠΊΠ°ΡΠΎ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° CI ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ
Π’Π΅ΠΌΠ° #4: Gitlab CI/CD Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ
- ΠΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡ ΠΏΡΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°
- ΠΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ: ΡΠ°ΠΌΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ
- Π Π°Π±ΠΎΡΠ° Ρ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ
- Π¨Π°Π±Π»ΠΎΠ½ΠΈ, Π²ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ: ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ
ΠΠ°ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡΠΈΡΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π½Π° CI/CD ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° CI/CD. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΡΠ΅Π½ΠΈΠΊΡΡ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° CI/CD ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° CI/CD Π² Gitlab ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΏΡΠ΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ°, ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Gitlab CI. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΡΡΠ΄Π΅Π½ΡΡΡ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° Gitlab CI Π·Π° ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ.
Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΡΠ²ΠΈΡ DevOps Slurm, ΡΠ²ΠΈΡ ΠΌΠ΅ ΡΠ΅ΠΎΡΠΈΡΡΠ° 2 ΠΏΡΡΠΈ (Π΅Π΄ΠΈΠ½ ΡΠ°Ρ Π½Π° ΡΠ΅ΠΌΠ°), ΠΎΡΠ΄Π°Π»Π΅ΡΠΈΡ ΠΌΠ΅ ΡΠ΅ ΠΎΡ ΠΏΡΠ΅Π³Π»Π΅Π΄Π° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ°ΠΌΠΎ Gitlab CI. Π€ΠΎΠΊΡΡΠΈΡΠ°Ρ ΠΌΠ΅ ΡΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ.
Π’Π΅ΠΌΠ° #5: ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄
- IaC: ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΡΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄
- ΠΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (packer)
- IaC ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Terraform ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ
- Π‘ΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΡΠ°ΠΊΡΠΈΠΊΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ Π·Π° ΠΈΠ³ΡΠΈ Ansible
- ΠΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΡΡ
- IaC, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ansible ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠ°ΠΌΠ°Π»ΠΈΡ
ΠΌΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½Π°ΡΠ° ΡΠ°ΡΡ Π²ΡΡΡ
Ρ UI ΠΈ openstack cli ΠΈ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°Ρ
ΠΌΠ΅ Π²ΡΡΡ
Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°.
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π²Π° IaC ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΌΠΈΠ½ΡΡΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΡΠ΅Π½ΠΈΠΊΡΡ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊΡΠ΄Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΡΠΎ Ρ Terraform, ΡΠ°ΠΊΠ° ΠΈ Ρ Ansible.
Π ΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Terraform ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π² Π΅ΠΊΠΈΠΏ ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°. ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΡΠ΅Π½ΠΈΠΊΡΡ ΡΠ°ΠΌ ΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΌΠΎΠ΄ΡΠ»Π°, ΡΠ΅ ΡΠ΅ Π½Π°ΡΡΠΈ ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ Π½Π΅Π³ΠΎ: Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Π²Π΅ΡΡΠΈΡ. ΠΠ΅ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ° Ρ Consul, Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π² ΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ.
Π’Π΅ΠΌΠ° #6: Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
- ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π·Π°ΡΠΎ Π½Π΅ ΠΏΠΈΡΠ°Ρ ΡΠ΅ΡΡΠΎΠ²Π΅?
- ΠΠ°ΠΊΠ²ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΈΠΌΠ° Π² IaC?
- Π‘ΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ, Π½Π°ΠΈΡΡΠΈΠ½Π° Π»ΠΈ ΡΠ° ΡΠΎΠ»ΠΊΠΎΠ²Π° Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΈ?
- ΠΠ΄ΠΈΠ½ΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° IaC Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ansible + ΠΌΠΎΠ»Π΅ΠΊΡΠ»Π° ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ
- Π’Π΅ΡΡΠ²Π°Π½Π΅ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ci
- Π’Π΅ΡΡΠΎΠ²Π΅ Π½Π° ΡΡΠ΅ΡΠΎΠΈΠ΄ΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π½Π΅ ΡΠ°ΠΊΠ°ΠΌΠ΅ 5 ΡΠ°ΡΠ°, Π·Π° Π΄Π° ΡΠ²ΡΡΡΠ°Ρ IaC ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅
ΠΠ°ΠΌΠ°Π»ΠΈΡ
ΠΌΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½Π°ΡΠ° ΡΠ°ΡΡ, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΈΡΡΠΎΡΠΈΠΈ Π·Π° Vagrant/Molecule, ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅, Ρ ΡΠΎΠΊΡΡ Π²ΡΡΡ
Ρ Π»ΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΡΡΡ
. ΠΠ»Π΅Π΄Π°ΠΉΠΊΠΈ Π³ΠΎ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° CI
ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ΅ ΠΈΠΌΠ°:
- ΡΠ°ΠΌΠΎΠ½Π°ΠΏΠΈΡΠ°Π½ Π»ΠΈΠ½ΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° Ρ ΠΎΡΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΎΠ»ΡΡΠ°;
- ΠΠΈΠ΅ Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ ΠΊΡΠΌ CI ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΡΠ°ΠΌΠΎ ΠΎΠ½Π΅Π·ΠΈ ΡΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΠ°;
- Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΠΉ. ΠΠΈΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°ΠΌΠ΅ ΡΡΠ»ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ΅ΡΡ.
Π’Π΅ΠΌΠ° #7: ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Ρ Prometheus
- ΠΠ°ΠΊ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ Π·Π΄ΡΠ°Π²ΠΎΡΠ»ΠΎΠ²Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΡΡ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π°Π½Π°Π»ΠΈΠ·, Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ Π½Π° ΠΊΠΎΠ΄Π°, Π΄ΠΎΡΠΈ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠΎΠ΄Π°ΠΆΠ±Π°
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° prometheus + alertmanager + grafana
- ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΎΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΊΡΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π©Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° API. Π©Π΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠ΅ΠΊΠ° Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΈΠ·Π½ΠΎΡΠΈΡΠ΅Π». Π©Π΅ Π½Π°ΡΡΡΠΎΠΈΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ Π½Π° ΡΠ±ΠΎΡΠΊΠΈ Π² Gitlab. ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π·Π° Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΠ΅ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π±Π΅Π· ΠΈ Ρ Π½Π΅Π³ΠΎ HealthCheck.
Π’Π΅ΠΌΠ° No8. Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ELK
- ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° Elastic ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ
- ELK/Elastic Stack/x-pack - ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΠ°ΠΊΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ°?
- ΠΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ElasticSearch (ΡΡΡΡΠ΅Π½Π΅, ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°)
- ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° (x-pack)
- ΠΡΡΠ½Π°Π»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (x-pack)
- Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ
- ΠΡΠ°ΠΊΡΠΈΠΊΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΠΈΠ±Π°Π½Π°
- ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ Distro Π·Π° Elasticsearch ΠΎΡ Amazon
Π’Π΅ΠΌΠ°ΡΠ° Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½Π°, Π²ΠΎΠ΄Π΅ΡΠ° Π΅ ΠΠ΄ΡΠ°ΡΠ΄ ΠΠ΅Π΄Π²Π΅Π΄Π΅Π², ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎ Π²ΠΈΠ΄ΡΡ Π° Π½Π° ΡΠ΅Π±ΠΈΠ½Π°ΡΠ° Π·Π° DevOps ΠΈ SRE. Π’ΠΎΠΉ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ° Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ EFK Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π©Π΅ ΠΈΠΌΠ° ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΠΠΈΠ±Π°Π½Π°.
Π’Π΅ΠΌΠ° #9: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Ρ ChatOps
- DevOps ΠΈ ChatOps
- ChatOps: Π‘ΠΈΠ»Π½ΠΈ ΡΡΡΠ°Π½ΠΈ
- ΠΠ°ΡΡΠΎΠΉ ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ
- ΠΠΎΡΠΎΠ²Π΅ Π·Π° ChatOps
- Hubot ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ
- ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
- Π’Π΅ΡΡΠ²Π°Π½Π΅
- ΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΈ Π½Π°ΠΉ-Π»ΠΎΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
ChatOps Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠ°Π²Π°ΡΠ°, ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΡ Π΄ΡΡΠ³ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», ΡΠ΅ΠΎΡΠΈΡΡΠ° ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° Slack ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Mattermost, ΡΠ΅ΠΎΡΠΈΡΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠΈΡΠ΅ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° Π±ΠΎΡΠ°.
DevOps slurm Π·Π°ΠΏΠΎΡΠ²Π° Π½Π° 30 ΡΠ½ΡΠ°ΡΠΈ. Π¦Π΅Π½Π° - 30.
ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΡΠΈΠΊΠ»ΡΡΠΈΠ»ΠΈ Ρ ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ, ΠΈΠΌΠ° 15% ΠΎΡΡΡΡΠΏΠΊΠ° ΠΎΡ ΠΊΡΡΡΠ° DevOps, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡΠΎΠΌΠΎΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡ ΠΊΠΎΠ΄ habrapost.
ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ
Π©Π΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄Ρ Π² Slurms!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com