Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща

Π’ Π½Π°ΡˆΠ°Ρ‚Π° компания Ρ‚Π΅Ρ‡Π΅ процСс Π½Π° ΠΎΠ½Π±ΠΎΡ€Π΄ΠΈΠ½Π³ Π½Π° SRE Π΅ΠΊΠΈΠΏΠ°. Аз влязох Π² цялата история ΠΎΡ‚ страна Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°. Π’ процСса ΠΌΠΈ сС появиха мисли ΠΈ прозрСния, ΠΊΠΎΠΈΡ‚ΠΎ искам Π΄Π° сподСля с Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ. Π’ Ρ‚Π°Π·ΠΈ статия-Ρ€Π°Π·ΡΡŠΠΆΠ΄Π΅Π½ΠΈΠ΅ говоря Π·Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ сС случва, ΠΊΠ°ΠΊ сС случва ΠΈ ΠΊΠ°ΠΊ всички Π΄Π° ТивСят с Π½Π΅Π³ΠΎ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ.

Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща

ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° сСрия статии, написани Π²Π΄ΡŠΡ…Π½ΠΎΠ²Π΅Π½ΠΈ ΠΎΡ‚ изказвания Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎ ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ DevForum:

1. ΠšΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π¨Ρ€ΡŒΠΎΠ΄ΠΈΠ½Π³Π΅Ρ€ Π±Π΅Π· кутия: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с консСнсуса Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ‚Π΅ систСми.
2. Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄. (Π’ΡƒΠΊ стС)
3. Π“Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° TypeScript Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ ΠΏΠΎ C# ΠΌΠΎΠ΄Π΅Π»ΠΈ. (Π’ ход…)
4. Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Π·Π° консСнсус Raft. (Π’ ход…)
…

Π Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° създадСм SRE Π΅ΠΊΠΈΠΏ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΉΠΊΠΈ ΠΈΠ΄Π΅ΠΈΡ‚Π΅ google sre. НабрахмС програмисти ΠΎΡ‚ Π½Π°ΡˆΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΈ Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ…ΠΌΠ΅ Π΄Π° сС ΠΎΠ±ΡƒΡ‡Π°Π²Π°Ρ‚ Π·Π° няколко мСсСца.

ΠŸΡ€Π΅Π΄ Π΅ΠΊΠΈΠΏΠ° стояха слСднитС ΡƒΡ‡Π΅Π±Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • Π”Π° опишСм Π½Π°ΡˆΠ°Ρ‚Π° инфраструктура, която ΠΏΡ€Π΅Π΄ΠΈΠΌΠ½ΠΎ Π΅ Π² Microsoft Azure, ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠ΄ (Terraform ΠΈ всичко ΠΎΠΊΠΎΠ»ΠΎ Π½Π΅Π³ΠΎ).
  • Π”Π° ΠΎΠ±ΡƒΡ‡ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° работят с инфраструктурата.
  • Π”Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π·Π° дСТурства.

Π’ΡŠΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ понятиСто Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄

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

  1. ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° знания Π² Π³Π»Π°Π²ΠΈΡ‚Π΅ Π½Π° СкспСртитС.Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща
  2. Или Ρ‚Π΅Π·ΠΈ свСдСния сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ Π½Π° някакви машини, част ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ СкспСртитС ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚. Но Π½Π΅ Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Π΅ Ρ‡ΠΎΠ²Π΅ΠΊ отстрани (Π² случай Ρ‡Π΅ цСлият Π½ΠΈ Π΅ΠΊΠΈΠΏ извСднъТ ΡƒΠΌΡ€Π΅) Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ. На ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ свСдСния: Π΄ΠΎΡΡ‚ΡŠΠΏΠΈ, ΠΊΡ€ΠΎΠ½Π΄ΠΆΠΎΠ±ΠΎΠ²Π΅, ΠΏΠΎΠ΄ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½(ΠΏΠ²Π΄. disk mounting) диск ΠΈ просто Π±Π΅Π·ΠΊΡ€Π°Π΅Π½ списък с Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС случи. Π’Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΊΠ°ΠΊΠ²ΠΎ наистина сС случва.Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща

И Π² Π΄Π²Π°Ρ‚Π° случая ΠΏΠΎΠΏΠ°Π΄Π°ΠΌΠ΅ Π² ΠΊΠ°ΠΏΠ°Π½, ставайки зависими:

  • ΠΈΠ»ΠΈ ΠΎΡ‚ Ρ‡ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΡΠΌΡŠΡ€Ρ‚Π΅Π½, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ Π½Π° болСсти, влюбвания, колСбания Π² настроСниСто ΠΈ просто Π±Π°Π½Π°Π»Π½ΠΈ уволнСния;
  • ΠΈΠ»ΠΈ ΠΎΡ‚ физичСски Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° машина, която ΡΡŠΡ‰ΠΎ сС проваля, ΠΊΡ€Π°Π΄Π΅ сС, носи нСочакваности ΠΈ нСудобства.

Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Π΅ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ всичко трябва Π΄Π° бъдС ΠΏΡ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π² Ρ‡Π΅Ρ‚ΠΈΠΌ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½, качСствСно написан ΠΊΠΎΠ΄.

Π’Π°ΠΊΠ° инфраструктурата ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄ (Infrastructure as Code – IaC) Π΅ описаниС Π½Π° цялата Π½Π°Π»ΠΈΡ‡Π½Π° инфраструктура ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠ΄, Π° ΡΡŠΡ‰ΠΎ ΠΈ ΡΡŠΠΏΡŠΡ‚ΡΡ‚Π²Π°Ρ‰ΠΈΡ‚Π΅ инструмСнти Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅Π³ΠΎ ΠΈ рСализацията Π½Π° самата инфраструктура.

Π—Π°Ρ‰ΠΎ Π΄Π° ΠΏΡ€Π΅Π²Π΅ΠΆΠ΄Π°ΠΌΠ΅ всичко Π² ΠΊΠΎΠ΄Π₯ΠΎΡ€Π°Ρ‚Π° Π½Π΅ са машини. Π’Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° запомнят всичко. РСакцията Π½Π° Ρ‡ΠΎΠ²Π΅ΠΊΠ° ΠΈ ΠΌΠ°ΡˆΠΈΠ½Π°Ρ‚Π° Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Π°. Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ Ρ‡ΠΎΠ²Π΅ΠΊΡŠΡ‚. Най-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ Π΅ – Π΅Π΄ΠΈΠ½Π΅Π½ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° истина (single source of truth).

ΠžΡ‚ΠΊΡŠΠ΄Π΅ ΠΈΠ΄Π²Π°Ρ‚ Π½ΠΎΠ²ΠΈΡ‚Π΅ SRE ΠΈΠ½ΠΆΠΈΠ½Π΅Ρ€ΠΈΠ˜ Ρ‚Π°ΠΊΠ°, Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° Π°Π½Π³Π°ΠΆΠΈΡ€Π°ΠΌΠ΅ Π½ΠΎΠ²ΠΈ SRE ΠΈΠ½ΠΆΠΈΠ½Π΅Ρ€ΠΈ, Π½ΠΎ ΠΎΡ‚ΠΊΡŠΠ΄Π΅ Π΄Π° Π³ΠΈ Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ? ΠšΠ½ΠΈΠ³Π°Ρ‚Π° с ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ (Google SRE Book) Π½ΠΈ ΠΊΠ°Π·Π²Π°: ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ‚Π΅ работят с ΠΊΠΎΠ΄, Π° Π²ΠΈΠ΅ постигатС ΠΈΠ΄Π΅Π°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с Infrastructure as Code

Π‘Π΅Π³Π° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ инфраструктурата ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π²Π³Ρ€Π°Π΄Π΅Π½Π° Π² ΠΊΠΎΠ΄. ΠšΠΎΠ΄ΡŠΡ‚ Π΅ Π΄ΠΎΠ±Ρ€Π΅ написан, качСствСн, с ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ ΠΈ ΠΎΡ‚ΡΡ‚ΡŠΠΏΠΈ.

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

Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща

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

Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща

Господа, Π½ΠΎ Π°ΠΊΠΎ всичко бСшС Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° просто! НиС смС Π² рСалния свят, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π³ΠΎΡ‚ΠΎΠ² Π΄Π° Π²ΠΈ ΠΈΠ·Π½Π΅Π½Π°Π΄Π°, Π΄Π° Π²ΠΈ поднСсС ΠΈΠ·Π½Π΅Π½Π°Π΄ΠΈ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. И Ρ‚ΡƒΠΊ Π½Π΅ ΠΌΠΈΠ½Π°Π²Π° Π±Π΅Π· тях.

1. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅, Ρ‡Π΅ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи IaC Π΅ някакъв DSL.

А DSL, ΠΎΡ‚ своя страна, Π΅ описаниС Π½Π° структурата. По-Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΊΠ°ΠΊΠ²ΠΎ трябва Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅: JSON, YAML, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΡ‚ някои Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са създали тСхния DSL (Π² Terraform сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° HCL).

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅, Ρ‡Π΅ Π² Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° няма Ρ‚Π°ΠΊΠΈΠ²Π° ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ Π½Π΅Ρ‰Π° ΠΊΠ°Ρ‚ΠΎ:

  • ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ;
  • условия;
  • някъдС няма ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² JSON ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‚Π΅ Π½Π΅ са ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΈ;
  • Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;
  • ΠΈ Ρ‚ΠΎΠ²Π° Π΅ Π±Π΅Π· Π΄Π° спомСнавам Ρ‚Π°ΠΊΠΈΠ²Π° високо Π½ΠΈΠ²Π° Π½Π΅Ρ‰Π° ΠΊΠ°Ρ‚ΠΎ класовС, наслСдяванС ΠΈ всичко Ρ‚Π°ΠΊΠΎΠ²Π°.

2. Вторият ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄ Π΅, Ρ‡Π΅ ΠΏΠΎ-чСсто Ρ‚ΠΎΠ²Π° Π΅ Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Π° срСда. ОбикновСно сСдитС ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с C#, Ρ‚.Π΅. с Π΅Π΄ΠΈΠ½ Π΅Π·ΠΈΠΊ, Π΅Π΄ΠΈΠ½ стСк, Π΅Π΄Π½Π° СкосистСма. А Ρ‚ΡƒΠΊ ΠΈΠΌΠ°Ρ‚Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Напълно Ρ€Π΅Π°Π»Π½Π° ситуация Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ bash с python стартира процСс, Π² ΠΊΠΎΠΉΡ‚ΠΎ сС вмъква Json. Π’ΠΈΠ΅ Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅, слСд Ρ‚ΠΎΠ²Π° някакъв Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΎΡ‰Π΅ 30 Ρ„Π°ΠΉΠ»Π°. Π—Π° всичко Ρ‚ΠΎΠ²Π° ΠΏΠΎΡΡ‚ΡŠΠΏΠ²Π°Ρ‚ Π²Ρ…ΠΎΠ΄Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΡ‚ Azure Key Vault, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ΠΈ ΠΎΡ‚ плъгин Π·Π° drone.io, написан Π½Π° Go, ΠΈ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚ ΠΏΡ€Π΅Π· yaml, Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ ΠΎΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° jsonnet. Доста слоТно Π΅ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ строго описан ΠΊΠΎΠ΄, ΠΊΠΎΠ³Π°Ρ‚ΠΎ срСдата Π²ΠΈ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Π°.

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎ Π΅Π΄Π½Π° Π·Π°Π΄Π°Ρ‡Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с Π΅Π΄ΠΈΠ½ Π΅Π·ΠΈΠΊ. Π’ΡƒΠΊ ΠΎΠ±Π°Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с голямо количСство Π΅Π·ΠΈΡ†ΠΈ.

3. ВрСтият ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡƒΠΌΡŠΡ‚. Π‘Π²ΠΈΠΊΠ½Π°Π»ΠΈ смС с страхотни Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΈ (Ms Visual Studio, Jetbrains Rider), ΠΊΠΎΠΈΡ‚ΠΎ правят всичко вмСсто нас. И Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π³Ρ€Π΅ΡˆΠΊΠ°, Ρ‚Π΅ Ρ‰Π΅ Π½ΠΈ ΠΊΠ°ΠΆΠ°Ρ‚, Ρ‡Π΅ Π½Π΅ смС ΠΏΡ€Π°Π²ΠΈ. ИзглСТда, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ ΠΈ СстСствСно.

Но някъдС Π½Π°Π±Π»ΠΈΠ·ΠΎ ΠΈΠΌΠ° VSCode, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° някакви плъгини, ΠΊΠΎΠΈΡ‚ΠΎ сС инсталират, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚. ИзлСзли са Π½ΠΎΠ²ΠΈ вСрсии, ΠΈ Ρ‚Π΅ Π½Π΅ са ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ към имплСмСнтация Π½Π° функция (Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ я ΠΈΠΌΠ°) става слоТСн ΠΈ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚ΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² дСсСтки Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π©Π΅ сС Ρ€Π°Π΄Π²Π°Ρ‚Π΅, Π°ΠΊΠΎ тя Π·Π°ΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва. Π Π°Π·Π±ΠΈΡ€Π° сС, Π½Π° мСста ΠΈΠΌΠ° подсвСтка, Π°Π²Ρ‚ΠΎΠ·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅, Π½Π° мСста ΠΈΠΌΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅ (Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΏΡ€ΠΈ ΠΌΠ΅Π½ Π² Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ Π½Π° Windows Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅).

Към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° написванС Π½Π° статията vscode-terraform плъгин всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ ΠΈΠ·Π΄Π°Π΄Π΅Π½ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° вСрсия 0.12, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ тя Π΅ освободСна Π²Π΅Ρ‡Π΅ ΠΏΡ€Π΅Π΄ΠΈ 3 мСсСца.

ΠΠ°ΡΡ‚ΡŠΠΏΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π΄Π° Π·Π°Π±Ρ€Π°Π²ΠΈΠΌ за…

  1. Π”Π΅Π±ΡŠΠ³Π²Π°Π½Π΅.
  2. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π·Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΡƒΡ€ΠΈΡ€Π°Π½Π΅.
  3. ΠΠ²Ρ‚ΠΎΠ·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅.
  4. ΠžΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ компилация.

БмСшно, Π½ΠΎ Ρ‚ΠΎΠ²Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° броя Π½Π° Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ.

Най-ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ смС ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ΠΈ Π΄Π° мислим Π½Π΅ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅, Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠΈΡ‚Π΅, Π΄Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€Π°Π½Π΅, Π΄Π° създадСм ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π΅ΠΌ ΠΈ Ρ‡Π΅Ρ‚ΠΈΠΌ ΠΊΠΎΠ΄, Π° ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Π΄Π° напиша Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π°Ρ‰ΠΎΡ‚ΠΎ я написах Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ.

ΠšΠ°Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ Π²ΠΈΠ΅ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚Π΅ Π΄Π° ΠΎΠΏΠΎΠ·Π½Π°Π΅Ρ‚Π΅ Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ, Π° IDE Π½Π΅ Π²ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π½ΠΈ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ° докумСнтация – Π²Π»ΠΈΠ·Π°Ρ‚Π΅, Π³Π»Π΅Π΄Π°Ρ‚Π΅. Но Π°ΠΊΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚Π΅ Π΄Π° усвоитС Π½ΠΎΠ² Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, IDE Π±ΠΈ подсказала, Ρ‡Π΅ ΠΈΠΌΠ° Ρ‚Π°ΠΊΡŠΠ² Ρ‚ΠΈΠΏ, Π° Ρ‚Π°ΠΊΠ°Π²Π° структура няма. Най-ΠΌΠ°Π»ΠΊΠΎΡ‚ΠΎ Π½Π° Π½ΠΈΠ²ΠΎ int ΠΈΠ»ΠΈ string. Π’ΠΎΠ²Π° чСсто Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

А ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° тСстовСтС?

Π©Π΅ ΠΏΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅: «Какво Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° тСстовСтС, ΡƒΠ²Π°ΠΆΠ°Π΅ΠΌΠΈ програмисти?Β» Π‘Π΅Ρ€ΠΈΠΎΠ·Π½ΠΈΡ‚Π΅ Ρ…ΠΎΡ€Π° тСстват всичко Π² продукция, ΠΈ Ρ‚ΠΎ строго. Π•Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΡŽΠ½ΠΈΡ‚ тСст Π·Π° Terraform ΠΌΠΎΠ΄ΡƒΠ» ΠΎΡ‚ сайта Microsoft.

Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща

Π’Π΅ ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΠ±Ρ€ΠΎ докумСнтация. Microsoft Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΈ Π΅ харСсвал ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° към докумСнтацията ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. Но Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° бъдСш дядо Π‘ΠΎΠ±, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρˆ, Ρ‡Π΅ Ρ‚ΡƒΠΊ Π½Π΅ Π΅ идСалният ΠΊΠΎΠ΄. ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° валидацията, която Π΅ прСмСстСна вдясно.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с ΡŽΠ½ΠΈΡ‚ тСста Π΅, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ корСктността Π½Π° JSON Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π°. ΠŸΡ€Π°Ρ‚ΠΈΡ… 5 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ… JSON ΠΎΡ‚ 2000 Ρ€Π΅Π΄Π°. Мога Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ сС случва, Π΄Π° Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°ΠΌ тСстовия рСзултат…

Π’Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° JSON Π² Go. Но трябва Π΄Π° сС пишС Π½Π° Go, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Terraform Π΅ Π½Π° Go – Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±Ρ€Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π·Π° тСстванС Π½Π° Π΅Π·ΠΈΠΊΠ°, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ пишСш. Π‘Π°ΠΌΠ°Ρ‚Π° организация Π½Π° ΠΊΠΎΠ΄Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ слаба. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° – Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π°Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° тСстванС.

Бамият Microsoft пишС своитС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, тСстват Π³ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½. Π Π°Π·Π±ΠΈΡ€Π° сС, Ρ‚ΠΎΠ²Π° Π΅ Open Source. Всичко, Π·Π° ΠΊΠΎΠ΅Ρ‚ΠΎ говоря, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠΉΠ΄Π΅Ρ‚Π΅ ΠΈ Π΄Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅. Мога Π΄Π° сСдна ΠΈ Π·Π° сСдмица всичко Π΄Π° поправя, Π΄Π° open source-Π½Π° плъгини Π·Π° VS Code, Terraform, Π΄Π° направя плъгин Π·Π° Rider. МоТС Π΄Π° напиша ΠΈ няколко Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, Π΄Π° ΠΏΡ€ΠΈΠΊΠ°Ρ‡Π° Π»ΠΈΠ½Ρ‚Π΅Ρ€ΠΈ, Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡƒΠΈΡ€Π°ΠΌ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π·Π° тСстванС. Всичко ΠΌΠΎΠ³Π° Π΄Π° направя. Но Π½Π΅ Ρ‚ΠΎΠ²Π° трябва Π΄Π° правя.

Най-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° Infrastructure as Code

ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅. Ако Π² IaC няма тСстовС, IDE ΠΈ инструмСнтал Π½Π΅ са Π΄ΠΎΠ±Ρ€ΠΈ, ΠΏΠΎΠ½Π΅ трябва Π΄Π° ΠΈΠΌΠ° Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΡ‚ΠΈΠ΄ΠΎΡ… Π² Google Analytics ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ… сравнСниС Π½Π° Π΄Π²Π΅ Ρ‚ΡŠΡ€ΡΠ΅Π½ΠΈΡ: Terraform best practices ΠΈ c# best practices.

Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща

Какво Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅? Π‘Π΅Π·ΠΏΠΎΡ‰Π°Π΄Π½Π° статистика Π½Π΅ Π² наша ΠΏΠΎΠ»Π·Π°. По количСство ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» – ΡΡŠΡ‰ΠΎΡ‚ΠΎ. Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° C# просто смС Π·Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΈ с ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ²Ρ€ΡŠΡ…Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ написани ΠΎΡ‚ СкспСрти, Π° ΡΡŠΡ‰ΠΎ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ, написани Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ СкспСрти, ΠΊΠΎΠΈΡ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΠ²Π°Ρ‚ Ρ‚Π΅Π·ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ. ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎ количСство ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π° докумСнтация, статии, ΠΎΠ±ΡƒΡ‡ΠΈΡ‚Π΅Π»Π½ΠΈ курсовС, Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈ open source Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π©ΠΎ сС отнася Π΄ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ ΠΏΠΎ IaC: Ρ‚ΡƒΠΊ Π²ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Ρ‡Π΅Ρ‚Π° сС ΠΎΠΏΠΈΡ‚Π²Π°Ρ‚Π΅ Π΄Π° ΡΡŠΠ±Π΅Ρ€Π΅Ρ‚Π΅ информация ΠΎΡ‚ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ Π½Π° Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄ ΠΈΠ»ΠΈ HashiConf, ΠΎΡ‚ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°Ρ‚Π° докумСнтация ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ±Ρ€ΠΎΠΉΠ½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² GitHub. Как Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π΄Π° разпространяватС Ρ‚Π΅Π·ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ с тях? ИзглСТда, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ наистина проблСм… Има общност, господа, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π½Π° всСки Π²ΡŠΠΏΡ€ΠΎΡ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ 10 ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€Π° Π² GitHub. Но Π½Π΅ Π΅ сигурно.

Π—Π° съТалСниС, Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° СкспСртитС Π΅Π΄Π²Π° Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° сС появяват. ВсС ΠΎΡ‰Π΅ са Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΌΠ°Π»ΠΊΠΎ. А самата общност Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π°Ρ‡Π°Π»Π΅Π½ стадий.

КъдС сС Π΄Π²ΠΈΠΆΠΈ всичко Ρ‚ΠΎΠ²Π° ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ

МоТСш Π΄Π° ΠΎΡΡ‚Π°Π²ΠΈΡˆ всичко ΠΈ Π΄Π° сС Π²ΡŠΡ€Π½Π΅Ρˆ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° C#, Π² свСта Π½Π° Ρ€Π°ΠΉΠ΄Π΅Ρ€ΠΈΡ‚Π΅. Но Π½Π΅. Π—Π°Ρ‰ΠΎ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π±ΠΈ сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Π» с Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ Π½Π΅ Ρ†Π΅Π»ΠΈΡˆ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡˆ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. По-Π΄ΠΎΠ»Ρƒ сподСлям ΠΌΠΎΠΈΡ‚Π΅ субСктивни ΠΈΠ·Π²ΠΎΠ΄ΠΈ. МоТСш Π΄Π° ΡΠΏΠΎΡ€ΠΈΡˆ с ΠΌΠ΅Π½ Π² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅, Ρ‰Π΅ Π΅ интСрСсно.

Π›ΠΈΡ‡Π½ΠΎ Π°Π· Π·Π°Π»Π°Π³Π°ΠΌ Π½Π° няколко Π½Π΅Ρ‰Π°:

  1. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π² Ρ‚Π°Π·ΠΈ област ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π° ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡŠΡ€Π·ΠΎ. ΠŸΡ€ΠΈΠ²Π΅ΠΆΠ΄Π°ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Ρ‚ΡŠΡ€ΡΠ΅Π½ΠΈΡΡ‚Π° ΠΏΠΎ DevOps.

    Infrastructure as code: ΠΏΡŠΡ€Π²Π° срСща

    МоТС Π΄Π° Π΅ популярна Ρ‚Π΅ΠΌΠ°, Π½ΠΎ Ρ„Π°ΠΊΡ‚ΡŠΡ‚, Ρ‡Π΅ сфСрата растС, всСлява ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π°.

    Ако Π½Π΅Ρ‰ΠΎ растС Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Π±ΡŠΡ€Π·ΠΎ, със сигурност Ρ‰Π΅ сС появят ΡƒΠΌΠ½ΠΈ Ρ…ΠΎΡ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΠΊΠ°ΠΆΠ°Ρ‚ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π½Π΅. Π£Π²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° популярността Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π½Π° някой Π΄Π° ΠΌΡƒ останС Π²Ρ€Π΅ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ²ΡŠΡ€ΡˆΠΈ плъгин Π·Π° jsonnet Π·Π° vscode, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° сС ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ към имплСмСнтацията Π½Π° функцията, Π° Π½Π΅ Π΄Π° я Ρ‚ΡŠΡ€ΡΠΈΡˆ ΠΏΡ€Π΅Π· ctrl+shift+f. ΠšΠΎΠ³Π°Ρ‚ΠΎ всичко сС Ρ€Π°Π·Π²ΠΈΠ²Π°, сС появяват ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ. Π‘ΡŠΡ‰ΠΈΡΡ‚ ΠΈΠ·Ρ…ΠΎΠ΄ Π½Π° ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° ΠΎΡ‚ Google Π·Π° SRE Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Ρ‚ΠΎΠ²Π°.

  2. Има Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π² ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½Π°Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΈ Ρ‚ΡƒΠΊ. Π”Π°, ΠΈΠΌΠ° нюанси с тСстванСто ΠΈ Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Π°Ρ‚Π° срСда, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ Ρ‚ΡƒΠ»ΠΈΠ½Π³, Π½ΠΎ Π΅ Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎ количСство ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ.

    Π‘Π°Π½Π°Π»Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Ρ‡Ρ€Π΅Π· pair programming. Π’ΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π·Π° разясняванС. ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ‚ΠΈ имаш Π΄ΠΎ сСбС си съсСд, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΡ‰ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ Π½Π΅Ρ‰ΠΎ, Π·Π°Π΅Π΄Π½ΠΎ Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅.

    Π Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ сС ΠΏΡ€Π°Π²ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, ΠΏΠΎΠΌΠ°Π³Π° Π΄ΠΎΡ€ΠΈ Π² Ρ‚Π°ΠΊΠ°Π²Π° ситуация Π΄Π° Π³ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρˆ. ВоСст, моТСш Π΄Π° Π½Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΡΡˆ всичко навСднъТ, Π° Π΄Π° смСниш ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ, послС Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Ρˆ някаква част, ΠΎΡ…, Π° Ρ‚ΡƒΠΊ Π½Π΅ стигат ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅.

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

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΌΠΎΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠΈΡˆΠ»Π΅Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ пСсимистични, Π°Π· с Π½Π°Π΄Π΅ΠΆΠ΄Π° Π³Π»Π΅Π΄Π°ΠΌ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ ΠΈ искрСно сС надявам, Ρ‡Π΅ ΠΏΡ€ΠΈ нас (ΠΈ ΠΏΡ€ΠΈ вас) всичко Ρ‰Π΅ сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ.

Π‘Π»Π΅Π΄Π²Π° Π²Ρ‚ΠΎΡ€Π° част Π½Π° статията. Π’ нСя Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈΡ‚Π΅ Π½Π° Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ нашия процСс Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с инфраструктурата.

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

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