AWS Lambda рдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рд▓реЗрдЦрдХреЛ рдЕрдиреБрд╡рд╛рдж рдкрд╛рдареНрдпрдХреНрд░рдордХрд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ "рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рд╣рд░реВ"ред рдпрд╕ рджрд┐рд╢рд╛рдорд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдЗрдЪреНрдЫреБрдХ рд╣реБрдиреБрд╣реБрдиреНрдЫ? Egor Zuev рджреНрд╡рд╛рд░рд╛ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН (TeamLead at InBit) "AWS EC2 рд╕реЗрд╡рд╛" рд░ рдЕрд░реНрдХреЛ рдкрд╛рдареНрдпрдХреНрд░рдо рд╕рдореВрд╣рдорд╛ рд╕рд╛рдореЗрд▓ рд╣реБрдиреБрд╣реЛрд╕реН: рд╕реЗрдкреНрдЯреЗрдореНрдмрд░ 26 рдорд╛ рд╕реБрд░реБ рд╣реБрдиреНрдЫред

AWS Lambda рдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг

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

AWS Lambda

AWS Lambda рдПрдЙрдЯрд╛ рдШрдЯрдирд╛-рд╕рдВрдЪрд╛рд▓рд┐рдд рд╕рд░реНрднрд░рд▓реЗрд╕ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рд╕реЗрд╡рд╛ рд╣реЛ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рд░реНрднрд░рдХреЛ рдкреНрд░рд╛рд╡рдзрд╛рди рд╡рд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдирдЧрд░реА рдХреЛрдб рдЪрд▓рд╛рдЙрди рд░ рдЕрдиреБрдХреВрд▓рди рддрд░реНрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреНрдп AWS рд╕реЗрд╡рд╛рд╣рд░реВ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред Lambda рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдирд╛рд╣рд░реВрдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджрд┐рдиреНрдЫ (рдЯреНрд░рд┐рдЧрд░рд╣рд░реВ рднрдирд┐рдиреНрдЫ), рдЬрд╕реНрддреИ Amazon API рдЧреЗрдЯрд╡реЗ рдорд╛рд░реНрдлрдд HTTP рдЕрдиреБрд░реЛрдзрд╣рд░реВ, Amazon S3 рдмрдХреЗрдЯрд╣рд░реВрдорд╛ рдбреЗрдЯрд╛рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╡рд╛ Amazon DynamoDB рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ; рд╡рд╛ рддрдкрд╛рдИрд▓реЗ AWS SDK рд░ AWS рдЪрд░рдг рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рд░рд╛рдЬреНрдп рдЯреНрд░рд╛рдиреНрдЬрд┐рд╕рди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ API рдХрд▓рд╣рд░реВ рдорд╛рд░реНрдлрдд рдЖрдлреНрдиреЛ рдХреЛрдб рдЪрд▓рд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

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

рдХрд╣рд┐рд▓реЗ Lambda рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреЗ?

AWS Lambda рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рдкреНрд▓реЗрдЯрдлрд░реНрдо рд╣реЛ рдЬреБрди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХреЗрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫ, рдЬрдмрд╕рдореНрдо рддрдкрд╛рдИрдВрдХреЛ рдХреЛрдбрдХреЛ рднрд╛рд╖рд╛ рд░ рд░рдирдЯрд╛рдЗрдо рд╕реЗрд╡рд╛рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдХреЛрдб рд░ рдмреНрдпрд╛рдкрд╛рд░ рддрд░реНрдХрдорд╛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реНрди рдЪрд╛рд╣рд╛рдиреБрд╣реБрдиреНрдЫ рд╕рд░реНрднрд░ рдорд░реНрдордд, рдкреНрд░рд╛рд╡рдзрд╛рди, рд░ рдЙрдЪрд┐рдд рд▓рд╛рдЧрдд рдорд╛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдЧрд░реНрджрд╛, AWS Lambda рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдЬрд╛рдиреЗ рдмрд╛рдЯреЛ рд╣реЛред

Lambda рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЖрджрд░реНрд╢ рд╣реЛ, рд░ API рдЧреЗрдЯрд╡реЗрд╕рдБрдЧ рд╕рдВрдпреЛрдЬрдирдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рд▓рд╛рдЧрддрд╣рд░реВ рдШрдЯрд╛рдЙрди рд░ рдЫрд┐рдЯреЛ рдмрдЬрд╛рд░рдорд╛ рдкреБрдЧреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рд╕рд░реНрднрд░рд░рд╣рд┐рдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди Lambda рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН - рд╕рдмреИрд▓реЗ рдЖрдлреНрдиреЛ рд▓рдХреНрд╖реНрдпрдХреЛ рдЖрдзрд╛рд░рдорд╛ рдЙрдкрдпреБрдХреНрдд рдХреЗрд╣рд┐ рдЫрдиреМрдЯ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред

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

рдпрд╣рд╛рдБ рддрдкрд╛рдИрдБрд▓реЗ рд╕реЗрд╡рд╛-рдЙрдиреНрдореБрдЦ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЬреБрди рдирд┐рд░рдиреНрддрд░ рдЪрд▓реНрджреИрдиред рдПрдЙрдЯрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдЫрд╡рд┐ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╣реЛред рд╡рд┐рддрд░рдг рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдорд╛рдорд▓рд╛рдорд╛ рдкрдирд┐, Lambda рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рд░рд╣рдиреНрдЫрдиреНред

рддреНрдпрд╕реЛрднрдП, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рд╕реНрд░реЛрддрд╣рд░реВ рдЖрд╡рдВрдЯрди рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрди рднрдиреЗ, AWS Lambda рдХреЛрд╕рд┐рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН; рдпрджрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рднрд╛рд░реА, рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдЧрдгрдирд╛рд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдЫреИрди рднрдиреЗ, AWS Lambda рдкрдирд┐ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН; рдпрджрд┐ рддрдкрд╛рдИрдВрдХреЛ рдХреЛрдб рдЖрд╡рдзрд┐рдХ рд░реВрдкрдорд╛ рдЪрд▓реНрдЫ рднрдиреЗ, рддреНрдпреЛ рд╕рд╣реА рдЫ, рддрдкрд╛рдИрдВрд▓реЗ AWS Lambda рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрдкрд░реНрдЫред

рд╕реБрд░рдХреНрд╖рд╛

рдЕрд╣рд┐рд▓реЗ рд╕рдореНрдо рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрдиреИ рдЧреБрдирд╛рд╕реЛ рдЫреИрдиред рдЕрд░реНрдХреЛрддрд░реНрдл, рдпрд╕ рдореЛрдбреЗрд▓рдХрд╛ рдзреЗрд░реИ рдЖрдиреНрддрд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ AWS Lambda рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдмрд╛рдЯ рд▓реБрдХрд╛рдЗрдПрдХреЛ рд╣реБрдирд╛рд▓реЗ, рдХреНрд▓рд╛рдЙрдб рд╕реБрд░рдХреНрд╖рд╛рдХрд╛ рдХреЗрд╣реА рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╕реНрд╡реАрдХреГрдд рдирд┐рдпрдорд╣рд░реВ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реБрдиреНрдЫрдиреНред

рдзреЗрд░реИ рдЬрд╕реЛ AWS рд╕реЗрд╡рд╛рд╣рд░реВ рдЬрд╕реНрддреИ, Lambda AWS рд░ рдЧреНрд░рд╛рд╣рдХ рдмреАрдЪ рд╕рд╛рдЭрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд░ рдЕрдиреБрдкрд╛рд▓рдирдХреЛ рдЖрдзрд╛рд░рдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдиреНрдЫред рдпрд╕ рд╕рд┐рджреНрдзрд╛рдиреНрддрд▓реЗ рдЧреНрд░рд╛рд╣рдХрдорд╛ рдкрд░рд┐рдЪрд╛рд▓рди рдмреЛрдЭ рдХрдо рдЧрд░реНрджрдЫ, рдХрд┐рдирдХрд┐ AWS рд▓реЗ рд╕реЗрд╡рд╛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рд░рдЦрд░рдЦрд╛рд╡, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд░ рдЕрдиреБрдЧрдорди рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрд╣рд░реВ рд▓рд┐рдиреНрдЫ - рд╣реЛрд╕реНрдЯ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рд░ рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рддрд╣рджреЗрдЦрд┐ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╕рдореНрдкрддреНрддрд┐рд╣рд░реВрдХреЛ рднреМрддрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛рд╕рдореНрдоред

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

рддрд▓рдХреЛ рд░реЗрдЦрд╛рдЪрд┐рддреНрд░рд▓реЗ рд╕рд╛рдЭрд╛ рдЬрд┐рдореНрдореЗрд╡рд╛рд░реА рдореЛрдбреЗрд▓ рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐рдирдХрд┐ рдпреЛ AWS Lambda рдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫред AWS рдЬрд┐рдореНрдореЗрд╡рд╛рд░реА рд╕реБрдиреНрддрд▓рд╛ рд░ рдЧреНрд░рд╛рд╣рдХ рдЙрддреНрддрд░рджрд╛рдпрд┐рддреНрд╡ рдиреАрд▓реЛ рдЫред рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреЗ рд░реВрдкрдорд╛, AWS рд▓реЗ рд╕реЗрд╡рд╛рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдердк рдЬрд┐рдореНрдореЗрд╡рд╛рд░реА рд▓рд┐рдиреНрдЫред

AWS Lambda рдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг

AWS Lambda рдорд╛ рд▓рд╛рдЧреВ рд╕рд╛рдЭрд╛ рдЬрд┐рдореНрдореЗрд╡рд╛рд░реА рдореЛрдбреЗрд▓

Lambda рд░рдирдЯрд╛рдЗрдо

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

Lambda рд╕реЗрд╡рд╛ рджреБрдИ рд╡рд┐рдорд╛рдирдорд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЫред рдкрд╣рд┐рд▓реЛ рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рди рд╣реЛред рд╡рд┐рдХрд┐рдкрд┐рдбрд┐рдпрд╛рдХрд╛ рдЕрдиреБрд╕рд╛рд░ рдХрдиреНрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рд╕рдЮреНрдЬрд╛рд▓рдХреЛ рднрд╛рдЧ рд╣реЛ рдЬреБрди рд╕рд┐рдЧреНрдирд▓рд┐рдЩ рдЯреНрд░рд╛рдлрд┐рдХ рд░ рд░реВрдЯрд┐рдЩ рдвреБрд╡рд╛рдиреАрдХрд╛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рд╣реБрдиреНрдЫред рдпреЛ рдкреНрд░рд╛рдердорд┐рдХ рдХрдореНрдкреЛрдиреЗрдиреНрдЯ рд╣реЛ рдЬрд╕рд▓реЗ рдкреНрд░рд╛рд╡рдзрд╛рди, рд╕реЗрд╡рд╛, рд░ рдХрд╛рд░реНрдпрднрд╛рд░ рд╡рд┐рддрд░рдгрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдирд┐рд░реНрдгрдп рдЧрд░реНрджрдЫред рдердк рд░реВрдкрдорд╛, рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рдирд▓реЗ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рдпрдХрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдЯреЛрдкреЛрд▓реЛрдЬреАрдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫ, рдорд╛рд░реНрдЧ рд░ рдЯреНрд░рд╛рдлрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ред

рджреЛрд╕реНрд░реЛ рд╡рд┐рдорд╛рди рдбрд╛рдЯрд╛ рдкреНрд▓реЗрди рд╣реЛред рдпреЛ, рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рди рдЬрд╕реНрддреИ, рдпрд╕рдХреЛ рдЖрдлреНрдиреИ рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреНред рдирд┐рдпрдиреНрддреНрд░рдг рд╡рд┐рдорд╛рдирд▓реЗ рдХрд╛рд░реНрдпрд╣рд░реВ (CreateFunction, UpdateFunctionCode) рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ API рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рд░ Lambda рд▓реЗ рдЕрдиреНрдп AWS рд╕реЗрд╡рд╛рд╣рд░реВрд╕рдБрдЧ рдХрд╕рд░реА рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрджрдЫред рдбрд╛рдЯрд╛ рдкреНрд▓реЗрдирд▓реЗ Invoke API рд▓рд╛рдИ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрдЫ, рдЬрд╕рд▓реЗ Lambda рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЪрд▓рд╛рдЙрдБрдЫред рдлрдВрдХреНрд╢рди рдмреЛрд▓рд╛рдПрдкрдЫрд┐, рдХрдиреНрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирд▓реЗ рддреНрдпрд╕ рдкреНрд░рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрд╡-рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЕрд╡рд╕реНрдерд┐рдд рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдЖрд╡рдВрдЯрд┐рдд рд╡рд╛ рдЪрдпрди рдЧрд░реНрджрдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕рдорд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджрдЫред

AWS Lambda рд▓реЗ Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2, рд░ рдЕрдиреНрдп, рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕рдореНрдмрдиреНрдзрд┐рдд рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВ рдорд╛рд░реНрдлрдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред AWS рд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдирд┐рдпрдорд┐рдд рд░реВрдкрдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрджрдЫ, рд╕реБрд░рдХреНрд╖рд╛ рдкреНрдпрд╛рдЪрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрджрдЫ, рд░ рдпреА рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВрдорд╛ рдЕрдиреНрдп рдорд░реНрдордд рдЧрддрд┐рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫред Lambda рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреНрдп рднрд╛рд╖рд╛рд╣рд░реВ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЙрдкрдпреБрдХреНрдд рд░рдирдЯрд╛рдЗрдо рдЖрдлреИрдВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрднрдпреЛред рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдЧрд░рд╛рдиреА рд╕рд╣рд┐рдд рдпрд╕рдХреЛ рдорд░реНрдордд рд╕рдореНрднрд╛рд░рдХреЛ рдЦреНрдпрд╛рд▓ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫред

рдпреЛ рд╕рдмреИ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ рд░ рд╕реЗрд╡рд╛рд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд╕рд░реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗрдЫ?

рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░реНрдп рдПрдХ рд╡рд╛ рдмрдвреА рд╕рдорд░реНрдкрд┐рдд рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЪрд▓реНрдЫ, рдЬреБрди рддреНрдпреЛ рдкреНрд░рдХрд╛рд░реНрдпрдХреЛ рдЬреАрд╡рдирдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрдиреНрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐ рдирд╖реНрдЯ рд╣реБрдиреНрдЫред рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдгрд▓реЗ рдПрдХ рдкрдЯрдХрдорд╛ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдХрд▓ рдЧрд░реНрдЫ, рддрд░ рдпрджрд┐ рдПрдЙрдЯреИ рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рдзреЗрд░реИ рд╕рд┐рд░рд┐рдпрд▓ рдХрд▓рд╣рд░реВ рдЫрдиреН рднрдиреЗ рдпрд╕рд▓рд╛рдИ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рд╕рдмреИ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рдирдХреЛ рд╕рд╛рде рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВрдорд╛ рдЪрд▓реНрджрдЫрдиреН - рддрдерд╛рдХрдерд┐рдд microVMsред рдкреНрд░рддреНрдпреЗрдХ microVM рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ AWS рдЦрд╛рддрд╛рдорд╛ рддреЛрдХрд┐рдПрдХреЛ рдЫ рд░ рддреНрдпреЛ рдЦрд╛рддрд╛ рднрд┐рддреНрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╡рд╛рддрд╛рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред MicroVM рд╣рд░реВ Lambda Worker рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рдирд┐рд░реНрдорд╛рдг рдмреНрд▓рдХрд╣рд░реВрдорд╛ рдкреНрдпрд╛рдХреЗрдЬ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН, рдЬреБрди AWS рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд░ рд╕рдЮреНрдЪрд╛рд▓рдирдорд╛ рдЫред рдПрдЙрдЯреИ рд░рдирдЯрд╛рдЗрдо рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди, рди рдд microVM рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди AWS рдЦрд╛рддрд╛рд╣рд░реВрдорд╛ рдЕрджреНрд╡рд┐рддреАрдп рд╣реБрдиреНрдЫрдиреНред

AWS Lambda рдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг

AWS Lambda рдЕрд▓рдЧрд╛рд╡ рдореЛрдбреЗрд▓

рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рдЕрд▓рдЧрд╛рд╡ рдзреЗрд░реИ рд╕рдВрдпрдиреНрддреНрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд╢реАрд░реНрд╖ рд╕реНрддрд░рдорд╛ рдирд┐рдореНрди рдЕрд╡рдпрд╡рд╣рд░реВрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐рд╣рд░реВ рдЫрдиреН:

  • рдкреНрд░рдХрд╛рд░реНрдп рдХреЛрдб
  • рдкреНрд░рдХрд╛рд░реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рдЪрдпрди рдЧрд░рд┐рдПрдХрд╛ рдХреБрдиреИ рдкрдирд┐ Lambda рддрд╣рд╣рд░реВ
  • рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╛рддрд╛рд╡рд░рдг
  • Amazon Linux рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдиреНрдпреВрдирддрдо рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдард╛рдЙрдБ

рдирд┐рдореНрди рд╕рдВрдпрдиреНрддреНрд░рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ:

  • cgroups - рдкреНрд░рддреНрдпреЗрдХ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ CPU, рдореЗрдореЛрд░реА, рднрдгреНрдбрд╛рд░рдг рд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрд░реЛрддрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рд╕реАрдорд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВ - рд╕рдореВрд╣реАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдИрдбреАрд╣рд░реВ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреАрд╣рд░реВ, рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рд░ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЕрдиреНрдп рд╕реНрд░реЛрддрд╣рд░реВред рдкреНрд░рддреНрдпреЗрдХ рд░рдирдЯрд╛рдЗрдо рдпрд╕рдХреЛ рдЖрдлреНрдиреИ рдирд╛рдо рд╕реНрдерд╛рдирдорд╛ рдЪрд▓реНрдЫ;
  • seccomp-bpf - рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рдкреНрд░рддрд┐рдмрдиреНрдзрд┐рдд рдЧрд░реНрджрдЫ рдЬреБрди рд░рдирдЯрд╛рдЗрдордорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ;
  • iptables рд░ рд░реВрдЯрд┐рдЩ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ - рдПрдХ рдЕрд░реНрдХрд╛рдмрд╛рдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рдЕрд▓рдЧрд╛рд╡;
  • chroot - рдЕрдиреНрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╕реАрдорд┐рдд рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

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

рдпрджреНрдпрдкрд┐ рдПрдЙрдЯреИ AWS рдЦрд╛рддрд╛рдХреЛ рдзреЗрд░реИ рд░рдирдЯрд╛рдЗрдорд╣рд░реВ рдПрдХрд▓ microVM рдорд╛ рдЪрд▓реНрди рд╕рдХреНрдЫ, рдХреБрдиреИ рдкрдирд┐ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдорд╛ рдорд╛рдЗрдХреНрд░реЛVM рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди AWS рдЦрд╛рддрд╛рд╣рд░реВ рдмреАрдЪ рд╕рд╛рдЭреЗрджрд╛рд░реА рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред AWS Lambda рд▓реЗ microVMs рд▓рд╛рдИ рдЕрд▓рдЧ рдЧрд░реНрди рдХреЗрд╡рд▓ рджреБрдИ рд╕рдВрдпрдиреНрддреНрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ: EC2 рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рд░ рдлрд╛рдпрд░рдХреНрд░реЗрдХрд░ред EC2 рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд Lambda рдорд╛ рдЕрддрд┐рдерд┐ рдЕрд▓рдЧрд╛рд╡ 2015 рджреЗрдЦрд┐ рд▓рдЧрднрдЧ рдЫред рдлрд╛рдпрд░рдХреНрд░реЗрдХрд░ рдПрдХ рдирдпрд╛рдБ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░ рд╣реЛ рдЬреБрди рд╡рд┐рд╢реЗрд╖ рдЧрд░реА AWS рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрднрд░рд▓реЗрд╕ рд╡рд░реНрдХрд▓реЛрдбрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛ рд░ 2018 рдорд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рднреМрддрд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ microVM рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдЦрд╛рддрд╛рд╣рд░реВрдорд╛ рд╡рд░реНрдХрд▓реЛрдбрд╣рд░реВ рдмреАрдЪ рд╕рд╛рдЭреЗрджрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╡рд╛рддрд╛рд╡рд░рдг рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╛рдЬреНрдпрд╣рд░реВ рдмрдЪрдд

рдпрджреНрдпрдкрд┐ Lambda рд░рдирдЯрд╛рдЗрдорд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЕрджреНрд╡рд┐рддреАрдп рдЫрдиреН, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдПрдЙрдЯреИ рдкреНрд░рдХрд╛рд░реНрдпрд▓рд╛рдИ рдмрд╛рд░рдореНрдмрд╛рд░ рдХрд▓ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН, рдпрд╕рдХреЛ рдорддрд▓рдм рд░рдирдЯрд╛рдЗрдо рдирд╖реНрдЯ рд╣реБрдиреБ рдЕрдШрд┐ рдзреЗрд░реИ рдШрдгреНрдЯрд╛рд╕рдореНрдо рдЬреАрд╡рд┐рдд рд░рд╣рди рд╕рдХреНрдЫред

рдкреНрд░рддреНрдпреЗрдХ Lambda рд░рдирдЯрд╛рдЗрдордорд╛ /tmp рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдорд╛рд░реНрдлрдд рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рд▓реЗрдЦреНрди рдорд┐рд▓реНрдиреЗ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдкрдирд┐ рд╣реБрдиреНрдЫред рдпрд╕рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдЕрдиреНрдп рд░рдирдЯрд╛рдЗрдордмрд╛рдЯ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред рдЬрд╣рд╛рдБрд╕рдореНрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд╡рд╕реНрдерд╛ рджреГрдврддрд╛рдХреЛ рд╕рдореНрдмрдиреНрдзрдорд╛ рдЫ, /tmp рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдгрдХреЛ рд╕рдореНрдкреВрд░реНрдг рдЬреАрд╡рди рдЪрдХреНрд░рдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╡рд╕реНрдерд┐рдд рдЫрдиреНред рдпрд╕рд▓реЗ рдзреЗрд░реИ рдХрд▓рд╣рд░реВрдХреЛ рдирддрд┐рдЬрд╛рд╣рд░реВ рдЬрдореНрдорд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬреБрди рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩ рдореЛрдбреЗрд▓рд╣рд░реВ рд▓реЛрдб рдЧрд░реНрдиреЗ рдЬрд╕реНрддрд╛ рдорд╣рдБрдЧреЛ рдХрд╛рд░реНрдпрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рдЙрдкрдпреЛрдЧреА рд╣реБрдиреНрдЫред

рдбрд╛рдЯрд╛ рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рдХрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН

Invoke API рджреБрдИ рдореЛрдбрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ: рдШрдЯрдирд╛ рдореЛрдб рд░ рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЛрдбред рдШрдЯрдирд╛ рдореЛрдбрдорд╛, рдХрд▓ рдкрдЫрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдордорд╛ рдердкрд┐рдПрдХреЛ рдЫред рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЛрдбрдорд╛, рдХрд╛рд░реНрдпрд▓рд╛рдИ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдкреЗрд▓реЛрдбрдХреЛ рд╕рд╛рде рддреБрд░реБрдиреНрддреИ рдмреЛрд▓рд╛рдЗрдиреНрдЫ, рдЬрд╕ рдкрдЫрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлрд░реНрдХрд╛рдЗрдиреНрдЫред рджреБрд╡реИ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдкреНрд░рдХрд╛рд░реНрдп Lambda рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЪрд▓реНрдЫ, рддрд░ рдлрд░рдХ рдкреЗрд▓реЛрдб рдкрдерд╣рд░реВрд╕рдБрдЧред

рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд▓рд╣рд░реВрдХреЛ рд╕рдордпрдорд╛, рдкреЗрд▓реЛрдб рдЕрдиреБрд░реЛрдз рдкреНрд░рд╢реЛрдзрди API (рдПрдкреАрдЖрдИ рдХрд▓рд░) рдмрд╛рдЯ рдкреНрд░рд╡рд╛рд╣ рд╣реБрдиреНрдЫ, рдЬрд╕реНрддреИ AWS API рдЧреЗрдЯрд╡реЗ рд╡рд╛ AWS SDK, рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░рдорд╛, рд░ рддреНрдпрд╕рдкрдЫрд┐ Lambda рдХрд▓ рд╕реЗрд╡рд╛ (рдЖрд╣реНрд╡рд╛рди рд╕реЗрд╡рд╛) рдорд╛ред рдкрдЫрд┐рд▓реНрд▓реЛрд▓реЗ рдкреНрд░рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рд╡рд╛рддрд╛рд╡рд░рдг рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ рд░ рдХрд▓ рдкреВрд░рд╛ рдЧрд░реНрди рддреНрдпрд╣рд╛рдБ рдкреЗрд▓реЛрдб рдкрд╛рд╕ рдЧрд░реНрджрдЫред рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░рд▓реЗ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ TLS-рд╕реБрд░рдХреНрд╖рд┐рдд рдЯреНрд░рд╛рдлрд┐рдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред Lambda рд╕реЗрд╡рд╛ рднрд┐рддреНрд░рдХреЛ рдЯреНрд░рд╛рдлрд┐рдХ - рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░ рдкрдЫрд┐ - рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ AWS рдХреНрд╖реЗрддреНрд░рдорд╛ рдЖрдиреНрддрд░рд┐рдХ VPC рдорд╛рд░реНрдлрдд рдЬрд╛рдиреНрдЫред

AWS Lambda рдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг

AWS Lambda рдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рдореЛрдбреЗрд▓: рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЛрдб

рдШрдЯрдирд╛ рдХрд▓рд╣рд░реВ рддреБрд░реБрдиреНрддреИ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд╡рд╛ рд▓рд╛рдордорд╛ рдердкреНрди рд╕рдХрд┐рдиреНрдЫред рдХрддрд┐рдкрдп рдЕрд╡рд╕реНрдерд╛рдорд╛, Amazon SQS (Amazon Simple Queue Service) рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд╛рдЗрди рд▓рд╛рдЧреБ рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдЖрдиреНрддрд░рд┐рдХ рдкреЛрд▓рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рд░реНрдлрдд Lambda рдХрд▓ рдкреВрд░реНрддрд┐ рд╕реЗрд╡рд╛рдорд╛ рдХрд▓рд╣рд░реВ рдкрд╛рд╕ рдЧрд░реНрдЫред рдкреНрд░рд╕рд╛рд░рд┐рдд рдЯреНрд░рд╛рдлрд┐рдХ TLS рджреНрд╡рд╛рд░рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЫ, рд░ Amazon SQS рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛рдХреЛ рдХреБрдиреИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЫреИрдиред

рдШрдЯрдирд╛ рдХрд▓рд╣рд░реВрд▓реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдлрд░реНрдХрд╛рдЙрдБрджреИрди - Lambda рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рд▓реЗ рдХреБрдиреИ рдкрдирд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬрд╛рдирдХрд╛рд░реАрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрджрдЫред Amazon S3, Amazon SNS, CloudWatch, рд░ рдЕрдиреНрдп рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рдШрдЯрдирд╛-рдЖрдзрд╛рд░рд┐рдд рдХрд▓рд╣рд░реВ рдШрдЯрдирд╛ рдореЛрдбрдорд╛ Lambda рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫред Amazon Kinesis рд░ DynamoDB рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ, SQS рд▓рд╛рдЗрдирд╣рд░реВ, рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд▓реЛрдб рдмреНрдпрд╛рд▓реЗрдиреНрд╕рд░, рд░ API рдЧреЗрдЯрд╡реЗ рдХрд▓рд╣рд░реВрдмрд╛рдЯ рдХрд▓рд╣рд░реВ рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлреЗрд╕рдирдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫред

рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрджреИ

рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рдореНрди рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ AWS рд╕рдВрдпрдиреНрддреНрд░ рд░ рд╕реЗрд╡рд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Lambda рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдЕрдиреБрдЧрдорди рд░ рдЕрдбрд┐рдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

Amazon CloudWatch
рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛, рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдЕрд╡рдзрд┐, рд░ рдЕрд╕рдлрд▓ рднрдПрдХрд╛ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдЬрд╕реНрддрд╛ рд╡рд┐рднрд┐рдиреНрди рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрджрдЫред

Amazon CloudTrail
рддрдкрд╛рдЗрдБрд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ AWS рдкреВрд░реНрд╡рд╛рдзрд╛рд░рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЦрд╛рддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЬрд╛рдирдХрд╛рд░реА рд▓рдЧ рдЧрд░реНрди, рдирд┐рд░рдиреНрддрд░ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рд░ рдХрд╛рдпрдо рд░рд╛рдЦреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рддрдкрд╛рдИрдВрд╕рдБрдЧ AWS рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХрдиреНрд╕реЛрд▓, AWS SDK, рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЙрдкрдХрд░рдгрд╣рд░реВ, рд░ рдЕрдиреНрдп AWS рд╕реЗрд╡рд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдЧрд░рд┐рдПрдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдкреВрд░реНрдг рдЗрддрд┐рд╣рд╛рд╕ рд╣реБрдиреЗрдЫред

AWS рдПрдХреНрд╕-рд░реЗ
рдпрд╕рдХреЛ рдЖрдиреНрддрд░рд┐рдХ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рдирдХреНрд╕рд╛рдорд╛ рдЖрдзрд╛рд░рд┐рдд рддрдкрд╛рдИрдВрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдорд╛ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╢реЛрдзрдирдХрд╛ рд╕рдмреИ рдЪрд░рдгрд╣рд░реВрдорд╛ рдкреВрд░реНрдг рджреГрд╢реНрдпрддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рдХрд╛рд╕рдХреЛ рд╕рдордпрдорд╛ рд░ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

AWS рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди
рддрдкрд╛рдИрдВ Lambda рдкреНрд░рдХрд╛рд░реНрдп рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди (рдореЗрдЯрд╛рдЙрдиреЗ рд╕рд╣рд┐рдд) рд░ рд░рдирдЯрд╛рдЗрдорд╣рд░реВ, рдЯреНрдпрд╛рдЧрд╣рд░реВ, рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рдирд╛рдорд╣рд░реВ, рдХреЛрдб рд╕рд╛рдЗрдЬ, рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди, рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд░ рд╕рдорд╡рд░реНрддреА рд╕реЗрдЯрд┐рдЩрд╣рд░реВ, рд╕рд╛рдереИ Lambda IAM рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреВрдорд┐рдХрд╛, рд╕рдмрдиреЗрдЯрд┐рдЩ, рд░ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реБрдиреЗрдЫред ред

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

AWS Lambda рд╕реБрд░рдХреНрд╖рд┐рдд рд░ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред AWS Lambda рдорд╛ рдзреЗрд░реИ рд╕реБрд░рдХреНрд╖рд╛ рд░ рдЕрдиреБрдкрд╛рд▓рди рдЕрднреНрдпрд╛рд╕рд╣рд░реВ рдЕрдиреНрдп AWS рд╕реЗрд╡рд╛рд╣рд░реВрдорд╛ рдЬрд╕реНрддреИ рдЫрдиреН, рдпрджреНрдпрдкрд┐ рддреНрдпрд╣рд╛рдБ рдЕрдкрд╡рд╛рджрд╣рд░реВ рдЫрдиреНред рдорд╛рд░реНрдЪ 2019 рд╕рдореНрдо, Lambda SOC 1, SOC 2, SOC 3, PCI DSS, рд╕реНрд╡рд╛рд╕реНрдереНрдп рдмреАрдорд╛ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд░ рдПрдХрд╛рдЙрдиреНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдРрди (HIPAA) рдЕрдиреБрдкрд╛рд▓рди, рд░ рдЕрдиреНрдп рдирд┐рдпрдорд╣рд░реВрдХреЛ рдЕрдиреБрдкрд╛рд▓рдирдорд╛ рдЫред рддреНрдпрд╕реЛрднрдП, рдЬрдм рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдЕрд░реНрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╕реЛрдЪреНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ, AWS Lambda рд╕реЗрд╡рд╛рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН - рдпреЛ рддрдкрд╛рдЗрдБрдХреЛ рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рдЙрддреНрддрдо рдлрд┐рдЯ рд╣реБрди рд╕рдХреНрдЫред

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

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