рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп

рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдПрдХ рдПрд╕рдЖрд░рдИ рдЯреАрдо рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИред рдореИрдВ рдЗрд╕ рдкреВрд░реА рдХрд╣рд╛рдиреА рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдкрдХреНрд╖ рд╕реЗ рдЖрдпрд╛ рд╣реВрдВред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореЗрд░реЗ рдорди рдореЗрдВ рдРрд╕реЗ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдЖрдИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдХреИрд╕реЗ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд░рд╣ рд╕рдХрддрд╛ рд╣реИред

рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп

рд╣рдорд╛рд░реЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рднрд╛рд╖рдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬрд╛рд░реА рд╣реИ рджреЗрд╡рдлрд╝реЛрд░рдо:

1. рд╢реНрд░реЛрдбрд┐рдВрдЧрд░ рдХреА рдмрд┐рд▓реНрд▓реА рдмрд┐рдирд╛ рдмреЙрдХреНрд╕ рдХреЗ: рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рдХреА рд╕рдорд╕реНрдпрд╛ред
2. рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ред (рдЖрдк рдпрд╣рд╛рдВ рд╣реИрдВ)
3. C# рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдиреБрдмрдВрдзреЛрдВ рдХрд╛ рд╕реГрдЬрдиред (рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ...)
4. рд░рдлрд╝ рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдкрд░рд┐рдЪрдпред (рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ...)
...

рд╣рдордиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдПрд╕рдЖрд░рдИ рдЯреАрдо рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧреВрдЧрд▓ рд╢реНрд░реА. рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рднрд░реНрддреА рдХреА рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдИ рдорд╣реАрдиреЛрдВ рддрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ред

рдЯреАрдо рдХреЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдп рдереЗ:

  • рд╣рдорд╛рд░реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ, рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ Microsoft Azure рдореЗрдВ рдХреЛрдб (рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдФрд░ рдЖрд╕рдкрд╛рд╕ рд╕рдм рдХреБрдЫ) рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред
  • рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рд┐рдЦрд╛рдПрдВред
  • рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХрд░реНрддрд╡реНрдп рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░реЗрдВред

рд╣рдо рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ

рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдореЙрдбрд▓ (рд╢рд╛рд╕реНрддреНрд░реАрдп рдкреНрд░рд╢рд╛рд╕рди) рдореЗрдВ, рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдЮрд╛рди рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ:

  1. рдЕрдерд╡рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рдорд╕реНрддрд┐рд╖реНрдХ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреЗ рд░реВрдк рдореЗрдВредрдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп
  2. рдпрд╛ рдлрд┐рд░ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХреБрдЫ рдЯрд╛рдЗрдкрд░рд╛рдЗрдЯрд░реЛрдВ рдкрд░ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ рдмрд╛рд╣рд░реА рд╡реНрдпрдХреНрддрд┐ (рдпрджрд┐ рд╣рдорд╛рд░реА рдкреВрд░реА рдЯреАрдо рдЕрдЪрд╛рдирдХ рдорд░ рдЬрд╛рддреА рд╣реИ) рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХ рдорд╢реАрди рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ: рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдг, рдХреНрд░реЛрдирдЬреЙрдм, рдбрд░рд╛рдирд╛ (рджреЗрдЦреЗрдВ)ред рдбрд┐рд╕реНрдХ рдорд╛рдЙрдВрдЯрд┐рдВрдЧ) рдбрд┐рд╕реНрдХ рдФрд░ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХреА рдПрдХ рдЕрдВрддрд╣реАрди рд╕реВрдЪреАред рдпрд╣ рд╕рдордЭрдирд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИредрдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп

рджреЛрдиреЛрдВ рд╣реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рд╣рдо рд╕реНрд╡рдпрдВ рдХреЛ рдЖрд╢реНрд░рд┐рдд рдмрдирдиреЗ рдореЗрдВ рдлрдБрд╕рд╛ рд╣реБрдЖ рдкрд╛рддреЗ рд╣реИрдВ:

  • рдпрд╛ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЬреЛ рдирд╢реНрд╡рд░ рд╣реИ, рдмреАрдорд╛рд░реА рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ, рдкреНрдпрд╛рд░ рдореЗрдВ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдореВрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмрд╕ рд╕рд╛рдзрд╛рд░рдг рдЫрдВрдЯрдиреА рд╣реЛ рд░рд╣реА рд╣реИ;
  • рдпрд╛ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдорд╢реАрди рд╕реЗ, рдЬреЛ рдЧрд┐рд░рддреА рднреА рд╣реИ, рдЪреЛрд░реА рднреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЖрд╢реНрдЪрд░реНрдп рдФрд░ рдЕрд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреА рд╣реИред

рдХрд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╣рд░ рдЪреАрдЬрд╝ рдХреЛ рдорд╛рдирд╡-рдкрдардиреАрдп, рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ (Incfastructure as Code - IaC) рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдореМрдЬреВрджрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИ, рд╕рд╛рде рд╣реА рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдЗрд╕рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдХрд░рдг рднреА рд╣реИред

рд╣рд░ рдЪреАрдЬрд╝ рдХрд╛ рдХреЛрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХреНрдпреЛрдВ рдХрд░реЗрдВ?рд▓реЛрдЧ рдорд╢реАрдиреЗрдВ рдирд╣реАрдВ рд╣реИрдВ. рд╡реЗ рд╕рдм рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рд░рдЦ рдкрд╛рддреЗ. рдЗрдВрд╕рд╛рди рдФрд░ рдорд╢реАрди рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрддреА рд╣реИ. рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЛрдИ рднреА рдЪреАрдЬрд╝ рдорд╛рдирд╡ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рддреЗрдЬрд╝ рд╣реЛрддреА рд╣реИред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╕рддреНрдп рдХрд╛ рдПрдХрд▓ рд╕реНрд░реЛрдд рд╣реИред

рдирдП рдПрд╕рдЖрд░рдИ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддреЗ рд╣реИрдВ?рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдирдП рдПрд╕рдЖрд░рдИ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЛ рдирд┐рдпреБрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рд╕реЗ рд▓рд╛рдПрдВ? рд╕рд╣реА рдЙрддреНрддрд░реЛрдВ рдХреЗ рд╕рд╛рде рдмреБрдХ рдХрд░реЗрдВ (рдЧреВрдЧрд▓ рдПрд╕рдЖрд░рдИ рдмреБрдХ) рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ: рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗред рдЖрдЦрд╝рд┐рд░рдХрд╛рд░, рд╡реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рд╣рдордиреЗ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЗ рдмрд╛рд╣рд░ рдХрд╛рд░реНрдорд┐рдХ рдмрд╛рдЬрд╝рд╛рд░ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЙрдирдХреА рдмрд╣реБрдд рдЦреЛрдЬ рдХреАред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ рдХреЛрдИ рднреА рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛред рдореБрдЭреЗ рдЕрдкрдиреЛрдВ рдХреЗ рдмреАрдЪ рд╣реА рддрд▓рд╛рд╢ рдХрд░рдиреА рдереА.

рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░

рдЕрдм рдЖрдЗрдП рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдХреЛрдб рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдб рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рд╣реИ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд╕рд╛рдеред

рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдорд╛ рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛрдбред

рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп

Ansible рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛрдбред

рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп

рд╕рдЬреНрдЬрдиреЛрдВ, рдХрд╛рд╢ рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реЛрддрд╛! рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рдиреЗ, рдЖрд╢реНрдЪрд░реНрдп рдФрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рддреИрдпрд╛рд░ рд░рд╣рддрд╛ рд╣реИред рдЙрдирдХреЗ рдмрд┐рдирд╛ рдпрд╣рд╛рдВ рднреА рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддрд╛.

1. рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ IaC рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ dsl рд╣реИред

рдФрд░ рдбреАрдПрд╕рдПрд▓, рдмрджрд▓реЗ рдореЗрдВ, рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: Json, Yaml, рдХреБрдЫ рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд╕рдВрд╢реЛрдзрди рдЬреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ DSL рдХреЗ рд╕рд╛рде рдЖрдП (HCL рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдРрд╕реА рдкрд░рд┐рдЪрд┐рдд рдЪреАрдЬрд╝реЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреАрдВ рдЬреИрд╕реЗ:

  • рдЪрд░;
  • рд╕реНрдерд┐рддрд┐рдпрд╛рдБ;
  • рдХрд╣реАрдВ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Json рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡реЗ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ;
  • рдХрд╛рд░реНрдп;
  • рдФрд░ рдореИрдВ рд╡рд░реНрдЧ, рд╡рд┐рд░рд╛рд╕рдд рдФрд░ рдЕрдиреНрдп рдЬреИрд╕реА рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рднреА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

2. рдРрд╕реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдХреНрд╕рд░ рдпрд╣ рдПрдХ рд╡рд┐рд╖рдо рд╡рд╛рддрд╛рд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ. рдЖрдорддреМрд░ рдкрд░ рдЖрдк C# рдХреЗ рд╕рд╛рде рдмреИрдарддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛рдиреАред рдПрдХ рднрд╛рд╖рд╛, рдПрдХ рд╕реНрдЯреИрдХ, рдПрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд╕рд╛рдеред рдФрд░ рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╡рд┐рд╡рд┐рдзрддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрдм рдмреИрд╢ рд╡рд┐рдж рдкрд╛рдЗрдереЙрди рдХреБрдЫ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Json рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдХреЛрдИ рдЕрдиреНрдп рдЬрдирд░реЗрдЯрд░ рдЕрдиреНрдп 30 рдлрд╝рд╛рдЗрд▓реЗрдВ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдм рдХреЗ рд▓рд┐рдП, Azure Key Vault рд╕реЗ рдЗрдирдкреБрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ Go рдореЗрдВ рд▓рд┐рдЦреЗdrone.io рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕рд╛рде рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпреЗ рд╡реЗрд░рд┐рдПрдмрд▓ yaml рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рдЬреЛ jsonnet рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рд╕реЗ рдкреАрдврд╝реА рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрддреНрдкрдиреНрди рд╣реБрдЖ рдерд╛ред рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрддрдирд╛ рд╡рд┐рд╡рд┐рдз рд╡рд╛рддрд╛рд╡рд░рдг рд╣реЛ рддреЛ рдХреЛрдб рдХрд╛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдХрд╛рдлреА рдХрдард┐рди рд╣реИред

рдПрдХ рдХрд╛рд░реНрдп рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдПрдХ рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

3. рддреАрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЯреНрдпреВрдирд┐рдВрдЧ. рд╣рдо рдХреВрд▓ рд╕рдВрдкрд╛рджрдХреЛрдВ (рд╕реБрд╢реНрд░реА рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ, рдЬреЗрдЯрдмреНрд░реЗрдиреНрд╕ рд░рд╛рдЗрдбрд░) рдХреЗ рдЖрджреА рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рд╣рдо рдореВрд░реНрдЦ рднреА рд╣реЛрдВ рддреЛ рднреА рд╡реЗ рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рд╣рдо рдЧрд╝рд▓рдд рд╣реИрдВред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд▓рдЧрддрд╛ рд╣реИ.

рд▓реЗрдХрд┐рди рдЖрд╕-рдкрд╛рд╕ рдХрд╣реАрдВ VSCode рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЗрдВрд╕реНрдЯреЙрд▓, рд╕рдорд░реНрдерд┐рдд рдпрд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдирдпреЗ рд╕рдВрд╕реНрдХрд░рдг рдЖрдпреЗ рдФрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдереЗред рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдВрдХреНрд░рдордг (рднрд▓реЗ рд╣реА рд╡рд╣ рдореМрдЬреВрдж рд╣реЛ) рдПрдХ рдЬрдЯрд┐рд▓ рдФрд░ рдЧреИрд░-рддреБрдЪреНрдЫ рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдирд╛рдо рдПрдХ рджрд░реНрдЬрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд░реАрдкреНрд▓реЗ рд╣реИред рдЖрдк рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реЛрдВрдЧреЗ рдпрджрд┐ рд╡рд╣ рдЖрдкрдХреА рдЬрд╝рд░реВрд░рдд рдХреА рдЪреАрдЬрд╝реЗрдВ рд░рдЦ рджреЗред рдмреЗрд╢рдХ, рдпрд╣рд╛рдВ-рд╡рд╣рд╛рдВ рдмреИрдХрд▓рд╛рдЗрдЯрд┐рдВрдЧ рд╣реИ, рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рд╣реИ, рдХрд╣реАрдВ-рдХрд╣реАрдВ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред

рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп vscode-terraform рдкреНрд▓рдЧрдЗрди рдЕрднреА рддрдХ рд╕рдВрд╕реНрдХрд░рдг 0.12 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕реЗ 3 рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рднреВрд▓рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ...

  1. рдбрд┐рдмрдЧрд┐рдВрдЧред
  2. рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдЙрдкрдХрд░рдг.
  3. рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛.
  4. рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ред

рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдордп рднреА рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

рд╕рдмрд╕реЗ рдмреБрд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдП, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╡рд┐рдШрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдХреЛрдб рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдпреЛрдЧреНрдп, рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдЗрддреНрдпрд╛рджрд┐, рдмрд▓реНрдХрд┐ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕реЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрд╛ рд╣реИ .

рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рд╕реАрдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЖрдИрдбреАрдИ рдЖрдкрдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬрдм рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реЛ, рддреЛ рдЕрдВрджрд░ рдЬрд╛рдПрдБ рдФрд░ рджреЗрдЦреЗрдВред рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдПрдХ рдирдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд░рд╣реЗ рдереЗ, рддреЛ рдЖрдИрдбреАрдИ рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдРрд╕рд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реА рдХреЛрдИ рдЪреАрдЬрд╝ рдирд╣реАрдВ рд╣реИред рдХрдо рд╕реЗ рдХрдо int рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрддрд░ рдкрд░ред рдпрд╣ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ.

рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВ: "рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛, рд╕рдЬреНрдЬрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░?" рдЧрдВрднреАрд░ рд▓реЛрдЧ рдЙрддреНрдкрд╛рджрди рдкрд░ рд╣рд░ рдЪреАрдЬрд╝ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрдард┐рди рд╣реИред рдпрд╣рд╛рдВ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ.

рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп

рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдЪреНрдЫреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИрдВ. рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдкреНрд░рддрд┐ рдЗрд╕рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ Microsoft рдкрд╕рдВрдж рдЖрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдХрд▓ рдмреЙрдм рд╣реЛрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рдХреЛрдб рдирд╣реАрдВ рд╣реИред рджрд╛рдИрдВ рдУрд░ рд╕рддреНрдпрд╛рдкрди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдФрд░ рдореИрдВ Json рдЖрдЙрдЯрдкреБрдЯ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ 5 рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдФрд░ рдореБрдЭреЗ 2000 рд▓рд╛рдЗрдиреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ Json рдлрд╝реБрдЯрдХреНрд▓реЙрде рджрд┐рдпрд╛ рдЧрдпрд╛ред рдореИрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдгрд╛рдо рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ...

рдЧреЛ рдореЗрдВ Json рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдФрд░ рдЖрдкрдХреЛ рдЧреЛ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЧреЛ рдореЗрдВ рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЙрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдХреЛрдб рдХрд╛ рд╕рдВрдЧрдарди рд╣реА рдмрд╣реБрдд рдХрдордЬреЛрд░ рд╣реИ. рд╕рд╛рде рд╣реА, рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред

Microsoft рд╕реНрд╡рдпрдВ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЙрдирдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИред рдмреЗрд╢рдХ рдпрд╣ рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реИред рдореИрдВ рдЬрд┐рд╕ рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЖрдк рдЖрдХрд░ рдЙрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдмреИрда рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдУрдкрди рд╕реЛрд░реНрд╕ рд╡реАрдПрд╕ рдХреЛрдб рдкреНрд▓рдЧрдЗрдиреНрд╕, рдЯреЗрд░рд╛рдлреЙрд░реНрдо, рд░рд╛рдЗрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред рд╢рд╛рдпрдж рдХреБрдЫ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд▓рд┐рдЦреЗрдВ, рд▓рд┐рдВрдЯрд░ рдЬреЛрдбрд╝реЗрдВ, рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдпреЛрдЧрджрд╛рди рдХрд░реЗрдВред рдореИрдВ рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░

рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдпрджрд┐ IaC рдореЗрдВ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИрдВ, IDE рдФрд░ рдЯреНрдпреВрдирд┐рдВрдЧ рдЦрд╝рд░рд╛рдм рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЕрднреА Google Analytics рдкрд░ рдЧрдпрд╛ рдФрд░ рджреЛ рдЦреЛрдЬ рдХреНрд╡реЗрд░реА рдХреА рддреБрд▓рдирд╛ рдХреА: рдЯреЗрд░рд╛рдлрд╝реЙрд░реНрдо рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдФрд░ C# рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ред

рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп

рд╣рдо рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ? рдХреНрд░реВрд░ рдЖрдБрдХрдбрд╝реЗ рд╣рдорд╛рд░реЗ рдкрдХреНрд╖ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ. рд╕рд╛рдордЧреНрд░реА рдХреА рдорд╛рддреНрд░рд╛ рд╕рдорд╛рди рд╣реИ. рд╕реА# рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рд╣рдо рдмрд╕ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рд╕реЗ рднрд░реЗ рд╣реБрдП рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрддрд┐-рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреА рдЧрдИ рдкреБрд╕реНрддрдХреЗрдВ рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреБрд╕реНрддрдХреЛрдВ рдкрд░ рд▓рд┐рдЦреА рдЧрдИ рдкреБрд╕реНрддрдХреЗрдВ рднреА рд╣реИрдВ рдЬреЛ рдЙрди рдкреБрд╕реНрддрдХреЛрдВ рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг, рд▓реЗрдЦ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд╛рдареНрдпрдХреНрд░рдо рдФрд░ рдЕрдм рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдПрдХ рд╕рдореБрджреНрд░ред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛIaC рдЕрдиреБрд░реЛрдз рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ: рдпрд╣рд╛рдВ рдЖрдк рд╣рд╛рдИрд▓реЛрдб рдпрд╛ HashiConf рд░рд┐рдкреЛрд░реНрдЯ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ Github рдкрд░ рдХрдИ рдореБрджреНрджреЛрдВ рд╕реЗ рдереЛрдбрд╝реА-рдереЛрдбрд╝реА рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЙрдирдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдП? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ... рд╕рдЬреНрдЬрдиреЛрдВ, рдПрдХ рд╕рдореБрджрд╛рдп рд╣реИ, рдЬрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬреАрдердм рдкрд░ 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рджреА рдЬрд╛рдПрдВрдЧреАред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рд▓рдХреБрд▓ рдирд╣реАрдВ рд╣реИ.

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╕рдордп, рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЕрднреА рдЙрднрд░рдиреЗ рд╣реА рд▓рдЧреЗ рд╣реИрдВред рдЕрдм рддрдХ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реИрдВред рдФрд░ рд╕рдореБрджрд╛рдп рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдердорд┐рдХ рд╕реНрддрд░ рдкрд░ рд╣реА рдШреВрдо рд░рд╣рд╛ рд╣реИред

рдпреЗ рд╕рдм рдХрд╣рд╛рдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ

рдЖрдк рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╡рд╛рд░ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ C# рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЛрдИ рдирд╣реАрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЬрд╣рдордд рдХреНрдпреЛрдВ рдЙрдард╛рдПрдВрдЧреЗред рдиреАрдЪреЗ рдореИрдВ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдБред рдЖрдк рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдореБрдЭрд╕реЗ рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдХреБрдЫ рдЪреАрдЬрд╝реЛрдВ рдкрд░ рджрд╛рдВрд╡ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдБ:

  1. рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рд╣реЛ рд░рд╣рд╛ рд╣реИ. рдпрд╣рд╛рдВ DevOps рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╢реЗрдбреНрдпреВрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

    рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░: рдкрд╣рд▓рд╛ рдкрд░рд┐рдЪрдп

    рд╡рд┐рд╖рдп рдкреНрд░рдЪрд╛рд░рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдереНрдп рдХрд┐ рдХреНрд╖реЗрддреНрд░ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдХреБрдЫ рдЖрд╢рд╛ рдЬрдЧрд╛рддрд╛ рд╣реИред

    рдЕрдЧрд░ рдХреЛрдИ рдЪреАрдЬрд╝ рдЗрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рддреА рд╣реИ, рддреЛ рд╕реНрдорд╛рд░реНрдЯ рд▓реЛрдЧ рдЬрд╝рд░реВрд░ рд╕рд╛рдордиреЗ рдЖрдПрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдВрддрддрдГ vscode рдХреЗ рд▓рд┐рдП jsonnet рдореЗрдВ рдПрдХ рдкреНрд▓рдЧрдЗрди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реЛрдЧрд╛, рдЬреЛ рдЖрдкрдХреЛ ctrl+shift+f рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЪреАрдЬреЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рдЕрдзрд┐рдХ рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИрдВред SRE рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ Google рдХреА рдУрд░ рд╕реЗ рдПрдХ рдкреБрд╕реНрддрдХ рдХрд╛ рд╡рд┐рдореЛрдЪрди рдЗрд╕рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИред

  2. рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рддрдХрдиреАрдХреЗрдВ рдФрд░ рдкреНрд░рдерд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдпрд╣рд╛рдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рдВ, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдПрдХ рд╡рд┐рд╖рдо рд╡рд╛рддрд╛рд╡рд░рдг, рдЕрдкрд░реНрдпрд╛рдкреНрдд рдЯреВрд▓реАрдВрдЧ рдХреЗ рд╕рд╛рде рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрднреНрдпрд╛рд╕ рдЬрдорд╛ рд╣реЛ рдЧрдП рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧреА рдФрд░ рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

    рдПрдХ рддреБрдЪреНрдЫ рдЙрджрд╛рд╣рд░рдг: рдЬреЛрдбрд╝реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╣рдпреЛрдЧред рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓рддреА рд╣реИред рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкрдбрд╝реЛрд╕реА рд╣реЛ рдЬреЛ рдХреБрдЫ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реЛ, рддреЛ рдЖрдк рдорд┐рд▓рдХрд░ рдмреЗрд╣рддрд░ рд╕рдордЭ рдкрд╛рдПрдВрдЧреЗред

    рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ, рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рднреА рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред рдпрд╛рдиреА рдЖрдк рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╕реНрдерд╛рди рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЖрдк рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдУрд╣, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдореЗрд░рд╛ рддрд░реНрдХ рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рднрд╡рд┐рд╖реНрдп рдХреЛ рдЖрд╢рд╛ рдХреЗ рд╕рд╛рде рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╣рдорд╛рд░реЗ (рдФрд░ рдЖрдкрдХреЗ) рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдЖрдЧреЗ рд▓реЗрдЦ рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ. рдЗрд╕рдореЗрдВ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рд╣рдордиреЗ рдЕрдкрдиреА рд╕реАрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ