αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‚αŸ’αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžœαžΈαžŠαŸαž’αžΌαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‚αŸ’αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžœαžΈαžŠαŸαž’αžΌαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš

αžαŸ’αž‰αž»αŸ†αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ… αžŠαŸ‚αž›αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŸαŸ†αžαžΆαž“αŸ‹αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαžŠαŸ„αž™αžƒαŸ’αž›αžΆ "αž›αž€αŸ‹αž…αŸ’αžšαžΎαž“ αž’αŸ’αžœαžΎαžœαžΆαž±αŸ’αž™αž›αžΏαž“" αŸ” αž™αžΎαž„β€‹αž’αŸ’αžœαžΎβ€‹αžœαžΆβ€‹αž€αžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž›αžΏαž“ αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž‘αž‘αž½αž›β€‹αž”αžΆαž“β€‹αž€αžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž…αŸ’αžšαžΎαž“αŸ” αž αžΎαž™αžœαžΆαž‡αžΆαž€αžΆαžšαž…αž„αŸ‹αž”αžΆαž“αžŠαŸ‚αž›αžαžΆαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αž·αž“αž˜αŸ‚αž“αž“αŸ…αž›αžΎαžˆαžΎαž…αŸ’αžšαžαŸ‹αž“αž·αž„ snot αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž˜αŸ’αžšαž·αžαž“αŸƒαž‚αž»αžŽαž—αžΆαž–αžŠαŸ‚αž›αž’αžΆαž…αž‘αž‘αž½αž›αž™αž€αž”αžΆαž“αŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αŸ†αž–αžΈαž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αžŠαŸαžαŸ’αž›αžΈαŸ”

αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αŸ– αž‚αžŽαž“αžΈ root αž“αŸ…αž›αžΎ AWS αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž›αžΎαž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž‡αž„αŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ αž•αŸ’αž‘αžΆαŸ†αž„αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž˜αž½αž™ αž“αž·αž„αžšαž™αŸˆαž–αŸαž›αž˜αž½αž™αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ”

αž—αžΆαžšαž€αž·αž…αŸ’αž…αŸ– αž’αž“αž»αžœαžαŸ’αžαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž•αŸ’αžŸαž–αŸ’αžœαž•αŸ’αžŸαžΆαž™αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž„αŸ’αž αŸ„αŸ‡αž–αžΈαž˜αž½αž™αž‘αŸ…αž”αž½αž“αžœαžΈαžŠαŸαž’αžΌαžŠαŸ‚αž›αž˜αžΆαž“αžšαž™αŸˆαž–αŸαž›αž–αžΈαž˜αž½αž™αž‘αŸ…αž”αž½αž“αžœαž·αž“αžΆαž‘αžΈ αžŠαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸŠαŸαžšαžΈαžœαžΈαžŠαŸαž’αžΌαžŠαžΎαž˜αŸ”

αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αž

αž€αžΆαžšαžŸαžšαžŸαŸαžšαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž€αž„αŸ‹αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αžŠαŸαžαŸ’αž›αžΈαž”αŸ‚αž”αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž‚αŸ†αž“αž·αžαž›αŸ’αž’αž‘αŸαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‘αž”αŸ‹αž‘αž›αŸ‹αž“αžΉαž„αž”αž“αŸ’αž‘αž»αž€ αž“αž·αž„αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαž‘αž‘αž½αž›αž”αžΆαž“αžœαžΈαžŠαŸαž’αžΌαžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“αž“αŸ„αŸ‡ αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαŸ” αž αžΎαž™β€‹αž˜αž·αž“β€‹αž‚αž½αžšβ€‹αž‡αžΆαž˜αž½αž™β€‹αž“αžΉαž„β€‹αžŸαŸ’αž›αžΆαž€β€‹αžαž˜αŸ’αž›αŸƒβ€‹αž–αžΈβ€‹αž™αž“αŸ’αžαž αŸ„αŸ‡αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž™αžΎαž„αž•αŸ’αžαŸ„αžαž—αŸ’αž›αžΆαž˜αŸ—αž‘αŸ…αž›αžΎαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž… αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αŸ’αžŠαžΌαžšαžαžΆαž˜αž”αŸ†αžŽαž„αžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αžαŸ”

αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžœαžΈαžŠαŸαž’αžΌαž‚αžΊ FFmpeg αžŠαŸ‚αž›αž‡αžΆαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž»αž„αžŸαžΌαž›αž†αŸ’αž›αž„αžœαŸαž‘αž·αž€αžΆαžŠαŸ‚αž›αžαžΆαž˜αžšαž™αŸˆαž’αŸ†αžŽαŸ‡αž’αŸ†αžŽαžΆαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž€αžΆαžαŸ‹ αž“αž·αž„αž˜αžΎαž›αžŸαŸ†αž‘αŸαž„αž›αžΎαžŸαŸ” αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž“αŸ…β€‹αžŸαŸαžŸαžŸαž›αŸ‹β€‹αž‚αžΊβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αŸ’αžšαžŠαžΆαžŸβ€‹αžšαž»αŸ† αž αžΎαž™β€‹αž”αž‰αŸ’αž…αŸαž‰β€‹αžœαžΆβ€‹αž‘αŸ…αž€αŸ’αž“αž»αž„β€‹αž‡αžΈαžœαž·αžαŸ” αž™αžΎαž„β€‹αžŸαžšαžŸαŸαžšβ€‹αž‚αŸ†αžšαžΌβ€‹αž˜αž½αž™β€‹αžŠαŸ‚αž›β€‹αžŠαŸαžšβ€‹αžœαžΈαžŠαŸαž’αžΌβ€‹αž–αžΈαžšβ€‹αž…αžΌαž›β€‹αž‚αŸ’αž“αžΆ αž αžΎαž™... αž—αžΆαž–β€‹αžŸαž”αŸ’αž”αžΆαž™β€‹αžšαžΈαž€αžšαžΆαž™β€‹αž”αžΆαž“β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžŠαžΎαž˜αŸ” αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž‚αžΊαž•αŸ’αž’αŸ‚αž€αž›αžΎ .NET Core 2 αžœαžΆαž‚αž½αžšαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžŽαžΆαž˜αž½αž™ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž™αž€αž§αž‘αžΆαž αžšαžŽαŸ AWS EC2 αž αžΎαž™αž’αŸ’αžœαžΈαŸ—αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš

αž’αžαŸ’αžαž”αž‘αžŠαŸ‚αž›αž›αžΆαž€αŸ‹αž‘αŸ αžœαžΆαž“αžΉαž„αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸαŸ”
.
αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆ FFmpeg αžŸαž˜αŸ’αžšαž½αž›αž€αž·αž…αŸ’αž…αž€αžΆαžšαž€αŸαžŠαŸ„αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαžαž§αž‘αžΆαž αžšαžŽαŸ EC2 αž“αž·αž„αžšαž…αž“αžΆαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αžŽαŸ’αžαžΆαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆ αžšαž½αž˜αž‘αžΆαŸ†αž„ Load Balancer αž•αž„αžŠαŸ‚αžšαŸ” αž—αžΆαžšαž€αž·αž…αŸ’αž…αžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸƒαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž–αžΈαžŠαŸ†αž”αžΌαž„αž€αŸ’αž›αžΆαž™αž‡αžΆ "αž”αž“αŸ’αžαž·αž…" αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž αžΎαž™αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΆαž˜αž‘αžΆαžšαž”αŸ’αžšαžΆαž€αŸ‹αž—αŸ’αž›αžΆαž˜αŸ— - αžšαŸ€αž„αžšαžΆαž›αŸ‹αž˜αŸ‰αŸ„αž„αž…αŸ†αž“αž½αž“αž‘αžΉαž€αž”αŸ’αžšαžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž–αžΈαž‚αžŽαž“αžΈαž’αžαž·αžαž·αž‡αž“αŸ”

αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αž™αžΎαž„αž˜αž·αž“αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αžΌαžš αž˜αž·αž“αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž’αŸ† αž“αž·αž„αžαŸ’αž›αžΆαž‰αŸ‹ αž“αž·αž„αžŸαž˜αž₯αžαžαŸ’αž…αŸ„αŸ‡αž‘αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž•αŸ’αž’αŸ‚αž€αž›αžΎαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹αž“αŸƒαž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αžαŸ’αž“αžΆαžαžαžΌαž…αŸ” αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŽαŸ‚αž“αžΆαŸ†αžαŸ’αž›αž½αž“αžœαžΆ - αž™αžΎαž„αž’αžΆαž…αž”αŸ„αŸ‡αž”αž„αŸ‹αž…αŸ„αž› EC2 αž“αž·αž„αž’αž“αž»αžœαžαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αž·αž-serverless αžŠαžΌαž…αž‡αžΆ αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαžšαžΌαž”αž—αžΆαž– Resizer αž•αŸ’αž’αŸ‚αž€αž›αžΎ AWS Lambda αž‡αžΆαžŠαžΎαž˜αŸ”

αžŠαŸ„αž™αžœαž·αž’αžΈαž“αŸαŸ‡ αžαŸ’αžœαžΈαž”αžΎαž˜αžΆαž“αž€αžΆαžšαž˜αž·αž“αž…αžΌαž›αž…αž·αžαŸ’αžαž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ AWS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ .NET αž€αŸαžŠαŸ„αž™ αž€αŸαž–αž½αž€αž‚αŸαž‚αžΆαŸ†αž‘αŸ’αžš .NET Core 2.1 αž‡αžΆαž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž±αž€αžΆαžŸαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž–αŸαž‰αž›αŸαž‰αŸ”

αž“αž·αž„ cherry αž“αŸ…αž›αžΎαž“αŸ† - AWS αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž―αž€αžŸαžΆαžšαžœαžΈαžŠαŸαž’αžΌ - AWS Elemental MediaConvert αŸ”

αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸƒαž€αžΆαžšαž„αžΆαžšαž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž·αž“αž‚αž½αžšαž±αŸ’αž™αž‡αžΏαŸ– αž™αžΎαž„αž™αž€αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹ S3 αž‘αŸ…αž€αžΆαž“αŸ‹αžœαžΈαžŠαŸαž’αžΌαž…αŸαž‰ αžŸαžšαžŸαŸαžšαžαžΆαž˜αžšαž™αŸˆ AWS Console, .NET SDK αž¬αžŸαžΆαž˜αž‰αŸ’αž‰ JSON αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž…αž„αŸ‹αž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αžœαžΈαžŠαŸαž’αžΌ αž αžΎαž™αž αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αŸ” αžœαžΆαžαŸ’αž›αž½αž“αžœαžΆαž’αž“αž»αžœαžαŸ’αžαž‡αž½αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ†αžŽαžΎαž…αžΌαž› αž•αŸ’αž‘αž»αž€αž›αž‘αŸ’αž’αž•αž›αž‘αŸ… S3 αžαŸ’αž›αž½αž“αžœαžΆ αž αžΎαž™αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαž‚αžΊαž”αž„αŸ’αž€αžΎαž CloudWatch Event αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αžΈαž˜αž½αž™αŸ—αŸ” αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„αž’αž“αž»αžœαžαŸ’αž lambda triggers αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΈαžŠαŸαž’αžΌαŸ”

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‚αŸ’αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžœαžΈαžŠαŸαž’αžΌαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš
αž“αŸαŸ‡αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž˜αžΎαž›αž‘αŸ…αŸ–

αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž‘αžΆαŸ†αž„αž˜αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ lambdas αž–αžΈαžšαŸ” αž˜αž½αž™β€‹αž‘αŸ€αžβ€‹αž‚αžΊβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž”αž„αŸ’αžœαž·αž›β€‹αžœαžΈαžŠαŸαž’αžΌβ€‹αž”αž‰αŸ’αžˆαžš αž–αŸ’αžšαŸ„αŸ‡β€‹αž€αžΆαžšαž„αžΆαžšβ€‹αž”αŸ‚αž”β€‹αž“αŸαŸ‡β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αž’αŸ’αžœαžΎβ€‹αž”αžΆαž“β€‹αž€αŸ’αž“αž»αž„β€‹αž˜αž½αž™β€‹αžœαž‚αŸ’αž‚β€‹αž‘αŸαŸ”

αž™αžΎαž„αž“αžΉαž„αžŠαžΆαž€αŸ‹αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αžαž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ SPA αžŠαŸ‚αž›αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„ JS αž αžΎαž™αž…αž„αž€αŸ’αžšαž„αžαžΆαž˜αžšαž™αŸˆ pug αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž»αž„ S3 αžŸαžΆαž’αžΆαžšαžŽαŸˆαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž‘αžΆαž‰αž™αž€αžœαžΈαžŠαŸαž’αžΌαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„ αž™αžΎαž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž›αŸαžαž€αžΌαžŠαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αŸ - αž™αžΎαž„αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αžΎαž€αž…αŸ†αžŽαž»αž…αž”αž‰αŸ’αž…αž”αŸ‹ REST αžŠαŸ‚αž› S3 αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž™αžΎαž„αŸ” αžšαžΏαž„αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αž‚αžΊαž€αž»αŸ†αž—αŸ’αž›αŸαž…αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‚αŸ„αž›αž“αž™αŸ„αž”αžΆαž™αž“αž·αž„ CORS αŸ”

αž…αŸ†αž“αž»αž…αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹

  • AWS MediaConvert αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αžŠαŸ‚αž›αž˜αž·αž“αžŸαŸ’αž‚αžΆαž›αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž’αž“αž»αžœαžαŸ’αžαžαŸ‚αžŸαŸ†αž‘αŸαž„αž…αŸ†αž–αŸ„αŸ‡αž”αŸ†αžŽαŸ‚αž€αžœαžΈαžŠαŸαž’αžΌαž“αžΈαž˜αž½αž™αŸ—αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αž‘αž…αž˜αŸ’αžšαŸ€αž„αžšαžΈαž€αžšαžΆαž™αž–αžΈαž’αžΆαžαž»αžšαž€αŸ’αžŸαžΆαž’αŸαž€αŸ’αžšαž„αŸ‹αž‘αžΆαŸ†αž„αž˜αžΌαž›αŸ”
  • αžœαžΈαžŠαŸαž’αžΌαž”αž‰αŸ’αžˆαžšαžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆαŸ” AWS αž˜αž·αž“αž…αžΌαž›αž…αž·αžαŸ’αžαžšαž”αžΆαžšαžαŸ’αž˜αŸ… αž αžΎαž™αžŠαžΆαž€αŸ‹ rollers αž“αŸ…αž˜αž»αŸ† 90Β°αŸ”

αž€αž“αŸ’αž›αŸ‚αž„αž‡αž·αŸ‡αžŸαŸ’αž‚αžΈαž„αžΆαž™αžŸαŸ’αžšαž½αž›

αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž˜αžΆαž“αž—αžΆαž–αžŸαŸ’αžšαžŸαŸ‹αžŸαŸ’αž’αžΆαžαž“αŸƒ Stateless αž€αŸαžŠαŸ„αž™ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαžΆαž˜αžŠαžΆαž“αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αžœαžΈαžŠαŸαž’αžΌαŸ– αž€αžΆαžœ αž¬αž”αž“αŸ’αžαŸ‚αž˜αžŸαŸ†αž‘αŸαž„αž‘αŸ…αž€αŸ’αž“αž»αž„αž›αŸ†αžŠαžΆαž”αŸ‹αžœαžΈαžŠαŸαž’αžΌαžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αŸ” αž‡αžΆαžŸαŸ†αžŽαžΆαž„αž›αŸ’αž’ MediaConvert αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αžœαžΆ αž αžΎαž™αž™αžΎαž„αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αž”αŸ’αžšαžΎαž‘αž„αŸ‹αžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹ β€œisMasterSoundJob” αžŠαŸ„αž™αž‰αŸ‚αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž“αŸαŸ‡αž“αŸ…αž‚αŸ’αžšαž”αŸ‹αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αŸ”

Serverless αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ NoOps αž™αŸ‰αžΆαž„αž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡ - αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸ‚αž›αžŸαž“αŸ’αž˜αžαŸ‹αž—αžΆαž–αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž“αŸƒαž€αŸ’αžšαž»αž˜αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŠαŸ‚αž›αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‚αž˜αŸ’αžšαŸ„αž„αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžœαžΆβ€‹αž‡αžΆβ€‹αž”αž‰αŸ’αž αžΆβ€‹αžαžΌαž…β€‹αž˜αž½αž™ αž™αžΎαž„β€‹αžŠαžΆαž€αŸ‹β€‹αž–αž„αŸ’αžšαžΆαž™β€‹αžŠαŸ†αžŽαŸ„αŸ‡β€‹αžŸαŸ’αžšαžΆαž™β€‹αž›αžΎ AWS αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž…αžΌαž›β€‹αžšαž½αž˜β€‹αž–αžΈβ€‹αž’αŸ’αž“αž€β€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž‚αŸ’αžšαž„β€‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αžŠαŸ‚αž›β€‹αžαŸ‚αž„β€‹αžαŸ‚β€‹αž˜αžΆαž“β€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž’αŸ’αžœαžΎαŸ”
αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡ αž™αžΎαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžαžΆαž˜αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž“αŸ…αž›αžΎ AWS CloudFormation αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸŠαžΌαžαž»αž„αž˜αž½αž™αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž–αžΈ VS αŸ” αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž―αž€αžŸαžΆαžšαž“αŸƒ 200 αž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αŸƒαž€αžΌαžŠαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž…αŸαž‰αž“αžΌαžœαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž… αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ CloudFormation αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αž—αŸ’αž‰αžΆαž€αŸ‹αž•αŸ’αž’αžΎαž›αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž‘αž˜αŸ’αž›αžΆαž”αŸ‹αž”αŸ’αžšαžΎαžœαžΆαž€αŸαžŠαŸ„αž™αŸ”

αžŸαžšαž»αž”

Serverless αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆ panacea αž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžœαžΆβ€‹αž“αžΉαž„β€‹αž’αŸ’αžœαžΎαž±αŸ’αž™β€‹αž‡αžΈαžœαž·αžβ€‹αž€αžΆαž“αŸ‹αžαŸ‚β€‹αž„αžΆαž™αžŸαŸ’αžšαž½αž›β€‹αž€αŸ’αž“αž»αž„β€‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹β€‹αž…αŸ†αž“αž½αž“β€‹αž”αžΈαŸ– "αž’αž“αž’αžΆαž“β€‹αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹ - αžšαž™αŸˆαž–αŸαž›αžαŸ’αž›αžΈ - αž”αŸ’αžšαžΆαž€αŸ‹αžαž·αž…αžαž½αž…" αŸ”

αž›αž€αŸ’αžαžŽαŸˆαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αžŸαžΆαž€αžŸαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Serverless

  • αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αžΌαžšαŸ” API Gateway hard limit αž‚αžΊ 29 αžœαž·αž“αžΆαž‘αžΈ, lambda hard limit αž‚αžΊ 5 αž“αžΆαž‘αžΈ;
  • αž–αž·αž–αžŽαŸŒαž“αžΆαžŠαŸ„αž™αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ Event-Driven;
  • αž”αŸ†αž”αŸ‚αž€αž‘αŸ…αž‡αžΆαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž•αŸ’αžŸαŸ†αžšαž›αž»αž„αžŠαžΌαž…αž‡αžΆ SOA;
  • αž˜αž·αž“αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž„αžΆαžšαž…αŸ’αžšαžΎαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€;
  • αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„ .NET Core αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ .NET Framework αž’αŸ’αž“αž€αž“αžΉαž„αž“αŸ…αžαŸ‚αžαŸ’αžšαžΌαžœαž€αžΆαžš Docker αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαž›αžœαŸαž›αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαž˜αžšαž˜αŸ’αž™αŸ”

αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž Serverless

  • αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž›αžΎαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’;
  • αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžαŸ’αž›αŸƒαžŠαžΎαž˜αž“αŸƒαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™;
  • αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·;
  • αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ…αž‚αŸ‚αž˜αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸƒαžœαžŒαŸ’αžαž“αž—αžΆαž–αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαŸ”

αž‚αž»αžŽαžœαž·αž”αžαŸ’αžαž·, αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ”

  • αž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“ αž“αž·αž„αž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™ - αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€αžαžΆαž˜αžšαž™αŸˆ AWS X-Ray αž“αž·αž„ AWS CloudWatch;
  • αž€αžΆαžšαž€αŸ‚αž€αŸ†αž αž»αžŸαž˜αž·αž“αžŸαŸ’αžšαž½αž›;
  • αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαŸ’αžšαž‡αžΆαž€αŸ‹αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž”αž“αŸ’αž‘αž»αž€;
  • αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎ-αž’αžšαž·αž—αžΆαž– AWS αž‚αžΊαž‡αžΆαž”αž‰αŸ’αž αžΆαžŸαž€αž› :)

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹