рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░: рдкрд╣рд┐рд▓реЛ рдкрд░рд┐рдЪрд┐рдд

рд╣рд╛рдореНрд░реЛ рдХрдореНрдкрдиреА SRE рдЯреЛрд▓реАрд▓рд╛рдИ рдЕрдирдмреЛрд░реНрдбрд┐рдЩ рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдЫред рдо рдпреЛ рд╕рдореНрдкреВрд░реНрдг рдХрдерд╛рдорд╛ рд╡рд┐рдХрд╛рд╕ рдкрдХреНрд╖рдмрд╛рдЯ рдЖрдПрдХреЛ рд╣реБрдБред рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛, рдо рд╡рд┐рдЪрд╛рд░ рд░ рдЕрдиреНрддрд░реНрджреГрд╖реНрдЯрд┐рд╣рд░реВ рд▓рд┐рдПрд░ рдЖрдПрдХреЛ рдЫреБ рдЬреБрди рдо рдЕрдиреНрдп рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд╕рдБрдЧ рд╕рд╛рдЭрд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рдпрд╕ рдкреНрд░рддрд┐рдмрд┐рдореНрдм рд▓реЗрдЦрдорд╛ рдо рдХреЗ рднрдЗрд░рд╣реЗрдХреЛ рдЫ, рдпреЛ рдХрд╕рд░реА рднрдЗрд░рд╣реЗрдХреЛ рдЫ, рд░ рд╕рдмреИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рдмрд╛рдБрдЪреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрди рд╕рдХреНрдЫрдиреН рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрдЫреБред

рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░: рдкрд╣рд┐рд▓реЛ рдкрд░рд┐рдЪрд┐рдд

рд╣рд╛рдореНрд░реЛ рдЖрдиреНрддрд░рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдордорд╛ рднрд╛рд╖рдгрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рдирд┐рд░рдиреНрддрд░рддрд╛ DevForum:

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

рд╣рд╛рдореАрд▓реЗ рдПрд╕рдЖрд░рдИ рдЯреЛрд▓реА рдмрдирд╛рдЙрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНтАНрдпреМрдВ, рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджреИ рдЧреБрдЧрд▓ sreред рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдЖрдлреНрдиреИ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдордзреНрдпреЗрдмрд╛рдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВ рднрд░реНрддреА рдЧрд░реЗ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдзреЗрд░реИ рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рддрд╛рд▓рд┐рдордХреЛ рд▓рд╛рдЧрд┐ рдкрдард╛рдПред

рдЯреЛрд▓реАрд╕рдБрдЧ рдирд┐рдореНрди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрд╣рд░реВ рдерд┐рдП:

  • рд╣рд╛рдореНрд░реЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬреБрди рдкреНрд░рд╛рдп: Microsoft Azure рдорд╛ рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдЫ (рдЯреЗрд░рд╛рдлрд╛рд░реНрдо рд░ рд╡рд░рдкрд░рдХрд╛ рд╕рдмреИ рдХреБрд░рд╛)ред
  • рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд╕рдБрдЧ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдиреЗ рднрдиреЗрд░ рд╕рд┐рдХрд╛рдЙрдиреБрд╣реЛрд╕реНред
  • рдХрд░реНрддрд╡реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рддрдпрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд╣рд╛рдореАрд▓реЗ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛рд▓рд╛рдИ рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрдЫреМрдВ

рд╕рдВрд╕рд╛рд░рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдбреЗрд▓рдорд╛ (рд╢рд╛рд╕реНрддреНрд░реАрдп рдкреНрд░рд╢рд╛рд╕рди), рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬреНрдЮрд╛рди рджреБрдИ рдард╛рдЙрдБрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫ:

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

рджреБрдмреИ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореА рдЖрдлреИрдВрд▓рд╛рдИ рдирд┐рд░реНрднрд░ рдмрдиреНрдирдорд╛ рдлрд╕реЗрдХрд╛ рдЫреМрдВ:

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

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

рддрд╕рд░реНрде, рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ (рд╕рдВрд╣рд┐рддрд╛рдХреЛ рд░реВрдкрдорд╛ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ - IaC) рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рд╕рдореНрдкреВрд░реНрдг рдЕрд╡рд╕реНрдерд┐рдд рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд╣рд░реВрдХреЛ рд╡рд┐рд╡рд░рдг рд╣реЛ, рд╕рд╛рдереИ рдпрд╕рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд░ рдпрд╕рдмрд╛рдЯ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдореНрдмрдиреНрдзрд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВред

рдХрд┐рди рд╕рдмреИ рдХреБрд░рд╛ рдХреЛрдбрдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдиреЗ?рдорд╛рдиреНрдЫреЗ рдореЗрд╕рд┐рди рд╣реЛрдЗрдирдиреН ред рддрд┐рдиреАрд╣рд░реВ рд╕рдмреИ рдпрд╛рдж рдЧрд░реНрди рд╕рдХреНрджреИрдирдиреНред рдорд╛рдиреНрдЫреЗ рд░ рдореЗрд╕рд┐рдирдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлрд░рдХ рд╣реБрдиреНрдЫред рдХреБрдиреИ рдкрдирд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд╛рдо рдорд╛рдирд╡ рджреНрд╡рд╛рд░рд╛ рдЧрд░реЗрдХреЛ рдХреБрдиреИ рдкрдирд┐ рдХреБрд░рд╛ рднрдиреНрджрд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рд░реВрдкрдорд╛ рдЫрд┐рдЯреЛ рд╣реБрдиреНрдЫред рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рд╕рддреНрдпрдХреЛ рдПрдЙрдЯреИ рд╕реНрд░реЛрдд рд╣реЛред

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

рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдХрдореНрдкрдиреА рдмрд╛рд╣рд┐рд░ рдХрд░реНрдордЪрд╛рд░реА рдмрдЬрд╛рд░рдорд╛ рдЙрдиреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдореЛ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдЦреЛрдЬреНрдпреМрдВред рддрд░ рд╣рд╛рдореАрд▓реЗ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреИрдкрд░реНрдЫ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдорд┐рд▓реНрдиреЗ рдХрд╕реИрд▓рд╛рдИ рднреЗрдЯреНрдЯрд╛рдПрдиреМрдВред рдЖрдлреНрдиреИ рдорд╛рдиреНрдЫреЗрд╣рд░реБ рдорд╛рдЭ рдЦреЛрдЬреНрдиреБ рдкрд░реНрдпреЛ ред

рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ

рдЕрдм рд╣рд╛рдореА рдХрд╕рд░реА рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд▓рд╛рдИ рдХреЛрдбрдорд╛ рд╣рд╛рд░реНрдбрдХреЛрдб рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рднрдиреНрдиреЗ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рд╣реЗрд░реМрдВред рдХреЛрдб рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ, рдЙрдЪреНрдЪ рдЧреБрдгрд╕реНрддрд░, рдЯрд┐рдкреНрдкрдгреА рд░ рдЗрдиреНрдбреЗрдиреНрдЯреЗрд╕рдирдХреЛ рд╕рд╛рдеред

Terraforma рдмрд╛рдЯ рдЙрджрд╛рд╣рд░рдг рдХреЛрдбред

рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░: рдкрд╣рд┐рд▓реЛ рдкрд░рд┐рдЪрд┐рдд

Ansible рдмрд╛рдЯ рдЙрджрд╛рд╣рд░рдг рдХреЛрдбред

рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░: рдкрд╣рд┐рд▓реЛ рдкрд░рд┐рдЪрд┐рдд

рд╕рдЬреНрдЬрдирд╣рд░реВ, рдпрджрд┐ рдпреЛ рдпрддрд┐ рд╕рд░рд▓ рднрдПрдХреЛ рднрдП! рд╣рд╛рдореА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕рд╛рд░рдорд╛ рдЫреМрдВ, рд░ рдпреЛ рд╕рдБрдзреИ рддрдкрд╛рдИрд▓рд╛рдИ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдЧрд░реНрди, рддрдкрд╛рдИрд▓рд╛рдИ рдЖрд╢реНрдЪрд░реНрдп рд░ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрди рддрдпрд╛рд░ рдЫред рддрд┐рдиреАрд╣рд░реВ рдмрд┐рдирд╛ рдпрд╣рд╛рдБ рдкрдирд┐ рдЧрд░реНрди рд╕рдХреНрджреИрдиред

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

рд░ DSL, рдмрд╛рд░реАрдорд╛, рд╕рдВрд░рдЪрдирд╛рдХреЛ рд╡рд┐рд╡рд░рдг рд╣реЛред рдердк рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд╕рдБрдЧ рдХреЗ рд╣реБрдиреБрдкрд░реНрдЫ: Json, Yaml, рдХреЗрд╣реА рдареВрд▓рд╛ рдХрдореНрдкрдиреАрд╣рд░реВрдмрд╛рдЯ рдкрд░рд┐рдорд╛рд░реНрдЬрдирд╣рд░реВ рдЬреБрди рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЖрдлреНрдиреИ dsl (HCL рдЯреЗрд░рд╛рдлрд░реНрдордорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ)ред

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

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

2. рдпрд╕реНрддреЛ рдХреЛрдбрдХреЛ рд╕рд╛рде рджреЛрд╕реНрд░реЛ рд╕рдорд╕реНрдпрд╛ рдпреЛ рд╣реЛ рдХрд┐ рдкреНрд░рд╛рдп: рдпреЛ рдПрдХ рд╡рд┐рд╖рдо рд╡рд╛рддрд╛рд╡рд░рдг рд╣реЛред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рддрдкрд╛рдИрдВ C# рд╕рдБрдЧ рдмрд╕реЗрд░ рдХрд╛рдо рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рдЕрд░реНрдерд╛рддреНред рдПрдЙрдЯрд╛ рднрд╛рд╖рд╛, рдПрдЙрдЯрд╛ рд╕реНрдЯреНрдпрд╛рдХ, рдПрдЙрдЯрд╛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордХреЛ рд╕рд╛рдеред рд░ рдпрд╣рд╛рдБ рддрдкрд╛рдИрдВрд╕рдБрдЧ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╡рд┐рд╡рд┐рдзрддрд╛ рдЫред

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

рдПрдЙрдЯреИ рдХрд╛рд░реНрдпрдХреЛ рдврд╛рдБрдЪрд╛рднрд┐рддреНрд░рдХреЛ рдкрд░рдореНрдкрд░рд╛рдЧрдд рд╡рд┐рдХрд╛рд╕ рдПрдЙрдЯреИ рднрд╛рд╖рд╛рдорд╛ рд╣реБрдиреНрдЫред рдпрд╣рд╛рдБ рд╣рд╛рдореА рдзреЗрд░реИ рднрд╛рд╖рд╛рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдЫреМрдВред

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

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

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

рдпреЛ рдмрд┐рд░реНрд╕рдиреЗ рд╕рдордп рд╣реЛ ...

  1. рдбрд┐рдмрдЧрд┐ред
  2. Refactoring рдЙрдкрдХрд░рдгред
  3. рд╕реНрд╡рдд: рдкреВрд░рд╛ред
  4. рд╕рдВрдХрд▓рдирдХреЛ рдХреНрд░рдордорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдБрджреИред

рдпреЛ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдЫ, рддрд░ рдпрд╕рд▓реЗ рд╡рд┐рдХрд╛рд╕ рд╕рдордп рдкрдирд┐ рдмрдврд╛рдЙрдБрдЫ рд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛ рд╣реБрдиреЗ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдмрдврд╛рдЙрдБрдЫред

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

рдПрдХ рд╢реБрд░реБрд╡рд╛рддрдХреЛ рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВ рдЯреЗрд░рд╛рдлрд╛рд░реНрдорд╣рд░реВ рд╕рд┐рдХреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ, рд░ IDE рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ рдорджреНрджрдд рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫреИрдиред рдЬрдм рддреНрдпрд╣рд╛рдБ рдХрд╛рдЧрдЬрд╛рдд рдЫ, рднрд┐рддреНрд░ рдЬрд╛рдиреБрд╣реЛрд╕реН рд░ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред рддрд░ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдирдпрд╛рдБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, IDE рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдмрддрд╛рдЙрдиреЗрдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдпрд╕реНрддреЛ рдкреНрд░рдХрд╛рд░ рдЫ, рддрд░ рддреНрдпрд╣рд╛рдБ рддреНрдпрд╕реНрддреЛ рдХреЗрд╣рд┐ рдЫреИрдиред рдХрдореНрддрд┐рдорд╛ int рд╡рд╛ рд╕реНрдЯреНрд░рд┐рдЩ рд╕реНрддрд░рдорд╛ред рдпреЛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧреА рдЫред

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

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

рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░: рдкрд╣рд┐рд▓реЛ рдкрд░рд┐рдЪрд┐рдд

рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рд░рд╛рдореНрд░реЛ рдХрд╛рдЧрдЬрд╛рдд рдЫред рдХрд╛рдЧрдЬрд╛рдд рд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕рдХреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд▓рд╛рдЧрд┐ рдореИрд▓реЗ рд╕рдзреИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯрд▓рд╛рдИ рдорди рдкрд░рд╛рдПрдХреЛ рдЫреБред рддрд░ рдпреЛ рд╕рд╣реА рдХреЛрдб рд╣реЛрдЗрди рднрдиреЗрд░ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИ рдЕрдВрдХрд▓ рдмрдм рд╣реБрдиреБ рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред рджрд╛рдпрд╛рдБ рддрд┐рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

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

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

рдорд╛рдЗрдХреНрд░реЛрд╕рдлреНрдЯ рдЖрдлреИрд▓реЗ рдпрд╕рдХреЛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд▓реЗрдЦреНрдЫ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдпрд╕рд░реА рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрджреИред рдкрдХреНрдХреИ рдкрдирд┐ рдпреЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реЛред рдореИрд▓реЗ рдмреЛрд▓рд┐рд░рд╣реЗрдХреЛ рд╕рдмреИ рдХреБрд░рд╛ рддрдкрд╛рдИрдВ рдЖрдПрд░ рдареАрдХ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдо рдПрдХ рд╣рдкреНрддрд╛рдорд╛ рдмрд╕реЗрд░ рд╕рдмреИ рдХреБрд░рд╛ рдареАрдХ рдЧрд░реНрди рд╕рдХреНрдЫреБ, рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд VS рдХреЛрдб рдкреНрд▓рдЧрдЗрдирд╣рд░реВ, рдЯреЗрд░рд╛рдлрд░реНрдорд╣рд░реВ, рд░рд╛рдЗрдбрд░рдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реНред рд╣реБрдирд╕рдХреНрдЫ рдХреЗрд╣рд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╣рд░реВ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН, рд▓рд┐рдиреНрдЯрд╣рд░реВ рдердкреНрдиреБрд╣реЛрд╕реН, рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпреЛрдЧрджрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдо рд╕рдмреИ рдЧрд░реНрди рд╕рдХреНрдЫреБред рддрд░ рддреНрдпреЛ рдореИрд▓реЗ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рд╣реЛрдЗрдиред

рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдЙрддреНрддрдо рдЕрднреНрдпрд╛рд╕рд╣рд░реВ рдкреВрд░реНрд╡рд╛рдзрд╛рд░

рдЕрдЧрд╛рдбрд┐ рдмрдвреМрдВред рдпрджрд┐ IaC рдорд╛ рдХреБрдиреИ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЫреИрдирдиреН рднрдиреЗ, IDE рд░ рдЯреНрдпреБрдирд┐рдЩ рдЦрд░рд╛рдм рдЫрдиреН, рддреНрдпрд╕рдкрдЫрд┐ рддреНрдпрд╣рд╛рдБ рдХрдореНрддрд┐рдорд╛ рдЙрддреНрдХреГрд╖реНрдЯ рдЕрднреНрдпрд╛рд╕рд╣рд░реВ рд╣реБрдиреБрдкрд░реНрдЫред рдо рднрд░реНрдЦрд░реИ рдЧреБрдЧрд▓ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕рдорд╛ рдЧрдПрдБ рд░ рджреБрдИ рдЦреЛрдЬ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рддреБрд▓рдирд╛ рдЧрд░реЗрдВ: рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдЙрддреНрддрдо рдЕрднреНрдпрд╛рд╕рд╣рд░реВ рд░ c# рдЙрддреНрддрдо рдЕрднреНрдпрд╛рд╕рд╣рд░реВред

рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░: рдкрд╣рд┐рд▓реЛ рдкрд░рд┐рдЪрд┐рдд

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

IaC рдЕрдиреБрд░реЛрдзрдХреЛ рд▓рд╛рдЧрд┐: рдпрд╣рд╛рдБ рддрдкрд╛рдЗрдБ рд╣рд╛рдЗрд▓реЛрдб рд╡рд╛ HashiConf рд░рд┐рдкреЛрд░реНрдЯрд╣рд░реВ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рд░ Github рдорд╛ рдЕрд╕рдВрдЦреНрдп рдореБрджреНрджрд╛рд╣рд░реВрдмрд╛рдЯ рдмрд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдирдХрд╛рд░реА рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫред рдпреА рдореЛрдбреНрдпреБрд▓рд╣рд░реВрд▓рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдХрд╕рд░реА рд╡рд┐рддрд░рдг рдЧрд░реНрдиреЗ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХреЗ рдЧрд░реНрдиреЗ? рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдХрд┐ рдпреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ ... рддреНрдпрд╣рд╛рдБ рдПрдХ рд╕рдореБрджрд╛рдп рдЫ, рд╕рдЬреНрдЬрдирд╣рд░реВ, рдЬрд╣рд╛рдБ рдХреБрдиреИ рдкреНрд░рд╢реНрдирдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ Github рдорд╛ 10 рдЯрд┐рдкреНрдкрдгреА рджрд┐рдЗрдиреЗрдЫред рддрд░ рдпреЛ рдареНрдпрд╛рдХреНрдХреИ рд╣реЛрдЗрдиред

рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдпрд╕ рд╕рдордпрдорд╛, рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВ рднрд░реНрдЦрд░реИ рджреЗрдЦрд╛ рдкрд░реНрди рдерд╛рд▓реЗрдХрд╛ рдЫрдиреНред рддреА рдордзреНрдпреЗ рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо рдзреЗрд░реИ рдереЛрд░реИ рдЫрдиреНред рд░ рд╕рдореБрджрд╛рдп рдЖрдлреИрдВ рдкреНрд░рд╛рдердорд┐рдХ рд╕реНрддрд░рдорд╛ рд╣реНрдпрд╛рдЩреНрдЧ рдЖрдЙрдЯ рдЧрд░реНрджреИрдЫред

рдпреЛ рд╕рдм рдХрд╣рд╛рдБ рдЬрд╛рдиреНрдЫ рд░ рдХреЗ рдЧрд░реНрдиреЗ

рддрдкрд╛рдИрдВ рд╕рдмреИ рдХреБрд░рд╛ рдЫреЛрдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ C# рдорд╛ рдлрд┐рд░реНрддрд╛ рдЬрд╛рди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░рд╛рдЗрдбрд░рдХреЛ рд╕рдВрд╕рд╛рд░рдорд╛ред рддрд░ рд╣реЛрдЗрдиред рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬреНрди рдирд╕рдХреЗрдорд╛ рдХрд┐рди рдпрд╕реЛ рдЧрд░рд┐рд░рд╣рдиреЗ рд╣реЛред рддрд▓ рдо рдореЗрд░реЛ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрджрдЫреБред рддрдкрд╛рдИрдВ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдорд╛ рдорд╕рдБрдЧ рдмрд╣рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпреЛ рд░реЛрдЪрдХ рд╣реБрдиреЗрдЫред

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

  1. рдпрд╕ рдХреНрд╖реЗрддреНрд░рдорд╛ рд╡рд┐рдХрд╛рд╕ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рднрдЗрд░рд╣реЗрдХреЛ рдЫред рдпрд╣рд╛рдБ DevOps рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдЫред

    рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░: рдкрд╣рд┐рд▓реЛ рдкрд░рд┐рдЪрд┐рдд

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

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

  2. рддреНрдпрд╣рд╛рдБ рдкрд░рдореНрдкрд░рд╛рдЧрдд рд╡рд┐рдХрд╛рд╕рдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рд░ рдЕрднреНрдпрд╛рд╕рд╣рд░реВ рдЫрдиреН рдЬреБрди рд╣рд╛рдореА рдпрд╣рд╛рдБ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред рд╣реЛ, рддреНрдпрд╣рд╛рдБ рдкрд░реАрдХреНрд╖рдг рд░ рдПрдХ рд╡рд┐рд╖рдо рд╡рд╛рддрд╛рд╡рд░рдг, рдЕрдкрд░реНрдпрд╛рдкреНрдд рдЯреВрд▓рд┐рдЩреНрдЧ, рддрд░ рдЙрдкрдпреЛрдЧреА рд░ рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдиреЗ рдЕрднреНрдпрд╛рд╕рд╣рд░реВрдХреЛ рдПрдХ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ рдЬрдореНрдорд╛ рднрдПрдХреЛ рдЫред

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

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

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

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

рдЕрд░реНрдХреЛ рд▓реЗрдЦрдХреЛ рджреЛрд╕реНрд░реЛ рднрд╛рдЧ рддрдпрд╛рд░ рд╣реБрдБрджреИрдЫред рдпрд╕рдорд╛, рдо рдХрд╕рд░реА рд╣рд╛рдореНрд░реЛ рд╕рд┐рдХреНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рд░ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХреЛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрди рдлреБрд░реНрддрд┐рд▓реЛ рд╡рд┐рдХрд╛рд╕ рдЕрднреНрдпрд╛рд╕рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреМрдВ рднрдиреНрдиреЗ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреБред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди