Π‘Π»Ρ‘Ρ€ΠΌ DevOps: ΠΎΡ‚ Git Π΄ΠΎ SRE с всички спирки

ΠžΡ‚ 4 Π΄ΠΎ 6 сСптСмври Π² Π‘Π°Π½ΠΊΡ‚ ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, Π² ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° Π·Π°Π»Π° Selectel Ρ‰Π΅ сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ Ρ‚Ρ€ΠΈΠ΄Π½Π΅Π²Π½ΠΎ Slurm DevOps.

Π‘Π»Ρ‘Ρ€ΠΌ DevOps: ΠΎΡ‚ Git Π΄ΠΎ SRE с всички спирки

Π‘ΡŠΠ·Π΄Π°Π²Π°Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° с ΠΌΠΈΡΡŠΠ»Ρ‚Π°, Ρ‡Π΅ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ²Π΅ ΠΏΠΎ DevOps, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²Π°Ρ‚Π° Π·Π° инструмСнтитС, всСки ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅ самостоятСлно. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΈ са само ΠΎΠΏΠΈΡ‚ΡŠΡ‚ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π°: обяснСниС ΠΊΠ°ΠΊ трябва ΠΈ Π½Π΅ трябва Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ, ΠΈ Ρ€Π°Π·ΠΊΠ°Π· ΠΊΠ°ΠΊ Π½ΠΈΠ΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ.

Π’ΡŠΠ² всяка компания, всСки администратор ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠΌΠ° свой собствСн Π½ΠΈΠ²ΠΎ Π½Π° DevOps. Някои Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Git, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ внСдряват SRE. ΠšΡƒΡ€ΡΡŠΡ‚ Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ всСки Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈ Π½Π΅Ρ‰ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈ Ρ‚ΡƒΠΊ ΠΈ сСга.

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ с Git, послС ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΏΡ€Π΅Π· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, взаимодСйствиСто ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄Π° ΠΈ инфраструктурата, ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° CI/CD, описвамС инфраструктурата ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄ (IaC), тСствамС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, настройвамС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, ΡΡŠΠ±ΠΈΡ€Π°ΠΌΠ΅ ΠΈ ΠΈΠ·ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅, ΠΈ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка стигамС Π΄ΠΎ SRE: ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π°ΠΌΠ΅ надСТдността Π² ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌΠ° ΠΈ управляСмая история.

Git

Π‘Π΅Π³Π° Git Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само ΠΎΠ½Π·ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Π²Ρ‡Π΅Ρ€Π° Π΅ ΠΊΡƒΠΏΠΈΠ» ΠΏΡŠΡ€Π²ΠΈΡ си Π»Π°ΠΏΡ‚ΠΎΠΏ. Π’ΠΎΠ²Π° Π΅ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π΅Π½ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ инструмСнт, ΠΈ всС ΠΏΠ°ΠΊ чСсто срСщамС Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°Ρ‚Π° ΠΌΡƒ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°: ΠΎΡ‚ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡƒΡˆΠ²Π°Π½Π΅ Π² master, Π΄ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ Git Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Ρ‡Ρ€Π΅Π· Ctrl-C, Ctrl-V.

Π Π°Π·ΠΊΠ°Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π½Π΅ трябва Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ, ΠΊΠ°ΠΊ трябва Π΄Π° сС ΠΏΡ€Π°Π²ΠΈ, ΠΊΠ°ΠΊ Π³ΠΎ правят Π² Southbridge.
ΠŸΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΏΡ€Π΅Π· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π°: основи Π½Π° Git, Ρ€Π°Π±ΠΎΡ‚Π° Π² Π΅ΠΊΠΈΠΏ.

Π’Π΅ΠΌΠ° β„–1: Основи Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Git

  • Основни ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ git init, commit, add, diff, log, status, pull, push
  • Git flow, ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅, стратСгии Π·Π° сливанС
  • Π Π°Π±ΠΎΡ‚Π° с няколко remote repo

Π’Π΅ΠΌΠ° β„–2: Π Π°Π±ΠΎΡ‚Π° Π² Π΅ΠΊΠΈΠΏ с Git

  • GitHub flow
  • Fork, remote, pull request
  • ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ, Ρ€Π΅Π»ΠΈΠ·ΠΈ, ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π·Π° Gitflow ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ flow Π² контСкста Π½Π° Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŠΡ‚ Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ администратори ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° внСдрят всички ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си.

ΠžΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° DevOps ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° с Git ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° процСситС Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ администриранС, ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° Ρ€Π΅Π΄ΠΈΡ†Π° повтарящи сС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, повишава производитСлността.

DevOps Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ

Π“Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π° DevOps ΠΏΡ€Π΅Π· ΠΎΡ‡ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°: стартирамС Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΎΠΊΠΎΠ»Π½Π° срСда, пишСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, настройвамС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π»ΠΎΠ³Π²Π°Π½Π΅Ρ‚ΠΎ, тСствамС Π»ΠΎΠΊΠ°Π»Π½ΠΎ, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ/Ρ‚Π°ΠΉΠ½ΠΈ ΠΈ service discovery, Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ трасировката (opentracing).

Π’Π΅ΠΌΠ° β„–3: Π Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°

  • Настройка Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° срСда: практичСски ΡΡŠΠ²Π΅Ρ‚ΠΈ
  • ПишСм микросСрвис Π½Π° Python (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ тСстовС)
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° docker-compose Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°

Π’Π΅ΠΌΠ° β„–4: ВзаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄Π° ΠΈ инфраструктурата

  • ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π‘Π»Π΅Π΄ края Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Ρ‰Π΅ видят ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΡŠΡ‚ трябва Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π»ΠΎΠ³ΠΎΠ²Π΅, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ тСстват ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ Π΄Π° Π³ΠΎ отстраняват. АдминистраторитС Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅: ΠΊΠ°ΠΊΠ²ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΊΠΎΠ΄Π° сС появяват, ΠΊΠ°ΠΊ Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚ тСстванСто Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π΄Π° тСстват ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сами.

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ сС Ρ€Π΅ΡˆΠ°Π²Π° Π³Π»Π°Π²Π½Π°Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π½Π° DevOps: установява сС Π²Π·Π°ΠΈΠΌΠΎΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π΅Π²ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ опсовСтС. Π’ΠΎΠ²Π° Π΅ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π° ΡΡ‚ΡŠΠΏΠΊΠ° към ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ към ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΎ взаимодСйствиС.

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° скоростта ΠΈ качСството Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°.

CI/CD

Π‘ΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ‚Π° автоматизация ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π° CI/CD. Π©Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ€ΡŠΡ‡Π½Π° автоматизация: makefiles, git hooks, скриптовС. Π©Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΊΠΎΠ³Π° Ρ‚Π΅Π·ΠΈ инструмСнти всС ΠΎΡ‰Π΅ са Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ, Π° ΠΊΠΎΠ³Π° Π½Π΅ Π±ΠΈΠ²Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚.

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ с Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ CI Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° GitLab.

Π’Π΅ΠΌΠ° β„–5: CI/CD: Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² автоматизацията

  • Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² автоматизацията
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ (bash, make, gradle)
  • ИзползванС Π½Π° git-hooks Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° процСситС
  • Π€Π°Π±Ρ€ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½ΠΈ Π»ΠΈΠ½ΠΈΠΈ Π·Π° сглобяванС ΠΈ тяхното ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ИВ
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° "ΠΎΠ±Ρ‰" ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½
  • Π‘ΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ софтуСр Π·Π° 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, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° дСйствия Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ мСста Π² ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°
  • Π’ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ β€” сСкции
  • Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° gitlab-ci.yml (Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ push Π² останалитС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ)

Π‘ΡŠΠ²ΠΌΠ΅ΡΡ‚Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ администраторитС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ достига Π½ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ: Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ пишС CI шаблона, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π³ΠΎ промСнят, ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΉΠΊΠΈ своя CI нСзависимо ΠΎΡ‚ администратора.

Π‘Π½ΠΈΠΆΠ°Π²Π° сС зависимостта Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΎΡ‚ администраторитС, намалява сС количСството Ρ€ΡŠΡ‡Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΠΈΠ·Ρ‡Π΅Π·Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с "СдинствСният Ρ‡ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с make Ρ„Π°ΠΉΠ»Π°". Π Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½ΠΈΡΡ‚Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΠΈ Π±ΡŠΡ€Π·ΠΎ.

IaC

Π’Π΅ΠΌΠ°Ρ‚Π° Infrastructure as Code, Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½Π° ΠΎΡ‚ администратора Π½Π° ΠΎΠ±Π»Π°ΠΊΠ° 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 Π΅Π΄Π²Π° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ която Π΄Ρ€ΡƒΠ³ΠΈ Π»Π΅ΠΊΡ‚ΠΎΡ€ΠΈ искат Π΄Π° останат Π΄ΠΎ послСдния Π΄Π΅Π½ Π½Π° Π‘Π»Ρ‘Ρ€ΠΌΠ°. Π Π°Π΄Π²Π°ΠΌΠ΅ сС, Ρ‡Π΅ Иван ΠšΡ€ΡƒΠ³Π»ΠΎΠ² ΠΎΡ‚ Booking.com сС съгласи Π΄Π° я ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΆΠΈΠ²Π΅Π΅ Π² рСалния свят, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ надСТдността Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°, Π° всяко Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ струва ΠΏΠ°Ρ€ΠΈ.

Какво Π΅ SLA Π² контСкста Π½Π° слоТСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚? НапримСр, ΠΊΠ°ΠΊ Π΄Π° ΠΎΡ†Π΅Π½ΠΈΠΌ, Ρ‡Π΅ ΡΠ°ΠΉΡ‚ΡŠΡ‚ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½, Π½ΠΎ изобраТСнията сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ със закъснСниС. Какви са ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈΡ‚Π΅ Π½Π° SLA, ΠΎΡ‚ΠΊΡŠΠ΄Π΅ Π΄Π° Π³ΠΈ Π²Π·Π΅ΠΌΠ΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠΌ?

Как Π΄Π° установим SLA? Как Π΄Π° Π³ΠΈ спазвамС?

Π’Π΅ΠΌΠ° β„–11: SRE
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° SLA, SLO, Error Budget ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ ΠΎΡ‚ свСта Π½Π° SRE
SRE: ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° SLI ΠΈ SLO
SRE: ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Error Budget
SRE: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π° натоварСност (apigateway, service mesh, circuit breakers)
Π‘ΠΈΠ·Π½Π΅ΡΡŠΡ‚ иска SRE. ПонС Π½Π° Π½Π°ΠΉ-простото Π½ΠΈΠ²ΠΎ: Π΄Π° Π²Π·Π΅ΠΌΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€ ΠΈΠ»ΠΈ Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈ ΠΎΡ‚ бСкъп? Π•Π΄Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€? Π”Π° настрои Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈΠ»ΠΈ само Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° Π°Ρ‚Π°ΠΊΠ°?

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΡŠΡ‚ няма Π΄Π° сС Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈ с обяснСниСто, Ρ‡Π΅ "ΡΠ°ΠΉΡ‚ΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ", ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ ΠΌΡƒ сС ΠΎΠ±Π°ΠΆΠ΄Π° ΠΈ ΡΡŠΠΎΠ±Ρ‰Π°Π²Π°, Ρ‡Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠ° Π½Π΅ сС отваря.

Π—Π°Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ DevOps ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΡŠΡ‚ ΠΏΠΎΠ½Π΅ ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚Π½ΠΎ Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π° SRE, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ Π΄Π° ΠΎΠ±Ρ‰ΡƒΠ²Π° с бизнСса Π·Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ΄ΠΈ.

РСзюмС

ΠŸΡ€Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π‘Π»Ρ‘Ρ€ΠΌΠ° DevOps администраторитС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Ρ‰Π΅ сС Π½Π°ΡƒΡ‡Π°Ρ‚:
β€” ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° работят с Git;
β€” Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚ Π»ΠΎΠΊΠ°Π»Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°;
β€” Π΄Π° настроят (администратори) ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ) CI/CD;
β€” Π΄Π° работят с инфраструктура ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄;
β€” Π΄Π° тСстват инфраструктурата;
β€” Π΄Π° мониторят инфраструктурата ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ;
β€” Π΄Π° настроят Π»ΠΎΠ³Π²Π°Π½Π΅Ρ‚ΠΎ;
β€” Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ ΠΈ Π² идСалния случай β€” Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ SRE.

Π—Π° Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈΡ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ β€” с ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄ habrapost ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ 15% ΠΎΡ‚ΡΡ‚ΡŠΠΏΠΊΠ°.

По всички Ρ‚ΠΎΡ‡ΠΊΠΈ подготвямС ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΈ инструмСнти. Π’Π°ΠΊΠ° Ρ‡Π΅ всСки участник слСд Π·Π°Π²Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ Π‘Π»Ρ‘Ρ€ΠΌΠ° Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ своята компания Π½Π° слСдващото Π½ΠΈΠ²ΠΎ Π½Π° DevOps.

Π—Π° бизнСса Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° намаляванС Π½Π° Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° администриранС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, намаляванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° нСизправности, повишаванС Π½Π° надСТдността, ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ доставянС Π½Π° функционалности ΠΈ отстраняванС Π½Π° бъговС.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster