Serverless தொழில்நுட்ப அடுக்கு தேர்வு: திறமையான, விரிவாக்கக்கூடிய பயன்பாடுகளை உருவாக்க பயனுள்ள கருவிகள் பரிந்துரை
Serverless தொழில்நுட்ப அடுக்கு தேர்வு: திறமையான, விரிவாக்கக்கூடிய பயன்பாடுகளை உருவாக்க பயனுள்ள கருவிகள் பரிந்துரை
Serverless கட்டமைப்பு பெருகிய முறையில் பிரபலமாகி வருகிறது, இது பயன்பாடுகளின் வரிசைப்படுத்தல் மற்றும் செயல்பாட்டை பெரிதும் எளிதாக்குகிறது, மேலும் டெவலப்பர்கள் வணிக தர்க்கத்தை செயல்படுத்துவதில் கவனம் செலுத்த அனுமதிக்கிறது. இருப்பினும், Serverless இன் நன்மைகளை முழுமையாகப் பயன்படுத்த, பொருத்தமான தொழில்நுட்ப அடுக்கைத் தேர்ந்தெடுப்பது அவசியம். இந்த கட்டுரை X/Twitter இல் உள்ள விவாதத்தின் அடிப்படையில், சில பயனுள்ள Serverless கருவிகள் மற்றும் ஆதாரங்களை உங்களுக்கு பரிந்துரைக்கும், மேலும் திறமையான, விரிவாக்கக்கூடிய பயன்பாடுகளை உருவாக்குவதற்கான சில நடைமுறை நுட்பங்களையும் வழங்கும்.
Serverless இன் முக்கிய நன்மைகள்
குறிப்பிட்ட கருவிகளை ஆழமாக ஆராய்வதற்கு முன், Serverless இன் முக்கிய நன்மைகளை முதலில் மதிப்பாய்வு செய்வோம்:
- சேவையக மேலாண்மை தேவையில்லை: சேவையகங்களை கைமுறையாக உள்ளமைக்கவோ அல்லது பராமரிக்கவோ தேவையில்லை, செயல்பாட்டு செலவுகளை குறைக்கிறது.
- தானியங்கி விரிவாக்கம்: இயங்குதளம் உண்மையான ட்ராஃபிக்கின் அடிப்படையில் தானாகவே ஆதாரங்களை சரிசெய்கிறது, அதிக சுமையின் கீழ் பயன்பாட்டின் நிலையான செயல்பாட்டை உறுதி செய்கிறது.
- தேவைக்கேற்ப கட்டணம்: பயன்படுத்தப்படும் கணக்கீட்டு ஆதாரங்களுக்கு மட்டுமே பணம் செலுத்த வேண்டும், இது வள விரயத்தைத் தவிர்க்கிறது.
- விரைவான வரிசைப்படுத்தல்: பயன்பாடுகளின் வரிசைப்படுத்தல் செயல்முறையை எளிதாக்குகிறது, மேம்பாட்டு திறனை மேம்படுத்துகிறது.
உள்கட்டமைப்பு குறியீடாக (IaC) கருவிகள்
Serverless சேவையக மேலாண்மை தேவையில்லை என்று வலியுறுத்தினாலும், உள்கட்டமைப்பின் கட்டமைப்பு இன்னும் முக்கியமானது. IaC கருவிகளைப் பயன்படுத்துவது உள்கட்டமைப்பின் வரிசைப்படுத்தல் மற்றும் நிர்வாகத்தை தானியக்கமாக்கலாம், நிலைத்தன்மை மற்றும் மீண்டும் மீண்டும் வருவதை உறுதி செய்கிறது.
-
AWS CloudFormation / AWS CDK: AWS வழங்கும் சொந்த IaC கருவி, CloudFormation YAML அல்லது JSON ஐப் பயன்படுத்தி உள்கட்டமைப்பை வரையறுக்கிறது, AWS CDK தெரிந்த நிரலாக்க மொழிகளைப் (எ.கா. TypeScript, Python, Java போன்றவை) பயன்படுத்தி கிளவுட் ஆதாரங்களை வரையறுக்க அனுமதிக்கிறது.
- பயனுள்ள குறிப்புகள்: குறுக்கு பிராந்திய மற்றும் குறுக்கு கணக்கு வள வரிசைப்படுத்தலை செயல்படுத்த CloudFormation StackSets ஐப் பயன்படுத்தவும். CDK வழங்கும் மேம்பட்ட சுருக்க அடுக்கு சிக்கலான வளங்களின் உள்ளமைவை எளிதாக்கும், எடுத்துக்காட்டாக CI/CD குழாய்களை உருவாக்குதல்.
-
Terraform: AWS, Azure மற்றும் Google Cloud உள்ளிட்ட பல கிளவுட் தளங்களை ஆதரிக்கும் திறந்த மூல IaC கருவி.
- பயனுள்ள குறிப்புகள்: Terraform இன் மட்டு செயல்பாட்டைப் பயன்படுத்தி, உள்கட்டமைப்பு வரையறையை மீண்டும் பயன்படுத்தக்கூடிய கூறுகளாக உடைக்கவும். Terraform இன் நிலை கோப்பைப் பயன்படுத்தி நிலை நிர்வாகத்தை மேற்கொள்ளுங்கள், உள்ளமைவின் நிலைத்தன்மையை உறுதிப்படுத்தவும்.
-
Serverless Framework: Serverless பயன்பாடுகளுக்காக வடிவமைக்கப்பட்ட ஒரு IaC கருவி, இது பல கிளவுட் தளங்களை ஆதரிக்கிறது மற்றும் Serverless பயன்பாடுகளின் வரிசைப்படுத்தல் மற்றும் நிர்வாகத்தை எளிதாக்குகிறது.
- பயனுள்ள குறிப்புகள்: Serverless Framework இன் செருகு நிரல் பொறிமுறையைப் பயன்படுத்தி அதன் செயல்பாட்டை விரிவாக்குங்கள், எடுத்துக்காட்டாக தனிப்பயன் டொமைன் பெயர்களைச் சேர்ப்பது, API அங்கீகாரத்தை உள்ளமைப்பது போன்றவை.
கணக்கீட்டு தளம்
கணக்கீட்டு தளம் Serverless கட்டமைப்பின் மையமாகும், இது பயன்பாடுகளின் வணிக தர்க்கத்தை இயக்க பயன்படுகிறது.
-
AWS Lambda: AWS வழங்கும் செயல்பாடு கணக்கீட்டு சேவை, இது Python, Node.js, Java, Go, C# போன்ற பல நிரலாக்க மொழிகளை ஆதரிக்கிறது.
- பயனுள்ள குறிப்புகள்: பொதுவான குறியீட்டைப் பகிர Lambda Layers ஐப் பயன்படுத்தவும், செயல்பாடு தொகுப்பின் அளவைக் குறைக்கவும். கண்காணிப்பு, பாதுகாப்பு போன்ற செயல்பாடுகளைச் சேர்க்க Lambda Extensions ஐப் பயன்படுத்தவும். Lambda இன் குளிர் தொடக்க சிக்கலில் கவனம் செலுத்துங்கள், செயல்பாடுகளை முன்கூட்டியே சூடாக்க Provisioned Concurrency ஐப் பயன்படுத்தலாம்.
# Python Lambda செயல்பாடு உதாரணம் import json def lambda_handler(event, context): body = { "message": "Hello from Lambda!" } response = { "statusCode": 200, "body": json.dumps(body) } ``` return response -
Google Cloud Functions: கூகிள் கிளவுட் வழங்கும் ஃபங்க்ஷன் கம்ப்யூட்டிங் சேவை, AWS Lambda வைப் போன்றது.
- பயனுள்ள உதவிக்குறிப்புகள்: கூகிள் கிளவுட் ஃபங்க்ஷன்ஸ், கிளவுட் லாக்கிங் மற்றும் மானிட்டரிங்கை இயல்பாக ஒருங்கிணைக்கிறது, இது பதிவுகளைப் பதிவு செய்வதற்கும் செயல்திறனைக் கண்காணிப்பதற்கும் வசதியானது.
-
Azure Functions: மைக்ரோசாஃப்ட் அஸூர் வழங்கும் ஃபங்க்ஷன் கம்ப்யூட்டிங் சேவை, இது பல நிரலாக்க மொழிகளையும் ஆதரிக்கிறது.
- பயனுள்ள உதவிக்குறிப்புகள்: Azure Functions HTTP, Queue, Timer போன்ற பல்வேறு தூண்டுதல்களை ஆதரிக்கிறது, இது பல்வேறு சூழ்நிலைகளின் தேவைகளைப் பூர்த்தி செய்ய முடியும்.
-
Deno Deploy: Deno ரன்டைம் சூழலை உருவாக்கியவர் வழங்கும் Serverless தளம், இது அதிக பாதுகாப்பு மற்றும் சிறந்த செயல்திறன் கொண்டது. @@deno_land கூறியது போல், Deno Deploy உடனடி serverless Postgres தரவுத்தளத்தை வழங்குகிறது, அதை Prisma உடன் ஒருங்கிணைக்க முடியும்.
- பயனுள்ள உதவிக்குறிப்புகள்: Deno Deploy செயல்திறன் மற்றும் பாதுகாப்புக்கு அதிக தேவைப்படும் பயன்பாடுகளை உருவாக்க ஏற்றது.
தரவு சேமிப்பு
Serverless பயன்பாடுகளுக்கு பொதுவாக தரவைச் சேமிக்க NoSQL தரவுத்தளம் தேவைப்படுகிறது.
-
Amazon DynamoDB: AWS வழங்கும் NoSQL தரவுத்தள சேவை, இது அதிக கிடைக்கும் தன்மை, அதிக செயல்திறன் மற்றும் தானியங்கி விரிவாக்கம் போன்ற பண்புகளைக் கொண்டுள்ளது. @@Sanchit0496 கூறியது போல், Lambda மற்றும் DynamoDB ஆகியவை Serverless பயன்பாடுகளை உருவாக்கப் பயன்படும் பொதுவான கலவையாகும்.
- பயனுள்ள உதவிக்குறிப்புகள்: வணிக சூழ்நிலைக்கு ஏற்ப பொருத்தமான அட்டவணைப்படுத்தும் உத்தியைத் தேர்ந்தெடுக்கவும். தரவைப் பஃபர் செய்ய DynamoDB Accelerator (DAX) ஐப் பயன்படுத்தவும், இது வாசிப்பு செயல்திறனை மேம்படுத்துகிறது.
-
Google Cloud Datastore: கூகிள் கிளவுட் வழங்கும் NoSQL தரவுத்தள சேவை.
- பயனுள்ள உதவிக்குறிப்புகள்: கூகிள் கிளவுட் டேட்டாஸ்டோர் வலுவான பரிவர்த்தனை செயலாக்க திறன்களைக் கொண்டுள்ளது, இது ACID பரிவர்த்தனைகள் தேவைப்படும் பயன்பாடுகளுக்கு ஏற்றது.
-
Azure Cosmos DB: மைக்ரோசாஃப்ட் அஸூர் வழங்கும் உலகளாவிய விநியோகிக்கப்பட்ட பல மாதிரி தரவுத்தள சேவை.
- பயனுள்ள உதவிக்குறிப்புகள்: Azure Cosmos DB SQL, MongoDB, Cassandra போன்ற பல்வேறு API களை ஆதரிக்கிறது, இது இருக்கும் பயன்பாடுகளை எளிதாக மாற்ற உதவுகிறது.
-
Turso Cloud: @@penberg கூறியது போல், Turso Cloud வழங்கும் Serverless தரவுத்தள இயக்கி
fetch()API ஐப் பயன்படுத்தி அணுகலாம், இது உள்ளூர் தரவுத்தளம் தேவையில்லாத Serverless மற்றும் எட்ஜ் ஃபங்க்ஷன்களுக்கு ஏற்றது.- பயனுள்ள உதவிக்குறிப்புகள்: Turso Cloud இலகுரக Serverless பயன்பாடுகளை உருவாக்க ஏற்றது.
API மேலாண்மை
API நுழைவாயில் API களை நிர்வகிக்கவும் பாதுகாக்கவும் பயன்படுகிறது.
-
Amazon API Gateway: AWS வழங்கும் API நுழைவாயில் சேவை, இது REST API, WebSocket API மற்றும் HTTP API ஐ ஆதரிக்கிறது.
- பயனுள்ள உதவிக்குறிப்புகள்: API களைப் பாதுகாக்க API Gateway இன் அங்கீகார செயல்பாட்டைப் பயன்படுத்தவும். API இன் செயல்திறனை மேம்படுத்த API Gateway இன் பஃபர் செயல்பாட்டைப் பயன்படுத்தவும்.
-
Google Cloud API Gateway: கூகிள் கிளவுட் வழங்கும் API நுழைவாயில் சேவை.
-
பயனுள்ள உதவிக்குறிப்புகள்: கூகிள் கிளவுட் API நுழைவாயில் கூகிள் கிளவுட் எண்ட்பாயிண்ட்களுடன் ஒருங்கிணைக்கப்பட்டுள்ளது, இது gRPC API ஐ எளிதாக நிர்வகிக்கவும் பாதுகாக்கவும் முடியும்.* Azure API Management: மைக்ரோசாஃப்ட் அஸூர் வழங்கும் API கேட்வே சேவை.
-
உதவிக்குறிப்பு: Azure API Management API Key, OAuth 2.0, OpenID Connect போன்ற பல்வேறு அங்கீகார முறைகளை ஆதரிக்கிறது.
-
AI/ML தொடர்பான கருவிகள்
@@GoogleDevsIN மற்றும் @@AWSstartups கூறியது போல், சர்வலெஸ் கட்டமைப்பு AI/ML துறையில் பரவலாகப் பயன்படுத்தப்படுகிறது.
-
Google Cloud Run: Google Cloud வழங்கும் கொள்கலன் தளம், இது நிலை இல்லாத கொள்கலன்களை இயக்க முடியும், தானியங்கி விரிவாக்கம் மற்றும் தேவைக்கேற்ப கட்டணம் செலுத்துவதை ஆதரிக்கிறது. Google அளவிடக்கூடிய சர்வலெஸ் AI பயன்பாடுகளை உருவாக்க Cloud Run ஐப் பயன்படுத்துகிறது.
-
AWS SageMaker: AWS வழங்கும் இயந்திர கற்றல் தளம், இது இயந்திர கற்றல் மாதிரிகளை உருவாக்க, பயிற்சி அளிக்க மற்றும் பயன்படுத்த பயன்படுகிறது.
- உதவிக்குறிப்பு: SageMaker Endpoint ஐப் பயன்படுத்தி இயந்திர கற்றல் மாதிரிகளைப் பயன்படுத்தலாம் மற்றும் API Gateway மூலம் அணுகலாம்.
பிற பயனுள்ள கருவிகள்
- Prisma: ஒரு திறந்த மூல ORM கருவி, இது தரவுத்தள செயல்பாடுகளை எளிதாக்க முடியும். Deno Deploy அதிகாரப்பூர்வமாக Prisma ஐப் பயன்படுத்த பரிந்துரைக்கிறது.
- ONNX: ஒரு திறந்த இயந்திர கற்றல் மாதிரி வடிவம், இது வெவ்வேறு கட்டமைப்புகளுக்கு இடையில் மாதிரிகளை எளிதாக மாற்ற உதவுகிறது.
சர்வலெஸ் vs. VPS: எப்படி தேர்வு செய்வது?
@@rozzabuilds எழுப்பிய கேள்விக்கு ஏற்ப, சர்வலெஸ் மற்றும் VPS (மெய்நிகர் பிரத்யேக சேவையகம்) இரண்டும் நன்மை தீமைகளைக் கொண்டுள்ளன, எந்த பயன்பாட்டு சூழ்நிலைக்கு ஏற்றது என்பதைப் பொறுத்து தேர்வு செய்ய வேண்டும்.
| அம்சம் | சர்வலெஸ் | VPS |
|---|---|---|
| செயல்பாடு மற்றும் பராமரிப்பு | சேவையகத்தை நிர்வகிக்கத் தேவையில்லை, தளம் தானாகவே நிர்வகிக்கிறது | சேவையகத்தை நீங்களே நிர்வகிக்க வேண்டும், இதில் கட்டமைப்பு, பராமரிப்பு, பாதுகாப்பு போன்றவை அடங்கும் |
| விரிவாக்கம் | தானாக விரிவாக்கம், உண்மையான ட்ராஃபிக்கின் அடிப்படையில் தானாகவே ஆதாரங்களை சரிசெய்கிறது | விரிவாக்கத்தை கைமுறையாக கட்டமைக்க வேண்டும், மேம்படுத்த நிறுத்தம் தேவைப்படலாம் |
| செலவு | தேவைக்கேற்ப கட்டணம், பயன்படுத்திய கணக்கீட்டு ஆதாரங்களுக்கு மட்டும் கட்டணம் செலுத்தினால் போதும் | நிலையான கட்டணம், பயன்படுத்தினாலும் பயன்படுத்தாவிட்டாலும் கட்டணம் வசூலிக்கப்படும் |
| பொருந்தக்கூடிய சூழ்நிலைகள் | நிகழ்வு சார்ந்த பயன்பாடுகள், API பின்தளங்கள், தொகுதி செயலாக்க பணிகள் போன்றவற்றுக்கு ஏற்றது | நீண்ட நேரம் இயங்க வேண்டிய பயன்பாடுகளுக்கு, தனிப்பயனாக்கப்பட்ட கட்டமைப்பு தேவைப்படும் பயன்பாடுகளுக்கு ஏற்றது |
| சிக்கல்தன்மை | கட்டமைப்பு ஒப்பீட்டளவில் சிக்கலானது, சர்வலெஸ் கருத்து மற்றும் கொள்கைகளை புரிந்து கொள்ள வேண்டும் | கட்டமைப்பு ஒப்பீட்டளவில் எளிமையானது, புரிந்து கொள்வது எளிது |
- உங்கள் பயன்பாடு நிகழ்வு சார்ந்ததாக இருந்தால் அல்லது விரைவான வரிசைப்படுத்தல் மற்றும் தானியங்கி அளவிடுதல் தேவைப்பட்டால், Serverless ஒரு நல்ல வழி.
- உங்கள் பயன்பாடு நீண்ட காலத்திற்கு இயங்க வேண்டும் அல்லது தனிப்பயன் உள்ளமைவு தேவைப்பட்டால், VPS மிகவும் பொருத்தமானதாக இருக்கலாம்.
சுருக்கம்
Serverless கட்டமைப்பு நமக்கு பல வசதிகளை அளிக்கிறது, மேலும் சரியான தொழில்நுட்ப அடுக்குகளைத் தேர்ந்தெடுப்பது திறமையான, அளவிடக்கூடிய பயன்பாடுகளை உருவாக்குவதற்கான திறவுகோலாகும். இந்த கட்டுரையில் அறிமுகப்படுத்தப்பட்ட கருவிகள் மற்றும் ஆதாரங்கள் Serverless இன் நன்மைகளை சிறப்பாகப் பயன்படுத்தவும், சிறந்த பயன்பாடுகளை உருவாக்கவும் உங்களுக்கு உதவும் என்று நம்புகிறேன். தொடர்ந்து கற்றுக்கொள்வதும் பயிற்சி செய்வதும் Serverless நிபுணராக மாறுவதற்கான ஒரே வழி என்பதை நினைவில் கொள்ளுங்கள். Serverless உலகில் நீங்கள் வெற்றி பெற வாழ்த்துக்கள்!





