Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! РаньшС я Таловался Π½Π° Тизнь Π² ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅ Infrastructure as code ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π» для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ слоТившСйся ситуации. БСгодня я вСрнулся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Ρ€Π²Π°Ρ‚ΡŒΡΡ ΠΈΠ· Π±Π΅Π·Π΄Π½Ρ‹ отчаяния ΠΈ Π²Ρ‹Ρ€ΡƒΠ»ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ русло.

Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Β«Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство» я дСлился своим Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ этой сфСры, пытался Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΡ‚ΡŒ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ситуации Π² этой области ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ стандартныС, извСстныС всСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ. Могло ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΆΠ°Π»ΠΎΠ± Π½Π° Тизнь, Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ ΠΈΠ· слоТившСйся ситуации.

ΠšΡ‚ΠΎ ΠΌΡ‹, Π³Π΄Π΅ ΠΌΡ‹ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρƒ нас ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

БСйчас ΠΌΡ‹ находимся Π² Sre Onboarding Team, которая состоит ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ программистов ΠΈ Ρ‚Ρ€Ρ‘Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² инфраструктуры. ВсС ΠΌΡ‹ пытаСмся ΠΏΠΈΡΠ°Ρ‚ΡŒ Infrastructure as code (IaC). Π”Π΅Π»Π°Π΅ΠΌ ΠΌΡ‹ это, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΡƒΠΌΠ΅Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π² Π°Π½Π°ΠΌΠ½Π΅Π·Π΅ являСмся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ уровня Β«Π²Ρ‹ΡˆΠ΅ срСднСго».

  • Π£ нас Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ плюсов: ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Π±Π΅ΠΊΠ³Ρ€Π°ΡƒΠ½Π΄, Π·Π½Π°Π½ΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π½ΠΎΠ²ΠΎΠΌΡƒ.
  • И Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΈΡΠ°ΡŽΡ‰Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ, ΠΎΠ½Π° ΠΆΠ΅ минус: нСдостаток Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ матчасти инфраструктуры.

Π‘Ρ‚Π΅ΠΊ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² нашСм IaC.

  • Terraform для создания рСсурсов.
  • Packer для сборки ΠΈΠΌΠΈΠ΄ΠΆΠ΅ΠΉ. Π­Ρ‚ΠΎ Windows, CentOS 7 ΠΎΠ±Ρ€Π°Π·Ρ‹.
  • Jsonnet, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½ΡƒΡŽ сборку Π² drone.io, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ packer json ΠΈ Π½Π°ΡˆΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌΠ°.
  • Azure.
  • Ansible ΠΏΡ€ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ².
  • Python для Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСрвисов, Π° Ρ‚Π°ΠΊΠΆΠ΅ скриптов ΠΏΡ€ΠΎΠ²ΠΈΠΆΠ΅Π½ΠΈΠ½Π³Π°.
  • И всё это Π² VSCode с ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ, Ρ€Π°ΡΡˆΠ°Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ участниками ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ· ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π» Ρ‚Π°ΠΊΠΎΠΉ: я пытался Π²ΡΠ΅Π»ΠΈΡ‚ΡŒ (Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² сСбя) ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΌ, Ρ…ΠΎΡ‚Π΅Π» ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ извСстныС Π½Π°ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ с трудностями ΠΈ слоТностями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² этой сфСрС.

БСйчас ΠΌΡ‹ борСмся с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ IaC:

  • ΠΠ΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎ инструмСнтов, срСдств ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π°.
  • МСдлСнноС Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅. Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° – это Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, Π° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСбыстрым.
  • НСхватка ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ.
  • ΠœΡ‹ новСнькиС ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ.

Π­ΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (XP) ΡΠΏΠ΅ΡˆΠΈΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ

ВсСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (XP) ΠΈ Ρ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π° Π½ΠΈΠΌ стоят. МногиС ΠΈΠ· нас Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ, ΠΈ ΠΎΠ½ Π±Ρ‹Π» ΡƒΠ΄Π°Ρ‡Π΅Π½. Π’Π°ΠΊ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈ, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ трудности инфраструктуры? ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ· этого Π²Ρ‹ΠΉΠ΄Π΅Ρ‚.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° примСнимости ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π₯Π  ΠΊ вашСй ΡΡ„Π΅Ρ€Π΅ΠŸΡ€ΠΈΠ²ΠΎΠΆΡƒ описаниС срСды, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ XP, ΠΈ ΠΊΠ°ΠΊ это соотносится с Π½Π°ΠΌΠΈ:

1. Dynamically changing software requirements. Нам Π±Ρ‹Π»ΠΎ понятно, ΠΊΠ°ΠΊΠΎΠ²Π° конСчная Ρ†Π΅Π»ΡŒ. Но Π² дСталях ΠΌΠΎΠΆΠ½ΠΎ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠœΡ‹ сами Ρ€Π΅ΡˆΠ°Π΅ΠΌ, ΠΊΡƒΠ΄Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π²Ρ‹Ρ€ΡƒΠ»ΠΈΡ‚ΡŒ, поэтому трСбования пСриодичСски ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ (Π² основном Π½Π°ΠΌΠΈ ΠΆΠ΅ самими). Если Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ SRE, которая сама Π΄Π΅Π»Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΈ сама ΠΆΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ трСбования ΠΈ scope Ρ€Π°Π±ΠΎΡ‚, Ρ‚ΠΎ этот ΠΏΡƒΠ½ΠΊΡ‚ лоТится Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

2. Risks caused by fixed time projects using new technology. Π£ нас ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ риски ΠΏΡ€ΠΈ использовании ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ нСизвСстных Π½Π°ΠΌ Π²Π΅Ρ‰Π΅ΠΉ. И это 100% наш случай. Π’Π΅ΡΡŒ наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ – это использованиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Π½Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π·Π½Π°ΠΊΠΎΠΌΡ‹. Π’ΠΎΠΎΠ±Ρ‰Π΅, это постоянная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‚.ΠΊ. Π² сфСрС инфраструктуры постоянно появляСтся мноТСство Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

3,4. Small, co-located extended development team. The technology you are using allows for automated unit and functional tests. Π­Ρ‚ΠΈ Π΄Π²Π° ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ совсСм Π½Π°ΠΌ подходят. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ Π½Π΅ колоцированная ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, нас Π΄Π΅Π²ΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ большой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. Π₯отя, ΠΏΠΎ ряду ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ «большой» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΌΠ½ΠΎΠ³ΠΎ – это 14+ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

Рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈΠ· XP ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ качСство ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи Π² XP

Π’ ΠΌΠΎΡ‘ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ обратная связь – это ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° вопрос, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ я дСлаю, Ρ‚ΡƒΠ΄Π° Π»ΠΈ ΠΌΡ‹ ΠΈΠ΄Ρ‘ΠΌ? Π’ Π₯Π  Π½Π° этот счёт Π΅ΡΡ‚ΡŒ боТСствСнная схСмка: Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ Π½ΠΈΠΆΠ΅ ΠΌΡ‹ находимся, Ρ‚Π΅ΠΌ ΠΌΡ‹ быстрСС ΠΈΠΌΠ΅Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ОБ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ вопросы.

Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

Π­Ρ‚ΠΎ довольно интСрСсная Ρ‚Π΅ΠΌΠ° для обсуТдСния, Ρ‡Ρ‚ΠΎ Ρƒ нас Π² IT индустрии Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ОБ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, ΠΊΠ°ΠΊ больно слоТно Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»Π³ΠΎΠ΄Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² самом Π½Π°Ρ‡Π°Π»Π΅ Π±Ρ‹Π»Π° Π·Π°Π»ΠΎΠΆΠ΅Π½Π° ошибка. Π’Π°ΠΊΠΎΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈ Π² любом построСнии слоТных систСм.

Π’ нашСм случаС IaC Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ обратная связь. Π‘Ρ€Π°Π·Ρƒ Π²Π½ΠΎΡˆΡƒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π² схСму Π²Ρ‹ΡˆΠ΅: Ρ€Π΅Π»ΠΈΠ·-ΠΏΠ»Π°Π½ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π΅ мСсячный Ρ†ΠΈΠΊΠ», Π° происходит нСсколько Ρ€Π°Π· Π² дСнь. К этому Ρ†ΠΈΠΊΠ»Ρƒ ОБ привязаны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π’Π°ΠΆΠ½ΠΎ: обратная связь ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для всСх заявлСнных Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’ совокупности с ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈ XP, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π΅Π·Π΄Π½Ρ‹ отчаяния.

Как Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ сСбя ΠΈΠ· Π±Π΅Π·Π΄Π½Ρ‹ отчаяния: Ρ‚Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

ВСсты

ВСсты ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи XP. Π­Ρ‚ΠΎ Π½Π΅ просто Ρ‚Π°ΠΊ. Они ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½Ρ‹ для всСй Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ тСбя Π΅ΡΡ‚ΡŒ Unit ΠΈ Acceptance tests. Одни Π΄Π°ΡŽΡ‚ Ρ‚Π΅Π±Π΅ Ρ„ΠΈΠ΄Π±Π΅ΠΊ Π·Π° сколько-Ρ‚ΠΎ ΠΌΠΈΠ½ΡƒΡ‚, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π° сколько-Ρ‚ΠΎ Π΄Π½Π΅ΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚ΡΡ дольшС, Π° ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡŽΡ‚ΡΡ Ρ€Π΅ΠΆΠ΅.

Π•ΡΡ‚ΡŒ классичСская ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π° тСстирования, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ тСстов Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ большС.

Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

Как это схСма ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ Π½Π°ΠΌ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ IaC? На самом дСлС… Π½ΠΈΠΊΠ°ΠΊ.

  • Unit-тСстов, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. Π›ΠΈΠ±ΠΎ ΠΎΠ½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ косвСнно Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚. ЀактичСски ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡ… Π½Π΅ пишСм Π²ΠΎΠΎΠ±Ρ‰Π΅. Но Π²ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для Ρ‚Π°ΠΊΠΈΡ… тСстов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ нас всё-Ρ‚Π°ΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:
    1. ВСстированиС ΠΊΠΎΠ΄Π° Π½Π° jsonnet. Π­Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, наш ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ сборки Π² drone, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ достаточно слоТСн. Код Π½Π° jsonnet Ρ…ΠΎΡ€ΠΎΡˆΠΎ покрываСтся тСстами.
      ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ этот Unit testing framework for Jsonnet.
    2. ВСсты Π½Π° скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ стартС рСсурса. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π° Python, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ тСсты Π½Π° Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ.
  • ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² тСстах, Π½ΠΎ ΠΌΡ‹ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚Π°ΠΊ. Π•Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ» конфигурирования рСсурсов Ρ‡Π΅Ρ€Π΅Π· tflint. Однако, просто для Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌΠ° Ρ‚Π°ΠΌ слишком Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Ρ… сцСнариСв написано для AWS. А ΠΌΡ‹ Π½Π° Azure, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это снова Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ тСсты: Ρ‚ΡƒΡ‚ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ‚Ρ‹ ΠΈΡ… ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΡˆΡŒ ΠΈ ΠΊΡƒΠ΄Π° Ρ€Π°ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΡˆΡŒ. Но ΠΎΠ½ΠΈ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

    Π’ΠΎΡ‚ Ρ‚Π°ΠΊ выглядят ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ тСсты.

    Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

    Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ сборкС ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π² Drone CI. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎ Π½ΠΈΡ… Π΄ΠΎΠΉΡ‚ΠΈ, Π½Π°Π΄ΠΎ 30 ΠΌΠΈΠ½ΡƒΡ‚ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° собСрётся ΠΈΠΌΠΈΠ΄ΠΆ Packer, ΠΏΠΎΡ‚ΠΎΠΌ Π΅Ρ‰Ρ‘ ΠΌΠΈΠ½ΡƒΡ‚ 15 ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠΉΠ΄ΡƒΡ‚. Но ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ!

    Алгоритм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²

    1. Π‘Π½Π°Ρ‡Π°Π»Π° Packer Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π· ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.
    2. Рядом с тСстом Π΅ΡΡ‚ΡŒ Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ стСйтом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ этот ΠΎΠ±Ρ€Π°Π· Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ.
    3. ΠŸΡ€ΠΈ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСбольшой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ рядом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‰Π΅ Π±Ρ‹Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.
    4. Когда ΠΈΠ· ΠΎΠ±Ρ€Π°Π·Π° Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π° VM, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π’ основном, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° машинС. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ скрипты ΠΏΡ€ΠΈ стартС, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄Π΅ΠΌΠΎΠ½Ρ‹. Для этого Ρ‡Π΅Ρ€Π΅Π· ssh ΠΈΠ»ΠΈ winrm ΠΌΡ‹ Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈ провСряСм состояниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ поднялись Π»ΠΈ сСрвисы.

  • ΠŸΠΎΡ…ΠΎΠΆΠ°Ρ ситуация с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ тСстами ΠΈ Π² модулях для Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌΠ°. Π’ΠΎΡ‚ краткая Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΏΠΎΡΡΠ½ΡΡŽΡ‰Π°Ρ особСнности Ρ‚Π°ΠΊΠΈΡ… тСстов.

    Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

    ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ связь Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π΅ Π² Ρ€Π°ΠΉΠΎΠ½Π΅ 40 ΠΌΠΈΠ½ΡƒΡ‚. Всё происходит ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для рСгрСсса, Π½ΠΎ для Π½ΠΎΠ²ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ. Если ΠΎΡ‡Π΅Π½ΡŒ-ΠΎΡ‡Π΅Π½ΡŒ ΠΊ этому ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ running, скрипты, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎ 10 ΠΌΠΈΠ½ΡƒΡ‚. Но это всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ Unit-тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π° 5 сСкунд 100 ΡˆΡ‚ΡƒΠΊ.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Unit-тСстов ΠΏΡ€ΠΈ сборкС ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌΠ° сподвигаСт ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ просто ΠΌΠΎΠΆΠ½ΠΎ Π΄Ρ‘Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠΎ REST, ΠΈΠ»ΠΈ Π½Π° Python-скрипты.

НапримСр, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ стартС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΎΠ½Π° рСгистрировала сСбя Π² сСрвисС ScaleFT, Π° ΠΏΡ€ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠΈ удаляла сСбя.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ScaleFT Ρƒ нас ΠΊΠ°ΠΊ сСрвис, ΠΌΡ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· API. TΠ°ΠΌ Π±Ρ‹Π»Π° написана ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄Ρ‘Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ: Β«Π—Π°ΠΉΠ΄ΠΈ ΠΈ ΡƒΠ΄Π°Π»ΠΈ Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‚ΠΎ-Ρ‚ΠΎΒ». Она Ρ…Ρ€Π°Π½ΠΈΡ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ настройки ΠΈ доступы.

На это ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ тСсты, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ отличаСтся ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ софта: мокаСтся какая-Ρ‚ΠΎ Π°ΠΏΠΈΡ…Π°, Ρ‚Ρ‹ Π΄Ρ‘Ρ€Π³Π°Π΅ΡˆΡŒ, ΠΈ смотрим, Ρ‡Ρ‚ΠΎ происходит.

Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

Π˜Ρ‚ΠΎΠ³ΠΈ ΠΏΠΎ тСстам: Unit-тСстированиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ ОБ Π·Π° ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, Π½Π΅ Π΄Π°Ρ‘Ρ‚ Π΅Π³ΠΎ. А Π±ΠΎΠ»Π΅Π΅ высокиС ΠΏΠΎ ΠΏΠΈΡ€Π°ΠΌΠΈΠ΄Π΅ Π²ΠΈΠ΄Ρ‹ тСстирования Π΄Π°ΡŽΡ‚ эффСкт, Π½ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ лишь Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠŸΠ°Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ВСсты – это, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ². Они Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° своих уровнях ΠΈ Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь. Но ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΏΠ»ΠΎΡ…ΠΈΠΌΠΈ Unit-тСстами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ ΡΠ°ΠΌΡƒΡŽ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ОБ, остаётся. ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒΡΡ быстрой ОБ, с Π½Π΅ΠΉ Π»Π΅Π³ΠΊΠΎ ΠΈ приятно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. НС говоря ΡƒΠΆΠ΅ ΠΎ качСствС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π΄Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ быстрый feedback, Ρ‡Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты. Π­Ρ‚ΠΎ ΠΏΠ°Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠŸΡ€ΠΈ написании ΠΊΠΎΠ΄Π° хочСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь ΠΎ Π΅Π³ΠΎ качСствС ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС. Π”Π°, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всё Π² Ρ„ΠΈΡ‡Π°-Π²Π΅Ρ‚ΠΊΠ΅ (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΌΠ°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½ΠΈΠΊΠΎΠΌΡƒ), ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ pull request Π² Π³ΠΈΡ‚Ρ…Π°Π±Π΅, Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π½Π° ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ, Ρ‡ΡŒΡ‘ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ вСс, ΠΈ ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π°.

Но ΠΆΠ΄Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ. Π›ΡŽΠ΄ΠΈ всС занятыС, Π° ΠΎΡ‚Π²Π΅Ρ‚, Π΄Π°ΠΆΠ΅ Ссли ΠΈ Π±ΡƒΠ΄Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ самым высоким ΠΏΠΎ качСству. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€ΠΈΡˆΡ‘Π» сразу, Ρ€Π΅Π²ΡŒΡŽΠ²Π΅Ρ€ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ понял вСсь замысСл, Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ всё Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ с Π·Π°ΠΏΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ, постфактум. А хочСтся-Ρ‚ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅. Π’ΠΎΡ‚ ΠΏΠ°Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π°Ρ†Π΅Π»Π΅Π½ΠΎ Π½Π° это – Ρ‡Ρ‚ΠΎΠ±Ρ‹ сразу, Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания.

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ стили ΠΏΠ°Ρ€Π½ΠΎΠ³ΠΎ программирования ΠΈ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ IaC:

1. Classic, ΠžΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ+ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ, смСна ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ. Π”Π²Π΅ Ρ€ΠΎΠ»ΠΈ – driver and navigator. Π”Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Они Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ролями Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Рассмотрим ΡΠΎΡ‡Π΅Ρ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ со стилСм:

  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Π½Π΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎ инструмСнтов, срСдств ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π°.
    НСгативноС влияниС: дольшС Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, ΠΌΡ‹ замСдляСмся, сбиваСтся Ρ‚Π΅ΠΌΠΏ/Ρ€ΠΈΡ‚ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
    Как борСмся: примСняСм Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΡƒΠ»ΠΈΠ½Π³, ΠΎΠ±Ρ‰ΠΈΠΉ IDE ΠΈ Π΅Ρ‰Ρ‘ ΡƒΡ‡ΠΈΠΌ ΡˆΠΎΡ€Ρ‚ΠΊΠ°Ρ‚Ρ‹.
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅.
    НСгативноС влияниС: ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ врСмя Π½Π° созданиС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ куска ΠΊΠΎΠ΄Π°. Π‘ΠΊΡƒΡ‡Π°Π΅ΠΌ Π²ΠΎ врСмя оТидания, Ρ€ΡƒΠΊΠΈ тянутся Π·Π°Π½ΡΡ‚ΡŒΡΡ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΏΠΎΠΊΠ° ТдСшь.
    Как борСмся: Π½Π΅ ΠΏΠΎΠ±ΠΎΡ€ΠΎΠ»ΠΈ.
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: нСдостаток ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ.
    НСгативноС влияниС: Π½Π΅Ρ‚ знания, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π° ΠΊΠ°ΠΊ ΠΏΠ»ΠΎΡ…ΠΎ. УдлиняСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи.
    Как борСмся: Π²Π·Π°ΠΈΠΌΠΎΠΎΠ±ΠΌΠ΅Π½ ΠΌΠ½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ Π² ΠΏΠ°Ρ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Главная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° примСнСния этого стиля Π² IaC Π² Π½Π΅Ρ€ΠΎΠ²Π½ΠΎΠΌ Ρ‚Π΅ΠΌΠΏΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО Ρƒ тСбя ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π’Ρ‹ моТСшь ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ N. ΠŸΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ 10 ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 2N, 15 ΠΌΠΈΠ½ΡƒΡ‚ – 3N. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ N, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ 30 ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π΅ΡΡΡ‚ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚ N. Π—Π΄Π΅ΡΡŒ Ρ‚Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ знаСшь, Ρƒ тСбя Π·Π°Ρ‚Ρ‹ΠΊ, тупняк. Π Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ врСмя ΠΈ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΎΡ‚ нСпосрСдствСнно программирования.

Π’Ρ‹Π²ΠΎΠ΄: Π² чистом Π²ΠΈΠ΄Π΅ Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

2. Ping-pong. Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ участник ΠΏΠΈΡˆΠ΅Ρ‚ тСст, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ для Π½Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ с Unit-тСстами всё слоТно, ΠΈ приходится ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ программирования ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСст, вся Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ ping-pong’а ΡƒΡ…ΠΎΠ΄ΠΈΡ‚.

ΠœΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ обязанностСй ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ сцСнария тСста ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ. Один участник ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π» сцСнарий, Π² этой части Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½ Π±Ρ‹Π» отвСтствСнным, Π·Π° Π½ΠΈΠΌ Π±Ρ‹Π»ΠΎ послСднСС слово. А Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±Ρ‹Π» отвСтствСнСн Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΎΡΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ сцСнария ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ увСличиваСтся.

Π’Ρ‹Π²ΠΎΠ΄: ΡƒΠ²Ρ‹, Ρ‚Π΅ΠΌΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ping-pong, ΠΊΠ°ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ ΠΏΠ°Ρ€Π½ΠΎΠ³ΠΎ программирования Π² IaC.

3. Strong Style. БлоТная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. ИдСя Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ участник становится Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€ΠΎΠΌ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π΅Ρ€Ρ‘Ρ‚ Ρ€ΠΎΠ»ΡŒ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. ΠŸΡ€ΠΈ этом ΠΏΡ€Π°Π²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π° Π½Π°Π²ΠΈΠ³Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ лишь ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΈ словом ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° происходящСС. Π ΠΎΠ»ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя.

Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для обучСния, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… soft skills. На этом ΠΌΡ‹ ΠΈ Π·Π°ΠΏΠ½ΡƒΠ»ΠΈΡΡŒ. Π’Π΅Ρ…Π½ΠΈΠΊΠ° шла слоТно. И Π΄Π΅Π»ΠΎ Ρ‚ΡƒΡ‚ Π΄Π°ΠΆΠ΅ Π½Π΅ Π² инфраструктурС.

Π’Ρ‹Π²ΠΎΠ΄: ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, ΠΌΡ‹ Π½Π΅ оставляСм ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ.

4. Mobbing, swarming ΠΈ всС извСстныС, Π½ΠΎ Π½Π΅ пСрСчислСнныС Ρ‚ΡƒΡ‚ стили Π½Π΅ рассматриваСм, Ρ‚.ΠΊ. Π½Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ это Π² контСкстС нашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ получится.

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΈΡ‚ΠΎΠ³ΠΈ ΠΏΠΎ использованию pair programming:

  • ИмССм Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Ρ‚Π΅ΠΌΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сбиваСт.
  • ΠœΡ‹ ΡƒΠΏΡ‘Ρ€Π»ΠΈΡΡŒ Π² нСдостаточно Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ soft skills. А прСдмСтная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π½Π΅ способствуСт ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡŽ этих Π½Π°ΡˆΠΈΡ… нСдостатков.
  • Π”ΠΎΠ»Π³ΠΈΠ΅ тСсты, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с инструмСнтами Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ вязкой.

5. НСсмотря Π½Π° это, Π±Ρ‹Π»ΠΈ ΠΈ успСхи. ΠœΡ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ собствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«Π‘Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ – расхоТдСниС». ΠšΡ€Π°Ρ‚Π΅Π½ΡŒΠΊΠΎ ΠΎΠΏΠΈΡˆΡƒ, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π£ нас Π΅ΡΡ‚ΡŒ постоянныС ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Ρ‹ Π½Π° нСсколько Π΄Π½Π΅ΠΉ (мСньшС Π½Π΅Π΄Π΅Π»ΠΈ). ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ вмСстС. КакоС-Ρ‚ΠΎ врСмя ΠΌΡ‹ сидим вмСстС: ΠΎΠ΄ΠΈΠ½ ΠΏΠΈΡˆΠ΅Ρ‚, Π²Ρ‚ΠΎΡ€ΠΎΠΉ сидит ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚, ΠΊΠ°ΠΊ саппорт Ρ‚ΠΈΠΌ. ΠŸΠΎΡ‚ΠΎΠΌ ΠΌΡ‹ расходимся Π½Π° ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ нСзависимыС Π²Π΅Ρ‰ΠΈ, ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠΏΡΡ‚ΡŒ сходимся, синхронизируСмся ΠΎΡ‡Π΅Π½ΡŒ быстро, Π΄Π΅Π»Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ вмСстС ΠΈ ΠΎΠΏΡΡ‚ΡŒ расходимся.

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

ПослСдний Π±Π»ΠΎΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ОБ – это организация Ρ€Π°Π±ΠΎΡ‚ с самими Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. Бюда ΠΆΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π²Π½Π΅ ΠΏΠ°Ρ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Рассмотрим Ρ‚Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ:

1. Π—Π°Π΄Π°Ρ‡ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ†Π΅Π»Π΅ΠΉ. ΠžΠ±Ρ‰Π΅Π΅ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π΄Π΅Ρ€Π΅Π²ΠΎ, бСсконСчно уходящСС Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅. ВСхничСски Π²Π΅Π΄Π΅Π½ΠΈΠ΅ дСлаСтся Π² Miro. Π•ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π° – ΠΎΠ½Π° промСТуточная Ρ†Π΅Π»ΡŒ. ΠžΡ‚ Π½Π΅Ρ‘ ΠΈΠ΄ΡƒΡ‚ Π»ΠΈΠ±ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Ρ†Π΅Π»ΠΈ, Π»ΠΈΠ±ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Ρ‡. ΠžΡ‚ Π½ΠΈΡ… ΡƒΠΆΠ΅ сами Π·Π°Π΄Π°Ρ‡ΠΈ. ВсС Π·Π°Π΄Π°Ρ‡ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ вСдутся Π½Π° этой доскС.

Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

Π­Ρ‚Π° схСма Ρ‚ΠΎΠΆΠ΅ Π΄Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь, которая происходит ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² дСнь, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ синхронизируСмся Π½Π° ΠΌΠΈΡ‚ΠΈΠ½Π³Π°Ρ…. НаличиС ΠΏΠ΅Ρ€Π΅Π΄ всСми ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΏΠ»Π°Π½Π°, ΠΏΡ€ΠΈ этом структурированного ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ, позволяСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π±Ρ‹Ρ‚ΡŒ Π² курсС происходящСго ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΠ»ΠΈΡΡŒ ΠΏΠΎ прогрСссу.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ видСния Π·Π°Π΄Π°Ρ‡:

  • ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ. КаТдая Π·Π°Π΄Π°Ρ‡Π° Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ глобальной Ρ†Π΅Π»ΠΈ. Π—Π°Π΄Π°Ρ‡ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠΌ цСлям. Π”ΠΎΠΌΠ΅Π½ инфраструктуры сам ΠΏΠΎ сСбС довольно Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅Π½. НС всСгда сразу понятно, ΠΊΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ влияниС Π½Π° бизнСс ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, написаниС Ρ€Π°Π½Π±ΡƒΠΊΠ° ΠΏΠΎ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ nginx. НаличиС рядом Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ это Π±ΠΎΠ»Π΅Π΅ понятным.
    Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP
    ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π½ΠΎΡΡ‚ΡŒ – Π²Π°ΠΆΠ½ΠΎΠ΅ свойство Π·Π°Π΄Π°Ρ‡. Оно нСпосрСдствСнно ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° вопрос: «А Ρ‚ΠΎ Π»ΠΈ я дСлаю?Β»
  • ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Нас Π΄Π΅Π²ΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈ Π½Π°Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒΡΡ всСм Π½Π° ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ просто физичСски. Π—Π°Π΄Π°Ρ‡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ области Ρ‚ΠΎΠΆΠ΅ Π½Π΅ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ. ΠœΡ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π½ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Π»ΠΊΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ. ΠŸΡ€ΠΈ этом Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя сидят Π½Π° своСй Π·Π°Π΄Π°Ρ‡Π΅, ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΠΈΠ»ΠΈΡ‚ΡŒ ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Π΅Ρ‰Π΅. ΠžΡ‚ этой Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡ‚Π²Π°Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ люди. ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² отпуск, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΄ΠΎΠΊΠ»Π°Π΄ для ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ DevOps conf, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π½Π° Π₯Π°Π±Ρ€. Π—Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ†Π΅Π»ΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ становится ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ.

2. Π‘ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠΈΡ‚ΠΈΠ½Π³ΠΎΠ². На стСндапах ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ такая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° – ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Ρ‡ люди Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Иногда Π·Π°Π΄Π°Ρ‡ΠΈ слабо связаны ΠΈ Π½Π΅Ρ‚ понимания, ΠΊΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚. А ΠΌΠ½Π΅Π½ΠΈΠ΅ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ. Π­Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация, которая способна ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ…ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с Ρ‚ΠΎΠ±ΠΎΠΉ Π² ΠΏΠ°Ρ€Π΅ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π½ΠΎ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΡ ΠΈ подсказки всСгда Π½Π΅ лишниС.

Π§Ρ‚ΠΎΠ±Ρ‹ эту ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ, ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ Β«Π‘ΠΌΠ΅Π½Π° Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ стСндпапа». Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ Ρ€ΠΎΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ списку, ΠΈ это ΠΈΠΌΠ΅Π΅Ρ‚ свой эффСкт. Когда Π΄ΠΎ тСбя Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ρ‚Ρ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ происходит, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ провСсти скрам-ΠΌΠΈΡ‚ΠΈΠ½Π³.

Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

3. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ Π΄Π΅ΠΌΠΎ. ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΡ‚ ΠΏΠ°Ρ€Π½ΠΎΠ³ΠΎ программирования, визуализация Π½Π° Π΄Π΅Ρ€Π΅Π²Π΅ Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π½Π° скрам-ΠΌΠΈΡ‚ΠΈΠ½Π³Π°Ρ… ΠΏΠΎ ΡƒΡ‚Ρ€Π°ΠΌ – Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π½Π΅ идСально. Π’ ΠΏΠ°Ρ€Π΅ Π²Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ лишь своими знаниями. Π”Π΅Ρ€Π΅Π²ΠΎ Π·Π°Π΄Π°Ρ‡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ глобально ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚. А Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π½Π° ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ встрСчС Π½Π΅ погрузятся Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π² Ρ‚Π²ΠΎΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π£ΠΆ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

РСшСниС Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π² дСмонстрировании сдСланных Ρ€Π°Π±ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ обсуТдСнии ΠΈΡ…. ΠœΡ‹ собираСмся Ρ€Π°Π· Π² нСдСлю Π½Π° час ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π·Π°Π΄Π°Ρ‡Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°Π»ΠΈ Π·Π° послСднюю нСдСлю.

Π’ процСссС дСмонстрации Π½Π°Π΄ΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π”ΠΎΠΊΠ»Π°Π΄ ΠΌΠΎΠΆΠ½ΠΎ вСсти ΠΏΠΎ Ρ‡Π΅ΠΊ-листу.1. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π² контСкст. ΠžΡ‚ΠΊΡƒΠ΄Π° взялась Π·Π°Π΄Π°Ρ‡Π°, Π·Π°Ρ‡Π΅ΠΌ это Π²ΠΎΠΎΠ±Ρ‰Π΅ Π±Ρ‹Π»ΠΎ Π½ΡƒΠΆΠ½ΠΎ?

2. Как Ρ€Π΅ΡˆΠ°Π»Π°ΡΡŒ Π·Π°Π΄Π°Ρ‡Π° Π΄ΠΎ этого? НапримСр, Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ массовоС ΠΌΡ‹ΡˆΠ΅ΠΊΠ»ΠΈΠΊΠ°Π½ΡŒΠ΅, ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π±Ρ‹Π»ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

3. Как ΠΌΡ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ это. НапримСр: Β«Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ скриптосик, Π²ΠΎΡ‚ Ρ€ΠΈΠ΄ΠΌΠΈΒ».

4. ΠŸΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ прямо ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ сцСнарий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π₯ΠΎΡ‡Ρƒ X, дСлаю Y, Π²ΠΈΠΆΡƒ Π™ (ΠΈΠ»ΠΈ Z). НапримСр, дСплою NGINX, ΠΊΡƒΡ€Π»ΡŽ url, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ 200 OK. Если дСйствиС Π΄ΠΎΠ»Π³ΠΎΠ΅, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ Π·Π°Ρ€Π°Π½Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π° час Π΄ΠΎ Π΄Π΅ΠΌΠΎ ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π·Π»Π°ΠΌΡ‹Π²Π°Ρ‚ΡŒ особо, Ссли Ρ…Ρ€ΡƒΠΏΠΊΠΎΠ΅.

5. ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, насколько ΡƒΠ΄Π°Ρ‡Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠ°ΠΊΠΈΠ΅ трудности ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠ΄Π΅Π»Π°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π² дальнСйшСм. НапримСр, сСйчас cli, ΠΏΠΎΡ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ полная Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠ° Π² CI.

Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ спикСру ΡƒΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π² 5-10 ΠΌΠΈΠ½ΡƒΡ‚. Если вашС выступлСниС Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΈ Π·Π°ΠΉΠΌΠ΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π·Π°Ρ€Π°Π½Π΅Π΅ согласуйтС это Π² ΠΊΠ°Π½Π°Π»Π΅ sre-takeover.

ПослС ΠΎΡ‡Π½ΠΎΠΉ части ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ΄Π΅Ρ‚ обсуТдСниС Π² Ρ‚Ρ€Π΅Π΄Π΅. Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚-Ρ‚ΠΎ ΠΈ появляСтся Ρ‚Π° нСобходимая Π½Π°ΠΌ обратная связь ΠΏΠΎ своим Π·Π°Π΄Π°Ρ‡Π°ΠΌ.

Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP
По ΠΈΡ‚ΠΎΠ³Ρƒ проводится опрос для выявлСния полСзности происходящСго. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ обратная связь ΠΏΠΎ сути выступлСния ΠΈ ваТности Π·Π°Π΄Π°Ρ‡ΠΈ.

Infrastructure as Code: ΠΊΠ°ΠΊ ΠΏΠΎΠ±ΠΎΡ€ΠΎΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XP

Π”Π»ΠΈΠ½Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΈ Ρ‡Ρ‚ΠΎ дальшС

ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ½ ΡΡ‚Π°Ρ‚ΡŒΠΈ нСсколько пСссимистичный. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ. Π”Π²Π° Π½ΠΈΠ·ΠΎΠ²Ρ‹Ρ… уровня получСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ тСсты ΠΈ ΠΏΠ°Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. НС Ρ‚Π°ΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ, ΠΊΠ°ΠΊ Π² Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π½ΠΎ ΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ эффСкт ΠΎΡ‚ этого Π΅ΡΡ‚ΡŒ.

ВСсты, Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΈΡ… Π²ΠΈΠ΄Π΅, Π΄Π°ΡŽΡ‚ лишь частичноС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Много Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅ протСстированными. ВлияниС ΠΈΡ… Π½Π° Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π½ΠΈΠ·ΠΊΠΎΠ΅. Однако эффСкт ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… тСстов Π΅ΡΡ‚ΡŒ, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ бСзбоязнСнно ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ. Π­Ρ‚ΠΎ большоС достиТСниС. Π’Π°ΠΊΠΆΠ΅ с пСрСносом фокуса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² высокоуровнСвых языках (Ρƒ нас python, go) ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΡƒΡ…ΠΎΠ΄ΠΈΡ‚. А Π½Π° Β«ΠΊΠ»Π΅ΠΉΒ» ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ, достаточно ΠΎΠ±Ρ‰Π΅ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ.

Π Π°Π±ΠΎΡ‚Π° Π² ΠΏΠ°Ρ€Π΅ большС зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… людСй. Π•ΡΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ наши soft skills. Π‘ ΠΊΠ΅ΠΌ-Ρ‚ΠΎ получаСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, с ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Ρ…ΡƒΠΆΠ΅. Польза ΠΎΡ‚ этого Ρ‚ΠΎΡ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ. Ясно, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ нСдостаточном соблюдСнии ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΠ°Ρ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, сам Ρ„Π°ΠΊΡ‚ совмСстного выполнСния Π·Π°Π΄Π°Ρ‡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ влияСт Π½Π° качСство Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π›ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ Π² ΠΏΠ°Ρ€Π΅ работаСтся ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ приятнСС.

Π‘ΠΎΠ»Π΅Π΅ высокоуровнСвыС способы влияниС Π½Π° ОБ – ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Π΄Π°ΡŽΡ‚ эффСкты: качСствСнный ΠΎΠ±ΠΌΠ΅Π½ Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ качСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ строкой

  • ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π₯Π  Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² IaC, Π½ΠΎ с мСньшим ΠšΠŸΠ”.
  • УсиливайтС Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
  • ΠŸΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°ΠΉΡ‚Π΅ свои компСнсаторныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ.

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