ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° AWS Lambda

ΠŸΡ€Π΅Π²ΠΎΠ΄ΡŠΡ‚ Π½Π° статията Π΅ ΠΈΠ·Π³ΠΎΡ‚Π²Π΅Π½ спСциално Π·Π° студСнтитС ΠΎΡ‚ курса "ΠžΠ±Π»Π°Ρ‡Π½ΠΈ услуги". Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΡƒΠ²Π°Ρ‚Π΅ Π»ΠΈ сС ΠΎΡ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π² Ρ‚Π°Π·ΠΈ посока? Π“Π»Π΅Π΄Π°ΠΉΡ‚Π΅ майсторския клас Π½Π° Π•Π³ΠΎΡ€ Π—ΡƒΠ΅Π² (TeamLead Π² InBit) β€žΠ£ΡΠ»ΡƒΠ³Π° AWS EC2β€œ ΠΈ сС ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½Π΅Ρ‚Π΅ към слСдващата Π³Ρ€ΡƒΠΏΠ° курс: Π·Π°ΠΏΠΎΡ‡Π²Π° Π½Π° 26 сСптСмври.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° AWS Lambda

ВсС ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ…ΠΎΡ€Π° ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Ρ‚ към AWS Lambda Π·Π° мащабируСмост, производитСлност, спСстявания ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Ρ‚Ρ€ΠΈΠ»ΠΈΠΎΠ½ΠΈ заявки Π½Π° мСсСц. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° управляватС инфраструктурата, Π²ΡŠΡ€Ρ…Ρƒ която Ρ€Π°Π±ΠΎΡ‚ΠΈ услугата. А Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π²ΠΈ позволява Π΄Π° обслуТватС хиляди Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ заявки Π² сСкунда. Мисля, Ρ‡Π΅ AWS Lambda с ΠΏΡ€Π°Π²ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Ρ€Π΅Ρ‡Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ Π½Π°ΠΉ-популярнитС услуги Π½Π° AWS.

AWS Lambda

AWS Lambda Π΅ управлявана ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½Π° изчислитСлна услуга, която Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ ΠΊΠΎΠ΄ Π±Π΅Π· осигуряванС ΠΈΠ»ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ AWS услуги с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° пСрсонализирана Π»ΠΎΠ³ΠΈΠΊΠ°. Lambda Ρ€Π΅Π°Π³ΠΈΡ€Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ (Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈ), ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ HTTP заявки ΠΏΡ€Π΅Π· Amazon API Gateway, ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² ΠΊΠΎΡ„ΠΈ Π½Π° Amazon S3 ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π½Π° Amazon DynamoDB; ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° стартиратС ΠΊΠΎΠ΄Π° си Ρ‡Ρ€Π΅Π· извиквания Π½Π° API, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ AWS SDK ΠΈ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ΠΈ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π² AWS Step Functions.

Lambda изпълнява ΠΊΠΎΠ΄ Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½Π° инфраструктура с висока Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚ ΠΈ Π΅ изцяло ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° администриранСто Π½Π° основната ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма, прСдоставянС Π½Π° рСсурси, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, наблюдСниС Π½Π° ΠΊΠΎΠ΄Π° ΠΈ рСгистриранС. ВоСст, просто трябва Π΄Π° ΠΊΠ°Ρ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ΄Π° си ΠΈ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ³Π° Π΄Π° бъдС изпълнСн. ΠžΡ‚ своя страна услугата Ρ‰Π΅ сС ΠΏΠΎΠ³Ρ€ΠΈΠΆΠΈ Π·Π° стартиранСто ΠΌΡƒ ΠΈ Ρ‰Π΅ осигури висока наличност Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Кога Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π° към Lambda?

AWS Lambda Π΅ ΡƒΠ΄ΠΎΠ±Π½Π° изчислитСлна ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, която Π΅ подходяща Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, стига Π΅Π·ΠΈΠΊΡŠΡ‚ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° вашия ΠΊΠΎΠ΄ Π΄Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΎΡ‚ услугата. Ако искатС Π΄Π° сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ вашия ΠΊΠΎΠ΄ ΠΈ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ‰Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡŠΠ·Π»ΠΎΠΆΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π°, осигуряванСто ΠΈ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π½Π° външни ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Ρ€Π°Π·ΡƒΠΌΠ½Π° Ρ†Π΅Π½Π°, AWS Lambda ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π΅ правилният Π½Π°Ρ‡ΠΈΠ½.

Lambda Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° създаванС Π½Π° интСрфСйси Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π°Π΅Π΄Π½ΠΎ с API Gateway, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ Π΄Π° стигнСтС Π΄ΠΎ ΠΏΠ°Π·Π°Ρ€Π° ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ. Има Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Lambda Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π΅Π·ΡΡŠΡ€Π²ΡŠΡ€Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° - всСки ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ Π½Π΅Ρ‰ΠΎ подходящо спорСд Ρ†Π΅Π»Ρ‚Π° си.

Lambda Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ ΡˆΠΈΡ€ΠΎΠΊ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° CloudWatch, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ процСси. Няма ограничСния Π·Π° СстСството ΠΈ интСнзивността Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° услугата (консумацията Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄) ΠΈ Π½ΠΈΡ‰ΠΎ Π½Π΅ Π²ΠΈ ΠΏΡ€Π΅Ρ‡ΠΈ систСматично Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π½Π° микроуслуга, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° Lambda.

Π’ΡƒΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ към услугата дСйствия, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ. Π’ΠΈΠΏΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π”ΠΎΡ€ΠΈ Π² случай Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ систСми, Π»Π°ΠΌΠ±Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ остават Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ.

Π’Π°ΠΊΠ° Ρ‡Π΅, Π°ΠΊΠΎ Π½Π΅ искатС Π΄Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ‚Π΅ с разпрСдСлянС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° изчислитСлни рСсурси, ΠΎΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ AWS Lambda; Π°ΠΊΠΎ Π½Π΅ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ Ρ‚Π΅ΠΆΠΊΠΈ, рСсурсоСмки изчислСния, ΠΎΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΈ AWS Lambda; Π°ΠΊΠΎ Π²Π°ΡˆΠΈΡΡ‚ ΠΊΠΎΠ΄ сС изпълнява ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ, Ρ‚ΠΎΠ²Π° Π΅ Ρ‚Π°ΠΊΠ°, трябва Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ AWS Lambda.

сигурност

ЗасСга няма оплаквания относно бСзопасността. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ процСси ΠΈ характСристикитС Π½Π° изпълнСниС Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» са скрити ΠΎΡ‚ потрСбитСля Π½Π° управляваната срСда Π·Π° изпълнСниС Π½Π° AWS Lambda, някои ΠΎΠ±Ρ‰ΠΎΠΏΡ€ΠΈΠ΅Ρ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° сигурност Π² ΠΎΠ±Π»Π°ΠΊΠ° стават нСумСстни.

Подобно Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ услуги Π½Π° AWS, Lambda сС прСдоставя Π½Π° сподСлСна Π±Π°Π·Π° Π·Π° сигурност ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ AWS ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ намалява ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° тСТСст Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ AWS ΠΏΠΎΠ΅ΠΌΠ° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, администриранС ΠΈ наблюдСниС Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° услугата - ΠΎΡ‚ хост ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈ слоя Π·Π° виртуализация Π΄ΠΎ физичСската сигурност Π½Π° инфраструктурнитС Π°ΠΊΡ‚ΠΈΠ²ΠΈ.

Π“ΠΎΠ²ΠΎΡ€Π΅ΠΉΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π·Π° AWS Lambda, AWS отговаря Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° основната инфраструктура, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ основни услуги, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° прилоТСния. Π”ΠΎΠΊΠ°Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° сигурността Π½Π° своя ΠΊΠΎΠ΄, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ тях, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄ΠΎ услугата ΠΈ рСсурситС Lambda (Identity and Access Management, IAM), Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π² Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° сподСлСната отговорност, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ към AWS Lambda. AWS Responsibility Π΅ ΠΎΡ€Π°Π½ΠΆΠ΅Π²ΠΎ, Π° Customer Responsibility Π΅ синьо. ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, AWS ΠΏΠΎΠ΅ΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ отговорност Π·Π° прилоТСнията, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² услугата.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° AWS Lambda

МодСл Π½Π° сподСлСна отговорност, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ към AWS Lambda

Π›Π°ΠΌΠ±Π΄Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС

ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ прСдимство Π½Π° Lambda Π΅, Ρ‡Π΅ изпълнявайки функция ΠΎΡ‚ вашС ΠΈΠΌΠ΅, услугата сама разпрСдСля Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ рСсурси. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅Ρ‚Π΅ Π·Π°Π³ΡƒΠ±Π°Ρ‚Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΈ усилия Π·Π° администриранС Π½Π° систСмата ΠΈ Π΄Π° сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ бизнСс Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° ΠΈ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ.

Услугата Lambda Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π΄Π²Π΅ Π½ΠΈΠ²Π°. ΠŸΡŠΡ€Π²Π°Ρ‚Π° Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ€Π°Π²Π½ΠΈΠ½Π°. Π‘ΠΏΠΎΡ€Π΅Π΄ Wikipedia ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ€Π°Π²Π½ΠΈΠ½Π° Π΅ частта ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½Π° Π·Π° транспортиранСто Π½Π° сигналСн Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅. Π’ΠΎΠ²Π° Π΅ основният ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π·Π΅ΠΌΠ° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ относно прСдоставянСто, обслуТванСто ΠΈ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ натоварвания. ОсвСн Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ€Π°Π²Π½ΠΈΠ½Π° дСйства ΠΊΠ°Ρ‚ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²Π° топология Π½Π° доставчика Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° Ρ€Π°Π²Π½ΠΈΠ½Π° Π΅ Ρ€Π°Π²Π½ΠΈΠ½Π°Ρ‚Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅. Π’ΠΎΠΉ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° самолСта Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈΠΌΠ° свои собствСни Π·Π°Π΄Π°Ρ‡ΠΈ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ€Π°Π²Π½ΠΈΠ½Π° прСдоставя API Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (CreateFunction, UpdateFunctionCode) ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° ΠΊΠ°ΠΊ Lambda ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠΈΡ€Π° с Π΄Ρ€ΡƒΠ³ΠΈ AWS услуги. Π Π°Π²Π½ΠΈΠ½Π°Ρ‚Π° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° Invoke API, ΠΊΠΎΠΉΡ‚ΠΎ изпълнява Π»Π°ΠΌΠ±Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ° функция, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° Ρ€Π°Π²Π½ΠΈΠ½Π° разпрСдСля ΠΈΠ»ΠΈ ΠΈΠ·Π±ΠΈΡ€Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π° срСда Π·Π° изпълнСниС, която Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½Π° Π·Π° Ρ‚Π°Π·ΠΈ функция, ΠΈ слСд Ρ‚ΠΎΠ²Π° изпълнява ΠΊΠΎΠ΄Π° Π² нСя.

AWS Lambda ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ, Ρ‡Ρ€Π΅Π· ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΈΠΌ срСди Π·Π° изпълнСниС. AWS Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ Π³ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°, разпространява ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π·Π° сигурност ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π΄Ρ€ΡƒΠ³ΠΈ дСйности ΠΏΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ‚Π΅Π·ΠΈ срСди. Lambda Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π΅Π·ΠΈΡ†ΠΈ, ΠΏΡ€ΠΈ условиС Ρ‡Π΅ сами Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ подходящото Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС. И Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ трябва Π΄Π° сС Π³Ρ€ΠΈΠΆΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° ΠΌΡƒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° слСдитС Π·Π° бСзопасността ΠΌΡƒ.

Как Ρ€Π°Π±ΠΎΡ‚ΠΈ всичко ΠΈ ΠΊΠ°ΠΊ услугата Ρ‰Π΅ изпълнява Π²Π°ΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

Всяка функция Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ спСциални срСди, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ само Π·Π° ΠΆΠΈΠ²ΠΎΡ‚Π° Π½Π° Ρ‚Π°Π·ΠΈ функция ΠΈ слСд Ρ‚ΠΎΠ²Π° сС ΡƒΠ½ΠΈΡ‰ΠΎΠΆΠ°Π²Π°Ρ‚. Всяка срСда ΠΏΡ€Π°Π²ΠΈ само Π΅Π΄Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ навСднъТ, Π½ΠΎ Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ° мноТСство послСдоватСлни извиквания към Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° функция. Всички срСди Π·Π° изпълнСниС работят Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини с Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½Π° виртуализация - Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈΡ‚Π΅ microVM. Всяка microVM Π΅ присвоСна Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ AWS Π°ΠΊΠ°ΡƒΠ½Ρ‚ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΎΡ‚ срСди Π·Π° изпълнСниС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ Π°ΠΊΠ°ΡƒΠ½Ρ‚. MicroVM са ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½ΠΈ Π² Π³Ρ€Π°Π΄ΠΈΠ²Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Lambda Worker, която Π΅ собствСност ΠΈ сС управлява ΠΎΡ‚ AWS. Π•Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΈΡ‚ΠΎ пък microVM са ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ AWS Π°ΠΊΠ°ΡƒΠ½Ρ‚ΠΈ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° AWS Lambda

AWS Π»Π°ΠΌΠ±Π΄Π° ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΌΠΎΠ΄Π΅Π»

Π˜Π·ΠΎΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° срСдитС Π·Π° изпълнСниС сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° няколко ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°. На Π½Π°ΠΉ-високото Π½ΠΈΠ²ΠΎ Π½Π° всяка срСда ΠΈΠΌΠ° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ копия Π½Π° слСднитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ:

  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΊΠΎΠ΄
  • Всички Π»Π°ΠΌΠ±Π΄Π° слоСвС, ΠΈΠ·Π±Ρ€Π°Π½ΠΈ Π·Π° функцията
  • Π‘Ρ€Π΅Π΄Π° Π·Π° изпълнСниС Π½Π° функция
  • Минимално потрСбитСлско пространство, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° Amazon Linux

Π‘Π»Π΅Π΄Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ срСди Π·Π° изпълнСниС:

  • cgroups - ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ CPU, ΠΏΠ°ΠΌΠ΅Ρ‚, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ рСсурси Π·Π° всяка срСда Π·Π° изпълнСниС;
  • пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° - Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° процСси, потрСбитСлски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ рСсурси, управлявани ΠΎΡ‚ ядрото Π½Π° Linux. Всяка срСда Π·Π° изпълнСниС Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² собствСно пространство ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π°;
  • seccomp-bpf - ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° систСмнитС повиквания, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС;
  • iptables ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ - ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° срСдитС Π·Π° изпълнСниС Π΅Π΄Π½Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°;
  • chroot - осигурява ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ основната Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма.

ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ със собствСни Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° изолация Π½Π° AWS, Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ осигуряват Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ раздСлянС ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС. Π˜Π·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ срСди Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΈΠ»ΠΈ Π΄Π° промСнят Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ срСди.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ мноТСство изпълнСния Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ AWS Π°ΠΊΠ°ΡƒΠ½Ρ‚ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят Π½Π° Π΅Π΄Π½Π° microVM, ΠΏΡ€ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ обстоятСлства microVM Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС сподСлят ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ AWS Π°ΠΊΠ°ΡƒΠ½Ρ‚ΠΈ. AWS Lambda ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само Π΄Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° microVM: EC2 инстанции ΠΈ Firecracker. Π˜Π·ΠΎΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° гости Π² Lambda въз основа Π½Π° СкзСмпляри Π½Π° EC2 ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° ΠΎΡ‚ 2015 Π³. Firecracker Π΅ Π½ΠΎΠ² Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, спСциално ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ ΠΎΡ‚ AWS Π·Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ натоварвания Π±Π΅Π· ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ прСдставСн ΠΏΡ€Π΅Π· 2018 Π³. ЀизичСският Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ с microVM, сС сподСля ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ натоварвания Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°ΠΊΠ°ΡƒΠ½Ρ‚ΠΈ.

Π—Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° срСди ΠΈ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ Π½Π° процСси

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° Lambda Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΎ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° функция ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡ†Π΅Π»Π΅Π΅ няколко часа, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° бъдС ΡƒΠ½ΠΈΡ‰ΠΎΠΆΠ΅Π½ΠΎ.

Всяка срСда Π·Π° изпълнСниС Π½Π° Lambda ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° запис, Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° ΠΏΡ€Π΅Π· дирСкторията /tmp. НСговото ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ срСди Π·Π° изпълнСниС. Π©ΠΎ сС отнася Π΄ΠΎ постоянството Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° процСса, Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, записани Π² /tmp, ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π·Π° цСлия ΠΆΠΈΠ·Π½Π΅Π½ Ρ†ΠΈΠΊΡŠΠ» Π½Π° срСдата Π·Π° изпълнСниС. Π’ΠΎΠ²Π° позволява Π΄Π° сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ мноТСство повиквания, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ особСно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° скъпи ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅.

ΠŸΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π·Π° Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ΠΈ

Invoke API ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ°: Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ ΠΈ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° заявка-ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. Π’ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ сС добавя към опашка Π·Π° ΠΏΠΎ-късно изпълнСниС. Π’ Ρ€Π΅ΠΆΠΈΠΌ заявка-ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ функцията сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ с прСдоставСния ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π²Ρ€ΡŠΡ‰Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚. И Π² Π΄Π²Π°Ρ‚Π° случая функцията Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Lambda срСда, Π½ΠΎ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡŠΡ‚ΠΈΡ‰Π° Π½Π° полСзния Ρ‚ΠΎΠ²Π°Ρ€.

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° повиквания заявка-ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ полСзният Ρ‚ΠΎΠ²Π°Ρ€ ΠΏΡ€ΠΎΡ‚ΠΈΡ‡Π° ΠΎΡ‚ API Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° заявки (API Caller), ΠΊΠ°Ρ‚ΠΎ AWS API Gateway ΠΈΠ»ΠΈ AWS SDK, към балансиращото Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° към услугата Π·Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Lambda (Invoke Service). ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ‚ опрСдСля подходящата срСда Π·Π° изпълнСниС Π½Π° функцията ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π° полСзния Ρ‚ΠΎΠ²Π°Ρ€ Ρ‚Π°ΠΌ, Π·Π° Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ. Балансиращото Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° TLS-Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΡ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Π’Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° услугата Lambda β€” слСд балансиращото Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ β€” ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ΅Π½ VPC Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ AWS Ρ€Π΅Π³ΠΈΠΎΠ½.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° AWS Lambda

AWS ΠΌΠΎΠ΄Π΅Π» Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π»Π°ΠΌΠ±Π΄Π° повиквания: Ρ€Π΅ΠΆΠΈΠΌ Π½Π° заявка-ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€

ΠŸΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡ‚Π° Π·Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ към опашка. Π’ някои случаи ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Amazon SQS (Amazon Simple Queue Service), която ΠΏΡ€Π΅Π΄Π°Π²Π° обаТданията към услугата Π·Π° изпълнСниС Π½Π° повиквания Lambda Ρ‡Ρ€Π΅Π· Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ΅Π½ процСс Π½Π° Π°Π½ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅. ΠŸΡ€Π΅Π΄Π°Π²Π°Π½ΠΈΡΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π΅ Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ ΠΎΡ‚ TLS ΠΈ няма Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈ Π² Amazon SQS.

ΠžΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡΡ‚Π° Π·Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ Π½Π΅ Π²Ρ€ΡŠΡ‰Π°Ρ‚ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ - Lambda Worker просто ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π° всякаква информация Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. Π‘Π°Π·ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΡ повиквания ΠΎΡ‚ Amazon S3, Amazon SNS, CloudWatch ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΠΎΡ‚ Lambda Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅. ΠžΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡΡ‚Π° ΠΎΡ‚ Amazon Kinesis ΠΈ DynamoDB ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, SQS опашки, Application Load Balancer ΠΈ API Gateway сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΠΏΠΎ Π½Π°Ρ‡ΠΈΠ½ заявка-ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€.

ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ ΠΈ провСряватС Lambda Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ ΠΈ услуги Π½Π° AWS, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ слСднитС.

amazoncloudwatch
Π‘ΡŠΠ±ΠΈΡ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ статистичСски Π΄Π°Π½Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Π±Ρ€ΠΎΠΉ заявки, ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚ Π½Π° заявкитС ΠΈ Π±Ρ€ΠΎΠΉ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ заявки.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€