ΠΡΠ΅Π²ΠΎΠ΄ΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΈΠ·Π³ΠΎΡΠ²Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΠΎΡ ΠΊΡΡΡΠ°
ΠΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Ρ
ΠΎΡΠ° ΠΌΠΈΠ³ΡΠΈΡΠ°Ρ ΠΊΡΠΌ 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
ΠΠ°ΠΌΠ±Π΄Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅
ΠΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ Π½Π° 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 Π»Π°ΠΌΠ±Π΄Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΠΎΠ½Π΅Π½ ΠΌΠΎΠ΄Π΅Π»
ΠΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ΅Π΄ΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°. ΠΠ° Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π²ΡΡΠΊΠ° ΡΡΠ΅Π΄Π° ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠΎΠΏΠΈΡ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ:
- Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΊΠΎΠ΄
- ΠΡΠΈΡΠΊΠΈ Π»Π°ΠΌΠ±Π΄Π° ΡΠ»ΠΎΠ΅Π²Π΅, ΠΈΠ·Π±ΡΠ°Π½ΠΈ Π·Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ°
- Π‘ΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ
- ΠΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° 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 ΠΌΠΎΠ΄Π΅Π» Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π»Π°ΠΌΠ±Π΄Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ: ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π·Π°ΡΠ²ΠΊΠ°-ΠΎΡΠ³ΠΎΠ²ΠΎΡ
ΠΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΡΡΠ±ΠΈΡΠΈΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΠΎΠΏΠ°ΡΠΊΠ°. Π Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° 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