Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство

Π£ нас Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ΄Ρ‘Ρ‚ процСсс ΠΎΠ½Π±ΠΎΡ€Π΄ΠΈΠ½Π³Π° SRE-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π― Π·Π°ΡˆΡ‘Π» Π²ΠΎ всю эту ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ со стороны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ процСссС Ρƒ мСня появились мысли ΠΈ инсайты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅-Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΈ я Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит, ΠΊΠ°ΠΊ происходит, ΠΈ ΠΊΠ°ΠΊ всСм дальшС с этим ΠΆΠΈΡ‚ΡŒ.

Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ сСрии статСй, написанных ΠΏΠΎ ΠΌΠΎΡ‚ΠΈΠ²Π°ΠΌ выступлСний Π½Π° нашСм Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ мСроприятии DevForum:

1. ΠšΠΎΡ‚ Π¨Ρ€Ρ‘Π΄ΠΈΠ½Π³Π΅Ρ€Π° Π±Π΅Π· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° консСнсуса Π² распрСдСлённых систСмах.
2. Infrastructure as code. (You are here)
3. ГСнСрация Typescript ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² ΠΏΠΎ c# модСлям. (In progress…)
4. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ консСнсуса Raft. (In progress…)

ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ SRE, Π²ΠΎΠΏΠ»ΠΎΡ‚ΠΈΠ² ΠΈΠ΄Π΅ΠΈ google sre. Набрали программистов ΠΈΠ· своих ΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ ΠΈΡ… ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° нСсколько мСсяцСв.

ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ стояли ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • ΠžΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°ΡˆΡƒ инфраструктуру, которая ΠΏΠΎ большСй части Π² Microsoft Azure Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° (Terraform ΠΈ всС, Ρ‡Ρ‚ΠΎ ΠΎΠΊΠΎΠ»ΠΎ).
  • ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π΅ с инфраструктурой.
  • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ дСТурствам.

Π’Π²ΠΎΠ΄ΠΈΠΌ понятиС Infrastructure as code

Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΈΡ€Π° (классичСском администрировании) знания ΠΎΠ± инфраструктурС находятся Π² Π΄Π²ΡƒΡ… мСстах:

  1. Π›ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ Π·Π½Π°Π½ΠΈΠΉ Π² Π³ΠΎΠ»ΠΎΠ²Π°Ρ… экспСртов.Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство
  2. Π›ΠΈΠ±ΠΎ эти свСдСния находятся Π½Π° ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΌΠ°ΡˆΠΈΠ½ΠΊΠ°Ρ…, Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°ΡŽΡ‚ экспСрты. Но Π½Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ со стороны (Π² случаС, Ссли вся наша ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΡƒΠΌΡ€Ρ‘Ρ‚) смоТСт Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. На машинС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ свСдСний: аксСссы, ΠΊΡ€ΠΎΠ½Π΄ΠΆΠΎΠ±Ρ‹, ΠΏΠΎΠ΄ΠΌΠ°ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ (см. disk mounting) диск ΠΈ просто бСсконСчный список Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ. По Π½Π΅ΠΉ слоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ происходит.Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство

Π’ ΠΎΠ±ΠΎΠΈΡ… случаях ΠΌΡ‹ оказываСмся Π² Π»ΠΎΠ²ΡƒΡˆΠΊΠ΅, ΡΡ‚Π°Π½ΠΎΠ²ΡΡΡŒ зависимыми:

  • Π»ΠΈΠ±ΠΎ ΠΎΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смСртный, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹ΠΉ болСзням, Π²Π»ΡŽΠ±Π»Ρ‘Π½Π½ΠΎΡΡ‚ΡΠΌ, ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π°ΠΌ настроСния ΠΈ просто Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠ²ΠΎΠ»ΡŒΠ½Π΅Π½ΠΈΡΠΌ;
  • Π»ΠΈΠ±ΠΎ ΠΎΡ‚ физичСски Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, которая Ρ‚ΠΎΠΆΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ‚, воруСтся, прСподносит нСоТиданности ΠΈ нСудобства.

Π‘Π°ΠΌΠΎ собой Π½Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΈΠ΄Π΅Π°Π»Π΅ всё Π½Π°Π΄ΠΎ пСрСвСсти Π² Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ, качСствСнно написанный ΠΊΠΎΠ΄.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ инфраструктура ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ (Incfastructure as Code – IaC) – это описаниС всСй ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉΡΡ инфраструктуры Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ срСдства ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌ ΠΈ Π²ΠΎΠΏΠ»ΠΎΡ‰Π΅Π½ΠΈΡŽ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΆΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ инфраструктуры.

Π—Π°Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всё Π² ΠΊΠΎΠ΄Π›ΡŽΠ΄ΠΈ – Π½Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Они Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ всё. РСакция Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ разная. Всё Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ всё, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ – это ΠΎΠ΄ΠΈΠ½ источник ΠΏΡ€Π°Π²Π΄Ρ‹ (single source of truth).

ΠžΡ‚ΠΊΡƒΠ΄Π° бСрутся Π½ΠΎΠ²Ρ‹Π΅ SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Ρ… SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Π½ΠΎ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΈΡ… Π±Ρ€Π°Ρ‚ΡŒ? КниТка с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ (Google SRE Book) Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ: ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’Π΅Π΄ΡŒ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠΎΠ΄ΠΎΠΌ, Π° Π²Ρ‹ достигаСтС идСального состояния.

ΠœΡ‹ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π΄ΠΎΠ»Π³ΠΎ искали ΠΈΡ… Π½Π° ΠΊΠ°Π΄Ρ€ΠΎΠ²ΠΎΠΌ Ρ€Ρ‹Π½ΠΊΠ΅ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Но Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ нашли Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ наши запросы. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΡˆΠ΅Ρ€ΡΡ‚ΠΈΡ‚ΡŒ срСди своих.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Infrastructure as code

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ инфраструктура ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΡˆΠΈΡ‚Π° Π² ΠΊΠΎΠ΄. Код Ρ…ΠΎΡ€ΠΎΡˆΠΎ написан, качСствСнно, с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ отступами.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΈΠ· Terraforma.

Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΈΠ· Ansible.

Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство

Господа, Π½ΠΎ Ссли Π±Ρ‹ всё Π±Ρ‹Π»ΠΎ Ρ‚Π°ΠΊ просто! ΠœΡ‹ ΠΆΠ΅ с Π²Π°ΠΌΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅, Π° ΠΎΠ½ всСгда Π³ΠΎΡ‚ΠΎΠ² ΡƒΠ΄ΠΈΠ²ΠΈΡ‚ΡŒ вас, прСподнСсти ΡΡŽΡ€ΠΏΡ€ΠΈΠ·Ρ‹, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. НС обходится Π±Π΅Π· Π½ΠΈΡ… ΠΈ здСсь.

1. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв IaC – это ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ dsl.

А DSL, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, – это описаниС структуры. Π’ΠΎΡ‡Π½Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ тСбя Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ: Json, Yaml, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ свой dsl (Π² Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ HCL).

Π‘Π΅Π΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Ρ‘ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… Π½Π°ΠΌ Π²Π΅Ρ‰Π΅ΠΉ ΠΊΠ°ΠΊ:

  • ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅;
  • условия;
  • Π³Π΄Π΅-Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Json, ΠΏΠΎ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Ρƒ ΠΈΡ… Π½Π΅ прСдусмотрСно;
  • Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;
  • ΠΈ это я Π΅Ρ‰Π΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ Ρ‚Π°ΠΊΠΈΡ… высокоуровнСвых Π²Π΅Ρ‰Π°Ρ…, ΠΊΠ°ΠΊ классы, наслСдованиС ΠΈ всё Ρ‚Π°ΠΊΠΎΠ΅.

2. Вторая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° – Ρ‡Π°Ρ‰Π΅ всСго это гСтСрогСнная срСда. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ сидитС ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с C#, Ρ‚.Π΅. с ΠΎΠ΄Π½ΠΈΠΌ языком, ΠΎΠ΄Π½ΠΈΠΌ стСком, ΠΎΠ΄Π½ΠΎΠΉ экосистСмой. А Ρ‚ΡƒΡ‚ Ρƒ вас ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

Π’ΠΏΠΎΠ»Π½Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ ситуация, ΠΊΠΎΠ³Π΄Π° баш с ΠΏΠΈΡ‚ΠΎΠ½ΠΎΠΌ запускаСт ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ процСсс, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ подсовываСтся Json. Π’Ρ‹ Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅, ΠΏΠΎΡ‚ΠΎΠΌ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π΅Ρ‰Ρ‘ 30 Ρ„Π°ΠΉΠ»ΠΎΠ². Для всСго этого ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· Azure Key Vault, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стянуты ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΊ drone.io, написанным Π½Π° Go, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ эти проходят Ρ‡Π΅Ρ€Π΅Π· yaml, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ получился Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ· ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° jsonnet. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ слоТно ΠΈΠΌΠ΅Ρ‚ΡŒ строго Ρ…ΠΎΡ€ΠΎΡˆΠΎ описанный ΠΊΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ разнообразная срСда.

Врадиционная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ΄Π΅Ρ‚ с ΠΎΠ΄Π½ΠΈΠΌ языком. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с большим количСством языков.

3. Π’Ρ€Π΅Ρ‚ΡŒΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° – это Ρ‚ΡƒΠ»ΠΈΠ½Π³. ΠœΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΊ ΠΊΡ€ΡƒΡ‚Ρ‹ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌ (Ms Visual Studio, Jetbrains Rider), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС Π΄Π΅Π»Π°ΡŽΡ‚ Π·Π° нас. И Π΄Π°ΠΆΠ΅, Ссли ΠΌΡ‹ Π·Π°Ρ‚ΡƒΠΏΠΈΠ»ΠΈ, ΠΎΠ½ΠΈ скаТут, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΏΡ€Π°Π²Ρ‹. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈ СстСствСнно.

Но Π³Π΄Π΅-Ρ‚ΠΎ Ρ€ΡΠ΄Ρ‹ΡˆΠΊΠΎΠΌ Π΅ΡΡ‚ΡŒ VSCode, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ставятся, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. Π’Ρ‹ΡˆΠ»ΠΈ Π½ΠΎΠ²Ρ‹Π΅ вСрсии, ΠΈ ΠΈΡ… Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»ΠΈ. Π‘Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½Π° Π΅ΡΡ‚ΡŒ) становится слоТной ΠΈ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Ρ€Π΅Π½Π΅ΠΉΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ – это рСплСйс Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΠ· дСсятка Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΠΎΠ²Π΅Π·Ρ‘Ρ‚, Ссли ΠΎΠ½ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ зарСплСйсит. Π•ΡΡ‚ΡŒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΠΎΠ΅-Π³Π΄Π΅ подсвСтка, Π΅ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡˆΠ½, Π³Π΄Π΅-Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ½Π³ (ΠΏΡ€Π°Π²Π΄Π° Ρƒ мСня Π² Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π° Π²ΠΈΠ½Π΄Π΅ Π½Π΅ завСлся).

На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ vscode-terraform plugin Π΅Ρ‰Π΅ Π½Π΅ выпустили для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ вСрсии 0.12, хотя ΠΎΠ½Π° Π·Π°Ρ€Π΅Π»ΠΈΠΆΠ΅Π½Π° ΡƒΠΆΠ΅ ΠΊΠ°ΠΊ 3 мСсяца.

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΎ…

  1. Debugging.
  2. Refactoring tool.
  3. Auto completion.
  4. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ошибок ΠΏΡ€ΠΈ компиляции.

БмСшно, Π½ΠΎ это ΠΆΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ врСмя Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ количСство ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ происходят.

Π‘Π°ΠΌΠΎΠ΅ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π΅ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΈΠΊΠΈ ΠΏΠΎ ΠΏΠ°ΠΏΠΎΡ‡ΠΊΠ°ΠΌ, Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ, Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΊΠΎΠ΄, Π° ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π±Ρ‹ ΠΌΠ½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π΅Ρ‘ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ написал.

Как Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ, Π° IDE Π²Π°ΠΌ Π² этом нисколько Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚. Когда Π΅ΡΡ‚ΡŒ докумСнтация – зашли, посмотрСли. Но Ссли Π±Ρ‹ Π²Ρ‹ въСзТали Π² Π½ΠΎΠ²Ρ‹ΠΉ язык программирования, Ρ‚ΠΎ IDE подсказала Π±Ρ‹, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ, Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ‚. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ int ΠΈΠ»ΠΈ string. Π­Ρ‚ΠΎ часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.

А ΠΊΠ°ΠΊ ΠΆΠ΅ тСсты?

Π’Ρ‹ спроситС: «Как ΠΆΠ΅ тСсты, господа программисты?Β» Π‘Π΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅ рСбята Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ всё Π½Π° ΠΏΡ€ΠΎΠ΄Π΅, ΠΈ это ТСстко. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡŽΠ½ΠΈΡ‚Π΅ΡΡ‚Π° для Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ-модуля с сайта Microsoft.

Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство

Π£ Π½ΠΈΡ… Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ докумСнтация. Microsoft ΠΌΠ½Π΅ всСгда Π½Ρ€Π°Π²ΠΈΠ»ΠΈΡΡŒ своим ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ. Но Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ дядюшкой Π‘ΠΎΠ±ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ здСсь Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ, Π²Ρ‹Π½Π΅ΡΠ΅Π½Π½ΡƒΡŽ Π²ΠΏΡ€Π°Π²ΠΎ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° unit-тСста Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ с Π²Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ JsonΠ° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅. Π― ΠΊΠΈΠ½ΡƒΠ» 5 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΌΠ½Π΅ Π²Ρ‹Π΄Π°Π»Π°ΡΡŒ портянка Json Π½Π° 2000 строк. Π― ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ здСсь происходит, validate test result…

Π‘Π»ΠΎΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Json Π² Go. А Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Go, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ Π½Π° Go – это Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠ΅ΡˆΡŒ Π² Ρ‚ΠΎΠΌ языкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‚Ρ‹ пишСшь. Π‘Π°ΠΌΠ° организация ΠΊΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ слабая. ΠŸΡ€ΠΈ этом – это Π»ΡƒΡ‡ΡˆΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для тСстирования.

Π‘Π°ΠΌ Microsoft ΠΏΠΈΡˆΠ΅Ρ‚ свои ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, тСстируя ΠΈΡ… Ρ‚Π°ΠΊΠΈΠΌ способом. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Open Source. Всё, ΠΎ Ρ‡Π΅ΠΌ я Π³ΠΎΠ²ΠΎΡ€ΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΈ ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ. Π― ΠΌΠΎΠ³Ρƒ ΡΠ΅ΡΡ‚ΡŒ ΠΈ Π·Π° Π½Π΅Π΄Π΅Π»ΡŒΠΊΡƒ всё ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ, Π·Π°ΠΎΠΏΠ΅Π½ΡΠΎΡ€ΡΠΈΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ VS-ΠΊΠΎΠ΄Π°, Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ для Ρ€Π°ΠΉΠ΄Π΅Ρ€Π°. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΡƒ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹, Π·Π°ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для тСстирования. Всё ΠΌΠΎΠ³Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Но я Π½Π΅ этим Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ.

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Infrastructure as code

Π•Π΄Π΅ΠΌ дальшС. Если Π² IaC Π½Π΅Ρ‚ тСстов, ΠΏΠ»ΠΎΡ…ΠΎ с IDE ΠΈ Ρ‚ΡƒΠ»ΠΈΠ½Π³ΠΎΠΌ, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ хотя Π±Ρ‹ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. Π― просто ΠΏΠΎΡˆΡ‘Π» Π² Π³ΡƒΠ³Π»-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ ΠΈ ΠΏΡ€ΠΎΠ²Ρ‘Π» сравнСниС Π΄Π²ΡƒΡ… поисковых запросов: Terraform best practices ΠΈ c# best practices.

Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство

Π§Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ? Π‘Π΅ΡΠΏΠΎΡ‰Π°Π΄Π½ΡƒΡŽ статистику Π½Π΅ Π² Π½Π°ΡˆΡƒ ΠΏΠΎΠ»ΡŒΠ·Ρƒ. По количСству ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° – Ρ‚ΠΎ ΠΆΠ΅ самоС. Π’ C# Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΡ‹ просто купаСмся Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ…, Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠ²Π΅Ρ€Ρ…Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ написанныС экспСртами, ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ½ΠΈΠΆΠΊΠΈ, написанныС Π½Π° ΠΊΠ½ΠΈΠΆΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ экспСртами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΡŽΡ‚ Ρ‚Π΅ ΠΊΠ½ΠΈΠΆΠΊΠΈ. ΠœΠΎΡ€Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, статСй, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… курсов, сСйчас Π΅Ρ‰Π΅ ΠΈ open source Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

Π§Ρ‚ΠΎ касаСтся запроса ΠΏΠΎ IaC: здСсь Π²Ρ‹ ΠΏΠΎ ΠΊΡ€ΡƒΠΏΠΈΡ†Π°ΠΌ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ„Ρƒ с Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄Π° ΠΈΠ»ΠΈ HashiConf, с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ многочислСнных issue Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅. Как Π²ΠΎΠΎΠ±Ρ‰Π΅ эти ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ€Π°ΡΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ? ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ это Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ проблСма… Π•ΡΡ‚ΡŒ ΠΆΠ΅ ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ, господа, Π³Π΄Π΅ Π½Π° любой вопрос Ρ‚Π΅Π±Π΅ Π΄Π°Π΄ΡƒΡ‚ 10 ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅. Но это Π½Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ.

К соТалСнию, Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ экспСрты Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ. Пока ΠΈΡ… слишком ΠΌΠ°Π»ΠΎ. А само ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ болтаСтся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π·Π°Ρ‡Π°Ρ‚ΠΊΠΎΠ².

ΠšΡƒΠ΄Π° всё это двиТСтся ΠΈ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ

МоТно всё Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎΠΉΡ‚ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° C#, Π² ΠΌΠΈΡ€ Ρ€Π°ΠΉΠ΄Π΅Ρ€Π°. Но Π½Π΅Ρ‚. Π—Π°Ρ‡Π΅ΠΌ Π²Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ стали Π±Ρ‹ этим Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ, Ссли Π½Π΅ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π”Π°Π»Π΅Π΅ я ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ свои ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ со ΠΌΠ½ΠΎΠΉ Π² коммСнтариях, Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно.

Π›ΠΈΡ‡Π½ΠΎ я ΡΡ‚Π°Π²Π»ΡŽ Π½Π° нСсколько Π²Π΅Ρ‰Π΅ΠΉ:

  1. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ сфСрС происходит ΠΎΡ‡Π΅Π½ΡŒ быстро. ΠŸΡ€ΠΈΠ²ΠΎΠΆΡƒ Π³Ρ€Π°Ρ„ΠΈΠΊ запросов ΠΏΠΎ DevOps.

    Infrastructure as code: ΠΏΠ΅Ρ€Π²ΠΎΠ΅ знакомство

    ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π΅ΠΌΠ° хайповая, Π½ΠΎ сам Ρ„Π°ΠΊΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ сфСра растёт, всСляСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π΄Π΅ΠΆΠ΄Ρƒ.

    Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ растСт Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ быстро, Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ появятся ΡƒΠΌΠ½Ρ‹Π΅ люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скаТут ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π° ΠΊΠ°ΠΊ Π½Π΅ Π½Π°Π΄ΠΎ. Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ популярности Π²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Ρƒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ врСмя Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊ jsonnet для vscode, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Π½Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΅Π΅ Ρ‡Π΅Ρ€Π΅Π· ctrl+shift+f. Когда всё развиваСтся, появляСтся большС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ². Π’ΠΎΡ‚ ΠΆΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡ‚ Π³ΡƒΠ³Π»Π° ΠΏΡ€ΠΎ SRE ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

  2. Π•ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ здСсь. Π”Π°, Π΅ΡΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹ с тСстированиСм ΠΈ Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½ΠΎΠΉ срСдой, нСдостаточный Ρ‚ΡƒΠ»ΠΈΠ½Π³, Π½ΠΎ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΎ Π³Ρ€ΠΎΠΌΠ°Π΄Π½ΠΎΠ΅ число ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

    Π‘Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: совмСстная Ρ€Π°Π±ΠΎΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· pair programming. Он сильно ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Когда Ρƒ тСбя Π΅ΡΡ‚ΡŒ рядом сосСд, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΎΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пытаСтся ΠΏΠΎΠ½ΡΡ‚ΡŒ, вмСстС Π²Ρ‹ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅.

    ПониманиС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ дСлаСтся Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΄Π°ΠΆΠ΅ Π² Ρ‚Π°ΠΊΠΎΠΉ ситуации ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ρ‚Ρ‹ моТСшь ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ всё сразу, Π° ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ΠΉΠΌΠΈΠ½Π³, ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ располоТСниС, ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ, ΠΎΠΉ, Π° здСсь Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΈ рассуТдСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ пСссимистичными, я с Π½Π°Π΄Π΅ΠΆΠ΄ΠΎΠΉ ΡΠΌΠΎΡ‚Ρ€ΡŽ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΈ искрСннС надСюсь, Ρ‡Ρ‚ΠΎ Ρƒ нас (ΠΈ Ρƒ вас) всё получится.

Π‘Π»Π΅Π΄ΠΎΠΌ готовится вторая Ρ‡Π°ΡΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ. Π’ Π½Π΅ΠΉ я расскаТу ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π³ΠΈΠ±ΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ наш процСсс обучСния ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с инфраструктурой.

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