рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдИрдПрд╕реА (рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░) рднрдгреНрдбрд╛рд░рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдХреЛрдб рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рдпреЛ рдХреЛрдбрд▓рд╛рдИ рдШреЗрд░реЗрдХрд╛ рд╡реНрдпрдХреНрддрд┐ рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдкрдирд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдХреЗ рдпреЛ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рджреЗрдЦрд┐ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд░ рд╡рд┐рд╡рд░рдг рдХреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫ? рд▓реЗрдЦ рдкрдвреНрджрд╛ рдпреЛ рд╡рд┐рдЪрд╛рд░ рдордирдорд╛ рд░рд╛рдЦреНрдиреБ рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫред
рдпреЛ рдореЗрд░реЛ рдЯреНрд░рд╛рдиреНрд╕рдХреНрд░рд┐рдкреНрдЯ рд╣реЛ
рд╕реНрд▓рд╛рдЗрдб рд░ рднрд┐рдбрд┐рдпреЛрд╣рд░реВ
рд╕рдВрд╕реНрдХрд░рдг fran├зaise рд░реВрд╕реА рд╕рдВрд╕реНрдХрд░рдг - рдбреНрд░рд╛рдИ рд░рди 2019-04-24
SpbLUG рднрд┐рдбрд┐рдпреЛ(RU) DevopsConf 2019-05-28 рдмрд╛рдЯ рднрд┐рдбрд┐рдпреЛ(RU) DINS DevOps EVENING 2019-06-20 рдмрд╛рдЯ рд╕реНрд▓рд╛рдЗрдбрд╣рд░реВ
рдмреНрдпрд╛рд╢ рдЗрддрд┐рд╣рд╛рд╕рдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░
рдорд╛рдиреМрдВ рддрдкрд╛рдИрдВ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдЖрдЙрдиреБрднрдпреЛ, рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпрд╕реЛ рднрдиреНрдЫрдиреН: "рд╣рд╛рдореАрд╕рдБрдЧ рдЫ рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░"ред рд╡рд╛рд╕реНрддрд╡рдорд╛ рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ рдмреНрдпрд╛рд╢ рдЗрддрд┐рд╣рд╛рд╕рдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╡рд╛ рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдмреНрдпрд╛рд╕ рдЗрддрд┐рд╣рд╛рд╕рдХреЛ рд░реВрдкрдорд╛ рджрд╕реНрддрд╛рд╡реЗрдЬред рдпреЛ рдПрдХ рдзреЗрд░реИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рд╣реЛ, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдПрдХ рд╕рдорд╛рди рдорд╛рдорд▓рд╛ рдПрдХ рднрд╛рд╖рдг рдорд╛ рдбреЗрдирд┐рд╕ Lysenko рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ
рдХреЗрд╣рд┐ рдЗрдЪреНрдЫрд╛ рд╕рдВрдЧ, рд╣рд╛рдореА рдпреЛ рднрдиреНрди рд╕рдХреНрдЫреМрдВ рдмреНрдпрд╛рд╢ рдЗрддрд┐рд╣рд╛рд╕рдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдпреЛ рдХреЛрдб рдЬрд╕реНрддреИ рдЫ:
- рдкреНрд░рдЬрдирди рдХреНрд╖рдорддрд╛: рддрдкрд╛рдИрд▓реЗ bash рдЗрддрд┐рд╣рд╛рд╕ рд▓рд┐рди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╣рд╛рдБрдмрд╛рдЯ рдЖрджреЗрд╢рд╣рд░реВ рдЪрд▓рд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ рддрдкрд╛рдИрд▓реЗ, рд╡реИрд╕реЗ, рдЖрдЙрдЯрдкреБрдЯрдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
- рд╕рдВрд╕реНрдХрд░рдг: рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рдХреЛ рднрд┐рддреНрд░ рдЖрдП рд░ рдХреЗ рдЧрд░реЗ, рдлреЗрд░рд┐, рдпреЛ рддрдереНрдп рд╣реЛрдЗрди рдХрд┐ рдпрд╕рд▓реЗ рддрдкрд╛рдИрд▓рд╛рдИ рдмрд╛рд╣рд┐рд░ рдирд┐рд╕реНрдХрдиреЗ рдХреНрд░рдордорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдорд╛ рд▓реИрдЬрд╛рдиреНрдЫред
- рдЗрддрд┐рд╣рд╛рд╕: рдХрд╕рд▓реЗ рдХреЗ рдЧрд░реНрдпреЛ рднрдиреНрдиреЗ рдХрдерд╛ред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕рд░реНрднрд░ рд╣рд░рд╛рдЙрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ рдорд╛рддреНрд░ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реБрдиреЗ рдЫреИрдиред
рдореИрд▓реЗ рдХреЗ рдЧрд░реНрдиреБ рдкрд░реНрдЫ?
рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░
рдпрд╕реНрддреИ рдЕрдиреМрдареЛ рдХреЗрд╕ рдкрдирд┐ рдмреНрдпрд╛рд╢ рдЗрддрд┐рд╣рд╛рд╕рдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рддрдкрд╛рдИрдВ рдпрд╕рд▓рд╛рдИ рдХрд╛рди рджреНрд╡рд╛рд░рд╛ рддрд╛рдиреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░, рддрд░ рдЬрдм рд╣рд╛рдореА рд░рд╛рдореНрд░реЛ рдкреБрд░рд╛рдиреЛ LAMP рд╕рд░реНрднрд░ рднрдиреНрджрд╛ рдмрдвреА рдЬрдЯрд┐рд▓ рдХреЗрд╣рд┐ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ, рд╣рд╛рдореА рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдЖрдЙрдиреЗрдЫреМрдВ рдХрд┐ рдпреЛ рдХреЛрдб рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрди, рдкрд░рд┐рд╡рд░реНрддрди, рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЕрд░реНрдХреЛ рд╣рд╛рдореА рдмреАрдЪрдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░рд╣рд░реВ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд░ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ред
рд╕реБрдХреНрдЦрд╛
рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛, рддреНрдпрд╣рд╛рдБ рд╕рдмрдЯрд╛рд╕реНрдХ рдерд┐рдпреЛ
- рдпрд╣рд╛рдБ ssh рдорд╛рд░реНрдлрдд рд▓рдЧ рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЖрджреЗрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред
- рддреНрдпрд╣рд╛рдБ рдлрд╛рдЗрд▓ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
- рдпрд╣рд╛рдБ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рдЪреНрдпрд╛рдЙрдиреБрд╣реЛрд╕реНред
- рддреНрдпрд╣рд╛рдБ рд╕реЗрд╡рд╛ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН
- ...
- рд▓рд╛рдн!
рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рддрд░реНрдХрдХреЛ рд▓рд╛рдЧрд┐, bash рдкрд░реНрдпрд╛рдкреНрдд рднрдиреНрджрд╛ рдмрдвреА рдЫ, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЪрд░рдгрд╣рд░реВрдорд╛, рдЬрдм рдпреЛ рднрд░реНрдЦрд░реИ рд╕реБрд░реБ рд╣реБрдиреНрдЫред рдпреЛ
рдпреЛ рдмрд╛рд╣рд┐рд░ рдирд┐рд╕реНрдХрдиреНрдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ DRY (рдЖрдлреИрд▓рд╛рдИ рдирджреЛрд╣реЛрд░реНрдпрд╛рдЙрдиреБрд╣реЛрд╕реН) рдЬрд╕реНрддреЛ рдЕрднреНрдпрд╛рд╕ рдЫред рд╡рд┐рдЪрд╛рд░ рдЕрд╡рд╕реНрдерд┐рдд рдХреЛрдб рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╣реЛред рдпреЛ рд╕рд░рд▓ рд╕реБрдирд┐рдиреНрдЫ, рддрд░ рд╣рд╛рдореА рдпрд╕рдорд╛ рддреБрд░реБрдиреНрддреИ рдЖрдПрдХрд╛ рдЫреИрдиреМрдВред рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдпреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд┐рдЪрд╛рд░ рдерд┐рдпреЛ: рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдмрд╛рдЯ рдХрдиреНрдлрд┐рдЧрд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрдиред рддреАред рдХрд╕рд░реА рд╕реНрдерд╛рдкрдирд╛ рдЫреБрдЯреНрдЯреИ рдбрд┐рдкреНрд▓реЛрдЗрдб рд╣реБрдиреНрдЫ, рдЫреБрдЯреНрдЯреИ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╣реБрдиреНрдЫ рднрдиреНрдиреЗ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХред
CFM рдХреЛ рд▓рд╛рдЧрд┐ рдареЛрд╕
рд╕рдордпрд╕рдБрдЧреИ рдЖрдпреЛрдЬрдирд╛ рдмрдвреНрджреИ рдЧрдпреЛ рд░
рдПрдХрд▓ рдЙрддреНрддрд░рджрд╛рдпрд┐рддреНрд╡ рд╕рд┐рджреНрдзрд╛рдиреНрдд
рдкреНрд░рддреНрдпреЗрдХ рдХрдХреНрд╖рд╛рд▓реЗ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫред
рдХреЛрдб рдорд┐рд▓рд╛рдЙрди рд░ рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рджрд┐рд╡реНрдп рд╕реНрдкреЗрдЧреЗрдЯреА рд░рд╛рдХреНрд╖рд╕рд╣рд░реВ рдмрдирд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрдиред рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рд╕рд╛рдзрд╛рд░рдг рдИрдВрдЯрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреБрдкрд░реНрдЫред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЬрд╡рд╛рдлрджреЗрд╣реА рдкреНрд▓реЗрдмреБрдХрд▓рд╛рдИ рд╕рд╛рдирд╛ рдЯреБрдХреНрд░рд╛рд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдЬрд╡рд╛рдлрджреЗрд╣реА рднреВрдорд┐рдХрд╛рд╣рд░реВ рдкрдвреНрдиреБрднрдпреЛ рднрдиреЗ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдХрд╛рдпрдо рд░рд╛рдЦреНрди рд╕рдЬрд┐рд▓реЛ рд╣реБрдиреНрдЫ рднрдиреНрдиреЗ рдХреБрд░рд╛ рдмрд╛рд╣рд┐рд░ рдЖрдЙрдБрдЫред
рдЦреБрд▓рд╛ рдмрдиреНрдж рд╕рд┐рджреНрдзрд╛рдиреНрдд
рдЦреБрд▓рд╛ / рдмрдиреНрдж рд╕рд┐рджреНрдзрд╛рдиреНрддред
- рдПрдХреНрд╕рдЯреЗрдиреНрд╕рди рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН: рдпрд╕рдХреЛ рдорддрд▓рдм рдирдпрд╛рдБ рдЗрдХрд╛рдИ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрд░ рдПрдХ рд╕рдВрд╕реНрдерд╛рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
- рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рд▓рд╛рдЧрд┐ рдмрдиреНрдж: рдПрдХ рд╕рдВрд╕реНрдерд╛рдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рдкрд░рд┐рдгрд╛рдо рд╕реНрд╡рд░реВрдк, рддреА рд╕рдВрд╕реНрдерд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреЛрдбрдорд╛ рдХреБрдиреИ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБ рд╣реБрдБрджреИрдиред
рд╕реБрд░реБрдорд╛, рд╣рд╛рдореАрд▓реЗ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВрдорд╛ рдкрд░реАрдХреНрд╖рдг рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рддреИрдирд╛рде рдЧрд░реНрдпреМрдВ, рддрд░ рддреИрдирд╛рдереАрдХреЛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдмрд╛рдЯ рдЕрд▓рдЧ рднрдПрдХреЛ рдХрд╛рд░рдгрд▓реЗ, рд╣рд╛рдореАрд▓реЗ рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдмрд┐рдирд╛ рдмреЗрд░рдореЗрдЯрд▓рдорд╛ рд░реЛрд▓ рдЖрдЙрдЯ рдердкреНрдпреМрдВред
рд▓рд┐рд╕реНрдХреЛрдн рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд┐рджреНрдзрд╛рдиреНрдд
рдмрд╛рд░рдмрд░рд╛ рд▓рд┐рд╕реНрдХреЛрднрдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд┐рджреНрдзрд╛рдиреНрддред рдХрд╛рд░реНрдпрдХреНрд░рдордорд╛ рднрдПрдХрд╛ рд╡рд╕реНрддреБрд╣рд░реВ рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рд╕рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рдкрд░рд┐рд╡рд░реНрддрди рдирдЧрд░реА рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЙрдкрдкреНрд░рдХрд╛рд░рдХрд╛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрд╕рдБрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирдпреЛрдЧреНрдп рд╣реБрдиреБрдкрд░реНрдЫред
рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЕрдЭ рд╡реНрдпрд╛рдкрдХ рд░реВрдкрдорд╛ рд╣реЗрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдпреЛ рдХреБрдиреИ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЗрди рдЬреБрди рддреНрдпрд╣рд╛рдБ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдареЛрд╕, рдпреЛ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ CFM рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдЫ, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдЕрд░реНрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдорд╛ рд╡рд┐рднрд┐рдиреНрди Java, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрднрд░, рдбрд╛рдЯрд╛рдмреЗрд╕, OS, рдЖрджрд┐ рдХреЛ рд╢реАрд░реНрд╖ рдорд╛ рдПрдХ рдмрд╛рдХрд╕ Java рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рдо рдердк рд╕рд┐рджреНрдзрд╛рдиреНрддрд╣рд░реВ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреЗрдЫреБ рдареЛрд╕
рд╣рд╛рдореНрд░реЛ рдХреЗрд╕рдорд╛, рддреНрдпрд╣рд╛рдБ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдЯреЛрд▓реА рднрд┐рддреНрд░ рдПрдЙрдЯрд╛ рд╕рдореНрдЭреМрддрд╛ рдЫ рдХрд┐ рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ imbjava рд╡рд╛ oraclejava рднреВрдорд┐рдХрд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗрдХрд╛ рдЫреМрдВ, рддрдм рд╣рд╛рдореАрд╕рдБрдЧ рдЬрд╛рднрд╛ рдмрд╛рдЗрдирд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рдЫред рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐рдирднрдиреЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рднреВрдорд┐рдХрд╛рд╣рд░реВ рдпрд╕ рд╡реНрдпрд╡рд╣рд╛рд░рдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреНрдЫрдиреН; рддрд┐рдиреАрд╣рд░реВ рдЬрд╛рднрд╛рдХреЛ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реНрдЫрдиреНред рдПрдХреИ рд╕рдордпрдорд╛, рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдбрд┐рдкреНрд▓реЛрдпрдореЗрдиреНрдЯ рддрд░реНрдХ рдкрд░рд┐рд╡рд░реНрддрди рдирдЧрд░реА рдПрдЙрдЯрд╛ рдЬрд╛рднрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди/рд╕рдВрд╕реНрдХрд░рдгрд▓рд╛рдИ рдЕрд░реНрдХреЛрд╕рдБрдЧ рдмрджрд▓реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рдпреЛ рддрдереНрдпрдорд╛ рдЫ рдХрд┐ рдпрд╕рд▓рд╛рдИ рдЬрд╡рд╛рдлрджреЗрд╣реАрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЕрд╕рдореНрднрд╡ рдЫ, рдЬрд╕рдХреЛ рдкрд░рд┐рдгрд╛рдо рд╕реНрд╡рд░реВрдк рдЯреЛрд▓реА рднрд┐рддреНрд░ рдХреЗрд╣реА рд╕рдореНрдЭреМрддрд╛рд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реНрдЫрдиреНред
рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рднрд╛рдЬрди рд╕рд┐рджреНрдзрд╛рдиреНрдд
рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╡рд┐рднрд╛рдЬрди рд╕рд┐рджреНрдзрд╛рдиреНрдд: "рдзреЗрд░реИ рдЧреНрд░рд╛рд╣рдХ-рд╡рд┐рд╢реЗрд╖ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рдЗрдиреНрдЯрд░рдлреЗрд╕ рднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рдЫрдиреНред
рдкреНрд░рд╛рд░рдореНрднрдорд╛, рд╣рд╛рдореАрд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯрдХреЛ рд╕рдмреИ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛рд▓рд╛рдИ рдПрдЙрдЯрд╛ рдЙрддреНрддрд░рджрд╛рдпреА рдкреНрд▓реЗрдмреБрдХрдорд╛ рд░рд╛рдЦреНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНтАНрдпреМрдВ, рддрд░ рдпрд╕рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдерд┐рдпреЛ, рд░ рдЬрдм рд╣рд╛рдореАрд╕рдБрдЧ рдмрд╛рд╣реНрдп рдЗрдиреНрдЯрд░рдлреЗрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реБрдиреНрдЫ (рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдкреЛрд░реНрдЯ 443 рдХреЛ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реНрджрдЫ), рддреНрдпрд╕рдкрдЫрд┐ рдПрдХ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╡реНрдпрдХреНрддрд┐рдЧрддрдмрд╛рдЯ рднреЗрд▓рд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рдИрдВрдЯрд╣рд░реВред
рдирд┐рд░реНрднрд░рддрд╛ рдЙрд▓реНрдЯреЛ рд╕рд┐рджреНрдзрд╛рдиреНрдд
рдирд┐рд░реНрднрд░рддрд╛ рдЙрд▓реНрдЯреЛ рд╕рд┐рджреНрдзрд╛рдиреНрддред рдЙрдЪреНрдЪ рд╕реНрддрд░рд╣рд░реВрдорд╛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рддрд▓реНрд▓реЛ рддрд╣рд╣рд░реВрдорд╛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреБ рд╣реБрдБрджреИрдиред рджреБрдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдЕрдореВрд░реНрддрд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреБрдкрд░реНрдЫред Abstractions рд╡рд┐рд╡рд░рдг рдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреБ рд╣реБрдБрджреИрдиред рд╡рд┐рд╡рд░рдгрд╣рд░реВ abstractions рдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреБрдкрд░реНрдЫред
рдпрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рдПрдХ antipattern рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╣реБрдиреЗрдЫред
- рдПрдХрдЬрдирд╛ рдЧреНрд░рд╛рд╣рдХрдХреЛ рдирд┐рдЬреА рдХреНрд▓рд╛рдЙрдб рдерд┐рдпреЛред
- рд╣рд╛рдореАрд▓реЗ рдХреНрд▓рд╛рдЙрдб рднрд┐рддреНрд░ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдЕрд░реНрдбрд░ рдЧрд░реНрдпреМрдВред
- рддрд░ рдХреНрд▓рд╛рдЙрдбрдХреЛ рдкреНрд░рдХреГрддрд┐рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рдПрдк рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ VM рдЕрди рднрдПрдХреЛ рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░рд╕рдБрдЧ рдЬреЛрдбрд┐рдПрдХреЛ рдерд┐рдпреЛред
рддреАред рдЙрдЪреНрдЪ-рд╕реНрддрд░рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рддрд░реНрдХ рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░рдХреЛ рддрд▓реНрд▓реЛ рддрд╣рдорд╛ рдирд┐рд░реНрднрд░рддрд╛рдХреЛ рд╕рд╛рде рдкреНрд░рд╡рд╛рд╣ рднрдпреЛ, рд░ рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рддрд░реНрдХ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдерд┐рдПред рдпрд╕рд░реА рдирдЧрд░реНрдиреБ рд╣реЛрд▓рд╛ред
рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛
рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рднрдиреЗрдХреЛ рдХреЛрдбрдХреЛ рдмрд╛рд░реЗрдорд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рдХреЛрдб рд░ рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдмреАрдЪрдХреЛ рд╕рдореНрдмрдиреНрдз, рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдмреАрдЪрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдирд┐ рд╣реЛред
рдмрд╕ рдХрд╛рд░рдХ
рдорд╛рдиреМрдВ рдХрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рддрдкрд╛рдЗрдБрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛVasya рдЫред Vasya рд▓рд╛рдИ рддрдкрд╛рдИрдХреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдмрд╛рд░реЗ рд╕рдмреИ рдерд╛рд╣рд╛ рдЫ, рдпрджрд┐ Vasya рдЕрдЪрд╛рдирдХ рдЧрд╛рдпрдм рднрдпреЛ рднрдиреЗ рдХреЗ рд╣реБрдиреЗрдЫ? рдпреЛ рдПрдХрджрдореИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрд╡рд╕реНрдерд╛ рд╣реЛ, рдХрд┐рдирдХрд┐ рдЙрд╕рд▓рд╛рдИ рдмрд╕рд▓реЗ рдардХреНрдХрд░ рджрд┐рди рд╕рдХреНрдЫред рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдпрд╕реНрддреЛ рд╣реБрдиреНрдЫред рдпрджрд┐ рдпреЛ рд╣реБрдиреНрдЫ рд░ рдХреЛрдб, рдпрд╕рдХреЛ рд╕рдВрд░рдЪрдирд╛, рдпрд╕рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ, рдЙрдкрд╕реНрдерд┐рддрд┐ рд░ рдкрд╛рд╕рд╡рд░реНрдбрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЯреЛрд▓реАрдорд╛ рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫреИрди рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдзреЗрд░реИ рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреА рдЬреЛрдЦрд┐рдорд╣рд░реВрд▓рд╛рдИ рдХрдо рдЧрд░реНрди рд░ рдЯреЛрд▓реА рднрд┐рддреНрд░ рдЬреНрдЮрд╛рди рд╡рд┐рддрд░рдг рдЧрд░реНрди, рддрдкрд╛рдИрдВ рд╡рд┐рднрд┐рдиреНрди рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
рдЬреЛрдбреА Devopsing
рдпреЛ рдЬрд╕реНрддреЛ рдЫреИрди
рдЕрд░реНрдХреЛ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рдШрдЯрдирд╛ рдХрд▓ рд╣реЛред рд╕рдорд╕реНрдпрд╛рдХреЛ рдмреЗрд▓рд╛, рдбреНрдпреВрдЯреАрдорд╛ рд░ рд╕рдВрд▓рдЧреНрди рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдХреЛ рд╕рдореВрд╣ рднреЗрд▓рд╛ рд╣реБрдиреНрдЫ, рдПрдХ рдиреЗрддрд╛ рдирд┐рдпреБрдХреНрдд рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдЖрдлреНрдиреЛ рд╕реНрдХреНрд░рд┐рди рд╕рд╛рдЭрд╛ рдЧрд░реНрджрдЫ рд░ рд╡рд┐рдЪрд╛рд░рдХреЛ рд░реЗрд▓рд▓рд╛рдИ рдЖрд╡рд╛рдЬ рджрд┐рдиреНрдЫред рдЕрдиреНрдп рд╕рд╣рднрд╛рдЧреАрд╣рд░реВрд▓реЗ рдиреЗрддрд╛рдХрд╛ рд╡рд┐рдЪрд╛рд░рд╣рд░реВ рдкрдЫреНрдпрд╛рдЙрдБрдЫрдиреН, рдХрдиреНрд╕реЛрд▓рдмрд╛рдЯ рдпреБрдХреНрддрд┐рд╣рд░реВрдорд╛ рдЬрд╛рд╕реВрд╕реА рдЧрд░реНрдЫрдиреН, рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рд▓рдЧрдорд╛ рдХреБрдиреИ рд░реЗрдЦрд╛ рдЫреБрдЯреЗрдХрд╛ рдЫреИрдирдиреН, рд░ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдмрд╛рд░реЗрдорд╛ рдирдпрд╛рдБ рдХреБрд░рд╛рд╣рд░реВ рд╕рд┐рдХреНрдиреБрд╣реЛрд╕реНред рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рднрдиреНрджрд╛ рдзреЗрд░реИ рдкрдЯрдХ рдХрд╛рдо рдЧрд░реНрдпреЛред
рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛
рд╡рд┐рд╖рдпрдЧрдд рд░реВрдкрдорд╛, рдпреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬреНрдЮрд╛рди рдлреИрд▓рд╛рдЙрди рд░ рдпрд╕рд▓реЗ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдЕрдЭ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рдерд┐рдпреЛ:
- рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рднрдгреНрдбрд╛рд░рдорд╛ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫред
- рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЫреБрдЯреНрдЯреИ рд╢рд╛рдЦрд╛рдорд╛ рд╣реБрдиреНрдЫрдиреНред
- рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзрдХреЛ рдХреНрд░рдордорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рднрдПрдХрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рдбреЗрд▓реНрдЯрд╛ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рдпрд╣рд╛рдБ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдпреЛ рдерд┐рдпреЛ рдХрд┐ рд╕рдореАрдХреНрд╖рдХрд╣рд░реВ рдПрдХ рдПрдХ рдЧрд░реЗрд░ рдЪрдпрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдЕрдиреБрд╕рд╛рд░, рдЕрд░реНрдерд╛рддреНред рдХреЗрд╣реА рд╣рджрд╕рдореНрдо рд╕рдореНрднрд╛рд╡рдирд╛рдХреЛ рд╕рд╛рде рддрдкрд╛рдИрдВ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХреЛ рдирдпрд╛рдБ рдЯреБрдХреНрд░рд╛рдорд╛ рдЪрдвреНрдиреБрд╣реБрдиреЗрдЫред
рдХреЛрдб рд╢реИрд▓реА
рд╕рдордп рдмрд┐рддреНрджреИ рдЬрд╛рдБрджрд╛, рдЭрдЧрдбрд╛рд╣рд░реВ рд╕рдореАрдХреНрд╖рд╛рд╣рд░реВрдорд╛ рджреЗрдЦрд╛ рдкрд░реНрди рдерд╛рд▓реЗ, рдХрд┐рдирднрдиреЗ ... рд╕рдореАрдХреНрд╖рдХрд╣рд░реВрдХреЛ рдЖрдлреНрдиреИ рд╢реИрд▓реА рдерд┐рдпреЛ рд░ рд╕рдореАрдХреНрд╖рдХрд╣рд░реВрдХреЛ рд░реЛрдЯреЗрд╢рдирд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рд╢реИрд▓реАрд╣рд░реВ: 2 рдЦрд╛рд▓реА рдард╛рдЙрдБрд╣рд░реВ рд╡рд╛ 4, camelCase рд╡рд╛ snake_case рдмрдирд╛рдПред рдпрд╕рд▓рд╛рдИ рддрддреНрдХрд╛рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХрд┐рдПрди ред
- рдкрд╣рд┐рд▓реЛ рд╡рд┐рдЪрд╛рд░ рд▓рд┐рдиреНрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдиреЗ рдерд┐рдпреЛ, рдЖрдЦрд┐рд░, рд╕рдмреИ рдПрдХ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░ рд╣реЛ, рд╕рдмреИ рд╕реНрдорд╛рд░реНрдЯ рдЫрдиреНред рддрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдореНрдкрд╛рджрдХрд╣рд░реВ, рдУрдПрд╕, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫреИрдирдиреН
- рдпреЛ рдПрдХ рдмреЛрдЯрдорд╛ рд╡рд┐рдХрд╕рд┐рдд рднрдпреЛ рдЬрд╕рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдХрдорд┐рдЯрдХреЛ рд▓рд╛рдЧрд┐ рдврд┐рд▓реЛ рдЧрд░реНрди рд▓реЗрдЦреНрдпреЛ рд░ рд▓рд┐рдиреНрдЯрд░ рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрд▓рдЧреНрди рдЧрд░реНрдпреЛред рддрд░ рдзреЗрд░реИ рдЬрд╕реЛ рдорд╛рдорд┐рд▓рд╛рд╣рд░реВрдорд╛ рддреНрдпрд╣рд╛рдБ рдЧрд░реНрди рдердк рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬрд╣рд░реВ рдерд┐рдП рд░ рдХреЛрдб рдЕрдирдлрд┐рдХреНрд╕ рд░рд╣реНрдпреЛред
рд╣рд░рд┐рдпреЛ рдирд┐рд░реНрдорд╛рдг рдорд╛рд╕реНрдЯрд░
рд╕рдордп рдмрд┐рддреНрдЫ, рд░ рд╣рд╛рдореА рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдкреБрдЧреЗрдХрд╛ рдЫреМрдВ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдкрд╛рд╕ рдирдЧрд░реНрдиреЗ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рд▓рд╛рдИ рдорд╛рд╕реНрдЯрд░рдорд╛ рдЕрдиреБрдорддрд┐ рджрд┐рди рд╕рдХрд┐рдБрджреИрдиред рднреЛрдЗрд▓рд╛! рд╣рд╛рдореАрд▓реЗ рдЧреНрд░реАрди рдмрд┐рд▓реНрдб рдорд╛рд╕реНрдЯрд░ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░реНрдпреМрдВ, рдЬреБрди рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕рдорд╛ рдЕрднреНрдпрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ рдЫ:
- рдЫреБрдЯреНрдЯреИ рд╢рд╛рдЦрд╛рдорд╛ рд╡рд┐рдХрд╛рд╕ рднрдЗрд░рд╣реЗрдХреЛ рдЫ ред
- рдпрд╕ рдереНрд░реЗрдбрдорд╛ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЪрд▓рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреНред
- рдпрджрд┐ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЕрд╕рдлрд▓ рднрдПрдорд╛, рдХреЛрдбрд▓реЗ рдпрд╕рд▓рд╛рдИ рдорд╛рд╕реНрдЯрд░рдорд╛ рдмрдирд╛рдЙрдБрджреИрдиред
рдпреЛ рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреБ рдирд┐рдХреИ рдкреАрдбрд╛рджрд╛рдпреА рдерд┐рдпреЛ, рдХрд┐рдирдХрд┐... рдзреЗрд░реИ рд╡рд┐рд╡рд╛рдж рдЙрддреНрдкрдиреНрди рднрдпреЛ, рддрд░ рдпреЛ рдпрд╕рдХреЛ рд▓рд╛рдпрдХ рдерд┐рдпреЛ, рдХрд┐рдирдХрд┐ ... рд╕рдореАрдХреНрд╖рд╛рд╣рд░реВрд▓реЗ рд╢реИрд▓реАрдорд╛ рднрд┐рдиреНрдирддрд╛ рдмрд┐рдирд╛ рдорд░реНрдЬрд░рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдерд╛рд▓реЗ, рд░ рд╕рдордпрд╕рдБрдЧреИ рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯреНрди рдерд╛рд▓реНрдпреЛред
IaC рдкрд░реАрдХреНрд╖рдг
рд╢реИрд▓реА рдЬрд╛рдБрдЪрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рддрдкрд╛рдЗрдБ рдЕрдиреНрдп рдЪреАрдЬрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБрдХреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрди рд╕рдХреНрдЫ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрдиред рд╡рд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓реЗ рдкреИрд╕рд╛рдХреЛ рдиреЛрдХреНрд╕рд╛рдирдХреЛ рдиреЗрддреГрддреНрд╡ рдЧрд░реНрджреИрдиред рдпреЛ рдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рд╣реБрди рд╕рдХреНрдЫ? рдкреНрд░рд╢реНрди рдЬрдЯрд┐рд▓ рд░ рджрд╛рд░реНрд╢рдирд┐рдХ рдЫ, рдпреЛ рдХрдерд╛рдХреЛ рд╕рд╛рде рдЬрд╡рд╛рдл рджрд┐рди рд░рд╛рдореНрд░реЛ рдЫ рдХрд┐ рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ Powershell рдорд╛ рдПрдХ рдЕрдЯреЛ-рд╕реНрдХреЗрд▓рд░ рдерд┐рдпреЛ рдЬрд╕рд▓реЗ рд╕реАрдорд╛ рдЕрд╡рд╕реНрдерд╛рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реЗрди => рдЖрд╡рд╢реНрдпрдХ рднрдиреНрджрд╛ рдмрдвреА VM рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдпреЛ => рдЧреНрд░рд╛рд╣рдХрд▓реЗ рдпреЛрдЬрдирд╛ рднрдиреНрджрд╛ рдмрдвреА рдкреИрд╕рд╛ рдЦрд░реНрдЪ рдЧрд░реНрдпреЛред рдпреЛ рдзреЗрд░реИ рд╕реБрдЦрдж рдЫреИрди, рддрд░ рдпреЛ рдкрд╣рд┐рд▓реЗрдХрд╛ рдЪрд░рдгрд╣рд░реВрдорд╛ рдпреЛ рддреНрд░реБрдЯрд┐ рд╕рдорд╛рддреНрди рдзреЗрд░реИ рд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫред
рдХрд╕реИрд▓реЗ рд╕реЛрдзреНрди рд╕рдХреНрдЫ, рдЬрдЯрд┐рд▓ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд▓рд╛рдИ рдХрд┐рди рдЭрдиреИ рдЬрдЯрд┐рд▓ рдмрдирд╛рдЙрдиреЗ ? рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХрд╛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ, рдХреЛрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╕реНрддреИ, рд╕рд░рд▓реАрдХрд░рдгрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛрдЗрди, рддрд░ рддрдкрд╛рдЗрдБрдХреЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрдЫ рднрдиреЗрд░ рдЬрд╛рдиреНрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛред
IaC рдкрд░реАрдХреНрд╖рдг рдкрд┐рд░рд╛рдорд┐рдб
IaC рдкрд░реАрдХреНрд╖рдг: рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдпрджрд┐ рддрдкрд╛рдЗрдБ рдПрдХреИрдЪреЛрдЯрд┐ рд╕рдореНрдкреВрд░реНрдг рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрдиреБрднрдпреЛ рд░ рдпреЛ рдХрд╛рдо рдЧрд░реНрджрдЫ рдХрд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдпреЛ рдзреЗрд░реИ рд╕рдордп рд▓рд┐рдиреНрдЫ рд░ рдзреЗрд░реИ рд╕рдордп рдЪрд╛рд╣рд┐рдиреНрдЫ рднрдиреЗрд░ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд╕рд░реНрде, рдЖрдзрд╛рд░ рдЪрд╛рдБрдбреИ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЪреАрдЬ рд╣реБрдиреБрдкрд░реНрдЫ, рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЫ, рд░ рдпрд╕рд▓реЗ рдзреЗрд░реИ рдЖрджрд┐рдо рдард╛рдЙрдБрд╣рд░реВ рд╕рдореЗрдЯреНрдЫред
рдмрд╛рд╕ рдХрдард┐рди рдЫ
рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рдЙрджрд╛рд╣рд░рдг рд╣реЗрд░реМрдВред рд╣рд╛рд▓рдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХрд╛ рд╕рдмреИ рдлрд╛рдЗрд▓рд╣рд░реВ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЕрд░реНрдХреЛ рд╕реНрдерд╛рдирдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рджрд┐рдорд╛рдЧрдорд╛ рдЖрдЙрдиреЗ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛:
for i in * ; do
cp $i /some/path/$i.bak
done
рдлрд╛рдЗрд▓ рдирд╛рдо рдорд╛ рдЦрд╛рд▓реА рдард╛рдЙрдБ рдЫ рднрдиреЗ рдХреЗ рд╣реБрдиреНрдЫ? рдареАрдХ рдЫ, рд╣рд╛рдореА рд╕реНрдорд╛рд░реНрдЯ рдЫреМрдВ, рд╣рд╛рдореАрд▓рд╛рдИ рдЙрджреНрдзрд░рдгрд╣рд░реВ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдерд╛рд╣рд╛ рдЫ:
for i in * ; do cp "$i" "/some/path/$i.bak" ; done
рд░рд╛рдореНрд░реЛ рдХрд╛рдо? рд╣реЛрдЗрди! рдпрджрд┐ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдХреЗрд╣рд┐ рдЫреИрди рднрдиреЗ рдХреЗ рд╣реБрдиреНрдЫ, рдЕрд░реНрдерд╛рддреН рдЧреНрд▓реЛрдмрд┐рдЩрд▓реЗ рдХрд╛рдо рдЧрд░реНрджреИрдиред
find . -type f -exec mv -v {} dst/{}.bak ;
рд░рд╛рдореНрд░реЛ рднрдпреЛ рдЕрдм? рд╣реЛрдЗрди... рдлрд╛рдЗрд▓ рдирд╛рдордорд╛ рдХреЗ рд╣реБрди рд╕рдХреНрдЫ рдмрд┐рд░реНрд╕рдиреБрднрдпреЛ n
.
touch x
mv x "$(printf "foonbar")"
find . -type f -print0 | xargs -0 mv -t /path/to/target-dir
рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг
рдЕрдШрд┐рд▓реНрд▓реЛ рдЪрд░рдгрдХреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рддреНрди рд╕рдХрд┐рдиреНрдЫ рдЬрдм рд╣рд╛рдореАрд▓реЗ рдЙрджреНрдзрд░рдгрд╣рд░реВ рдмрд┐рд░реНрд╕рдиреНрдЫреМрдВ, рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдХреГрддрд┐рдорд╛ рдзреЗрд░реИ рдЙрдкрд╛рдпрд╣рд░реВ рдЫрдиреНред
рднрд╛рд╖рд╛
рдЙрдкрдХрд░рдг
рдмрд╛рд╢
рд░реВрдмреА
рдЕрдЬрдЧрд░
рдЙрддреНрддрд░рджрд╛рдпреА
IaC рдкрд░реАрдХреНрд╖рдг: рдПрдХрд╛рдЗ рдкрд░реАрдХреНрд╖рдг
рд╣рд╛рдореАрд▓реЗ рдЕрдШрд┐рд▓реНрд▓реЛ рдЙрджрд╛рд╣рд░рдгрдмрд╛рдЯ рджреЗрдЦреНрдпреМрдВ, рд▓рд┐рдиреНрдЯрд╣рд░реВ рд╕рд░реНрд╡рд╢рдХреНрддрд┐рдорд╛рди рдЫреИрдирдиреН рд░ рд╕рдмреИ рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рдФрдВрд▓реНрдпрд╛рдЙрди рд╕рдХреНрджреИрдирдиреНред рдпрд╕рдмрд╛рд╣реЗрдХ, рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕рдорд╛ рдкрд░реАрдХреНрд╖рдгрд╕рдБрдЧ рд╕рдорд╛рдирддрд╛рджреНрд╡рд╛рд░рд╛, рд╣рд╛рдореА рдПрдХрд╛рдЗ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рд╕рдореНрдЭрди рд╕рдХреНрдЫреМрдВред рддреБрд░реБрдиреНрддреИ рдордирдорд╛ рдХреЗ рдЖрдЙрдБрдЫ
рд╕реБрд░реБрдорд╛ рд╣рд╛рдореАрд▓реЗ рдХреБрд░рд╛ рдЧрд░реНрдпреМрдВ рдареЛрд╕ рд░ рд╣рд╛рдореНрд░реЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рд╕рд╛рдирд╛ рдЗрдБрдЯрд╛рд╣рд░реВ рд╣реБрдиреБрдкрд░реНрдЫред рдЙрдиреАрд╣рд░реБрдХреЛ рдкрд╛рд▓реЛ рдЖрдПрдХреЛ рдЫ ред
- рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд▓рд╛рдИ рд╕рд╛рдирд╛ рдЗрдЯреНрдЯрд╛рд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛рд╣рд░реВред
- рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рд╡рд╛рддрд╛рд╡рд░рдг рддреИрдирд╛рде рдЧрд░рд┐рдПрдХреЛ рдЫ, рдпреЛ рдбрдХрд░ рд╣реЛрд╕реН рд╡рд╛ VMред
- рд╣рд╛рдореА рдпрд╕ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд╣рд╛рдореНрд░реЛ рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдЫреМрдВред
- рд╣рд╛рдореА рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдмреИ рдХрд╛рдо рднрдпреЛ (рд╣рд╛рдореА рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЪрд▓рд╛рдЙрдБрдЫреМрдВ)ред
- рд╣рд╛рдореА рдареАрдХ рдЫ рдХрд┐ рдЫреИрди рдирд┐рд░реНрдгрдп рдЧрд░реНрдЫреМрдВред
IaC рдкрд░реАрдХреНрд╖рдг: рдПрдХрд╛рдЗ рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг
рдкреНрд░рд╢реНрди, CFM рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдХреЗ рд╣реБрдиреН? рддрдкрд╛рдЗрдБ рдХреЗрд╡рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╡рд╛ рддрдкрд╛рдЗрдБ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:
CFM
рдЙрдкрдХрд░рдг
рдЕрдЬреНрдЮрд╛рдд
рд╕реЗрдл
рд╕реЗрдл
рд╕рд╛рд▓реНрдЯ рд╕реНрдЯреНрдпрд╛рдХ
testinfra рдХреЛ рд▓рд╛рдЧрд┐ рдЙрджрд╛рд╣рд░рдг, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ test1
, test2
рдЕрд╡рд╕реНрдерд┐рдд рд░ рд╕рдореВрд╣рдорд╛ рдЫрдиреН sshusers
:
def test_default_users(host):
users = ['test1', 'test2' ]
for login in users:
assert host.user(login).exists
assert 'sshusers' in host.user(login).groups
рдХреЗ рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ? рдкреНрд░рд╢реНрди рдЬрдЯрд┐рд▓ рд░ рдЕрд╕реНрдкрд╖реНрдЯ рдЫ, рдпрд╣рд╛рдБ 2018-2019 рдХреЛ рд▓рд╛рдЧрд┐ github рдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реБ рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЫ:
IaC рдкрд░реАрдХреНрд╖рдг рдлреНрд░реЗрдорд╡рд░реНрдХ
рдкреНрд░рд╢реНрди рдЙрдареНрдЫ: рдпреЛ рд╕рдмреИ рдПрдХрд╕рд╛рде рд░рд╛рдЦреНрдиреЗ рд░ рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рд╕реБрд░реБ рдЧрд░реНрдиреЗ? рд╕рдХреНрдЫ
CFM
рдЙрдкрдХрд░рдг
рдЕрдЬреНрдЮрд╛рдд
рд╕реЗрдл
рдЯреНрд░рд╛рдлрд░реНрдо
2018-2019 рдХреЛ рд▓рд╛рдЧрд┐ github рдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реБ рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЙрджрд╛рд╣рд░рдг:
рдЕрдгреБ рдмрдирд╛рдо рдЯреЗрд╕реНрдЯ рдХрд┐рдЪреЗрди
рд╕реБрд░реБрдорд╛ рд╣рд╛рдореАрд▓реЗ
- рд╕рдорд╛рдирд╛рдиреНрддрд░рдорд╛ VM рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
- рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
- рдирд┐рд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реНред
25-35 рднреВрдорд┐рдХрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕рд▓реЗ 40-70 рдорд┐рдиреЗрдЯ рдХрд╛рдо рдЧрд░реНрдпреЛ, рдЬреБрди рд▓рд╛рдореЛ рдерд┐рдпреЛред
рдЕрд░реНрдХреЛ рдЪрд░рдг рдЬреЗрдирдХрд┐рдиреНрд╕/рдбрдХрд░/рдПрдиреНрд╕рд┐рдмрд▓/рдореЛрд▓рд┐рдХреНрдпреБрд▓рдорд╛ рд╕рдВрдХреНрд░рдордг рдерд┐рдпреЛред рд╡реИрдЪрд╛рд░рд┐рдХ рд╣рд┐рд╕рд╛рдмрд▓реЗ рд╕рдмреИ рдПрдЙрдЯреИ рд╣реЛ
- рд▓рд┐рдиреНрдЯ рдкреНрд▓реЗрдмреБрдХрд╣рд░реВред
- рднреВрдорд┐рдХрд╛рд╣рд░реВ рдкрдЩреНрдХреНрддрд┐рдмрджреНрдз рдЧрд░реНрдиреБрд╣реЛрд╕реНред
- рдХрдиреНрдЯреЗрдирд░ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН
- рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
- testinfra рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реНред
- рдЗрдбрдореНрдкреЛрдЯреЗрдиреНрд╕реА рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
40 рднреВрдорд┐рдХрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд▓рд┐рдиреНрдЯрд┐рдЩ рд░ рдПрдХ рджрд░реНрдЬрдирдХрд╛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рд▓рдЧрднрдЧ 15 рдорд┐рдиреЗрдЯ рд▓рд┐рди рдерд╛рд▓реЗред
рдХреЗ рдЫрдиреМрдЯ рдЧрд░реНрдиреЗ рдзреЗрд░реИ рдХрд╛рд░рдХрд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫ, рдЬрд╕реНрддреИ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдЯреНрдпрд╛рдХ, рдЯреЛрд▓реАрдорд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛, рдЖрджрд┐ред рдпрд╣рд╛рдБ рд╕рдмреИрд▓реЗ рдПрдХрд╛рдЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рд╢реНрди рдХрд╕рд░реА рдмрдиреНрдж рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдЖрдлреИ рдирд┐рд░реНрдгрдп рдЧрд░реНрдЫрдиреН
IaC рдкрд░реАрдХреНрд╖рдг: рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг
рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдкрд┐рд░рд╛рдорд┐рдбрдорд╛ рдЕрд░реНрдХреЛ рдЪрд░рдг рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд╣реБрдиреЗрдЫред рддрд┐рдиреАрд╣рд░реВ рдПрдХрд╛рдЗ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЬрд╕реНрддреИ рдЫрдиреН:
- рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд▓рд╛рдИ рд╕рд╛рдирд╛ рдЗрдБрдЯрд╛рд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛рд╣рд░реВред
- рдХреБрдиреИ рдкреНрд░рдХрд╛рд░рдХреЛ рд╡рд╛рддрд╛рд╡рд░рдг рддреИрдирд╛рде рдЧрд░рд┐рдПрдХреЛ рдЫ, рдпреЛ рдбрдХрд░ рд╣реЛрд╕реН рд╡рд╛ VMред
- рдпрд╕ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡реЗрджрди рджрд┐рдиреБрд╣реЛрд╕реН рдХреЛ рдЧреБрдЪреНрдЫрд╛ рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛рд╣рд░реВред
- рд╣рд╛рдореА рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдмреИ рдХрд╛рдо рднрдпреЛ (рд╣рд╛рдореА рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЪрд▓рд╛рдЙрдБрдЫреМрдВ)ред
- рд╣рд╛рдореА рдареАрдХ рдЫ рдХрд┐ рдЫреИрди рдирд┐рд░реНрдгрдп рдЧрд░реНрдЫреМрдВред
рдореЛрдЯреЗ рд░реВрдкрдорд╛ рдмреЛрд▓реНрджрд╛, рд╣рд╛рдореА рдПрдХрд╛рдЗ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрдорд╛ рдЬрд╕реНрддреИ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рддрддреНрд╡рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдЬрд╛рдБрдЪ рдЧрд░реНрджреИрдиреМрдВ, рд╣рд╛рдореА рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВ рдХрд┐ рдХрд╕рд░реА рд╕рд░реНрднрд░ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫред
IaC рдкрд░реАрдХреНрд╖рдг: рдЕрдиреНрддреНрдпрджреЗрдЦрд┐ рдЕрдиреНрддреНрдп рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ
рдкрд┐рд░рд╛рдорд┐рдбрдХреЛ рд╢реАрд░реНрд╖рдорд╛ рд╣рд╛рдореАрд▓рд╛рдИ рдЕрдиреНрддрджреЗрдЦрд┐ рдЕрдиреНрддреНрдп рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рд╛рдЧрдд рдЧрд░рд┐рдиреНрдЫред рддреАред рд╣рд╛рдореА рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрднрд░, рдПрдХ рдЕрд▓рдЧ рд▓рд┐рдкрд┐, рд╡рд╛ рд╣рд╛рдореНрд░реЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдИрдВрдЯ рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЬрд╛рдБрдЪ рдЧрд░реНрджреИрдиреМрдВред рд╣рд╛рдореА рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВ рдХрд┐ рдзреЗрд░реИ рд╕рд░реНрднрд░рд╣рд░реВ рд╕рдБрдЧреИ рдЬреЛрдбрд┐рдПрдХрд╛ рдЫрдиреН, рд╣рд╛рдореНрд░реЛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд▓реЗ рд╣рд╛рдореАрд▓реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдЧрд░реНрджрдЫред рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдореИрд▓реЗ рддрдпрд╛рд░-рдмрдирд╛рдПрдХреЛ рдмрдХреНрд╕ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдХрд╣рд┐рд▓реНрдпреИ рджреЗрдЦреЗрдХреЛ рдЫреИрди, рд╕рд╛рдпрдж рдХрд┐рдирднрдиреЗ... рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдкреНрд░рд╛рдп: рдЕрджреНрд╡рд┐рддреАрдп рд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЧрд░реНрди рд░ рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд╕рдмреИрд▓реЗ рдЖрдлреНрдиреИ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫрдиреНред рдорд╛рдЧ рдЫ, рддрд░ рдЬрд╡рд╛рдл рдЫреИрди ред рддреНрдпрд╕рдХрд╛рд░рдг, рдо рддрдкрд╛рдИрд▓рд╛рдИ рдмрддрд╛рдЙрдиреЗрдЫреБ рдХрд┐ рдЕрд░реВрд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░рдорд╛ рдзрдХреЗрд▓реНрди рд╡рд╛ рдореЗрд░реЛ рдирд╛рдХ рд░рдЧрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рддреНрдпрд╣рд╛рдБ рдХреЗ рдЫ рдХрд┐ рд╕рдмреИ рдХреБрд░рд╛ рд╣рд╛рдореА рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред
рдПрдХ рд╕рдореГрджреНрдз рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдЧ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ред рдпреЛ рдареВрд▓рд╛ рд╕рдВрдЧрдардирд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рд░ рд╕рд╛рдпрдж рддрдкрд╛рдИрдВ рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ рдпрд╕рдХреЛ рд╕рд╛рде рдорд╛рд░реНрдЧрд╣рд░реВ рдкрд╛рд░ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫред рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ рдзреЗрд░реИ рдбрд╛рдЯрд╛рдмреЗрд╕, рдПрдХреАрдХрд░рдг, рдЖрджрд┐ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рднрдиреНрдиреЗ рдерд╛рд╣рд╛ рдкрд╛рдЙрдиреБ рднрдиреЗрдХреЛ рдзреЗрд░реИ рдбрдХрд░-рдХрдореНрдкреЛрдЬ рдлрд╛рдЗрд▓рд╣рд░реВ рд╣реЛ, рд░ рдХреБрди рдкрд░рд┐рд╡реЗрд╢рдорд╛ рдЪрд▓реНрдиреЗ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЬреЗрдирдХрд┐рдиреНрд╕ рд╣реЛ рднрдиреЗрд░ рдЬрд╛рдиреНрдиреБред
рдпреЛ рдпреЛрдЬрдирд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рднрд┐рддреНрд░ рд╕рдореНрдо, рдзреЗрд░реИ рд▓рд╛рдореЛ рд╕рдордп рдХреЛ рд▓рд╛рдЧреА рдХрд╛рдо рдЧрд░реНрдпреЛ
рдЕрдиреБрд╕рдиреНрдзрд╛рди рд╡рд┐рдЪрд╛рд░ рдЕрдЧрд╛рдбреА рдмрдвреНрдпреЛ, рд░ рдУрдкрдирд╢рд┐рдлреНрдЯрдорд╛ рдЙрдиреАрд╣рд░реВрд▓реЗ APB (Ansible Playbook Bundle) рдЬрд╕реНрддрд╛ рдХреБрд░рд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реЗ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрдиреНрдЯреЗрдирд░рдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдХрд╕рд░реА рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдЬреНрдЮрд╛рди рдкреНрдпрд╛рдХ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рддреАред рддреНрдпрд╣рд╛рдБ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдЬреНрдЮрд╛рдирдХреЛ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрди рд╕рдХрд┐рдиреЗ, рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рдмрд┐рдиреНрджреБ рдЫред
рдпреЛ рд╕рдмреИ рд░рд╛рдореНрд░реЛ рд▓рд╛рдЧреНрдереНрдпреЛ рдЬрдмрд╕рдореНрдо рд╣рд╛рдореА рдПрдХ рд╡рд┐рд╖рдо рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рдкреБрдЧреНрджреИрдиреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ Windows рдЪрд╛рд╣рд┐рдиреНрдЫред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рдХреЗ, рдХрд╣рд╛рдБ, рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ, рд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдиреЗ рдЬреНрдЮрд╛рди рдЬреЗрдиреНрдХрд┐рдиреНрд╕рдорд╛ рдЫред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рдВрд╣рд┐рддрд╛ рдЕрдиреБрд╕рд╛рд░ рдкреВрд░реНрд╡рд╛рдзрд╛рд░
- рднрдгреНрдбрд╛рд░рдорд╛ рдХреЛрдбред
- рдорд╛рдирд╡ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ред
- рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдкрд░реАрдХреНрд╖рдгред
рд▓рд┐рдВрдХ
рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдВрд╕реНрдХрд░рдг рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмреНрд▓рдЧрдмрд╛рдЯ рдХреНрд░рд╕ рдкреЛрд╕реНрдЯ - рдбреНрд░рд╛рдИ рд░рди 2019-04-24
SpbLUG рднрд┐рдбрд┐рдпреЛ(RU) DevopsConf 2019-05-28 рдмрд╛рдЯ рднрд┐рдбрд┐рдпреЛ(RU) DINS DevOps EVENING 2019-06-20 рдмрд╛рдЯ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╕рдВрд╣рд┐рддрд╛рдХреЛ 300,000 рднрдиреНрджрд╛ рдмрдвреА рд▓рд╛рдЗрдирд╣рд░реВ рд▓реЗрдЦреЗрд░ рд╕рд┐рдХреЗрдХрд╛ рдкрд╛рдард╣рд░реВ &рдкрд╛рда рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рдирд┐рд░рдиреНрддрд░ рдбреЗрд▓рд┐рднрд░реА рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдорд╛ рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдПрдХреАрдХреГрдд рдЧрд░реНрджреИ рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрджреИ рдЙрддреНрддрд░рджрд╛рдпреА рднреВрдорд┐рдХрд╛рд╣рд░реВрдХреЛ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рд╡рд┐рдХрд╛рд╕ рд░ рд░рдЦрд░рдЦрд╛рд╡ рдЬрд╡рд╛рдлрджреЗрд╣реА рдмрд╛рд╢ рд╣реЛрдЗрди!
рд╕реНрд░реЛрдд: www.habr.com