рдбреЙрдХрд░ рдПрдХ рдЦрд┐рд▓реМрдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдпрд╛ рдпрд╣ рдЕрднреА рднреА рд╕рдЪ рд╣реИ?

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реАрдзреЗ рд╡рд┐рд╖рдп рдкрд░ рдЖрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдкрдиреА рдХрд╣рд╛рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрддрд╛рдирд╛ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛:

рдкреНрд░рд╡реЗрд╢

рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдлреНрд░рдВрдЯрдПрдВрдб рд╕рд┐рдВрдЧрд▓ рдкреЗрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд╕реНрдХреИрд▓рд╛/рдЬрд╛рд╡рд╛ рдФрд░ рдиреЛрдбрдЬ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИред

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

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

рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг

рдореИрдВрдиреЗ рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛? рд╕рдВрднрд╡рддрдГ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ:

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

рдбреЙрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдХреНрдпрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ:

  • рдореЗрд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрд╡рдпрдВ рдбреЙрдХрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдореЗрд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди jre рдпрд╛ nodejs рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╡рд╛рддрд╛рд╡рд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИ рддреЛ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
  • рдпрджрд┐ рдореИрдВ рдЕрдкрдиреА (рдирд┐рдЬреА) рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдЫрд╡рд┐ рдХреЛ рдХрд┐рд╕реА рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЙрдХрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдХрд╣реАрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ https рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ рд╕реАрдПрд▓рдЖрдИ рдХреЗрд╡рд▓ https рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдУрд╣ рд▓рд╛рдирдд рд╣реИ... рдмреЗрд╢рдХ, рдЫрд╡рд┐ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдореМрдЬреВрдж рд╣реИрдВ docker save рдФрд░ рдХреЗрд╡рд▓ рдПрд╕рд╕реАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╡рд┐ рднреЗрдЬреЗрдВ... рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд░реАрд░ рдХреА рдмрд╣реБрдд рд╕реА рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВред рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдПрдХ "рдмреИрд╕рд╛рдЦреА" рд╕рдорд╛рдзрд╛рди рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХрд╛ рдЕрдкрдирд╛ рднрдВрдбрд╛рд░ рдкреНрд░рдХрдЯ рди рд╣реЛ рдЬрд╛рдП
  • docker-compose. рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИред рдмрд╕ рдЗрддрдирд╛ рд╣реАред рд╡рд╣ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛. Docker-compose рдЗрд╕рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рдЗрд╕рдХрд╛ рдЕрдкрдирд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╣реИ, рдореИрдВ рдЙрдирдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред рдореБрдЭреЗ рдЗрд╕рдХреА рдХрд╣реАрдВ рдФрд░ рдЬрд░реВрд░рдд рдирд╣реАрдВ рдкрдбрд╝реЗрдЧреА.
  • рдПрдХ рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рдбреЙрдХрд░рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрд╣реБрдд рдЯреЗрдврд╝реЗ-рдореЗрдврд╝реЗ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЫрд╡рд┐ рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЬрд┐рд╕рдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрди рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ рдЬреЛ рдбреЙрдХрд░рд╣рдм рдпрд╛ рдирд┐рдЬреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдХреБрдЫ рдмрдирд╛рддреЗ рд╣реИрдВ docker-compose рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд░рд╣рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЧрд░реНрд╡ рд╕реЗ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдбреЙрдХрд░ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдЪрдЖрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд░рд┐рдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ: "рд╣рдо рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдРрд╕реЗ рдХрд╛рд░реНрдп рдЕрдиреБрднрд╡ рд╡рд╛рд▓реЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред"
  • рдореИрдВ рдбреЙрдХрд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдкрд░реЗрд╢рд╛рди рд░рд╣рддрд╛ рд╣реВрдВ: рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реНрдХреНрд▓, рдХрд╛рдлреНрдХрд╛, рд░реЗрдбрд┐рд╕ред рдпрд╣ рдЕрдлрд╝рд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рди рдХрд┐ рд╕реНрд╡рдпрдВ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ред рдФрд░ рд╡реИрд╕реЗ, рд╕рд╡рд╛рд▓ рддреБрд░рдВрдд рдЙрдарддрд╛ рд╣реИ: рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЛ рдбреЙрдХрд░ рдореЗрдВ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИ, рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ, рд╢рд╛рдпрдж рд╡реЗ рдХреБрдЫ рдЬрд╛рдирддреЗ рд╣реИрдВ?
  • рдХрдВрдЯреЗрдирд░ рдбреЗрдЯрд╛ рдХреА рджреГрдврд╝рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрд╢рд╛ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдЖрдк рд╕реЛрдЪрддреЗ рд╣реИрдВ, рдХреНрдпрд╛ рдореБрдЭреЗ рд╕рд┐рд░реНрдл рд╣реЛрд╕реНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдПрдХ рдбреЙрдХрд░ рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдПрдХ рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЕрднреА рд╣реИ deprecated? рдпрджрд┐ рдореИрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрдИрдбреА рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреАред рдЕрдЧрд░ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдБ volume рддреЛ рдбреЗрдЯрд╛ рдмрд╕ рдХреБрдЫ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ /usr/* рдФрд░ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд╕рд╛рде рднреА рд╡рд╣реА рдХрд╣рд╛рдиреА рд╣реЛрдЧреА рдЬреЛ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдереАред рдпрджрд┐ рдЖрдк рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдШрдЯрдХ рд▓реЙрдиреНрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛: "рдШрдЯрдХ рдХрд┐рд╕ рдХрдВрдЯреЗрдирд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ?"

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

рдЕрдиреНрд╕рд┐рдмрд▓ рдХрд╛ рдкрд░рд┐рдЪрдп

рд╣рд╛рд▓ рд╣реА рдореЗрдВ (рддреАрди рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ), рдореИрдВрдиреЗ рдПрдХ DevOps рдЯреАрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рд▓рдЧрднрдЧ рд╣рд░ рд╕рджрд╕реНрдп рдХрд╛ рдбреЙрдХрд░ рдХреЗ рдкреНрд░рддрд┐ рдирдХрд╛рд░рд╛рддреНрдордХ рд░рд╡реИрдпрд╛ рдерд╛ред рдХрд╛рд░рдгреЛрдВ рд╕реЗ:

  • рдбреЙрдХрд░ рдирд┐рдпрдо iptables (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдЗрд╕реЗ daemon.json рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
  • рдбреЙрдХрд░ рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рд╛рдПрдВрдЧреЗ
  • рдпрджрд┐ рдбреЙрдХрд░ рдбреЗрдореЙрди рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХрдВрдЯреЗрдирд░ рддрджрдиреБрд╕рд╛рд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ
  • рдбреЛрдХрд░ рдХреА рдХреЛрдИ рдЬрд░реВрд░рдд рдирд╣реАрдВ
  • рдЕрдЧрд░ Ansible рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЗрдВ рд╣реИрдВ рддреЛ docker рдХреНрдпреЛрдВ?

рдЙрд╕реА рдХрд╛рд░реНрдп рдореЗрдВ, рдореИрдВ рдПрдХ рдЕрдиреНрдп рдЯреВрд▓ - рдПрдиреНрд╕рд┐рдмрд▓ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдЖред рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрд╛рд░ рд╕реБрдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреА рдЦреБрдж рдХреА рдкреНрд▓реЗрдмреБрдХ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреАред рдФрд░ рдЕрдм рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдореЗрд░реА рджреГрд╖реНрдЯрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рдЧрдИ! рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ: Ansible рдореЗрдВ рд╕рдорд╛рди рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░, рдЗрдореЗрдЬ рдмрд┐рд▓реНрдб, рдиреЗрдЯрд╡рд░реНрдХ рдЗрддреНрдпрд╛рджрд┐ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рдФрд░ рдХрдВрдЯреЗрдирд░ рди рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ, рдмрд▓реНрдХрд┐ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рднреА рдЪрд▓рд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ! рдореЗрд░реА рдЦрд╝реБрд╢реА рдХреА рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рдереА - рдореБрдЭреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЯреВрд▓ рдорд┐рд▓рд╛ рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдиреА рдореЗрдХрдлрд╝рд╛рдЗрд▓ рдФрд░ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛, рдЙрдиреНрд╣реЗрдВ yaml рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдЬреИрд╕реЗ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ loop, when, рдЖрджрд┐

рдбреЗрдЯрд╛рдмреЗрд╕ рдЬреИрд╕реЗ рддреГрддреАрдп-рдкрдХреНрд╖ рдШрдЯрдХреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрд╕рдПрд╕рдПрдЪ рд╕реБрд░рдВрдЧреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдЖ рд╣реВрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рдкреЛрд░реНрдЯ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдкреЛрд░реНрдЯ рдкрд░ "рдлреЙрд░рд╡рд░реНрдб" рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдпрд╛ рддреЛ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдПрдХ рдорд╢реАрди рдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдореЗрд░реЗ рд╕рд╣рдХрд░реНрдореА рдпрд╛ рдореБрдЭреЗ рдбреЗрдЯрд╛рдмреЗрд╕ (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рддреГрддреАрдп-рдкрдХреНрд╖ рдШрдЯрдХ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдмрд╕ рдЗрд╕ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрдм рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреЛрд░реНрдЯ рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рдЖрджреЗрд╢ рдореЗрд░реЗ рд╕реНрдерд╛рдиреАрдп рдкреЛрд░реНрдЯ рдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕реНрдХреНрд▓ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:

рдПрд╕рдПрд╕рдПрдЪ -рдПрд▓ 9000:рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ:5432 [рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]

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

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ SSH рд╕реБрд░рдВрдЧреЗрдВ рдПрдХ рдирд┐рдпрдорд┐рдд рд╡реАрдкреАрдПрди рдХреА рд╕реАрдорд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИрдВ! рдЖрдк рдмрд╕ рдУрдкрдирд╡реАрдкреАрдПрди рдпрд╛ рдЕрдиреНрдп рд╡реАрдкреАрдПрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ!

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, AWS, GoogleCloud рдФрд░ рдЕрдиреНрдп рдЖрдкрдХреЛ рдПрдХ рд╡рд░реНрд╖ рдХрд╛ рдирд┐рдГрд╢реБрд▓реНрдХ рдЙрдкрдпреЛрдЧ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ! рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдореЗрдВ рди рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдмрдВрдж рдХрд░ рджреЗрдВ рддреЛ рд╡реЗ рд╕рд╕реНрддреЗ рд╣реИрдВред рдореИрдВ рд╣рдореЗрд╢рд╛ рд╕реЛрдЪрддрд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ gcloud рдЬреИрд╕реЗ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреА, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╡рд╣ рдорд┐рд▓ рдЧрдпрд╛ред

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

рдирд┐рдЪрд▓реА рдкрдВрдХреНрддрд┐: рдЖрдк рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЕрдиреНрдп рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪреЗ рдХреЛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЪрд▓рд╛рдирд╛ рднреА рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рд╡рд┐рддрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛

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

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ tgz рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдЗрд╕реЗ docker рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ Dockerfile рдореЗрдВ tgz рдЬреЛрдбрд╝рдиреЗ рджреЗрдВ, рд╡рд╛рдВрдЫрд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрдиреНрд╕ рдмрдирд╛рдПрдВ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ tgz рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдЬреЛ рдХреЛрдИ рднреА рдбреЙрдХрд░ рдЫрд╡рд┐ рдмрдирд╛рдПрдЧрд╛ рдЙрд╕реЗ рдкрддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ tgz рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╣рд╛рдВ

рдирд┐рдЪрд▓реА рдкрдВрдХреНрддрд┐: рдореБрдЭреЗ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ S3 рдпрд╛ Google рдбреНрд░рд╛рдЗрд╡/рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдЬреИрд╕реЗ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛

рд╕реАрдЖрдИ рдореЗрдВ рдбреЛрдХрд░

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

рдпреЗ рдХрдВрдкрдирд┐рдпрд╛рдБ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВ рдЬрд╣рд╛рдБ CI рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓рддреА рд╣реИред рдкреНрд░рд╢реНрди: рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдХреНрдпреЛрдВ рди рдХреЗрд╡рд▓ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ Ansible рдкреНрд▓реЗрдмреБрдХ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдиреЛрдбрдЬ, php, jdk, рдХреЙрдкреА ssh рдХреБрдВрдЬрд┐рдпреЛрдВ рдЖрджрд┐ рдХреЗ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЙрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рд╣реЛрдЧрд╛?

рдЕрдм рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рдкреИрд░реЛрдВ рдкрд░ рдХреБрд▓реНрд╣рд╛рдбрд╝реА рдорд╛рд░рдиреЗ рдЬреИрд╕рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ рдЕрдкрдиреЗ рдЕрд▓рдЧрд╛рд╡ рд╕реЗ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рд▓рд╛рддрд╛ рд╣реИред рдбреЙрдХрд░ рдореЗрдВ рд╕реАрдЖрдИ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдЬрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛:

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

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

рдЙрддреНрдкрд╛рджрди

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

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

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

рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ:

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

рдкреБрдирд╢реНрдЪ:

рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЖрдкрдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрд╛рд░рджрд░реНрд╢реА рдирд┐рд░реНрдгрдпреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рджрдХ рдХрд╛рд░реНрдп рджрд┐рд╡рд╕реЛрдВ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдБ!

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

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