Π£ Π½Π°Ρ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ΄ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ½Π±ΠΎΡΠ΄ΠΈΠ½Π³Π° SRE-ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π― Π·Π°ΡΡΠ» Π²ΠΎ Π²ΡΡ ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΌΡΡΠ»ΠΈ ΠΈ ΠΈΠ½ΡΠ°ΠΉΡΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅-ΡΠ°Π·ΠΌΡΡΠ»Π΅Π½ΠΈΠΈ Ρ Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΈ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌ Π΄Π°Π»ΡΡΠ΅ Ρ ΡΡΠΈΠΌ ΠΆΠΈΡΡ.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΈΠΈ ΡΡΠ°ΡΠ΅ΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΏΠΎ ΠΌΠΎΡΠΈΠ²Π°ΠΌ Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠΉ Π½Π° Π½Π°ΡΠ΅ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠΈ
DevForum :
1. ΠΠΎΡ Π¨ΡΡΠ΄ΠΈΠ½Π³Π΅ΡΠ° Π±Π΅Π· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ: ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ° Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
2. Infrastructure as code. (You are here)
3. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Typescript ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² ΠΏΠΎ c# ΠΌΠΎΠ΄Π΅Π»ΡΠΌ. (In progress…)
4. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ° Raft. (In progress…)
…
ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ SRE, Π²ΠΎΠΏΠ»ΠΎΡΠΈΠ² ΠΈΠ΄Π΅ΠΈ
ΠΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΡΠΎΡΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
- ΠΠΏΠΈΡΠ°ΡΡ Π½Π°ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Π² Microsoft Azure Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° (Terraform ΠΈ Π²ΡΠ΅, ΡΡΠΎ ΠΎΠΊΠΎΠ»ΠΎ).
- ΠΠ°ΡΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ.
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ Π΄Π΅ΠΆΡΡΡΡΠ²Π°ΠΌ.
ΠΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Infrastructure as code
Π ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΈΡΠ° (ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ) Π·Π½Π°Π½ΠΈΡ ΠΎΠ± ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Π΄Π²ΡΡ ΠΌΠ΅ΡΡΠ°Ρ :
- ΠΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ Π·Π½Π°Π½ΠΈΠΉ Π² Π³ΠΎΠ»ΠΎΠ²Π°Ρ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ².
- ΠΠΈΠ±ΠΎ ΡΡΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ ΠΌΠ°ΡΠΈΠ½ΠΊΠ°Ρ
, ΡΠ°ΡΡΡ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
Π·Π½Π°ΡΡ ΡΠΊΡΠΏΠ΅ΡΡΡ. ΠΠΎ Π½Π΅ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ (Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²ΡΡ Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΡΠΌΡΡΡ) ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ° ΠΌΠ°ΡΠΈΠ½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ: Π°ΠΊΡΠ΅ΡΡΡ, ΠΊΡΠΎΠ½Π΄ΠΆΠΎΠ±Ρ, ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠ΅Π½Π½ΡΠΉ (ΡΠΌ.
disk mounting ) Π΄ΠΈΡΠΊ ΠΈ ΠΏΡΠΎΡΡΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ. ΠΠΎ Π½Π΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
Π ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π² Π»ΠΎΠ²ΡΡΠΊΠ΅, ΡΡΠ°Π½ΠΎΠ²ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ:
- Π»ΠΈΠ±ΠΎ ΠΎΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅ΡΡΠ½ΡΠΉ, ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΡΠΉ Π±ΠΎΠ»Π΅Π·Π½ΡΠΌ, Π²Π»ΡΠ±Π»ΡΠ½Π½ΠΎΡΡΡΠΌ, ΠΏΠ΅ΡΠ΅ΠΏΠ°Π΄Π°ΠΌ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΡΠΎ Π±Π°Π½Π°Π»ΡΠ½ΡΠΌ ΡΠ²ΠΎΠ»ΡΠ½Π΅Π½ΠΈΡΠΌ;
- Π»ΠΈΠ±ΠΎ ΠΎΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΆΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ, Π²ΠΎΡΡΠ΅ΡΡΡ, ΠΏΡΠ΅ΠΏΠΎΠ΄Π½ΠΎΡΠΈΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡΠΈ ΠΈ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²Π°.
Π‘Π°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ Π½Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΈΠ΄Π΅Π°Π»Π΅ Π²ΡΡ Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π² ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ, ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ (Incfastructure as Code β IaC) β ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½ΠΈΠΌ ΠΈ Π²ΠΎΠΏΠ»ΠΎΡΠ΅Π½ΠΈΡ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΆΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
ΠΠ°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΡ Π² ΠΊΠΎΠ΄ΠΡΠ΄ΠΈ β Π½Π΅ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΡ. Π Π΅Π°ΠΊΡΠΈΡ Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ ΠΌΠ°ΡΠΈΠ½Ρ ΡΠ°Π·Π½Π°Ρ. ΠΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π²ΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ. Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠ°Π²Π΄Ρ (single source of truth).
ΠΡΠΊΡΠ΄Π° Π±Π΅ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΠΡΠ°ΠΊ, ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ
SRE-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ², Π½ΠΎ ΠΎΡΠΊΡΠ΄Π° ΠΈΡ
Π±ΡΠ°ΡΡ? ΠΠ½ΠΈΠΆΠΊΠ° Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ (
ΠΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ Π΄ΠΎΠ»Π³ΠΎ ΠΈΡΠΊΠ°Π»ΠΈ ΠΈΡ Π½Π° ΠΊΠ°Π΄ΡΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΠΎ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΠΏΡΠΈΠ·Π½Π°ΡΡ, ΡΡΠΎ Π½Π΅ Π½Π°ΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ Π½Π°ΡΠΈ Π·Π°ΠΏΡΠΎΡΡ. ΠΡΠΈΡΠ»ΠΎΡΡ ΠΏΠΎΡΠ΅ΡΡΡΠΈΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠ²ΠΎΠΈΡ .
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Infrastructure as code
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΡΠΈΡΠ° Π² ΠΊΠΎΠ΄. ΠΠΎΠ΄ Ρ ΠΎΡΠΎΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½, ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΎΡΡΡΡΠΏΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΠΈΠ· Terraforma.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΠΈΠ· Ansible.
ΠΠΎΡΠΏΠΎΠ΄Π°, Π½ΠΎ Π΅ΡΠ»ΠΈ Π±Ρ Π²ΡΡ Π±ΡΠ»ΠΎ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ! ΠΡ ΠΆΠ΅ Ρ Π²Π°ΠΌΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅, Π° ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° Π³ΠΎΡΠΎΠ² ΡΠ΄ΠΈΠ²ΠΈΡΡ Π²Π°Ρ, ΠΏΡΠ΅ΠΏΠΎΠ΄Π½Π΅ΡΡΠΈ ΡΡΡΠΏΡΠΈΠ·Ρ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ΅ ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΡΡΡ Π±Π΅Π· Π½ΠΈΡ
ΠΈ Π·Π΄Π΅ΡΡ.
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, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ°ΠΊ-ΡΠΎ ΡΡΠ°Π²ΡΡΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. ΠΡΡΠ»ΠΈ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, ΠΈ ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π»ΠΈ. ΠΠ°Π½Π°Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡΡ) ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΡΠΎΡΡΠΎΠΉ ΡΠ΅Π½Π΅ΠΉΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ β ΡΡΠΎ ΡΠ΅ΠΏΠ»Π΅ΠΉΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΠ· Π΄Π΅ΡΡΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠ²Π΅Π·ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠΎ, ΡΡΠΎ Π½Π°Π΄ΠΎ Π·Π°ΡΠ΅ΠΏΠ»Π΅ΠΉΡΠΈΡ. ΠΡΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΊΠΎΠ΅-Π³Π΄Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ°, Π΅ΡΡΡ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ½, Π³Π΄Π΅-ΡΠΎ Π΅ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΠ½Π³ (ΠΏΡΠ°Π²Π΄Π° Ρ ΠΌΠ΅Π½Ρ Π² ΡΠ΅ΡΡΠ°ΡΠΎΡΠΌΠ΅ Π½Π° Π²ΠΈΠ½Π΄Π΅ Π½Π΅ Π·Π°Π²Π΅Π»ΡΡ).
ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ
ΠΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π±ΡΡΡ ΠΎ…
- Debugging.
- Refactoring tool.
- Auto completion.
- ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π‘ΠΌΠ΅ΡΠ½ΠΎ, Π½ΠΎ ΡΡΠΎ ΠΆΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ.
Π‘Π°ΠΌΠΎΠ΅ ΡΡΡΠ°ΡΠ½ΠΎΠ΅, ΡΡΠΎ ΠΌΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ Π΄ΡΠΌΠ°ΡΡ Π½Π΅ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ°Π·Π»ΠΎΠΆΠΈΡΡ ΡΠ°ΠΉΠ»ΠΈΠΊΠΈ ΠΏΠΎ ΠΏΠ°ΠΏΠΎΡΠΊΠ°ΠΌ, Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ, ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΊΠΎΠ΄, Π° ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π±Ρ ΠΌΠ½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π΅Ρ ΠΊΠ°ΠΊ-ΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π».
ΠΠ°ΠΊ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠΎΠ·Π½Π°ΡΡ ΡΠ΅ΡΡΠ°ΡΠΎΡΠΌ, Π° IDE Π²Π°ΠΌ Π² ΡΡΠΎΠΌ Π½ΠΈΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ. ΠΠΎΠ³Π΄Π° Π΅ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ β Π·Π°ΡΠ»ΠΈ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π»ΠΈ. ΠΠΎ Π΅ΡΠ»ΠΈ Π±Ρ Π²Ρ Π²ΡΠ΅Π·ΠΆΠ°Π»ΠΈ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎ IDE ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Π»Π° Π±Ρ, ΡΡΠΎ Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ, Π° ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π½Π° ΡΡΠΎΠ²Π½Π΅ int ΠΈΠ»ΠΈ string. ΠΡΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ.
Π ΠΊΠ°ΠΊ ΠΆΠ΅ ΡΠ΅ΡΡΡ?
ΠΡ ΡΠΏΡΠΎΡΠΈΡΠ΅: Β«ΠΠ°ΠΊ ΠΆΠ΅ ΡΠ΅ΡΡΡ, Π³ΠΎΡΠΏΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ?Β» Π‘Π΅ΡΡΡΠ·Π½ΡΠ΅ ΡΠ΅Π±ΡΡΠ° ΡΠ΅ΡΡΠΈΡΡΡΡ Π²ΡΡ Π½Π° ΠΏΡΠΎΠ΄Π΅, ΠΈ ΡΡΠΎ ΠΆΠ΅ΡΡΠΊΠΎ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ½ΠΈΡΠ΅ΡΡΠ° Π΄Π»Ρ ΡΠ΅ΡΡΠ°ΡΠΎΡΠΌ-ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΡΠ°ΠΉΡΠ°
Π£ Π½ΠΈΡ
Ρ
ΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. 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.
Π§ΡΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ? ΠΠ΅ΡΠΏΠΎΡΠ°Π΄Π½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π½Π΅ Π² Π½Π°ΡΡ ΠΏΠΎΠ»ΡΠ·Ρ. ΠΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° β ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. Π C# ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΊΡΠΏΠ°Π΅ΠΌΡΡ Π² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°Ρ
, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ²Π΅ΡΡ
Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, Π΅ΡΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΡΠ°ΠΌΠΈ, ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ½ΠΈΠΆΠΊΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΠΊΠ½ΠΈΠΆΠΊΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΊΡΠΏΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΡΠΈΡΠΈΠΊΡΡΡ ΡΠ΅ ΠΊΠ½ΠΈΠΆΠΊΠΈ. ΠΠΎΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΡΠ°ΡΠ΅ΠΉ, ΠΎΠ±ΡΡΠ°ΡΡΠΈΡ
ΠΊΡΡΡΠΎΠ², ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΠ΅ ΠΈ open source ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎ IaC: Π·Π΄Π΅ΡΡ Π²Ρ ΠΏΠΎ ΠΊΡΡΠΏΠΈΡΠ°ΠΌ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΡ Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Ρ Π°ΠΉΠ»ΠΎΠ°Π΄Π° ΠΈΠ»ΠΈ HashiConf, Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ issue Π½Π° Π³ΠΈΡΡ Π°Π±Π΅. ΠΠ°ΠΊ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ°ΡΠΊΠΈΠ΄ΡΠ²Π°ΡΡ, ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°ΡΡ? ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°β¦ ΠΡΡΡ ΠΆΠ΅ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ, Π³ΠΎΡΠΏΠΎΠ΄Π°, Π³Π΄Π΅ Π½Π° Π»ΡΠ±ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΡΠ΅Π±Π΅ Π΄Π°Π΄ΡΡ 10 ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΎΠ² Π½Π° Π³ΠΈΡΡ Π°Π±Π΅. ΠΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΡΠ½ΠΎ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΊΡΠΏΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ. ΠΠΎΠΊΠ° ΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎ. Π ΡΠ°ΠΌΠΎ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ Π±ΠΎΠ»ΡΠ°Π΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π·Π°ΡΠ°ΡΠΊΠΎΠ².
ΠΡΠ΄Π° Π²ΡΡ ΡΡΠΎ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ
ΠΠΎΠΆΠ½ΠΎ Π²ΡΡ Π±ΡΠΎΡΠΈΡΡ ΠΈ ΠΏΠΎΠΉΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° C#, Π² ΠΌΠΈΡ ΡΠ°ΠΉΠ΄Π΅ΡΠ°. ΠΠΎ Π½Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠ°Π»ΠΈ Π±Ρ ΡΡΠΈΠΌ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ°Π»Π΅Π΅ Ρ ΠΏΡΠΈΠ²ΠΎΠΆΡ ΡΠ²ΠΎΠΈ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΏΠΎΡΠΈΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΉ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
ΠΠΈΡΠ½ΠΎ Ρ ΡΡΠ°Π²Π»Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ:
- Π Π°Π·Π²ΠΈΡΠΈΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ. ΠΡΠΈΠ²ΠΎΠΆΡ Π³ΡΠ°ΡΠΈΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ DevOps.
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅ΠΌΠ° Ρ Π°ΠΉΠΏΠΎΠ²Π°Ρ, Π½ΠΎ ΡΠ°ΠΌ ΡΠ°ΠΊΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ΅ΡΠ° ΡΠ°ΡΡΡΡ, Π²ΡΠ΅Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π΄Π΅ΠΆΠ΄Ρ.ΠΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ°ΡΡΠ΅Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΠΎ, ΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠ²ΡΡΡΡ ΡΠΌΠ½ΡΠ΅ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°ΠΆΡΡ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°ΡΡ, Π° ΠΊΠ°ΠΊ Π½Π΅ Π½Π°Π΄ΠΎ. Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ Π²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊ jsonnet Π΄Π»Ρ vscode, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Π½Π΅ ΠΈΡΠΊΠ°ΡΡ Π΅Π΅ ΡΠ΅ΡΠ΅Π· ctrl+shift+f. ΠΠΎΠ³Π΄Π° Π²ΡΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ². Π’ΠΎΡ ΠΆΠ΅ Π²ΡΡ ΠΎΠ΄ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΡ Π³ΡΠ³Π»Π° ΠΏΡΠΎ SRE ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Ρ.
- ΠΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π·Π΄Π΅ΡΡ. ΠΠ°, Π΅ΡΡΡ Π½ΡΠ°Π½ΡΡ Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π³Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΡΡΠ»ΠΈΠ½Π³, Π½ΠΎ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΎ Π³ΡΠΎΠΌΠ°Π΄Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΠΈ ΠΏΠΎΠΌΠΎΡΡ.
ΠΠ°Π½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΡΠ΅ΡΠ΅Π· pair programming. ΠΠ½ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΠΎΠ³Π΄Π° Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ ΡΡΠ΄ΠΎΠΌ ΡΠΎΡΠ΅Π΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΆΠ΅ ΡΡΠΎ-ΡΠΎ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΡ, Π²ΠΌΠ΅ΡΡΠ΅ Π²Ρ ΠΏΠΎΠΉΠΌΡΡΠ΅ Π»ΡΡΡΠ΅.
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π΄Π°ΠΆΠ΅ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π΅Π³ΠΎ. Π’ΠΎ Π΅ΡΡΡ, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π½Π΅ Π²ΡΡ ΡΡΠ°Π·Ρ, Π° ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π½Π΅ΠΉΠΌΠΈΠ½Π³, ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠ°ΡΡΡ, ΠΎΠΉ, Π° Π·Π΄Π΅ΡΡ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΈ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΡΠΌΠΈ, Ρ Ρ Π½Π°Π΄Π΅ΠΆΠ΄ΠΎΠΉ ΡΠΌΠΎΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅Π΅ ΠΈ ΠΈΡΠΊΡΠ΅Π½Π½Π΅ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Ρ Π½Π°Ρ (ΠΈ Ρ Π²Π°Ρ) Π²ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.
Π‘Π»Π΅Π΄ΠΎΠΌ Π³ΠΎΡΠΎΠ²ΠΈΡΡΡ Π²ΡΠΎΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ°ΡΡΠΈ. Π Π½Π΅ΠΉ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π³ΠΈΠ±ΠΊΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ»ΡΡΡΠΈΡΡ Π½Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com