சேவையகமற்ற பயன்பாடுகளை உருவாக்குவதற்கான உதவிக்குறிப்புகள் மற்றும் ஆதாரங்கள்

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

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

சர்வர்லெஸ் மற்றும் சர்வர்லெஸ் பிராசசிங் என்று பலர் நினைக்கிறார்கள் (ஒரு சேவையாக செயல்படுகிறது, FaaS) கிட்டத்தட்ட அதே விஷயம். இதன் பொருள் வேறுபாடு மிக அதிகமாக இல்லை மற்றும் ஒரு புதுமையை அறிமுகப்படுத்துவது மதிப்பு. AWS லாம்ப்டா சர்வர்லெஸ் ஹைடேயின் நட்சத்திரங்களில் ஒன்றாகும் மற்றும் சர்வர்லெஸ் கட்டிடக்கலையின் மிகவும் பிரபலமான கூறுகளில் ஒன்றாகும், இருப்பினும், இந்த கட்டிடக்கலை FaaS ஐ விட அதிகமாக உள்ளது.

சர்வர்லெஸ் தொழில்நுட்பங்களுக்குப் பின்னால் உள்ள அடிப்படைக் கொள்கை என்னவென்றால், உங்கள் உள்கட்டமைப்பை நிர்வகிப்பது மற்றும் அளவிடுவது பற்றி நீங்கள் கவலைப்பட வேண்டியதில்லை, நீங்கள் பயன்படுத்துவதற்கு மட்டுமே நீங்கள் பணம் செலுத்துகிறீர்கள். பல சேவைகள் இந்த அளவுகோல்களுக்கு பொருந்தும் - AWS DynamoDB, S3, SNS அல்லது SQS, Graphcool, Auth0, Now, Netlify, Firebase மற்றும் பல. பொதுவாக, சர்வர்லெஸ் என்பது கிளவுட் கம்ப்யூட்டிங்கின் முழு ஆற்றலையும் உள்கட்டமைப்பை நிர்வகிப்பதற்கும் அதை அளவிடுவதற்கு மேம்படுத்துவதற்கும் தேவையில்லாமல் பயன்படுத்துகிறது. உள்கட்டமைப்பு மட்டத்தில் பாதுகாப்பு இனி உங்கள் கவலையாக இருக்காது என்பதும் இதன் பொருள், இது பாதுகாப்புத் தரங்களைச் சந்திப்பதில் உள்ள சிரமம் மற்றும் சிக்கலான தன்மையைக் கருத்தில் கொண்டு மிகப்பெரிய நன்மையாகும். இறுதியாக, உங்களுக்கு வழங்கப்பட்ட உள்கட்டமைப்பை நீங்கள் வாங்க வேண்டியதில்லை.

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

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

கிளவுட் அப்ளிகேஷன்களை உருவாக்கும்போது விற்பனையாளரைச் சார்ந்திருப்பதால் சிலர் குழப்பமடைகின்றனர். சர்வர்லெஸ் டெக்னாலஜிகளிலும் இதுவே உண்மை, இது ஒரு தவறான கருத்து அல்ல. எங்கள் அனுபவத்தில், AWS இல் சர்வர்லெஸ் அப்ளிகேஷன்களை உருவாக்குவது, மற்ற AWS சேவைகளை ஒன்றாக இணைக்கும் AWS லாம்ப்டாவின் திறனுடன் இணைந்து, சர்வர்லெஸ் கட்டமைப்புகளின் வலிமையின் ஒரு பகுதியாகும். இது சினெர்ஜிக்கு ஒரு சிறந்த உதாரணம், கலவையின் முடிவு, சொற்களின் கூட்டுத்தொகையை விட அதிகமாக இருக்கும் போது. விற்பனையாளர் சார்புநிலையைத் தவிர்க்க முயற்சிப்பது இன்னும் அதிகமான சிக்கல்களில் சிக்கலாம். கொள்கலன்களுடன் பணிபுரியும் போது, ​​கிளவுட் வழங்குநர்களிடையே உங்கள் சொந்த சுருக்க அடுக்கை நிர்வகிப்பது எளிது. ஆனால் சர்வர்லெஸ் தீர்வுகளுக்கு வரும்போது, ​​முயற்சி பலனளிக்காது, குறிப்பாக தொடக்கத்திலிருந்தே செலவு-செயல்திறன் கணக்கில் எடுத்துக்கொள்ளப்பட்டால். விற்பனையாளர்கள் எவ்வாறு சேவைகளை வழங்குகிறார்கள் என்பதைக் கண்டறியவும். சில சிறப்பு சேவைகள் மற்ற விற்பனையாளர்களுடனான ஒருங்கிணைப்பு புள்ளிகளை நம்பியிருக்கின்றன மற்றும் பெட்டிக்கு வெளியே பிளக் மற்றும் ப்ளே இணைப்பை வழங்கலாம். சில கண்டெய்னர் அல்லது EC2 நிகழ்விற்கு கோரிக்கையை ப்ராக்ஸி செய்வதை விட, கேட்வே API எண்ட்பாயிண்டிலிருந்து லாம்ப்டா அழைப்பை வழங்குவது எளிது. கிராப்கூல் Auth0 உடன் எளிதான உள்ளமைவை வழங்குகிறது, இது மூன்றாம் தரப்பு அங்கீகார கருவிகளைப் பயன்படுத்துவதை விட எளிதானது.

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

கருத்தில்:

  • உங்களுக்கு என்ன சேவைகள் தேவை, ஏன்.
  • கிளவுட் வழங்குநர்கள் என்ன சேவைகளை வழங்குகிறார்கள் மற்றும் நீங்கள் தேர்ந்தெடுத்த FaaS தீர்வுடன் அவற்றை எவ்வாறு இணைக்கலாம்.
  • எந்த நிரலாக்க மொழிகள் ஆதரிக்கப்படுகின்றன (டைனமிக் அல்லது நிலையான தட்டச்சு, தொகுக்கப்பட்ட அல்லது விளக்கப்பட்ட, வரையறைகள் என்ன, குளிர் தொடக்கத்தில் செயல்திறன் என்ன, திறந்த மூல சுற்றுச்சூழல் அமைப்பு என்ன போன்றவை).
  • உங்கள் பாதுகாப்புத் தேவைகள் என்ன (SLA, 2FA, OAuth, HTTPS, SSL போன்றவை).
  • உங்கள் CI/CD மற்றும் மென்பொருள் மேம்பாட்டு சுழற்சிகளை எவ்வாறு நிர்வகிப்பது.
  • எந்த உள்கட்டமைப்பு-குறியீடு தீர்வுகளை நீங்கள் பயன்படுத்திக் கொள்ளலாம்.

நீங்கள் ஏற்கனவே உள்ள பயன்பாட்டை நீட்டித்து, சர்வர்லெஸ் அம்சங்களை அதிகரிக்கச் செய்தால், இது கிடைக்கக்கூடிய திறன்களை ஓரளவு குறைக்கலாம். இருப்பினும், ஏறக்குறைய அனைத்து சர்வர்லெஸ் தொழில்நுட்பங்களும் சில வகையான API ஐ (REST அல்லது செய்தி வரிசைகள் வழியாக) வழங்குகின்றன, இது பயன்பாட்டின் மையத்திலிருந்து சுயாதீனமான மற்றும் எளிதான ஒருங்கிணைப்புடன் நீட்டிப்புகளை உருவாக்க உங்களை அனுமதிக்கிறது. தெளிவான APIகள், நல்ல ஆவணங்கள் மற்றும் வலுவான சமூகத்துடன் கூடிய சேவைகளைத் தேடுங்கள், நீங்கள் தவறாகப் போக முடியாது. ஒருங்கிணைப்பின் எளிமை பெரும்பாலும் ஒரு முக்கிய மெட்ரிக்காக இருக்கலாம், மேலும் 2015 இல் லாம்ப்டா வெளியிடப்பட்டதிலிருந்து AWS மிகவும் வெற்றிகரமாக இருப்பதற்கு இது முக்கிய காரணங்களில் ஒன்றாகும்.

சர்வர்லெஸ் இஸ் குட்

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

செலவு சேமிப்பு மற்றும் அளவிடுதலின் எளிமை காரணமாக, பல மில்லியன் பார்வையாளர்களைக் கொண்ட இணைய பயன்பாடு வரை, உள் மற்றும் வெளிப்புற அமைப்புகளுக்குச் சர்வர்லெஸ் தீர்வுகள் சமமாகப் பொருந்தும். கணக்குகள் யூரோக்களில் அல்ல, ஆனால் சென்ட்களில் அளவிடப்படுகின்றன. AWS EC2 (t1.micro) இன் எளிய உதாரணத்தை ஒரு மாதத்திற்கு வாடகைக்கு எடுக்க €15 செலவாகும், நீங்கள் அதை ஒன்றும் செய்யாவிட்டாலும் கூட (யார் அதை அணைக்க மறக்கவில்லை?!). ஒப்பிடுகையில், அதே நேரத்தில் செலவழிக்கும் இந்த அளவை அடைய, நீங்கள் 512 எம்பி லாம்ப்டாவை 1 வினாடிக்கு சுமார் 3 மில்லியன் முறை இயக்க வேண்டும். இந்த அம்சத்தை நீங்கள் பயன்படுத்தவில்லை என்றால், நீங்கள் எதையும் செலுத்த மாட்டீர்கள்.

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

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

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

AWS வெளியிடப்பட்டாலும் சர்வர்லெஸ் SQL தரவுத்தளம் சர்வர்லெஸ் அரோராஇருப்பினும், SQL தரவுத்தளங்கள் இந்தப் பயன்பாட்டிற்கு ஏற்றதாக இல்லை, ஏனெனில் அவை பரிவர்த்தனைகளைச் செய்வதற்கான இணைப்புகளைப் பொறுத்தது, இது AWS லாம்ப்டாவில் அதிக ட்ராஃபிக்கில் விரைவாக ஒரு தடையாக மாறும். ஆம், டெவலப்பர்கள் தொடர்ந்து சர்வர்லெஸ் அரோராவை மேம்படுத்தி வருகின்றனர், நீங்கள் அதை பரிசோதனை செய்ய வேண்டும், ஆனால் இன்று NoSQL தீர்வுகள் DynamoDB. எனினும், இந்நிலை மிக விரைவில் மாறும் என்பதில் சந்தேகமில்லை.

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

வளர்ச்சி சுழற்சியில் சர்வர்லெஸ் தொழில்நுட்பங்களின் தாக்கம்

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

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

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

Epsagon, Thundra, Dashbird மற்றும் IOPipe போன்ற மிகவும் சக்திவாய்ந்த கண்காணிப்பு மற்றும் காட்சிப்படுத்தல் கருவிகள் உள்ளன. உங்கள் சர்வர்லெஸ் அப்ளிகேஷன்களின் தற்போதைய நிலையை கண்காணிக்கவும், லாக்கிங் மற்றும் டிரேசிங் வழங்கவும், செயல்திறன் அளவீடுகள் மற்றும் கட்டிடக்கலை இடையூறுகளைப் பிடிக்கவும், செலவு பகுப்பாய்வு மற்றும் முன்னறிவிப்பு மற்றும் பலவற்றை செய்யவும் அவை உங்களை அனுமதிக்கின்றன. அவை DevOps பொறியாளர்கள், டெவலப்பர்கள் மற்றும் கட்டிடக் கலைஞர்களுக்கு பயன்பாட்டு செயல்திறன் பற்றிய விரிவான பார்வையை வழங்குவதோடு மட்டுமல்லாமல், ஒரு நொடிக்கான ஆதார செலவுகள் மற்றும் செலவு முன்னறிவிப்புகளுடன், நிகழ்நேரத்தில் நிலைமையை கண்காணிக்க மேலாளர்களை அனுமதிக்கின்றன. நிர்வகிக்கப்பட்ட உள்கட்டமைப்புடன் இதை ஒழுங்கமைப்பது மிகவும் கடினம்.

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

கருவித்தொகுப்பு சிறப்பாக இருக்கும் போது (ஒவ்வொரு நாளும் சிறப்பாக இருக்கும்), டெவலப்பர்கள் வணிக தர்க்கத்தை செயல்படுத்துவதில் கவனம் செலுத்தலாம் மற்றும் கட்டமைப்பிற்குள் பல்வேறு சேவைகளில் பயன்பாட்டின் சிக்கலான தன்மையை சிறப்பாக விநியோகிக்க முடியும். சர்வர்லெஸ் அப்ளிகேஷன் மேனேஜ்மென்ட் என்பது கிளவுட் வழங்குநரால் நிகழ்வு அடிப்படையிலானது மற்றும் சுருக்கப்பட்டது (எ.கா. SQS, S3 நிகழ்வுகள் அல்லது DynamoDB ஸ்ட்ரீம்கள்). எனவே, டெவலப்பர்கள் சில நிகழ்வுகளுக்கு பதிலளிக்க வணிக தர்க்கத்தை மட்டுமே எழுத வேண்டும், மேலும் தரவுத்தளங்கள் மற்றும் செய்தி வரிசைகளை எவ்வாறு சிறப்பாகச் செயல்படுத்துவது அல்லது குறிப்பிட்ட வன்பொருள் சேமிப்பகங்களில் தரவைக் கொண்டு உகந்த வேலையை எவ்வாறு ஒழுங்கமைப்பது என்பது பற்றி கவலைப்பட வேண்டியதில்லை.

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

சேவையகமற்ற பயன்பாடுகளை உருவாக்குவதற்கான கருவிகள் மற்றும் நுட்பங்கள்

சேவையகமற்ற பயன்பாடுகளை உருவாக்க குறிப்பிட்ட வழி எதுவும் இல்லை. இந்த பணிக்கான சேவைகளின் தொகுப்பு. இன்று சக்திவாய்ந்த சர்வர்லெஸ் தீர்வுகளில் AWS முன்னணியில் உள்ளது, ஆனால் பார்க்கவும் Google கிளவுட், நேரம் и Firebase. நீங்கள் AWS ஐப் பயன்படுத்துகிறீர்கள் என்றால், பயன்பாடுகளைச் சேகரிப்பதற்கான பரிந்துரைக்கப்பட்ட அணுகுமுறை சர்வர்லெஸ் அப்ளிகேஷன் மாடல் (SAM), குறிப்பாக C# ஐப் பயன்படுத்தும் போது, ​​விஷுவல் ஸ்டுடியோவில் சிறந்த கருவி உள்ளது. விஷுவல் ஸ்டுடியோ செய்யக்கூடிய அனைத்தையும் SAM CLI செய்ய முடியும், எனவே நீங்கள் வேறு IDE அல்லது உரை திருத்திக்கு மாறினால் எதையும் இழக்க மாட்டீர்கள். நிச்சயமாக, SAM மற்ற மொழிகளிலும் வேலை செய்கிறது.

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

உள்ளூர் சோதனைக்கு, திறந்த மூல கருவிகளான Docker-Lambda, Serverless Local, DynamoDB Local மற்றும் LocalStack ஆகியவை மிகவும் பொருத்தமானவை. சர்வர்லெஸ் தொழில்நுட்பங்கள் இன்னும் வளர்ச்சியின் ஆரம்ப கட்டத்தில் உள்ளன, அவற்றுக்கான கருவிகள் உள்ளன, எனவே சிக்கலான சோதனை காட்சிகளை அமைக்கும் போது, ​​நீங்கள் கடினமாக உழைக்க வேண்டும். இருப்பினும், ஒரு சூழலில் அடுக்கை வரிசைப்படுத்துவது மற்றும் அங்கு சோதனை செய்வது நம்பமுடியாத மலிவானது. கிளவுட் சூழல்களின் சரியான உள்ளூர் நகலை நீங்கள் உருவாக்க வேண்டியதில்லை.

வரிசைப்படுத்தப்பட்ட தொகுப்புகளின் அளவைக் குறைக்கவும் பதிவிறக்கங்களை விரைவுபடுத்தவும் AWS Lambda அடுக்குகளைப் பயன்படுத்தவும்.

குறிப்பிட்ட பணிகளுக்கு சரியான நிரலாக்க மொழிகளைப் பயன்படுத்தவும். வெவ்வேறு மொழிகளுக்கு அவற்றின் சொந்த நன்மைகள் மற்றும் தீமைகள் உள்ளன. பல வரையறைகள் உள்ளன, ஆனால் ஜாவாஸ்கிரிப்ட், பைதான் மற்றும் சி# (.NET கோர் 2.1+) ஆகியவை AWS லாம்ப்டா செயல்திறன் அடிப்படையில் முன்னணியில் உள்ளன. AWS Lambda சமீபத்தில் Runtime API ஐ அறிமுகப்படுத்தியது, இது உங்களுக்கு தேவையான இயக்க மொழி மற்றும் சூழலைக் குறிப்பிட அனுமதிக்கிறது, எனவே பரிசோதனை.

வரிசைப்படுத்துவதற்கு தொகுப்பு அளவுகளை சிறியதாக வைத்திருங்கள். அவை சிறியவை, அவை வேகமாக ஏற்றப்படுகின்றன. பெரிய நூலகங்களைப் பயன்படுத்துவதைத் தவிர்க்கவும், குறிப்பாக அவற்றில் சில அம்சங்களைப் பயன்படுத்தினால். நீங்கள் ஜாவாஸ்கிரிப்டில் நிரலாக்கம் செய்கிறீர்கள் என்றால், உங்கள் கட்டமைப்பை மேம்படுத்த Webpack போன்ற உருவாக்கக் கருவியைப் பயன்படுத்தவும், மேலும் உங்களுக்குத் தேவையானதை மட்டும் சேர்க்கவும். .NET கோர் 3.0 ஆனது QuickJit மற்றும் Tiered Compilation ஆகியவற்றைக் கொண்டுள்ளது, இது செயல்திறனை மேம்படுத்துகிறது மற்றும் குளிர் தொடக்கத்தில் பெரிதும் உதவுகிறது.

நிகழ்வுகளில் சர்வர்லெஸ் செயல்பாடுகளை நம்பியிருப்பது முதலில் வணிக தர்க்கத்தை ஒருங்கிணைப்பதை கடினமாக்கும். இது சம்பந்தமாக, செய்தி வரிசைகள் மற்றும் மாநில இயந்திரங்கள் நம்பமுடியாத அளவிற்கு பயனுள்ளதாக இருக்கும். லாம்ப்டா செயல்பாடுகள் ஒன்றையொன்று அழைக்கலாம், ஆனால் நீங்கள் பதிலை எதிர்பார்க்கவில்லை என்றால் ("நெருப்பு மற்றும் மறந்துவிடு") - மற்றொரு செயல்பாடு முடிவடையும் வரை காத்திருப்பதற்காக நீங்கள் பில் பெற விரும்பவில்லை. வணிக தர்க்கத்தின் பகுதிகளை தனிமைப்படுத்தவும், பயன்பாட்டு இடையூறுகளை நிர்வகிக்கவும் மற்றும் பரிவர்த்தனைகளை செயலாக்கவும் (FIFO வரிசைகளைப் பயன்படுத்தி) செய்தி வரிசைகள் பயனுள்ளதாக இருக்கும். AWS லாம்ப்டா செயல்பாடுகளை SQS வரிசைகளுக்கு ஸ்டக் மெசேஜ் வரிசைகளாக ஒதுக்கலாம், அவை தோல்வியுற்ற செய்திகளை பின்னர் பகுப்பாய்வுக்காக கண்காணிக்கும். AWS படி செயல்பாடுகள் (நிலை இயந்திரங்கள்) செயல்பாடுகளின் சங்கிலி தேவைப்படும் சிக்கலான செயல்முறைகளை நிர்வகிக்க மிகவும் பயனுள்ளதாக இருக்கும். லாம்ப்டா செயல்பாடு மற்றொரு செயல்பாட்டை அழைப்பதற்குப் பதிலாக, படி செயல்பாடுகள் நிலை மாற்றங்களை ஒருங்கிணைத்து, செயல்பாடுகளுக்கு இடையே தரவை அனுப்பலாம் மற்றும் செயல்பாடுகளின் உலகளாவிய நிலையை நிர்வகிக்கலாம். இது மறுமுயற்சி நிபந்தனைகளை வரையறுக்க உங்களை அனுமதிக்கிறது, அல்லது ஒரு குறிப்பிட்ட பிழை ஏற்பட்டால் என்ன செய்வது - சில நிபந்தனைகளில் மிகவும் சக்திவாய்ந்த கருவி.

முடிவுக்கு

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

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

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