Π― ΡΠ°Π±ΠΎΡΠ°Ρ Π² Π°ΡΡΡΠΎΡΡΠ΅, Π³Π΄Π΅ Π³Π»Π°Π²Π½ΡΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π·ΠΎΠΉ Β«ΠΏΡΠΎΠ΄Π°Π²Π°ΠΉ ΠΌΠ½ΠΎΠ³ΠΎ, Π΄Π΅Π»Π°ΠΉ Π±ΡΡΡΡΠΎΒ». Π§Π΅ΠΌ Π±ΡΡΡΡΠ΅Π΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ. Π, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π½Π΅ Π½Π° ΠΊΠΎΡΡΡΠ»ΡΡ
ΠΈ ΡΠΎΠΏΠ»ΡΡ
, Π° Ρ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. Π― ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠ²ΠΎΡΠΌ ΠΎΠΏΡΡΠ΅, ΠΊΠΎΠ³Π΄Π° Π·Π° ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΡΠΎΠΊ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠΌΠΎ-ΡΠ΅ΡΠ²ΠΈΡ.
ΠΠ°Π½ΠΎ: root-Π°ΠΊΠΊΠ°ΡΠ½Ρ Π½Π° AWS, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π²ΡΠ±ΠΎΡΡ ΡΡΠ΅ΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΎΠ΄ΠΈΠ½ Π±ΡΠΊΠ΅Π½Π΄Π΅Ρ, ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ°Π΄Π°ΡΠ°: ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΌΠΎ-ΡΠ΅ΡΠ²ΠΈΡ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π»ΡΠ΄ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ ΡΠ΅ΡΡΡΡΡ
Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΎ ΡΠ΅ΡΡΡΡΡ
ΡΠ΅ΠΊΡΠ½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠΎΠΌ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΡΠ΄.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π² ΡΠ°ΠΊΠΈΠ΅ ΡΠΆΠ°ΡΡΠ΅ ΡΡΠΎΠΊΠΈ β ΡΠ°ΠΊ ΡΠ΅Π±Π΅ Π·Π°ΡΠ΅Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ²ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΠ»ΡΡ Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ°ΠΌΠΈ ΠΈ Π²ΡΠ΅ ΠΆΠ΅Π»Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π·Π°Π²Π΅ΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. Π ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Ρ ΡΠ΅Π½Π½ΠΈΠΊΠΎΠΌ ΠΎΡ ΡΠ°ΠΌΠΎΠ»ΡΡΠ°. ΠΠΎΡΡΠΎΠΌΡ ΡΡΠ°Π·Ρ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠ΅ΠΌΡΡ Π½Π° Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎ β FFmpeg, ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅ΡΠ΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈ Π½Π°ΡΠ΅Π·Π°ΡΡ, ΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π·Π²ΡΠΊ. ΠΠ΅Π»ΠΎ Π·Π° ΠΌΠ°Π»ΡΠΌ β Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΡΡΠΊΡ ΠΈ Π²ΡΠΏΡΡΡΠΈΡΡ Π΅Ρ Π² ΠΆΠΈΠ·Π½Ρ. ΠΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ»Π΅ΠΈΠ²Π°Π΅Ρ Π΄Π²Π° Π²ΠΈΠ΄Π΅ΠΎ, ΠΈβ¦ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° .NET Core 2, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΊΡΡΡΠΈΡΡΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΊΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π±Π΅ΡΡΠΌ ΠΈΠ½ΡΡΠ°Π½Ρ AWS EC2 ΠΈ Π²ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π‘ΠΊΡΡΡΡΠΉ ΡΠ΅ΠΊΡΡΠ½Π΅Ρ, Π½Π΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
.
FFmpeg Ρ
ΠΎΡΡ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ, Π½ΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΠ‘2 ΠΈΠ½ΡΡΠ°Π½Ρ, ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Load Balancer. ΠΡΠΎΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ° ΠΏΠΎ Π΄Π΅ΠΏΠ»ΠΎΡ Ρ Π½ΡΠ»Ρ Β«Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎΒ» ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ, Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π΄Π΅Π½ΡΠ³ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ β ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Ρ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΡΡΡΡΠ° ΡΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΡΠΌΠΌΠ° Π·Π° ΡΠ°Π½ΡΠ°ΠΉΠΌ.
ΠΠ°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Long-Running ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ ΠΆΠΈΡΠ½ΠΎΠΉ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Ρ ΡΠ΅ΠΏΠΎΡΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ β ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΠ‘2 ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ true-serverless ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Image Resizer Π½Π° Π±Π°Π·Π΅ AWS Lambda.
ΠΡΡΠ°ΡΠΈ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ²Π½ΡΡ Π½Π΅Π»ΡΠ±ΠΎΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² AWS ΠΊ .NET, ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ .NET Core 2.1 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π½ΡΠ°ΠΉΠΌΠ°, ΡΡΠΎ Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠ΅ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π Π²ΠΈΡΠ΅Π½ΠΊΠ° Π½Π° ΡΠΎΡΡΠ΅ β AWS ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎΡΠ°ΠΉΠ»Π°ΠΌΠΈ β AWS Elemental MediaConvert.
Π‘ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°: Π±Π΅ΡΡΠΌ S3-ΡΡΡΠ»ΠΊΡ Π½Π° ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ Π²ΠΈΠ΄Π΅ΠΎ, ΡΠ΅ΡΠ΅Π· AWS Console, .NET SDK ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ JSON ΠΏΠΈΡΠ΅ΠΌ, ΡΡΠΎ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡ. ΠΠ½ ΡΠ°ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ°ΠΌ Π²ΡΠ³ΡΡΠΆΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² S3 ΠΈ, ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, Π³Π΅Π½Π΅ΡΠΈΡ CloudWatch Event Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΌΠ΅Π½Ρ ΡΡΠ°ΡΡΡΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠΈΠ³Π³Π΅ΡΡ Π½Π° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠ½Π³Π° Π²ΠΈΠ΄Π΅ΠΎ.
ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
ΠΠ΅ΡΡ Π±ΡΠΊΠ΅Π½Π΄ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π΄Π²ΡΡ Π»ΡΠΌΠ±Π΄Π°Ρ . ΠΡΡ ΠΎΠ΄Π½Π° β Π΄Π»Ρ ΡΠΎΡΠ°ΡΠΈΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡ ΠΎΠ΄.
Π€ΡΠΎΠ½Ρ Π² Π²ΠΈΠ΄Π΅ SPA-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° JS ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· pug, ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠΌ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΉ S3 ΠΊΠΎΡΠ·ΠΈΠ½Π΅. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΌΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ REST-ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ S3. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΈ CORS.
ΠΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ
- AWS MediaConvert ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π½Π΅Π²Π΅Π΄ΠΎΠΌΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π·Π²ΡΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° Π½Π°ΠΌ Π½ΡΠΆΠ½Π° Π·Π°Π΄ΠΎΡΠ½Π°Ρ ΠΏΠ΅ΡΠ½Ρ ΠΈΠ· Π·Π°ΡΡΠ°Π²ΠΊΠΈ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ.
- Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. AWS Π½Π΅ Π»ΡΠ±ΠΈΡ ΡΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΠΎΡΡ ΠΈ ΠΊΠ»Π°Π΄ΡΡ ΡΠΎΠ»ΠΈΠΊΠΈ Π½Π° 90Β°.
ΠΠ·ΠΈ ΠΊΠ°ΡΠΊΠ°
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΡ ΠΊΡΠ°ΡΠΎΡΡ Stateless, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎ: ΡΠΊΠ»Π΅ΠΈΡΡ ΠΈΠ»ΠΈ Π½Π°Π»ΠΎΠΆΠΈΡΡ Π·Π²ΡΠΊ Π½Π° ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΡΡΠ΄. Π ΡΡΠ°ΡΡΡΡ, MediaConvert ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΈ Job, ΠΈ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ»Π°Π³ ΠΏΠΎ Π²ΠΈΠ΄Ρ βisMasterSoundJobβ, ΡΠ°ΡΠΏΠ°ΡΡΠΈΠ² ΡΡΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΠ°ΠΏΠ΅.
Serverless ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ NoOps β ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π½Π΅Π½ΡΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅ΠΉ Π·Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΡΡΠΎΠΌΡ Π΄Π΅Π»ΠΎ Π±ΡΠ»ΠΎ Π·Π° ΠΌΠ°Π»ΡΠΌ β ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° AWS Π±Π΅Π· ΡΡΠ°ΡΡΠΈΡ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ Π²ΡΠ΅Π³Π΄Π° ΠΈ ΡΠ°ΠΊ Π΅ΡΡΡ ΡΠ΅ΠΌ Π·Π°Π½ΡΡΡΡΡ.
Π ΡΡΠΎΠ±Ρ Π²ΡΡ ΡΡΠΎ ΡΡΠΊΠΎΡΠΈΡΡ, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΡΠΊΡΠΈΠΏΡΠΎΠΌ Π½Π° AWS CloudFormation, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΡΡΠΌΠΎ ΠΈΠ· VS. Π ΠΈΡΠΎΠ³Π΅, ΡΠ°ΠΉΠ» Π½Π° 200 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΊΠ°ΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Ρ
ΠΎΡΡ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ CloudFormation Ρ Π½Π΅ΠΏΡΠΈΠ²ΡΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡΠΎΠ³ΠΎ
Serverless β Π½Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ. ΠΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡ ΠΆΠΈΠ·Π½Ρ Π² ΡΠΈΡΡΠ°ΡΠΈΡΡ Ρ ΡΡΠ΅ΠΌΡ Π»ΠΈΠΌΠΈΡΠ°ΠΌΠΈ: Β«ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡβΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΡΠΎΠΊβΠΌΠ°Π»ΠΎ Π΄Π΅Π½Π΅Π³Β».
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Serverless
- Π±Π΅Π· Long-Running ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π₯Π°ΡΠ΄ Π»ΠΈΠΌΠΈΡ API Gateway β 29 ΡΠ΅ΠΊΡΠ½Π΄, Ρ Π°ΡΠ΄ Π»ΠΈΠΌΠΈΡ Π»ΡΠΌΠ±Π΄Ρ β 5 ΠΌΠΈΠ½ΡΡ;
- ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Event-Driven Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ;
- ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎ ΡΠΈΠΏΡ SOA;
- Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ;
- Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° .NET Core. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ .NET Framework ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Docker Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ°Π½ΡΠ°ΠΉΠΌΠΎΠΌ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Serverless-ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°
- ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ;
- ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π·Π°ΡΡΠ°ΡΡ Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ;
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ;
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΎΡΡΡΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ°.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅
- Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΡΡΠ΅ΠΉΡΠΈΠ½Π³ ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· AWS X-Ray ΠΈ AWS CloudWatch;
- Π½Π΅ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ°;
- Cold Start ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ;
- User-hostile ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ AWS β ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° π
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com