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

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

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

Π˜Π·Π³Ρ€Π°Π΄ΠΈΡ…ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ сС Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄Π΅Ρ…ΠΌΠ΅ ΠΎΡ‚ ΠΌΠΈΡΡŠΠ»Ρ‚Π°, Ρ‡Π΅ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ изслСдвания ΠΏΠΎ 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, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ Π΄Π° говорят с бизнСса Π·Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ΄ΠΈ.

РСзюмС

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

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

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

Π—Π° бизнСса Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° поСвтиняванС Π½Π° администриранСто ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°, намаляванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚, ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° надСТдността, ΠΏΠΎ-Π±ΡŠΡ€Π·Π° доставка Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ.

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

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