வேலை செய்யும் வீடியோ சேவையின் விரைவான வளர்ச்சிக்கான சர்வர்லெஸ் அணுகுமுறை

வேலை செய்யும் வீடியோ சேவையின் விரைவான வளர்ச்சிக்கான சர்வர்லெஸ் அணுகுமுறை

நான் அவுட்சோர்சிங்கில் வேலை செய்கிறேன், அங்கு முக்கியக் கொள்கையை "நிறைய விற்கவும், விரைவாகச் செய்யவும்" என்ற சொற்றொடரால் விவரிக்க முடியும். எவ்வளவு வேகமாக செய்கிறோமோ, அவ்வளவு அதிகமாக சம்பாதிப்போம். மேலும், எல்லாமே ஊன்றுகோல் மற்றும் ஸ்னாட்டில் அல்ல, ஆனால் ஏற்றுக்கொள்ளக்கூடிய தரத்துடன் செயல்படுவது விரும்பத்தக்கது. குறுகிய காலத்தில் ஒரு விளம்பர சேவையை உருவாக்க வேண்டிய அவசியம் ஏற்பட்டபோது எனது அனுபவத்தைப் பற்றி நான் உங்களுக்குச் சொல்கிறேன்.

கொடுக்கப்பட்ட: AWS இல் ரூட் கணக்கு, டெக்னாலஜி ஸ்டேக், ஒரு பின்தளம் மற்றும் மேம்பாட்டிற்கு ஒரு மாதம் தேர்வு செய்வதில் எந்த கட்டுப்பாடுகளும் இல்லை.

பணி: ஒன்று முதல் நான்கு வினாடிகள் வரை நீடிக்கும் ஒன்று முதல் நான்கு வீடியோக்களை பயனர்கள் பதிவேற்றும் விளம்பரச் சேவையை செயல்படுத்தவும், பின்னர் அவை அசல் வீடியோ தொடரில் உட்பொதிக்கப்படும்.

முடிவு

உங்கள் சொந்த சைக்கிள் சேவையை இவ்வளவு குறுகிய காலத்தில் எழுதுவது நல்ல யோசனையல்ல. கூடுதலாக, சேவை சுமைகளைச் சமாளிக்கவும், அனைவரும் விரும்பத்தக்க வீடியோவைப் பெறவும், உள்கட்டமைப்பு தேவைப்படும். மேலும் விமானத்தின் விலைக் குறியுடன் அல்ல. எனவே, குறைந்தபட்ச தனிப்பயனாக்கத்துடன் கூடிய ஆயத்த தீர்வுகளில் உடனடியாக கவனம் செலுத்துகிறோம்.

வீடியோவுடன் பணிபுரிவதற்கான நிலையான தீர்வு FFmpeg ஆகும், இது கிராஸ்-பிளாட்ஃபார்ம் கன்சோல் பயன்பாடாகும், இது வாதங்கள் மூலம், ஆடியோவை வெட்டவும், ஓவர் டப் செய்யவும் உங்களை அனுமதிக்கிறது. ஒரு போர்வையை எழுதி அதை வாழ்க்கையில் விடுவிப்பதுதான் மிச்சம். இரண்டு வீடியோக்களை ஒன்றாக இணைக்கும் முன்மாதிரியை நாங்கள் எழுதுகிறோம், மேலும்... வேடிக்கை தொடங்குகிறது. லைப்ரரி .NET கோர் 2 ஐ அடிப்படையாகக் கொண்டது, இது எந்த மெய்நிகர் கணினியிலும் இயங்க வேண்டும், எனவே AWS EC2 நிகழ்வை எடுத்துக்கொள்கிறோம், எல்லாம் வேலை செய்யும்

மறைக்கப்பட்ட உரைஇல்லை, அது வேலை செய்யாது
.
FFmpeg பணியை எளிதாக்கினாலும், உண்மையில் வேலை செய்யும் தீர்வுக்கு, நீங்கள் ஒரு EC2 நிகழ்வை உருவாக்கி, அதற்கான பிணைய உள்கட்டமைப்பை வடிவமைக்க வேண்டும், இதில் லோட் பேலன்சர் உட்பட. புதிதாக வரிசைப்படுத்துவதற்கான எளிய பணி "கொஞ்சம்" மிகவும் சிக்கலானதாகிறது, மேலும் உள்கட்டமைப்பு உடனடியாக பணத்தைக் கோரத் தொடங்குகிறது - ஒவ்வொரு மணிநேரமும் இயக்க நேரத்திற்கான தொகை வாடிக்கையாளர் கணக்கிலிருந்து திரும்பப் பெறப்படுகிறது.

எங்கள் சேவையானது நீண்ட காலம் இயங்கும் செயல்முறைகளை உள்ளடக்காது, பெரிய மற்றும் கொழுப்பு தொடர்புடைய தரவுத்தளம் தேவையில்லை, மேலும் மைக்ரோ சர்வீஸ் அழைப்புகளின் சங்கிலியுடன் நிகழ்வு அடிப்படையிலான கட்டமைப்பில் சரியாகப் பொருந்துகிறது. தீர்வு தன்னைத்தானே அறிவுறுத்துகிறது - நாம் EC2 ஐ கைவிட்டு, AWS Lambda அடிப்படையிலான நிலையான பட மறுசீரமைப்பைப் போன்ற உண்மையான சேவையகமற்ற பயன்பாட்டை செயல்படுத்தலாம்.

மூலம், .NET க்கான AWS டெவலப்பர்களின் வெளிப்படையான வெறுப்பு இருந்தபோதிலும், அவர்கள் .NET கோர் 2.1 ஐ இயக்க நேரமாக ஆதரிக்கின்றனர், இது முழு அளவிலான வளர்ச்சி வாய்ப்புகளை வழங்குகிறது.

மற்றும் கேக்கில் உள்ள செர்ரி - AWS வீடியோ கோப்புகளுடன் பணிபுரிய ஒரு தனி சேவையை வழங்குகிறது - AWS Elemental MediaConvert.

வேலையின் சாராம்சம் நம்பமுடியாத அளவிற்கு எளிமையானது: வெளிச்செல்லும் வீடியோவிற்கு S3 இணைப்பை எடுத்துக்கொள்கிறோம், AWS கன்சோல், .NET SDK அல்லது JSON மூலம் வீடியோவுடன் என்ன செய்ய விரும்புகிறோம் என்பதை எழுதுகிறோம் மற்றும் சேவையை அழைக்கிறோம். உள்வரும் கோரிக்கைகளைச் செயலாக்குவதற்கான வரிசைகளை இது செயல்படுத்துகிறது, முடிவை S3 க்கு பதிவேற்றுகிறது மற்றும் மிக முக்கியமாக, ஒவ்வொரு நிலை மாற்றத்திற்கும் ஒரு CloudWatch நிகழ்வை உருவாக்குகிறது. இது வீடியோ செயலாக்கத்தை முடிக்க லாம்ப்டா தூண்டுதல்களை செயல்படுத்த அனுமதிக்கிறது.

வேலை செய்யும் வீடியோ சேவையின் விரைவான வளர்ச்சிக்கான சர்வர்லெஸ் அணுகுமுறை
இறுதி கட்டிடக்கலை இது போல் தெரிகிறது:

முழு பின்தளமும் இரண்டு லாம்ப்டாக்களில் வைக்கப்பட்டுள்ளது. மற்றொன்று செங்குத்து வீடியோக்களை சுழற்றுவதற்கானது, ஏனெனில் இதுபோன்ற வேலைகளை ஒரே பாஸில் செய்ய முடியாது.

முன்பக்கத்தை JS இல் எழுதப்பட்ட மற்றும் பொது S3 வாளியில் பக் மூலம் தொகுக்கப்பட்ட SPA விண்ணப்ப வடிவில் வைப்போம். வீடியோக்களைப் பதிவிறக்க, எங்களுக்கு எந்த சேவையகக் குறியீடும் தேவையில்லை - S3 நமக்கு வழங்கும் REST எண்ட்பாயிண்ட்ஸைத் திறக்க வேண்டும். ஒரே விஷயம், கொள்கைகள் மற்றும் CORS ஐ உள்ளமைக்க மறக்காதீர்கள்.

படுகுழிகள்

  • AWS MediaConvert, சில அறியப்படாத காரணங்களுக்காக, ஒவ்வொரு வீடியோ துண்டிற்கும் தனித்தனியாக ஒலியை மட்டுமே பயன்படுத்துகிறது, ஆனால் முழு ஸ்கிரீன்சேவரிலிருந்தும் எங்களுக்கு ஒரு மகிழ்ச்சியான பாடல் தேவை.
  • செங்குத்து வீடியோக்கள் தனித்தனியாக செயலாக்கப்பட வேண்டும். AWS கருப்பு பட்டைகளை விரும்பாது மற்றும் உருளைகளை 90° இல் வைக்கிறது.

எளிதான ஸ்கேட்டிங் வளையம்

ஸ்டேட்லெஸின் அனைத்து அழகும் இருந்தபோதிலும், வீடியோவில் என்ன செய்ய வேண்டும் என்பதை நீங்கள் கண்காணிக்க வேண்டும்: முடிக்கப்பட்ட வீடியோ வரிசையில் ஆடியோவை ஒட்டவும் அல்லது சேர்க்கவும். அதிர்ஷ்டவசமாக, MediaConvert அதன் வேலைகள் மூலம் மெட்டாடேட்டாவை அனுப்புவதை ஆதரிக்கிறது, மேலும் இந்த மெட்டாடேட்டாவை எந்த நிலையிலும் பாகுபடுத்தி “isMasterSoundJob” வடிவத்தின் எளிய கொடியை எப்போதும் பயன்படுத்தலாம்.

சர்வர்லெஸ் NoOps உடன் பணிபுரிய அனுமதிக்கிறது - இது திட்ட உள்கட்டமைப்பிற்கு பொறுப்பான ஒரு தனி குழுவின் தேவையற்ற தன்மையைக் கருதுகிறது. எனவே, இது ஒரு சிறிய விஷயம் - கணினி நிர்வாகிகளின் பங்கேற்பு இல்லாமல் AWS இல் தீர்வை நாங்கள் பயன்படுத்துகிறோம், அவர்கள் எப்போதும் எப்படியும் ஏதாவது செய்ய வேண்டும்.
இதையெல்லாம் விரைவுபடுத்த, AWS CloudFormation இல் முடிந்தவரை வரிசைப்படுத்தல் ஸ்கிரிப்டை தானியக்கமாக்குகிறோம், இது VS இலிருந்து நேரடியாக ஒரு பொத்தானைப் பயன்படுத்த உங்களை அனுமதிக்கிறது. இதன் விளைவாக, 200 கோடுகளைக் கொண்ட ஒரு கோப்பு, ஆயத்த தீர்வை உருவாக்க உங்களை அனுமதிக்கிறது, இருப்பினும் கிளவுட் ஃபார்மேஷன் தொடரியல் உங்களுக்குப் பழக்கமில்லாமல் இருந்தால் அதிர்ச்சியளிக்கும்.

மொத்தம்

சர்வர்லெஸ் ஒரு சஞ்சீவி அல்ல. ஆனால் இது மூன்று வரம்புகளைக் கொண்ட சூழ்நிலைகளில் வாழ்க்கையை மிகவும் எளிதாக்கும்: "வரையறுக்கப்பட்ட வளங்கள்-குறுகிய கால-சிறிய பணம்."

சர்வர்லெஸ்க்கு ஏற்ற பயன்பாடுகளின் சிறப்பியல்புகள்

  • நீண்ட கால செயல்முறைகள் இல்லாமல். ஏபிஐ கேட்வே கடின வரம்பு 29 வினாடிகள், லாம்ப்டா கடின வரம்பு 5 நிமிடங்கள்;
  • நிகழ்வு-உந்துதல் கட்டிடக்கலை மூலம் விவரிக்கப்பட்டது;
  • SOA போன்ற தளர்வான இணைக்கப்பட்ட கூறுகளாக உடைகிறது;
  • உங்கள் நிலையில் அதிக வேலை தேவையில்லை;
  • NET Core இல் எழுதப்பட்டது. .NET Framework உடன் பணிபுரிய, உங்களுக்கு இன்னும் பொருத்தமான இயக்க நேரத்துடன் குறைந்தபட்சம் Docker தேவைப்படும்.

சர்வர்லெஸ் அணுகுமுறையின் நன்மைகள்

  • உள்கட்டமைப்பு செலவுகளை குறைக்கிறது;
  • தீர்வு வழங்குவதற்கான செலவைக் குறைக்கிறது;
  • தானியங்கி அளவிடுதல்;
  • தொழில்நுட்ப முன்னேற்றத்தின் விளிம்பில் வளர்ச்சி.

குறைபாடுகள், ஒரு குறிப்பிட்ட உதாரணத்துடன்

  • விநியோகிக்கப்பட்ட டிரேசிங் மற்றும் லாக்கிங் - AWS X-Ray மற்றும் AWS CloudWatch மூலம் ஓரளவு தீர்க்கப்பட்டது;
  • சிரமமான பிழைத்திருத்தம்;
  • சுமை இல்லாதபோது குளிர் தொடக்கம்;
  • AWS பயனர்-விரோத இடைமுகம் ஒரு உலகளாவிய பிரச்சனை :)

ஆதாரம்: www.habr.com

கருத்தைச் சேர்