рд╕рд░реНрд╡рд░рд╣рд┐рдд php

рдмреИрдХрдПрдВрдб PHP рдбреЗрд╡рд▓рдкрд░ рдХреЛрд░реНрд╕ рдХреЗ рд╢реБрднрд╛рд░рдВрдн рдХреА рдкреВрд░реНрд╡ рд╕рдВрдзреНрдпрд╛ рдкрд░ , рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЦреБрд▓рд╛ рд╕рдмрдХ рдерд╛ ред рдЗрд╕ рдмрд╛рд░ рд╣рдо рд╕рд░реНрд╡рд░рд▓реЗрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдП, AWS рдореЗрдВ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА, рдСрдкрд░реЗрд╢рди, рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА, рдФрд░ AWS рд▓реИрдореНрдмреНрдбрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╕рд╛рдзрд╛рд░рдг PHP TG-bot рдХрд╛ рднреА рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред


рд▓реЗрдХреНрдЪрд░рд░ - рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ Pryakhin , Westwing рд░реВрд╕ рдХреЗ рд╕реАрдЯреАрдУред





рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рднреНрд░рдордг



рд╣рдореЗрдВ рдРрд╕реА рдЬрд╝рд┐рдВрджрдЧреА рдХреИрд╕реЗ рдорд┐рд▓реА рдХрд┐ рд╕рд░реНрд╡рд░рд▓реЗрд╕ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рджрд┐рдЦрд╛рдИ рджреА? рдмреЗрд╢рдХ, рд╡реЗ рди рдХреЗрд╡рд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рдмрд▓реНрдХрд┐ рдореМрдЬреВрджрд╛ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░рдВрддрд░рддрд╛ рдмрди рдЧрдПред



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



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


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



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



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


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



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


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


рдХреНрд▓рд╛рдЙрдб рддрдХрдиреАрдХ


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


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

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


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



рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдФрд░ рдЖрдШрд╛рдд (рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп)


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


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


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


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


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


рддреЛ рд╕рд░реНрд╡рд░рд╣рд┐рдд:


  • рд╕рд░реНрд╡рд░ рдХреА рднреМрддрд┐рдХ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ;
  • virtualoks рдФрд░ Docker рдХрд╛ рд╣рддреНрдпрд╛рд░рд╛ рдирд╣реАрдВ;
  • рдпрд╣рд╛рдБ рдФрд░ рдЕрднреА рдкреНрд░рдЪрд╛рд░ рдирд╣реАрдВред
    рд╕рд░реНрд╡рд░рд▓реЗрд╕ рдХреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ рдФрд░ рдЬрд╛рдирдмреВрдЭрдХрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдЖрдзреА рдЯреАрдо рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкрд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдлрдВрдХреНрд╢рди рдорд┐рд▓рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдЧрд╛, рдФрд░ рдЪреВрдВрдХрд┐ рдШрдЯрдирд╛рдУрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЙрд╕реА AWS рдореЗрдВ рдХрдИ рдЯреНрд░рд┐рдЧрд░ рд╣реИрдВред

FaaS рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:


  • рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ;
  • "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рдШрдЯрдирд╛ рдореЙрдбрд▓;
  • рд░рд╛рдЬреНрдпрд╡рд┐рд╣реАрди;
  • рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

AWS рд▓рд╛рдореНрдмрд╛


рдкрд╣рд▓рд╛ рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз FaaS рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди AWS рд▓реИрдореНрдмреНрдбрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдереАрд╕рд┐рд╕ рд╣реИ, рддреЛ рдЗрд╕рдХреА рдирд┐рдореНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
- 2014 рд╕реЗ рдЙрдкрд▓рдмреНрдз;
- рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬрд╛рд╡рд╛, Node.js, рдкрд╛рдпрдерди, рдЧреЛ рдФрд░ рдХрд╕реНрдЯрдо рд░рдирдЯрд╛рдЗрдо;
- рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВ:
рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛;
рдиреЗрддреГрддреНрд╡ рд╕рдордп
AWS рд▓рд╛рдореНрдмрд╛: рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ:
рдирд┐рдкрдЯрд╛рдиред рдЖрдк рдХреЗрд╡рд▓ рдЙрд╕ рд╕рдордп рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╕реЗрд╡рд╛ рдЪрд▓ рд░рд╣реА рд╣реЛрддреА рд╣реИред
рд╕реНрдкреАрдбред рд▓реИрдореНрдмреНрдбрд╛ рд╣реА рдЙрдЧрддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ред рд▓реИрдореНрдмреНрдбрд╛ рдореЗрдВ AWS рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред
рдкреНрд░рджрд░реНрд╢рдиред рд▓рдВрдмреЛрджрд░ рдХреЛ рд▓рдЧрд╛рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИред рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ, рдпрд╣ рдЕрдзрд┐рдХрддрдо 1000 рд╕реЗ 3000 рдкреНрд░рддрд┐рдпреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рд╕рдорд░реНрдерди рдореЗрдВ рд▓рд┐рдЦрдХрд░ рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


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


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



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



рдкреНрд░рд╕рд╡ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд░рд╕реАрд▓рд╛ рдирд╣реАрдВ рд╣реИ:



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



рдмреЗрд╢рдХ, рдпрд╣ рдЖрдзреБрдирд┐рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдУрдВ рдФрд░ рд╣рд╡рд╛ рдореЗрдВ рджреЛ рд╣рдЬрд╛рд░рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдХреА рдЧрдВрдз рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рджрдпрд╛рд▓реБ рд▓реЛрдЧреЛрдВ рдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдХрдИ рд░реВрдкрд░реЗрдЦрд╛рдПрдБ рдмрдирд╛рдИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо Node.js рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╣рдореЗрдВ AWS рд▓реИрдореНрдмреНрдбрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рд╣рдо рддреИрдирд╛рддреА рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд▓рдЪреАрд▓рд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИред


рддреЛ, рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╕реАрдПрд▓рдЖрдИ - рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕;
- рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦрд┐рдд рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдврд╛рдВрдЪрд╛ (рд╡рд┐рдХрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг рдореБрдХреНрдд рд╣реИ, рдФрд░ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдВрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ);
- Bref рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЬреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрдВрдкреЛрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЧрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдХрд┐рд╕реА рднреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред рдПрдХ рдорд╣рд╛рди рд╕рдорд╛рдзрд╛рди, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ AWS рд▓реИрдореНрдмреНрдбрд╛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред



рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдФрд░ AWS рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ


AWS рд╕реАрдПрд▓рдЖрдИ


рдЖрдЗрдП рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдХрд░ рдФрд░ AWS CLI рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВред AWS рдХрдВрд╕реЛрд▓ рд╢реЗрд▓ рдкрд╛рдпрдерди 2.7+ рдпрд╛ 3.4+ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЪреВрдВрдХрд┐ AWS рдкрд╛рдпрдерди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 3 рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдмрд╣рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдЙрдмрдВрдЯреВ рдХреЗ рд▓рд┐рдП рд╣реИрдВред


sudo apt-get -y install python3-pip 

рдлрд┐рд░ рд╕реАрдзреЗ AWS CLI рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:


 pip3 install awscli --upgrade --user 

рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:


 aws --version 

рдЕрдм рдЖрдкрдХреЛ AWS CLI рдХреЛ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк AWS IAM рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдВ, рдЙрд╕реЗ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреА:


 aws configure 

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



рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ рдирдпрд╛ рдмреЙрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, @BotFather рдФрд░ / newbot рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХреЗ рдмреЙрдЯ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЯреЛрдХрди рдЖрдкрдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕реЗ рднреА рдмрдВрдж рдХрд░ рджреЛред



рд╕рд░реНрд╡рд░рд╣рд┐рдд рдврд╛рдВрдЪрд╛


рд╕рд░реНрд╡рд░рд▓реЗрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ https://serverless.com/ рдкрд░ рдПрдХ рдЦрд╛рддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдкрдВрдЬреАрдХрд░рдг рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рдореЗрдВ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред Node.js 6 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред


 sudo apt-get -y install nodejs 

рд╣рдорд╛рд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рд╣реА рд▓реЙрдиреНрдЪ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдиреБрд╢рдВрд╕рд┐рдд рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ:


 mkdir ~/.npm-global export PATH=~/.npm-global/bin:$PATH source ~/.profile npm config set prefix '~/.npm-global' 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬреЛрдбрд╝реЗрдВ:


 ~/.npm-global/bin:$PATH 

/ etc / рдкрд░реНрдпрд╛рд╡рд░рдг рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдПред
рдЕрдм рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд:


 npm install -g serverless 

рдПрдбрдмреНрд▓реНрдпреВрдПрд╕


рдЦреИрд░, рдпрд╣ AWS рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдФрд░ рдПрдХ рдбреЛрдореЗрди рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП AWS рд░реВрдЯ 53 рдЬрд╝реЛрди, DNS рд░рд┐рдХреЙрд░реНрдб рдФрд░ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдИрдПрд▓рдмреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рд╕реЗрд╡рд╛ рдИрд╕реА 2 -> рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рдореЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВред рд╡реИрд╕реЗ, рдИрдПрд▓рдмреА рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдмрдирд╛рдП рдЧрдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред


рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдирд┐рдореНрди рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ AWS CLI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:


 aws elb create-load-balancer --load-balancer-name my-load-balancer --listeners "Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80" "Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=arn:aws:iam::123456789012:server-certificate/my-server-cert" --subnets subnet-15aaab61 --security-groups sg-a61988c3 

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



рдЕрдм рдХреЛрдб рдкрд░ рдЬрд╛рдПрдВред


рдПрдХ рдХреЛрдб рд▓рд┐рдЦрдирд╛


рд╣рдо рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП Bref рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдХрд┐рд╕реА рднреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред рд╡реИрд╕реЗ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдмреНрд░реЗрдл рдХреЛ рд▓рд╛рд░рд╡реЗрд▓ рдФрд░ рд╕рд┐рдореНрдлрдиреА рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП "рдирдВрдЧреЗ" PHP рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ - рдпрд╣ рд╕рд╛рд░ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рд╣рдо рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:


 { "require": { "php": ">=7.2", "bref/bref": "^0.5.9", "telegram-bot/api": "*" }, "autoload": { "psr-4": { "App\": "src/" } } } 

рд╣рдо PHP 7.2 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ, рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╢реЗрд▓ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ - https://github.com/TelegramBot/Api ред рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╣реА, рдЗрд╕реЗ src рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред


рддреЛ, рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдПрдХ рдХрдВрд╕реЛрд▓ рд╕рдВрд╡рд╛рдж рд╕реЗ рдЧреБрдЬрд░ рд░рд╣рд╛ рд╣реИред рдПрдХ HTTP рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд▓реИрдореНрдмреНрдбрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдирдЧреНрдиреЗрдХреНрд╕ рдХрд░рддрд╛ рд╣реИред PHP-FPM рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рдПрдЧреАред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдорд╛рдирдХ рдХрдВрд╕реЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗ рдмрд┐рдирд╛, рд╣рдо HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рд╣рдо рдмрд╛рд╣рд░ рд▓реЗ:


 vendor/bin/bref init 

рд╕рдВрд╡рд╛рдж рдореЗрдВ, "HTTP рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрд╡реЗрджрди рдЙрд╕реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж, 2 рдирдИ рдлрд╛рдЗрд▓реЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА:
index.php - рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓;
serverless.yml - рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ред
.Serverless рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рддреБрд░рдВрдд .gitignore рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдпрд╣ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛)ред


рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо index.php рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ, рддреБрд░рдВрдд serverless.yml рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рджреЗрдВрдЧреЗред рдпрд╣рд╛рдБ рдпрд╣ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:


 #  lambda- service: app #    provider: name: aws #   ! region: eu-central-1 #    runtime: provided # ,  bref  1024.         memoryLimit: 256 #   stage: dev #    environment: BOT_TOKEN: ${ssm:/app/bot-token} #  bref plugins: - ./vendor/bref/bref #  Lambda- functions: #       php-api-dev # service-function-stage api: handler: public/index.php description: '' # in seconds (API Gateway has a timeout of 29 seconds) timeout: 28 layers: - ${bref:layer.php-73-fpm} #     API Gateway events: - http: 'ANY /' - http: 'ANY /{proxy+}' #    environment: MY_VARIABLE: ${ssm:/app/my_variable} 

рдЕрдм рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рд░реЗрдЦрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди, рдмрд╛рд╣рд░реА рдПрдкреАрдЖрдИ, рдЖрджрд┐ рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рдЯреЛрдХрди рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рдмреЛрдЯрдлрд╛рджрд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рдЯреЛрдХрди рдХреЛ serverless.yml рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ AWS ssm рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рднреЗрдЬрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:


 aws ssm put-parameter --region eu-central-1 --name '/app/my_variable' --type String --value '___BOTFATHER' 

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


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


 <?php namespace App; use TelegramBot\Api\Client; use Telegram\Bot\Objects\Update; class BotApp { function run(): void{ $token = getenv('BOT_TOKEN'); $bot = new Client($token); //   start $bot->command('start', function ($message) use ($bot) { $answer = ' !'; $bot->sendMessage($message->getChat()->getId(), $answer); }); //    $bot->command('help', function ($message) use ($bot) { $answer = ': /help -  '; $bot->sendMessage($message->getChat()->getId(), $answer); }); //   $bot->command('hello', function ($message) use ($bot) { $answer = '-,  - ,   Serverless '; $bot->sendMessage($message->getChat()->getId(), $answer); }); $bot->run(); } } 

рдФрд░ рдпрд╣рд╛рдБ index.php рдХреА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╣реИ:


 <?php require_once('../vendor/autoload.php'); use App\BotApp; try{ $botApp = new BotApp(); $botApp->run(); } catch (Exception $e){ echo $e->getMessage(); print_r($e->getTrace(), 1); } 

рдпрд╣ рдЕрдЬреАрдм рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред рдЪрд▓рд┐рдП serverless.yml рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдЗрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ:


 sls deploy 

рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рдореЗрдВ, рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрд╝рд┐рдк рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдореЗрдВ рдкреИрдХ рдХрд░реЗрдЧрд╛, рдПрдХ S3-рдмрдХреЗрдЯ рдмрдирд╛рдПрдБ рдЬрд╣рд╛рдБ рдЙрдиреНрд╣реЗрдВ рд░рдЦрдирд╛ рд╣реИ, рдлрд┐рд░ рд▓реИрдореНрдмреНрдбрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ AWS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ, рдФрд░ рдХреЛрдб рдФрд░ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкрд░рдд рдореЗрдВ рд░рдЦреЗрдВред


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


рдЕрдм рдЖрдк рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдмреЙрдЯ рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднрд╛рдЧ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕рдВрджреЗрд╢ рд╕рдордЭрдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рд╕рдВрджреЗрд╢ рдорд┐рд▓ рд╕рдХреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рдореНрди URL рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓рдирд╛ рди рднреВрд▓реЗрдВ:


 https://api.telegram.org/bot_/setWebhook?url=https://my-elb-host.com/lambda/mytgbot 

рдирддреАрдЬрддрди, рдПрдкреАрдЖрдИ "рдУрдХреЗ" рд▓реМрдЯрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдмреЙрдЯ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ред



рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмреЙрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг


рддреИрдирд╛рддреА рд╕реЗ рдкрд╣рд▓реЗ рдмреЙрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдлреНрд░реЗрдорд╡рд░реНрдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдХреЙрд▓ рдХрдорд╛рдВрдб:


 sls invoke local --docker -f myFunction 

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


 sls invoke local --docker -f myFunction --env VAR1=val1 

рд▓реЙрдЧ


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


рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░


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


Source: https://habr.com/ru/post/hi477370/


All Articles