Slurm DevOps: Git рддреЗ SRE рдкрд░реНрдпрдВрдд рд╕рд░реНрд╡ рдерд╛рдВрдмреНрдпрд╛рдВрд╕рд╣

4-6 рд╕рдкреНрдЯреЗрдВрдмрд░ рд░реЛрдЬреА рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдпреЗрдереЗ, рд╕рд┐рд▓реЗрдХреНрдЯреЗрд▓ рдХреЙрдиреНрдлрд░рдиреНрд╕ рд╣реЙрд▓рдордзреНрдпреЗ, рддреАрди рджрд┐рд╡рд╕реАрдп Slurm DevOps.

Slurm DevOps: Git рддреЗ SRE рдкрд░реНрдпрдВрдд рд╕рд░реНрд╡ рдерд╛рдВрдмреНрдпрд╛рдВрд╕рд╣

DevOps рд╡рд░реАрд▓ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдХрд╛рд░реНрдпреЗ, рдЯреВрд▓реНрд╕рд╕рд╛рдареА рдореЕрдиреНрдпреБрдЕрд▓ рд╕рд╛рд░рдЦреА, рдкреНрд░рддреНрдпреЗрдХрдЬрдг рд╕реНрд╡рддрдГрд╣реВрди рд╡рд╛рдЪреВ рд╢рдХрддреЛ рдпрд╛ рдХрд▓реНрдкрдиреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрдореНрд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ. рдХреЗрд╡рд│ рдЕрдиреБрднрд╡ рдЖрдгрд┐ рд╕рд░рд╛рд╡ рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗрдд: рддреЗ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдЖрдгрд┐ рдХрд╛рдп рдХрд░реВ рдирдпреЗ рдпрд╛рдЪреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдЖрдгрд┐ рдЖрдкрдг рддреЗ рдХрд╕реЗ рдХрд░рддреЛ рдпрд╛рдмрджреНрджрд▓ рдПрдХ рдХрдерд╛.

рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдкрдиреА, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╢рд╛рд╕рдХ рдХрд┐рдВрд╡рд╛ рд╡рд┐рдХрд╛рд╕рдХрд╛рдЪреА рд╕реНрд╡рддрдГрдЪреА DevOps рдкрд╛рддрд│реА рдЕрд╕рддреЗ. рдХрд╛рд╣реА рд▓реЛрдХ Git рдЪреБрдХреАрдЪреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рд╡рд╛рдкрд░рддрд╛рдд, рддрд░ рдХрд╛рд╣реА рд▓реЛрдХ SRE рд▓рд╛рдЧреВ рдХрд░рддрд╛рдд. рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо рдЖрдпреЛрдЬрд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдХрд╛рд╣реАрддрд░реА рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдкрдбреЗрд▓ рдЬреЗ рдпреЗрдереЗ рдЖрдгрд┐ рдЖрддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рдЖрдореНрд╣реА Git рдиреЗ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рддреЛ, рдирдВрддрд░ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдкрд╛рд╣рддреЛ, рдХреЛрдб рдЖрдгрд┐ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреАрд▓ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж, CI/CD рддрдпрд╛рд░ рдХрд░рддреЛ, рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреЗ рдХреЛрдб (IaC) рдореНрд╣рдгреВрди рд╡рд░реНрдгрди рдХрд░рддреЛ, рдкрд░рд┐рдгрд╛рдореА рд╕рдорд╛рдзрд╛рдирд╛рдЪреА рдЪрд╛рдЪрдгреА рдХрд░рддреЛ, рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рддреЛ, рдиреЛрдВрджреА рдЧреЛрд│рд╛ рдХрд░рддреЛ рдЖрдгрд┐ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЛ рдЖрдгрд┐ рд╢реЗрд╡рдЯреА рдЖрдореНрд╣реА рдпреЗрддреЛ. SRE рд▓рд╛: рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддреЗрд▓рд╛ рдореЛрдЬрддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреНрдпрд╛ рдЖрдгрд┐ рдЖрдЯреЛрдкрд╢реАрд░ рдХрдереЗрдд рдмрджрд▓рдгреЗ.

Git

рдЖрдЬрдХрд╛рд▓, Git рд╡рд╛рдкрд░рдгрд╛рд░реЗ рдПрдХрдореЗрд╡ рд▓реЛрдХ рдЕрд╕реЗ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдВрдиреА рдХрд╛рд▓ рддреНрдпрд╛рдВрдЪрд╛ рдкрд╣рд┐рд▓рд╛ рд▓реЕрдкрдЯреЙрдк рд╡рд┐рдХрдд рдШреЗрддрд▓рд╛. рд╣реЗ рдПрдХ рдХреНрд╖реБрд▓реНрд▓рдХ рдЖрдгрд┐ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рд╕рд╛рдзрди рдЖрд╣реЗ, рдЖрдгрд┐ рддрд░реАрд╣реА рдЖрдкрдг рдЕрдиреЗрдХрджрд╛ рддреНрдпрд╛рдЪрд╛ рдЧреИрд░рд╡рд╛рдкрд░ рдкрд╛рд╣рддреЛ: рдорд╛рд╕реНрдЯрд░рд▓рд╛ рдзрдХреНрдХрд╛ рджреЗрдгреНрдпрд╛рдкрд╛рд╕реВрди рддреЗ Ctrl-C, Ctrl-V рджреНрд╡рд╛рд░реЗ Git рд╡рд░реВрди рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдлрд╛рдпрд▓реА рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рдкрд░реНрдпрдВрдд.

рддреБрдореНрд╣реА рддреЗ рдХрд╕реЗ рдХрд░реВ рдирдпреЗ, рддреБрдореНрд╣реА рддреЗ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ, рдЬрд╕реЗ рддреЗ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬрдордзреНрдпреЗ рдХрд░рддрд╛рдд рддрд╕реЗ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧрддреЛ.
рдЖрдореНрд╣реА рд╕рд░рд╛рд╡ рдХрд░рдд рдЖрд╣реЛрдд: рдЧреАрддреЗрдЪреА рдореВрд▓рддрддреНрддреНрд╡реЗ, рдЯреАрдорд╡рд░реНрдХ.

рд╡рд┐рд╖рдп #1: Git Basics

  • рдореВрд▓рднреВрдд рдХрдорд╛рдВрдб git init, рдХрдорд┐рдЯ, рдЕреЕрдб, рдбрд┐рдл, рд▓реЙрдЧ, рд╕реНрдЯреЗрдЯрд╕, рдкреБрд▓, рдкреБрд╢
  • Git рдкреНрд░рд╡рд╛рд╣, рд╢рд╛рдЦрд╛ рдЖрдгрд┐ рдЯреЕрдЧ, рд╡рд┐рд▓реАрдиреАрдХрд░рдг рдзреЛрд░рдгреЗ
  • рдПрдХрд╛рдзрд┐рдХ рд░рд┐рдореЛрдЯ рд░реЗрдкреЛрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ

рд╡рд┐рд╖рдп #2: Git рд╕рд╣ рдЯреАрдорд╡рд░реНрдХ

  • GitHub рдкреНрд░рд╡рд╛рд╣
  • рдХрд╛рдЯрд╛, рд░рд┐рдореЛрдЯ, рдкреБрд▓ рд╡рд┐рдирдВрддреА
  • рд╕рдВрдШрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд╛рдд Gitflow рдЖрдгрд┐ рдЗрддрд░ рдкреНрд░рд╡рд╛рд╣рд╛рдВрдмрджреНрджрд▓ рдкреБрдиреНрд╣рд╛ рдПрдХрджрд╛ рд╕рдВрдШрд░реНрд╖, рд░рд┐рд▓реАрдЭ

рд╕рд╛рд╣рд┐рддреНрдп рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрд╛рдорд╛рдд рд╕рд░реНрд╡ рдкрджреНрдзрддреА рддреНрд╡рд░рд┐рдд рд▓рд╛рдЧреВ рдХрд░реВ рд╢рдХрддреАрд▓.

DevOps рджреГрд╖реНрдЯреАрдХреЛрдирд╛рддреВрди, Git рд╕реЛрдмрдд рдпреЛрдЧреНрдп рдХрд╛рд░реНрдп рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдкреНрд░рд╢рд╛рд╕рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рддреЗ, рдЕрдиреЗрдХ рдЖрд╡рд░реНрддреА рд╕рдорд╕реНрдпрд╛ рджреВрд░ рдХрд░рддреЗ рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╡рд╛рдврд╡рддреЗ.

DevOps рд╡рд┐рдХрд╕рдХ

рдЖрдореНрд╣реА рдбреЗрд╡реНрд╣рд▓рдкрд░рдЪреНрдпрд╛ рдирдЬрд░реЗрддреВрди DevOps рдкрд╛рд╣рддреЛ: рдЖрдореНрд╣реА рд╕реНрдерд╛рдирд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рд▓рд╛рдБрдЪ рдХрд░рддреЛ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рд╣рд┐рддреЛ, рддреНрдпрд╛рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдЖрдгрд┐ рд▓реЙрдЧрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рддреЛ, рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рддреНрдпрд╛рдЪреА рдЪрд╛рдЪрдгреА рдХрд░рддреЛ, рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕/рдЧреБрдкреНрддреЗ рдЖрдгрд┐ рд╕реЗрд╡рд╛ рд╢реЛрдзрд╛рдВрдЪреЗ рд╕рдВрдЪрдпрди рдЖрдпреЛрдЬрд┐рдд рдХрд░рддреЛ, рдУрдкрдирдЯреНрд░реЗрд╕рд┐рдВрдЧ рдкрд╛рд╣рддреЛ.

рд╡рд┐рд╖рдп #3: рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ

  • рд╕реНрдерд╛рдирд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗрдЯ рдХрд░рдгреЗ: рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╢рд┐рдлрд╛рд░рд╕реА
  • рдкрд╛рдпрдердирдордзреНрдпреЗ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рд▓рд┐рд╣рд┐рдгреЗ (рдЪрд╛рдЪрдгреНрдпрд╛рдВрд╕рд╣)
  • рд╡рд┐рдХрд╛рд╕рд╛рдордзреНрдпреЗ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬ рд╡рд╛рдкрд░рдгреЗ

рд╡рд┐рд╖рдп #4: рдХреЛрдб рдЖрдгрд┐ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреАрд▓ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж

  • рдХреЙрдиреНрдлрд┐рдЧрдиреНрд╕рд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╕рд░рд╛рд╡ рдХрд░рд╛

рдкрд░рд┐рдгрд╛рдореА, рдХреЛрдбрдиреЗ рд▓реЙрдЧ рдХрд╕реЗ рдкрд╛рдард╡рд╛рдпрдЪреЗ, рддреНрдпрд╛рдЪреА рдЪрд╛рдЪрдгреА рдХрд╢реА рдХрд░рд╛рдпрдЪреА рдЖрдгрд┐ рднрд╡рд┐рд╖реНрдпрд╛рдд рддреЗ рдХрд╕реЗ рдбреАрдмрдЧ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓ рд╣реЗ рд╡рд┐рдХрд╕рдХ рдкрд╛рд╣рддреАрд▓. рдкреНрд░рд╢рд╛рд╕рдХ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреНрдпрд╛ рдЧрд░рдЬрд╛ рд╕рдордЬреВрди рдШреЗрддреАрд▓: рдХреЛрдбрдордзреНрдпреЗ рдХреЛрдгрддреНрдпрд╛ рддреНрд░реБрдЯреА рдЖрд╣реЗрдд, рд╡рд┐рдХрд╕рдХрд╛рдВрд╕рд╛рдареА рдЪрд╛рдЪрдгреА рдХрд╢реА рдЖрдпреЛрдЬрд┐рдд рдХрд░рд╛рд╡реА, рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рд╕реНрд╡рддрдГ рдЪрд╛рдЪрдгреА рдХрд╢реА рдХрд░рд╛рд╡реА.

рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, DevOps рдЪреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╕реЛрдбрд╡рд▓реЗ рдЬрд╛рддреЗ: рджреЗрд╡ рдЖрдгрд┐ Ops рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рдкрд░рд╕реНрдкрд░ рд╕рдордЬ рдЖрдгрд┐ рд╕рдВрдпреБрдХреНрдд рдХрд╛рд░реНрдп рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдЯрд╛рд╕реНрдХ-рд╢реЗрдЕрд░рд┐рдВрдЧрдХрдбреВрди рдЬрдмрд╛рдмрджрд╛рд░ рд╕рд╣рдХрд╛рд░реНрдпрд╛рдХрдбреЗ рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА рд╣реА рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдкрд╛рдпрд░реА рдЖрд╣реЗ.

рдкрд░рд┐рдгрд╛рдореА, рдХрд╛рдорд╛рдЪрд╛ рд╡реЗрдЧ рдЖрдгрд┐ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рдврддреЗ.

рд╕реАрдЖрдп / рд╕реАрдбреА

рдЖрдзреБрдирд┐рдХ рдСрдЯреЛрдореЗрд╢рдирдордзреНрдпреЗ CI/CD рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддреЛ. рдЖрдореНрд╣реА рдореЕрдиреНрдпреБрдЕрд▓ рдСрдЯреЛрдореЗрд╢рди рдмрдШреВрди рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВ: рдореЗрдХрдлрд╛рдИрд▓реНрд╕, рдЧрд┐рдереБрдХ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ. рд╣реА рд╕рд╛рдзрдиреЗ рдЕрдЬреВрдирд╣реА рдХрдзреА рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗрдд рдЖрдгрд┐ рддреА рдХрдзреА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рдирдпреЗрдд рддреЗ рдкрд╛рд╣реВ рдпрд╛.

рдордЧ рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди Gitlab рд╡рд╛рдкрд░реВрди рдЖрдзреБрдирд┐рдХ CI рдЪреНрдпрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдкрджреНрдзрддреА рдкрд╛рд╣реВ.

рд╡рд┐рд╖рдп #5: CI/CD рдСрдЯреЛрдореЗрд╢рдирдЪрд╛ рдкрд░рд┐рдЪрдп

  • рдСрдЯреЛрдореЗрд╢рдирдЪрд╛ рдкрд░рд┐рдЪрдп
  • рд╕рд╛рдзрдиреЗ (рдмреЕрд╢, рдореЗрдХ, рдЧреНрд░реЗрдбрд▓)
  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЧрд┐рдЯ-рд╣реБрдХ рд╡рд╛рдкрд░рдгреЗ
  • рдлреЕрдХреНрдЯрд░реА рдЕрд╕реЗрдВрдмреНрд▓реА рд▓рд╛рдИрдиреНрд╕ рдЖрдгрд┐ рдЖрдпрдЯреА рдордзреНрдпреЗ рддреНрдпрд╛рдВрдЪрд╛ рдЕрд░реНрдЬ
  • "рд╕рд╛рдорд╛рдиреНрдп" рдкрд╛рдЗрдкрд▓рд╛рдЗрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг
  • CI/CD рд╕рд╛рдареА рдЖрдзреБрдирд┐рдХ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░: Drone CI, BitBucket Pipelines, Travis, рдЗ.

рд╡рд┐рд╖рдп #6: CI/CD: Gitlab рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ

  • Gitlab CI - рд╕рд╛рдорд╛рдиреНрдп
  • рдЧрд┐рдЯрд▓реЕрдм рд░рдирд░, рддреНрдпрд╛рдВрдЪреЗ рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ
  • Gitlab CI, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ, рд╕рд░реНрд╡реЛрддреНрддрдо рдкрджреНрдзрддреА
  • Gitlab CI рдЯрдкреНрдкреЗ
  • Gitlab CI рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕
  • рддрдпрд╛рд░ рдХрд░рд╛, рдЪрд╛рдЪрдгреА рдХрд░рд╛, рддреИрдирд╛рдд рдХрд░рд╛
  • рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдирд┐рдпрдВрддреНрд░рдг рдЖрдгрд┐ рдирд┐рд░реНрдмрдВрдз: рдлрдХреНрдд, рддреЗрд╡реНрд╣рд╛
  • рдХрд▓рд╛рдХреГрддреАрдВрд╕рд╣ рдХрд╛рдо рдХрд░рдгреЗ
  • .gitlab-ci.yml рдордзреАрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕, рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдз рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдХреНрд░рд┐рдпрд╛рдВрдЪрд╛ рдкреБрдирд░реНрд╡рд╛рдкрд░ рдХрд░рдгреЗ
  • рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛ - рд╡рд┐рднрд╛рдЧ
  • gitlab-ci.yml рдЪреЗ рдХреЗрдВрджреНрд░реАрдХреГрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди (рдПрдХ рдлрд╛рдЗрд▓ рдЖрдгрд┐ рдЗрддрд░ рд░рд┐рдкреЙрдЭрд┐рдЯрд░реАрдЬрдордзреНрдпреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдкреБрд╢)

рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рд╕рд╣рдпреЛрдЧ рдирд╡реАрди рд╕реНрддрд░рд╛рд╡рд░ рдкреЛрд╣реЛрдЪрддреЛ: рдкреНрд░рд╢рд╛рд╕рдХ рдПрдХ CI рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд┐рд╣рд┐рддреЛ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХ рддреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛рдд, рдкреНрд░рд╢рд╛рд╕рдХрд╛рдкрд╛рд╕реВрди рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рддреНрдпрд╛рдВрдЪреЗ CI рддрдпрд╛рд░ рдХрд░рддрд╛рдд.

рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрд╡рд░реАрд▓ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдХрдореА рдЭрд╛рд▓реЗ рдЖрд╣реЗ, рдореЕрдиреНрдпреБрдЕрд▓ рдХрд╛рдорд╛рдЪреЗ рдкреНрд░рдорд╛рдг рдХрдореА рдЭрд╛рд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ "рдореЗрдХ рдлрд╛рдЗрд▓рд╕рд╣ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рд╛рд╡реЗ рд╣реЗ рдорд╛рд╣рд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдПрдХрдореЗрд╡ рд╡реНрдпрдХреНрддреА" рдЪреА рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реАрд╢реА рд╣реЛрддреЗ. рд░реЛрд▓рдЖрдЙрдЯреНрд╕ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рдкрдгреЗ рдЖрдгрд┐ рджреНрд░реБрддрдкрдгреЗ рд╣реЛрддрд╛рдд.

рдЖрдпрдПрд╕реА

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

рдПрдХ рд╡реНрдпрдХреНрддреА рдЬреНрдпрд╛рдиреЗ рд╣рдЬрд╛рд░реЛ IaC рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рдмрдирд╡рд▓реЗ рдЖрд╣реЗрдд рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдЖрдгрд┐ рдХрд╛рдп рдХрд░реВ рдирдпреЗ рд╣реЗ рд╕рд╛рдВрдЧреЗрд▓.

рд╕рд┐рд▓реЗрдХреНрдЯреЗрд▓ рдХреНрд▓рд╛рдЙрдб рд╕реЛрд▓реНрдпреВрд╢рди Google рдЖрдгрд┐ Amazon рдХреНрд▓рд╛рдЙрдбрд╕рд╛рдареА рдХрдореАрддрдХрдореА рдмрджрд▓рд╛рдВрд╕рд╣ рдпреЛрдЧреНрдп рдЖрд╣реЗ.

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

рдЬрд░ рддреБрдореНрд╣реА рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рд╕реНрд╡рд╣рд╕реНрддреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХреЗрд▓реЗ (рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░ рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯ рдХрд░рд╛, рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдгрд┐ рдкреЕрдХреЗрдЬреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛), рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдкрд░реНрдпрд╛рд╡рд░рдгрд╛рдЪреА рдкреНрд░рдд рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛рд▓, рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рд╕рд░реНрд╡ рдХреНрд░рд┐рдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛рд╡реНрдпрд╛ рд▓рд╛рдЧрддреАрд▓ рдЖрдгрд┐ рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд рдХрд░рд╛рд╡реНрдпрд╛ рд▓рд╛рдЧрддреАрд▓. рд╣реЗ рдХрд╛рд░реНрдп рд╕рд╣рдЬрдкрдгреЗ 3-5 рджрд┐рд╡рд╕ рдШреЗрддреЗ. рдХреЛрдб рдореНрд╣рдгреВрди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╣реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рдХреА рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдЖрдкрд▓реНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреЗ рдЕрджреНрдпрдпрд╛рд╡рдд рд╡рд░реНрдгрди рдЖрд╣реЗ рдЬреЗ рдХрд╛рд╣реА рдорд┐рдирд┐рдЯрд╛рдВрдд рддреИрдирд╛рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рдирд┐рдХреЛрд▓реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд▓реЗрдмреБрдХ рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрдЪреЗ, рдХреЛрдгрддреНрдпрд╛ рдЪреБрдХрд╛ рд╣реЛрддрд╛рдд рдЖрдгрд┐ рдХрд╛рд╣реА рд╡реЗрд│рд╛ рдкреНрд▓реЗрдмреБрдХреНрд╕ рдЕрдкреЗрдХреНрд╖реЗрдкреНрд░рдорд╛рдгреЗ рд╣рд│реВ рдХрд╛ рдЪрд╛рд▓рддрд╛рдд рдХрд┐рдВрд╡рд╛ рдХрд╛ рд╣реЛрдд рдирд╛рд╣реАрдд рд╣реЗ рд╕рд╛рдВрдЧрддреАрд▓. рд╕рд╛рдЙрдердмреНрд░рд┐рдЬ рдпреЗрдереЗ IaC рд╡рд╛рдкрд░рд▓реНрдпрд╛рдЪрд╛ рд╣рд╛ рдЕрдиреБрднрд╡ рдЖрд╣реЗ.

рд╡рд┐рд╖рдп #7: рд╕рдВрд╣рд┐рддрд╛ рдореНрд╣рдгреВрди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛

  • IaC: рд╕рдВрд╣рд┐рддрд╛ рдореНрд╣рдгреВрди рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдХрдбреЗ рдЬрд╛рдгреЗ
  • рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдкреБрд░рд╡рдард╛рджрд╛рд░ рдореНрд╣рдгреВрди рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддреЗ
  • рд╕рд┐рд╕реНрдЯрдо рдЗрдирд┐рд╢рд┐рдПрд▓рд╛рдпрдЭреЗрд╢рди рдЯреВрд▓реНрд╕, рдЗрдореЗрдЬ рдмрд┐рд▓реНрдбрд┐рдВрдЧ (рдкреЕрдХрд░)
  • рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╡рд╛рдкрд░реВрди IaC
  • рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕реНрдЯреЛрд░реЗрдЬ, рд╕рд╣рдпреЛрдЧ, рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдЯреЛрдореЗрд╢рди
  • рдЙрддреНрддрд░рджрд╛рдпреА рдкреНрд▓реЗрдмреБрдХ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╕рд░рд╛рд╡
  • рдЖрдбрдореБрдареЗрдкрдгрд╛, рдШреЛрд╖рдгрд╛рддреНрдордХрддрд╛
  • рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди Ansible рд╡рд╛рдкрд░реВрди IaC
  • рдХреЛрдб / PostgreSQL рдлреЙрд▓реНрдЯ рдЯреЙрд▓рд░рдиреНрд╕ рдореНрд╣рдгреВрди рдбреЗрдЯрд╛рдмреЗрд╕

рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдШреЛрд╖рдгрд╛рддреНрдордХ рдЖрдгрд┐ рдирд┐рд░реНрджреЛрд╖ рдмрдирддреЗ.
рдкреНрд░рд╢рд╛рд╕рдХ рдЬрдЯрд┐рд▓ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╢рд┐рдХрддреЛ: рддреНрд╡рд░реАрдд рдирд╡реАрди рд╡рд╛рддрд╛рд╡рд░рдг рддрдпрд╛рд░ рдХрд░рд╛, рд╕рд░реНрд╡ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреА рдПрдХрддрд╛ рдЯрд┐рдХрд╡реВрди рдареЗрд╡рд╛, рдмрджрд▓рд╛рдВрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдкрд╣рд╛, рдЬреЗ рдкреНрд░рдХрд▓реНрдкрд╛рд╡рд░ рдЕрдиреЗрдХ рдХрд╛рд░реНрдпрд╕рдВрдШ рдХрд╛рдо рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рдЧрдВрднреАрд░ рдЖрд╣реЗ.
рд╡рд┐рдХрд╛рд╕рдХ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╡рд╛рддрд╛рд╡рд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░реВ рд╢рдХрддреЛ.

рд╡рд┐рднрд╛рдЧ рдмреЛрдирд╕: PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕рдЪреЗ рдлреЗрд▓рдУрд╡реНрд╣рд░ рдХреНрд▓рд╕реНрдЯрд░ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ. рдЖрдореНрд╣реА рд╕рд╛рдКрдердмреНрд░рд┐рдЬ рдпреЗрдереЗ рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓реЗ рд░реЗрдбреАрдореЗрдб рдкреНрд▓реЗрдмреБрдХ рдкреНрд░рджрд╛рди рдХрд░реВ, рддреБрдореНрд╣реА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реНрдЯрдБрдбрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рддреИрдирд╛рдд рдХрд░рд╛рд▓ рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ рдХрдВрдкрдиреАрдордзреНрдпреЗ рд╣реЗ рд╕рдорд╛рдзрд╛рди рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛.

рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдЖрдгрд┐ рджреЗрдЦрд░реЗрдЦ

рдСрдЯреЛрдореЗрд╢рди рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╣рдЬрд╛рд░ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдПрд░рд░ рдЖрдгрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдкреНрд░рддреНрдпреЗрдХ рдмрджрд▓рд╛рд╕рд╛рдареА рдЪрд╛рдЪрдгреА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ. рджреБрд╕рд░реАрдХрдбреЗ, рдореЕрдиреНрдпреБрдЕрд▓ рдЪрд╛рдЪрдгреАрд▓рд╛ рдЗрддрдХрд╛ рд╡реЗрд│ рд▓рд╛рдЧрддреЛ рдХреА рддреЗ рдСрдЯреЛрдореЗрд╢рдирдЪреЗ рдлрд╛рдпрджреЗ рдирд╛рдХрд╛рд░рддреЗ.

рднреВрдорд┐рдХрд╛ рдЪрд╛рдЪрдгреА рдХрд╢реА рд▓рд┐рд╣рд╛рдпрдЪреА рддреЗ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд░рд╛рд╡ рдордзреНрдпреЗ рджрд╛рдЦрд╡реВ. рдкрд░рд┐рдгрд╛рдореА, рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдХрдВрдкрдиреАрд╕рд╛рдареА рдЪрд╛рдЪрдгреНрдпрд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рд╛рд▓. рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдкреБрдвреЗ рддреБрдореНрд╣реА рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА; рддреБрдореНрд╣реА рддреНрдпрд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреНрдпреЗ рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдкреЛрдЖрдк рддрдкрд╛рд╕рд╛ рдХреА рдорд╛рдЧреАрд▓ рд╕рд░реНрд╡ рдЙрдкрд╛рдп рдЖрдгрд┐ рдХреНрд░реЕрдЪ рдЬрд╛рдЧреЗрд╡рд░ рдЖрд╣реЗрдд.

рдордЧ рдЖрдкрдг рд╕рд░реНрд╡ рдирд╡реАрди рд╕рд░реНрд╡реНрд╣рд░ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧрдордзреНрдпреЗ рдХрд╕реЗ рдЬреЛрдбрд╛рдпрдЪреЗ рддреЗ рд╢рд┐рдХреВ. рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдкрд╛рд╣реВ. рдЖрдореНрд╣реА рд╡рд╛рдИрдЯ рдЖрдгрд┐ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкрджреНрдзрддреА рджрд╛рдЦрд╡реВ.

рд╡рд┐рд╖рдп #8: рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рдЪрдгреА

  • Molecule рдЖрдгрд┐ Gitlab CI рд╕рд╣ рдЪрд╛рдЪрдгреА рдЖрдгрд┐ рд╕рддрдд рдПрдХреАрдХрд░рдг
  • Vagrant рд╡рд╛рдкрд░рдгреЗ

рд╡рд┐рд╖рдп #9: рдкреНрд░реЛрдорд┐рдерд┐рдпрд╕рд╕рд╣ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг

  • рдирд┐рд░реАрдХреНрд╖рдг рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ?
  • рджреЗрдЦрд░реЗрдЦреАрдЪреЗ рдкреНрд░рдХрд╛рд░
  • рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рд╕реВрдЪрдирд╛
  • рдирд┐рд░реЛрдЧреА рджреЗрдЦрд░реЗрдЦ рдкреНрд░рдгрд╛рд▓реА рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реА
  • рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдорд╛рдирд╡реА-рд╡рд╛рдЪрдиреАрдп рд╕реВрдЪрдирд╛
  • рдЖрд░реЛрдЧреНрдп рддрдкрд╛рд╕рдгреА: рдЖрдкрдг рдХреЛрдгрддреНрдпрд╛ рдЧреЛрд╖реНрдЯреАрдХрдбреЗ рд▓рдХреНрд╖ рджрд┐рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ
  • рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдбреЗрдЯрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдСрдЯреЛрдореЗрд╢рди

рдиреАрдЯ рдХрд╛рдо рди рдХрд░рдгрд╛рд░реЗ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдореНрд╣рдгрдЬреЗ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдирд╛рд╣реА. рдкреЗрдореЗрдВрдЯ рдлреЙрд░реНрдордордзреНрдпреЗ рддреНрд░реБрдЯреА рдЖрдврд│рд▓реНрдпрд╛рд╕ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрдЕрд░рдЪреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЖрд╣реЗ рдпрд╛рдЪреА рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдВрдирд╛ рдХрд╛рд│рдЬреА рдирд╛рд╣реА.

рд╡рд┐рдХрд╛рд╕рдХ рдЖрдгрд┐ рдкреНрд░рд╢рд╛рд╕рдХ рджреЗрдЦрд░реЗрдЦ рдЖрдгрд┐ рд╕рдорд╕реНрдпрд╛рдирд┐рд╡рд╛рд░рдг рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдд рд╕рдорд╛рди рд╕рд╣рднрд╛рдЧ рдШреЗрддрд╛рдд. рд╢рд┐рд╡рд╛рдп, рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХрдкрдгреЗ, рджреЗрдЦрд░реЗрдЦреАрдЪреА рдХрд╛рдореЗ рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрд╡рд░ рдкрдбрддрд╛рдд. рдЖрдордЪрд╛ рдХреЛрд░реНрд╕ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдкреНрд░рднрд╛рд╡реА рджреЗрдЦрд░реЗрдЦ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рддреНрдпрд╛рдВрдЪреА рднреВрдорд┐рдХрд╛ рджрд░реНрд╢рд╡реЗрд▓. рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрдирд╛ Southbridge рд╕рд░реНрд╡реЛрддреНрддрдо рдкрджреНрдзрддреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреАрд▓. рдкрд░рд┐рдгрд╛рдореА, рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд┐рдВрд╡рд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреНрдпрд╛ рдЕрдкрдпрд╢рд╛рдореБрд│реЗ рдЖрдгрд┐ рдордВрджреАрдореБрд│реЗ рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдиреБрдХрд╕рд╛рдирд╛рдЪреА рд╕рдВрдЦреНрдпрд╛ рддреНрд╡рд░реАрдд рдХрдореА рд╣реЛрдИрд▓.

рд╡рд┐рднрд╛рдЧ рдмреЛрдирд╕: рдореЙрдирд┐рдЯрд░рд┐рдВрдЧрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдСрдЯреЛрдореЗрд╢рди. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд╛рдЗрдЯрд╡рд░ рд▓реЛрдб рдЖрд▓реНрдпрд╛рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдиреЛрдВрджрд╡рддреЗ рдЖрдгрд┐ рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╕реБрд░реВ рд╣реЛрддреЗ.

рд▓реЙрдЧрд┐рдВрдЧ

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

DevOps рд▓рд╛ рд▓реЙрдЧрдЪреЗ рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рдВрдХрд▓рди, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд╡рд┐рд╖рдп #10: ELK рд╕рд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓реЙрдЧ рдХрд░рдгреЗ

  • рдореВрд▓рднреВрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрдгрд┐ рд▓рд╡рдЪрд┐рдХ рдХреНрд╖рдорддрд╛ (рд╢реЛрдз, рд╕рдВрдЪрдпрди, рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ, рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рд▓рд╡рдЪрд┐рдХрддрд╛)
  • рдХрд┐рдмрд╛рдирд╛рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди (рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ, рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛, рдбреЕрд╢рдмреЛрд░реНрдб рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди, рдЪрд╛рд░реНрдЯ рддрдпрд╛рд░ рдХрд░рдгреЗ)
  • рд▓рд╡рдЪрд┐рдХ-рдЖрдзрд╛рд░рд┐рдд рдЙрддреНрдкрд╛рджрдиреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди
  • APM рдордзреНрдпреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЧреЛрд│рд╛ рдХрд░рдгреЗ (ре▓рдкреНрд▓рд┐рдХреЗрд╢рди рдЯреНрд░реЗрд╕рд┐рдВрдЧ)
  • рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд: рдирд╡реАрди рдЙрддреНрдкрд╛рджрди рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди - SIEM

рдпрд╛ рдкрджреНрдзрддреАрдЪрд╛ рдкрд░рд┐рдЪрдп рд▓реЙрдЧ рд╣реЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдгрд┐ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдХреЙрдиреНрдлрд┐рдЧрд░ рдЖрдгрд┐ рдбреАрдмрдЧ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдзреЗ рдЖрдгрд┐ рд╕рдордЬрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рд╕рд╛рдзрди рдмрдирд╡реЗрд▓.

рдПрд╕рдЖрд░рдИ

рдЖрдгрд┐ рдЖрдореНрд╣реА рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдкреЛрд╣реЛрдЪрддреЛ рдЬреНрдпрд╛рд╡рд░ рд╕рд╛рдЙрдердмреНрд░рд┐рдЬрдЪреЗ рд▓рдХреНрд╖ рдЖрд╣реЗ рдЖрдгрд┐ рдЬреНрдпрд╛рд╕рд╛рдареА рдЗрддрд░ рд╕реНрдкреАрдХрд░реНрд╕ рд╕реНрд▓рд░реНрдордЪреНрдпрд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рджрд┐рд╡рд╕рд╛рд╕рд╛рдареА рд░рд╛рд╣реВ рдЗрдЪреНрдЫрд┐рддрд╛рдд. Booking.com рд╡рд░реАрд▓ рдЗрд╡рд╛рди рдХреНрд░реБрдЧреНрд▓реЛрд╡реНрд╣рдиреЗ рддреЗ рд╡рд╛рдЪрдгреНрдпрд╛рд╕ рд╕рд╣рдорддреА рджрд░реНрд╢рд╡рд▓реА рдпрд╛рдЪрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдирдВрдж рдЖрд╣реЗ.

рдкреНрд░рдХрд▓реНрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬрдЧрд╛рдд рд░рд╛рд╣рддреЛ, рдЬрд┐рдереЗ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рдХрдзреАрд╣реА рдирд┐рд░рдкреЗрдХреНрд╖ рдирд╕рддреЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдгрдпрд╛рд╕рд╛рдареА рдкреИрд╕реЗ рдЦрд░реНрдЪ рд╣реЛрддрд╛рдд.

рдЬрдЯрд┐рд▓ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд╛рдд SLA рдореНрд╣рдгрдЬреЗ рдХрд╛рдп? рд╕рд╛рдЗрдЯ рдкреНрд░рд╡реЗрд╢рдпреЛрдЧреНрдп рдЖрд╣реЗ рдпрд╛рдЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ рддреЗ рд╕рд╛рдВрдЧреВ рдпрд╛, рдкрд░рдВрддреБ рдкреНрд░рддрд┐рдорд╛ рд╡рд┐рд▓рдВрдмрд╛рдиреЗ рд▓реЛрдб рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд. SLA рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛рдп рдЖрд╣реЗрдд, рддреЗ рдХреБрдареЗ рдШреНрдпрд╛рд╡реЗрдд, рдХрд╕реЗ рдШреНрдпрд╛рд╡реЗрдд?

SLA рдХрд╕реЗ рд╕реЗрдЯ рдХрд░рд╛рд╡реЗ? рддреНрдпрд╛рдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд╕рд╛ рдХрд░рд╛рдпрдЪрд╛?

рд╡рд┐рд╖рдп #11: SRE
рдПрд╕рдПрд▓рдП, рдПрд╕рдПрд▓рдУ, рдПрд░рд░ рдмрдЬреЗрдЯ рдЖрдгрд┐ рдПрд╕рдЖрд░рдИрдЪреНрдпрд╛ рдЬрдЧрд╛рддреВрди рдЗрддрд░ рднрдпрд╛рдирдХ рд╕рдВрдЬреНрдЮрд╛рдВрдЪреА рд╡реНрдпрд╛рдЦреНрдпрд╛
SRE: SLI рдЖрдгрд┐ SLO рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдкреНрд░реЕрдХреНрдЯрд┐рд╕реЗрд╕
SRE: рдПрд░рд░ рдмрдЬреЗрдЯ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рд╕рд░рд╛рд╡
SRE: рдЗрдВрдЯрд░рдкреНрдЯ рдЖрдгрд┐ рдСрдкрд░реЗрд╢рдирд▓ рд▓реЛрдб рдореЕрдиреЗрдЬрдореЗрдВрдЯ (рдПрдкрд┐рдЧреЗрдЯрд╡реЗ, рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢, рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░реНрд╕)
рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдВрдирд╛ SRE рд╣рд╡рд╛ рдЖрд╣реЗ. рдХрд┐рдорд╛рди рд╕реЛрдкреНрдпрд╛ рд╕реНрддрд░рд╛рд╡рд░: рдореА рдмреЕрдХрдЕрдк рд╕рд░реНрд╡реНрд╣рд░ рдШреНрдпрд╛рд╡рд╛ рдХреА рдмреЕрдХрдЕрдкрдордзреВрди рдЙрдЪрд▓рд╛рд╡рд╛? рд╕рд┐рдВрдЧрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд┐рдВрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░? рддреБрдореНрд╣реА DDoS рд╕рдВрд░рдХреНрд╖рдг рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдХреА рдХреЗрд╡рд│ рд╣рд▓реНрд▓реНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрд│реА?

рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджрд╛ рдХреНрд▓рд╛рдпрдВрдЯ рддреНрдпрд╛рд▓рд╛ рдХреЙрд▓ рдХрд░рддреЛ рдЖрдгрд┐ рдСрд░реНрдбрд░ рдлреЙрд░реНрдо рдЙрдШрдбрдд рдирд╕рд▓реНрдпрд╛рдЪрд╛ рдЕрд╣рд╡рд╛рд▓ рджреЗрддреЛ рддреЗрд╡реНрд╣рд╛ рджрд┐рдЧреНрджрд░реНрд╢рдХ тАЬрд╕рд╛рдЗрдЯ рдХрд╛рд░реНрдпрд░рдд рдЖрд╣реЗтАЭ рдпрд╛ рдХрдереЗрд╡рд░ рд╕рдорд╛рдзрд╛рдиреА рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.

рддреНрдпрд╛рдореБрд│реЗ, рдПрдЦрд╛рджреНрдпрд╛ DevOps рдЕрднрд┐рдпрдВрддреНрдпрд╛рдиреЗ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рд╢реА рддреНрдпрд╛рдЪреНрдпрд╛ рдЧрд░рдЬрд╛рдВрдмрджреНрджрд▓ рдкреБрд░реЗрд╕реЗ рдмреЛрд▓рдгреНрдпрд╛рд╕рд╛рдареА SRE рд▓рд╛ рдХрд┐рдорд╛рди рд╡рд░рд╡рд░ рд╕рдордЬреВрди рдШреЗрдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ.

рдкрд░рд┐рдгрд╛рдо

рджрд░рдореНрдпрд╛рди Slurm DevOps рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХ рд╢рд┐рдХрддреАрд▓:
- Git рд╕рд╣ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рд╛;
- рд╕реНрдерд╛рдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЖрдпреЛрдЬрд┐рдд рдХрд░рд╛;
тАФ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛ (рдкреНрд░рд╢рд╛рд╕рдХ) рдЖрдгрд┐ рд╡рд╛рдкрд░рд╛ (рд╡рд┐рдХрд╛рд╕рдХ) CI/CD;
- рдХреЛрдбрдкреНрд░рдорд╛рдгреЗрдЪ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рд╛;
- рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдШреНрдпрд╛;
- рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рд╛;
- рд▓реЙрдЧрд┐рдВрдЧ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛;
- рд╕рдордЬреВрди рдШреНрдпрд╛ рдЖрдгрд┐ рдЖрджрд░реНрд╢рдкрдгреЗ, SRE рд╡рд╛рдкрд░рд╛.

рд╕рдЬрдЧ рд╡рд╛рдЪрдХрд╛рдВрд╕рд╛рдареА, 15% рд╕рд╡рд▓рддреАрд╕рд╛рдареА рд╣реЕрдмреНрд░рд╛рдкреЛрд╕реНрдЯ рдкреНрд░рдореЛрд╢рдирд▓ рдХреЛрдб рд╡рд╛рдкрд░рд╛.

рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдЧреБрдгрд╛рдВрд╕рд╛рдареА рд╕рд░рд╛рд╡ рдЖрдгрд┐ рд╕рд╛рдзрдиреЗ рддрдпрд╛рд░ рдХрд░рдд рдЖрд╣реЛрдд. рдЬреЗрдгреЗрдХрд░реВрди рдкреНрд░рддреНрдпреЗрдХ рд╕рд╣рднрд╛рдЧреА, рд╕реНрд▓рд░реНрдордордзреВрди рдкрд░рддрд▓реНрдпрд╛рд╡рд░, рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрдВрдкрдиреАрд▓рд╛ DevOps рдЪреНрдпрд╛ рдкреБрдвреАрд▓ рд╕реНрддрд░рд╛рд╡рд░ рдиреЗрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕реЗрд▓.

рд╡реНрдпрд╡рд╕рд╛рдпрд╛рд╕рд╛рдареА, рдпрд╛рдЪрд╛ рдЕрд░реНрде рд╕реНрд╡рд╕реНрдд рдкреНрд░рд╢рд╛рд╕рди рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕, рдХрдореА рдбрд╛рдЙрдирдЯрд╛рдЗрдо, рд╡рд╛рдвреАрд╡ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛, рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рдЬрд▓рдж рд╡рд┐рддрд░рдг рдЖрдгрд┐ рджреЛрд╖ рджреВрд░ рдХрд░рдгреЗ.

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

DDoS рд╕рдВрд░рдХреНрд╖рдг, VPS VDS рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реЗрджреА рдХрд░рд╛ ЁЯФе рдбреАрдбреЙрд╕ рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╡реНрд╣реАрдкреАрдПрд╕ (VPS) рд╡реНрд╣реАрдбреАрдПрд╕ (VDS) рд╕рд░реНрд╡реНрд╣рд░реНрд╕ рдЦрд░реЗрджреА рдХрд░рд╛ | ProHoster