ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° Π² ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ β ΠΏΡΠΎΡΡΠ°Ρ Π»ΡΡΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΌΡΡΠ΅Π²ΠΎΠ·ΠΈΡΡ. ΠΠ° ΡΡΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ»ΠΎΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β
Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Ρ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Terraform ΠΈ CloudFormation
ΠΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄Π° Π²
Terraform Π£ΠΆΠ°ΡΠ½ΡΠΉ
ΠΠ΅ΡΠ°-Π²Π΅ΡΡΠΈΡ ΠΠ
Π£ Terraform Π΅ΡΠ΅ Π΄Π°ΠΆΠ΅ Π½Π΅ Π²ΡΡΠ»Π° Π²Π΅ΡΡΠΈΡ 1.0, ΠΈ ΡΡΠΎ β Π²Π΅ΡΠΊΠ°Ρ ΠΏΡΠΈΡΠΈΠ½Π° ΠΈΠΌ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π‘ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΊΠ°ΠΊ Ρ ΡΠ°ΠΌ Π΅Π³ΠΎ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π», ΠΎΠ½ ΡΠΈΠ»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ, Π½ΠΎ ΡΠΎΠ³Π΄Π° Π΅ΡΠ΅ terraform apply
ΡΠ°ΡΡΠΎ Π»ΠΎΠΌΠ°Π»ΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΡ Π»Π΅Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ. Π― Π±Ρ ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ «ΡΠ΅ΠΉΡΠ°Ρ-ΡΠΎ Π²ΡΠ΅ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ», Π½ΠΎβ¦ ΡΠ°ΠΊ Π²ΡΠΎΠ΄Π΅ Π²ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ, Π½Π΅Ρ? ΠΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ, Ρ
ΠΎΡΡ ΠΎΠ½ΠΈ ΡΠΌΠ΅ΡΡΠ½Ρ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΡΠ²ΡΡΠ²ΠΎ ΡΠ°ΠΊΠΎΠ΅, ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ Π½Π°Π΄ΠΎ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΏΡΠ°Π²Π΄Π° ΡΡΠ°Π» Π»ΡΡΡΠ΅, Π½ΠΎβ¦ :-0
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, AWS Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΡΡΠ°ΡΠ°Π»Π°ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ. ΠΡΠ΅, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΡΠ°ΡΡΠΎ Ρ ΠΎΡΠΎΡΠ΅Π½ΡΠΊΠΎ ΡΠ΅ΡΡΠΈΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π»ΠΈΡΡ ΠΏΠΎΡΠΎΠΌ, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π², ΠΏΡΠ±Π»ΠΈΠΊΡΡΡ. Π’Π°ΠΊ ΡΡΠΎ «Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΡΡΠ°ΡΠ°Π»ΠΈΡΡ» ΡΡΠΎ Π΅ΡΠ΅ ΡΠ»Π°Π±ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ API Π΄Π»Ρ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠ²Π°ΡΠΈΠ°Π½ΡΠ½ΠΎΠΉ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ AWS, Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΡΠΆΠ΅Π»ΠΎ. ΠΡΠ±ΠΎΠΉ, ΠΊΠΎΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ API, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΈΡΠΎΠΊΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠ΄Π½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ»ΡΠΊΠΈΡ Π»Π΅Ρ. Π Π²ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ CloudFormation Π½Π° ΠΌΠΎΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½ΠΈ ΡΠ°Π·Ρ Ρ Π³ΠΎΠ΄Π°ΠΌΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ.
ΠΠ½Π°ΠΊΠΎΠΌΡΡΡ, Π½ΠΎΠ³Π°β¦ ΡΡΠΎ ΠΏΡΠ»Ρ
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ, ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΡΠ΅ΠΊΠ° CloudFormation ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΠ΅ΠΊΠ° CF Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π΄Π΅Π»ΠΎ ΠΎΠ±ΡΡΠΎΠΈΡ ΠΈ Ρ Terraform. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΡΠ²ΠΎΠΉ ΡΡΠ΅ΠΊ. Π€ΡΠ½ΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΏΠΎΡΡΡΡΠ°ΡΡΠ°Ρ, Π½ΠΎ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΈΠ»ΠΎΠΉ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΈ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ. Π‘ΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π½Π΅ΡΡΠΈ ΡΠ΅ΡΡΡΡ Π² ΡΡΠ΅ΠΊ ΠΈ, ΠΏΠΎΠΊΠ° ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΡΠ΅ΠΊΠΎΠΌ, ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠ΅ΡΡΡΡ Π½Π΅Π»ΡΠ·Ρ. ΠΠ΄Π½Π°ΠΆΠ΄Ρ ΡΡΠΎ Π°ΡΠΊΠ½ΡΠ»ΠΎΡΡ. ΠΠ°ΠΊ-ΡΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ Twitch ΠΊΡΠΎ-ΡΠΎ, Π½Π΅ Π·Π°ΠΌΡΡΠ»ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π΄ΡΡΠ½ΠΎΠ³ΠΎ, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π» ΡΡΡ-ΡΠΎ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ AWS Π² ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΊ Terraform. ΠΠ²Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈβ¦ Π³ΡΡΠΏΠΏΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΡΡΠ°ΡΠΈΠΊΠΎΠΌ) ΠΈΡΡΠ΅Π·Π»Π°.
Terraform ΠΠ΅Π»ΠΈΠΊΠΈΠΉ
ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π΅ΠΏΠΎΠ»Π½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ
ΠΠ½ΠΎΠ³Π΄Π° CloudFormation Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΡΡΡ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ. ΠΠ°Π»Ρ, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌΠΎ. ΠΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠΎΠΌ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, Π±ΡΠ²Π°Π΅Ρ ΡΡΡΠ°ΡΠ½ΠΎΠ²Π°ΡΠ΅Π½ΡΠΊΠΎ β Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π½Π°Π΅ΡΡ, ΠΎΠ±ΡΠ°Π΄ΡΠ΅ΡΡΡ Π»ΠΈ CloudFormation, ΡΡΠΎ Π΅Π³ΠΎ Π²Π·Π»Π°ΠΌΡΠ²Π°ΡΡ β ΠΏΡΡΡΡ ΠΈ Π΄Π»Ρ ΠΏΠΎΡΠΈΠ½ΠΊΠΈ. Π ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΎΠ½ ΡΠΎΠ»ΠΊΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΡΠ°ΠΌΠΈ Π²ΠΈΡΠΈΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ ΡΡΠ΄Π°.
Terraform ΠΆΠ΅, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΡΠΊΠ»ΠΎΠ½Π΅Π½ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² ΠΊΡΠ΄Π° ΠΈΠ·ΡΡΠ½Π΅Π΅ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ.
ΠΠΎΠ»Π΅Π΅ ΡΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
«ΠΠ°Π΄Π½ΠΎ, Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΡ ΠΌΠ΅Π½ΡΠ΅ΡΡΡΡ. ΠΠΎ ΠΊΠ°ΠΊ?»
βΠΎΠ±Π΅ΡΠΏΠΎΠΊΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ, Π³ΠΎΡΠΎΠ²ΡΠΉ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «ΠΏΡΠΈΠ½ΡΡΡ».
ΠΠ½ΠΎΠ³Π΄Π° ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΅-ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΡΡΠ΅ΠΊΠ΅ CloudFormation β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ClouFormation ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ»Π°Π±ΠΎ. Π― ΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π° ΠΈΠ³ΠΎΠ»ΠΊΠ°Ρ , ΡΠ°Π· ΠΏΠΎ Π΄Π΅ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΡΡ ΡΠ°ΠΉΠ» yaml, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π½Π΅ ΡΡΠ΅Ρ, Π° Π»ΠΈΡΠ½Π΅Π³ΠΎ β Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ».
Terraform Π² ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ΠΊΡΠ΄Π° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½Π΅Π΅. ΠΠΎΡΠΎΠΉ ΠΎΠ½ Π΄Π°ΠΆΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½ (ΡΠΈΡΠ°ΠΉ: Π΄ΠΎΡΡΠ°Π΅Ρ). Π ΡΡΠ°ΡΡΡΡ, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡΠ½ΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΠΈΠ±ΠΊΠΎΡΡΡ
ΠΠΈΡΠΈΡΠ΅ ΠΠ ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ.
ΠΠΎΠ²ΠΎΡΡ ΠΏΡΡΠΌΠΎ, ΡΠ°ΠΌΠ°Ρ Π²Π°ΠΆΠ½Π°Ρ ΠΎΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡΠ° Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠ΅Π³ΠΎ ΠΠ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ. ΠΡΠ±ΠΎΠ΅ ΠΠ ΠΏΠΈΡΠΈΡΠ΅ ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ. Π― Π²ΠΎΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΊΠ°Π»ΡΠ²Π°Π»ΡΡ Π½Π° ΡΠΎΠΌ, ΡΡΠΎ Π±ΡΠ°Π» «ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΠΈΠΉ» ΡΠ΅ΡΠ²ΠΈΡ, Π° ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΡΡ Π²ΠΏΠΈΡ ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΡΡΠ΅ΠΊ CloudFormation ΠΈΠ»ΠΈ Terraform. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠΏΡΡΡΡ ΠΌΠ΅ΡΡΡΡ Π²ΡΠΊΡΡΠ²Π°Π»ΠΎΡΡ, ΡΡΠΎ Ρ Π²ΡΠ΅ ΠΏΠΎΠ½ΡΠ» Π½Π΅ ΡΠ°ΠΊ, ΠΈ ΡΠ΅ΡΠ²ΠΈΡ-ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΏΡΠΎΡΡΠΎΠΉ! Π Π²ΠΎΡ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ°Π·Π±ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ΅ΠΊ Π½Π° ΠΌΠ°Π»ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅. ΠΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅ΡΡ Ρ CloudFormation, ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠ΅ΠΊ, Π° ΡΡΠΎΠ³ΠΎ Ρ, ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΠ, Π½Π΅ Π΄Π΅Π»Π°Ρ. Terraform ΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» ΠΏΡΠ΅ΠΏΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅ΠΊ ΠΈ ΡΠ°ΡΡΠ»Π΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½ΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈ.
ΠΠΎΠ΄ΡΠ»ΠΈ Π² git
ΠΠ΅Π»ΠΈΡΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Terraform ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅ΠΊΠ°ΠΌΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ CloudFormation. Π‘ Terraform ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ git ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. ΠΡΠ±ΠΎΠΉ, Ρ ΠΊΠΎΠ³ΠΎ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ Π² ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΊΠΎΠ΄. ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΠΎΡ CloudFormation β S3, Π½ΠΎ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΡΠ΅Ρ ΠΆΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΠΈ Π½Π΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ git Π² ΠΏΠΎΠ»ΡΠ·Ρ S3.
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡΠ»Π° ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄Π΅Π»ΠΈΡΡΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ ΡΡΠ΅ΠΊΠ°ΠΌΠΈ Π΄ΠΎΡΡΠΈΠ³Π»Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. Π‘ Terraform Π²ΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ CloudFormation Π·Π°ΡΡΠ°Π²ΠΈΡ Π²Π°Ρ ΠΏΠΎΠΏΡΡΠ³Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ»ΡΡΠ°, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Ρ Π²Π°Ρ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.
Operations as code
«ΠΠ°ΡΠΊΡΠΈΠΏΡΡΠ΅ΠΌ ΠΈ Π»Π°Π΄Π½ΠΎ».
βΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Π·Π° 3 Π³ΠΎΠ΄Π° Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΡΠΈ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ Terraform.
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΠ, ΡΠΎ Go ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Java β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ΄.
Code as Code
ΠΡΡΡ Π²Π΅Π΄Ρ Π΅ΡΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Infrastructure as Code
ΠΠΎ ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½Π° ΡΠ°ΠΌ? ΠΠ°ΠΊ Π΅Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ? ΠΠ΄Π΅ ΠΎΠ±ΠΈΡΠ°Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄? ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏ?
Operations as Code
ΠΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΠ β ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ΄ ΠΏΠΈΡΠ°ΡΡ.
ΠΠ΅ AWS Π΅Π΄ΠΈΠ½ΡΠΌ: Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΡΡΠ»ΡΠ³Π°ΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ². SignalFx, PagerDuty ΠΈΠ»ΠΈ Github. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Ρ Π²Π°Ρ Π΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ΅ΡΠ²Π΅Ρ Jenkins Π΄Π»Ρ CI/CD ΠΈΠ»ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Grafana Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Infra as Code Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΠΈ Π»ΡΠ±Π°Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΠ.
ΠΠΎΠ³Π΄Π° Ρ ΡΠ°Π±ΠΎΡΠ°Π» Π² Twitch, ΠΌΡ ΡΡΠΊΠΎΡΡΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ Π²Π½ΡΡΡΠΈ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌ AWS Amazon’Π°. ΠΡ ΡΡΠ°ΠΌΠΏΠΎΠ²Π°Π»ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΠΊΠ»ΡΡΠ΅:
- Π―: ΠΠ»ΠΈΠ½, ΠΌΠ½ΠΎΠ³ΠΎΠ²Π°ΡΠΎ ΡΠ΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π·Π³ΠΎΠ½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ½Π΅ Π²ΠΎΡ ΡΡΡ ΡΠΈΠ³Π½Ρ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ AWS Π°ΠΊΠΊΠ°ΡΠ½Ρ (ΠΌΡ ΡΠ»ΠΈ ΠΊ 2 Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°ΠΌ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ), ΠΏΠΎΡΠΎΠΌ ΡΡΡ β Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ, Π΅ΡΠ΅ ΡΡΡ β Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊΠΎΠ΄Π°, ΠΈ ΡΡΡ β Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠ° Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, Π½Ρ ΠΈ Π²ΠΎΡ ΡΡΡ…
- ΠΠΈΠ΄: ΠΠ°ΡΠΊΡΠΈΠΏΡΡΠ΅ΠΌ ΠΈ Π»Π°Π΄Π½ΠΎ.
- Π―: ΠΠ°Π΄Ρ, Π½ΠΎ ΡΠ°ΠΌ ΡΠΊΡΠΈΠΏΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ. ΠΡΠΆΠ΅Π½ Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΡΠΊΠΎΠ²ΠΈΠ½Ρ amazon’Π° ΠΈΠΌΠ΅ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
- ΠΠΈΠ΄: ΠΠ²ΡΡΠΈΡ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ. Π Π΄Π»Ρ ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ.
- Π―: ΠΡΠ»ΠΈΡΠ½ΠΎ! Π ΡΠΊΡΠΈΠΏΡΡ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π΅ΡΠ΅ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠΈΠΌΠ΅Ρ ΠΎΠ½ ΠΈΡ ?
- ΠΠΈΠ΄: ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΡΠ΄Π° Π΄Π΅Π½Π΅ΡΡΡ!
- Π―: ΠΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ, ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ. ΠΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.
- ΠΠΈΠ΄: ΠΡΠ»ΠΈΡΠ½Π°Ρ ΠΈΠ΄Π΅Ρ!
- Π―: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ, Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ.
…3 Π³ΠΎΠ΄Π° ΡΠΏΡΡΡΡ:
- ΠΠΈΠ΄: Π ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Ρ Π½Π°Ρ terraform.
ΠΠΎΡΠ°Π»Ρ Π±Π°ΡΠ½ΠΈ ΡΠ°ΠΊΠΎΠ²Π°: Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎ ΡΡΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌ amazon’ΠΎΠ²ΡΠΊΠΎΠΌ, Π²Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΡΠ΅ΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π΅ ΠΎΡ AWS, ΠΈ Ρ ΡΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΅ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
CloudFormation lambda vs git-ΠΌΠΎΠ΄ΡΠ»ΠΈ terraform
lambda β ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ CloudFormation Π΄Π»Ρ Π²ΠΎΠΏΡΠΎΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ lambda ΠΌΠΎΠΆΠ½ΠΎ
ΠΠΎΠΌΠ½Ρ, ΠΊΠ°ΠΊ-ΡΠΎ Π·Π°Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ ΠΌΠ½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π½Π°ΡΠ΅Π΅ΡΠ½ΡΠΉ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π΄Π»Ρ ΡΡΠ΅Π΄Ρ Elastic Beanstalk Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠΎΡΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ EB ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ, ΡΠ΄Π΅Π»Π°Π² Π΅ΡΠ΅ ΡΠ°Π³: ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ Π³ΡΡΠΏΠΏΡ ΠΊΠ°Π½Π°ΡΠ΅Π΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΏΠ»ΠΎΡ Ρ LB ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ. Π ΡΠ°Π· Terraform ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
ΠΠ½ Π»ΡΡΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π΄ΡΠ΅ΠΉΡ
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡΠΌ.
Π‘ Terraform Ρ Π²Π°Ρ Π΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Ρ
ΡΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π΄ΡΠ΅ΠΉΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
CDK ΠΈ Π±ΡΠ΄ΡΡΠ΅Π΅ CloudFormation
CloudFormation ΡΡΡΠ΄Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π² ΠΊΡΡΠΏΠ½ΡΡ
, ΠΌΠ΅ΠΆΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΡ
ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ
. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΡΠΈΡ
ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈΠ·Π½Π°Π½Ρ, ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π½ΡΠΆΠ½Ρ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ ΠΊΠ°ΠΊ
Π§ΡΠΎΠ±Ρ Terraform Π½Π΅ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π»
ΠΡΠΎ ΠΆΠ΅ «ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΠΊ ΠΠΠ», Π° Π½Π΅ «ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡ».
ΠΠ΅ΡΠ²ΠΎΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΡ Terraform Ρ ΠΌΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΡΡΠ½ΠΎΠ΅. ΠΡΠΌΠ°Ρ, Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΏΠΎΠ½ΡΠ» ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°. ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π½Π΅Π²ΠΎΠ»ΡΠ½ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π΄ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. ΠΠ ΠΠΠΠ Π’ΠΠ.
ΠΡΠΎΠΏΠΈΡΠ½ΡΠ΅ ΠΈΡΡΠΈΠ½Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΈ ΠΊ Terraform
Π― Π²ΠΈΠ΄Π΅Π», ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, ΠΏΡΠΈΠ½ΡΡΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ Π² Terraform. ΠΡ Π³ΠΎΠ΄Π°ΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ. ΠΠ΅ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Terraform. ΠΡΠΎΠΏΠΈΡΠ½ΡΠ΅ ΠΈΡΡΠΈΠ½Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΈ ΠΊ Terraform.
ΠΠ°ΠΊ ΡΠΆ ΠΊΠΎΠ΄ ΠΈ Π½Π΅ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ?
ΠΠ½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ Terraform ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅Π· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ β ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅Π· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ? ΠΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ Terraform (ΡΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π΄Π΅ΡΡ Π½Π° ΡΠ»ΠΎΠ²ΠΎ «ΠΊΠΎΠ΄»), ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΡΠ°ΠΊ Π²Π°ΠΆΠ΅Π½, ΠΈ ΡΡΠΎ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅.
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΊΠΎΠ³Π΄Π° Π±ΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ main()?
ΠΠ½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ Terraform, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠΎΡΠ΅ΠΌΡ ΠΌΡ ΡΠ°ΠΊ Π½Π΅ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΠ? ΠΠ°ΡΠ΅ΠΌ Π΄ΡΠΎΠ±ΠΈΠΌ ΠΊΡΡΠΏΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅? Π’Π΅ ΠΆΠ΅ ΠΎΡΠ²Π΅ΡΡ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²Ρ ΠΈ Π΄Π»Ρ Terraform. ΠΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ Π²Π°Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊ β Π½Π°Π΄ΠΎ Π΅Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΠ΅.
Π Π°Π·Π²Π΅ Π²Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ?
Π― Π²ΠΈΠ΄Π΅Π», ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ, ΡΠ°ΡΠΊΡΡΡΠΈΠ²Π°Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Terraform, ΡΡΠΏΠΎ ΠΊΠΎΠΏΠΈ-ΠΏΠ΅ΠΉΡΡΠΈΠ»ΠΈ Π³ΡΠΎΠΌΠ°Π΄Π½ΡΠ΅ ΠΊΡΡΠΊΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅, Π° ΠΏΠΎΡΠΎΠΌ ΠΊΠΎΠ²ΡΡΡΠ»ΠΈ ΠΈΡ
, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΡΠΈΠ½Π°Π»ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΡ Π²Ρ Ρ ΡΠ΅Π±Ρ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΡΠ°Π»ΠΈ Π±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ Ρ «Π±ΠΎΠ΅Π²ΡΠΌ» ΠΊΠΎΠ΄ΠΎΠΌ? ΠΡ ΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ. ΠΠ°,
Π Π°Π·Π²Π΅ Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ PEP8 ΠΈΠ»ΠΈ gofmt?
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠΎΠ² Π΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠΈΠ½ΡΡΠ°Ρ ΡΡ
Π΅ΠΌΠ° ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Python ΡΡΠΎ PEP8. Π Go β gofmt. Π£ Terraform Π΅ΡΡΡ ΡΠ²ΠΎΠΉ: terraform fmt
. ΠΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π½Π° Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅!
ΠΡ ΡΡΠ°Π½Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ React, Π½Π΅ Π·Π½Π°Ρ JavaScript?
ΠΠΎΠ΄ΡΠ»ΠΈ Terraform ΠΌΠΎΠ³ΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠ°ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π²Π°ΠΌΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, Π½ΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² Π½Π΅ΠΉ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°ΡΠΈΡΡ. Π₯ΠΎΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Terraform Π±Π΅Π· ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²? ΠΡ ΠΎΠ±ΡΠ΅ΡΠ΅Π½Ρ: Π²ΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΈΠ΄ΡΠΈ, Π° Π²Ρ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΎΡΠ²ΠΎΠΈΡΠ΅ Terraform.
ΠΡ ΠΊΠΎΠ΄ΠΈΡΠ΅ ΡΠΈΠ½Π³Π»ΡΠΎΠ½Π°ΠΌΠΈ, ΠΈΠ»ΠΈ Π²Π½Π΅Π΄ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ?
ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ β ΠΏΡΠΈΠ·Π½Π°Π½Π½Π°Ρ Π»ΡΡΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΠΈΠ½Π³Π»ΡΠΎΠ½Π°ΠΌ. ΠΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π² Terraform? ΠΠ½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Terraform, Π·Π°Π²ΠΈΡΡΡΠΈΠ΅ ΠΎΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΠΈΠ΅ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π ΠΏΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΠ°ΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π΅Π»Π°ΡΡ Π΄Π΅ΡΡΡΡ Π²Π΅ΡΠ΅ΠΉ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ»ΠΈ ΠΎΠ΄Π½Ρ β ΠΎΡΠ»ΠΈΡΠ½ΠΎ?
ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π° ΠΎΡΠ»ΠΈΡΠ½ΠΎ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Terraform, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΠΈ ΡΡΠ°Π·Ρ, ΡΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΠΎΠ΄Π½ΠΎ. Π ΠΏΠΎΡΠΎΠΌ ΡΠΆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΠΉΡΠ΅ ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.
ΠΠ°ΠΊ Π²Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ Π±Π΅Π· ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ?
ΠΠ±ΡΠ΅ΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ Terraform, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅, Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π±Π΅Π· ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , ΡΡΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ, ΠΈ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±Π΅Π· ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ Terraform. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ git tags ΠΈ semver ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Terraform.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π·Π°ΠΏΡΡΠ΅Π½ Ρ Π²Π°Ρ Π½Π° Π½ΠΎΡΡΠ±ΡΠΊΠ΅ ΠΈΠ»ΠΈ Π² Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠ΅?
Π£ Hashicorp Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅
Π Π°Π·Π²Π΅ Π²Ρ Π½Π΅ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ΅ΡΡΡ?
ΠΠ½ΠΆΠ΅Π½Π΅ΡΡ ΠΏΡΠΈΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ, Π½ΠΎ ΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΡΡΠΎ Π·Π°Π±ΠΈΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΠ°Π±ΠΎΡΠ°Ρ Ρ Terraform. ΠΠ»Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΡΡΠΎ ΡΡΠ΅Π²Π°ΡΠΎ ΠΊΠΎΠ²Π°ΡΠ½ΡΠΌΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. Π― ΡΠΎΠ²Π΅ΡΡΡ «ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ» ΠΈΠ»ΠΈ «ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ» ΡΡΠ΅ΠΊΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ CI/CD.
Terraform ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
ΠΠΈΠ·Π½Ρ ΠΈ ΡΠΌΠ΅ΡΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΊΠΎΡΠΎΡΡΠΈ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠ΅ΠΊΠΎΠ².
Π‘Π°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΈΠ·Π±Π°Π²ΡΡΡΡ, ΡΠ²ΡΠ·Π°Π½ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ, Π° Π½Π΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΠ»ΠΈ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Terraform, Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ± Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, ΡΠΎ Π²Ρ Π»ΠΈΡΠ°Π΅ΡΠ΅ ΡΠ΅Π±Ρ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΡΡ
ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘Π΅ΠΉΡΠ°Ρ ΡΠΆΠ΅
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com