லாம்டா – AWS Lambda

மறைசேவையக கணிமை – Serverless Computing

மேகக்கணிமையிலுள்ள மூன்று முக்கிய சேவைகள் உள்ளன என முன்னமே அறிந்தோம்.

  • கட்டமைப்புச்சேவை (Infrastructure as a Service – Iaas)
  • செயற்றளச்சேவை (Platform as a Service – PaaS)
  • மென்பொருள்சேவை (Software as a Service – SaaS)

இவற்றோடு கடந்த சில ஆண்டுகளாக செயற்சேவை (Function as a Service – FaaS) என்றொருவகை சேவையும் பரவலாக பயன்படுத்தப்பட்டு வருகிறது.

இத்தொடரின் தொடக்கத்தில் ஓர் எளிய வலைத்தளத்தை உருவாக்குவதற்கு முன், அவ்வலைத்தளம் இயங்கவேண்டிய சேவையகத்தை உருவாக்கவேண்டியிருந்தது. அதற்கென பல முன்முடிவுகளையும் நாம் எடுக்கவேண்டியிருந்தது. சேவையகத்துக்கான கணினிக்கு எந்த இயக்கமுறைமையைப் (Operating System) பயன்படுத்துவது, எவ்வளவு நினைவகம் (Memory) போதுமானதாக இருக்கும், ஆகியனவற்றை தீர்மானித்தாகவேண்டும். மேலும், அச்சேவையகத்தை தொடர்ந்து கண்காணித்து (Monitoring), நிர்வகித்து (Management), பராமரிக்கும் (Maintenance) வேலையையும் நாம் செய்யவேண்டும். நாம் உருவாக்கிய எளிய வலைத்தளத்தோடு ஒப்பிடும்போது இவையனைத்தும் அளவுக்கதிகமான வேலைகளே.

ஒருவேளை, இந்த சேவையகத்தை வேறொருவர் மேலாண்மை செய்துகொண்டு, நமது வலைத்தளத்திற்கான கோரிக்கைகள் வரும்போதுமட்டும் அந்த வலைப்பக்கத்தை அனுப்பினால், அதற்கு மறைசேவையக கணிமை (Serverless Computing) என்று பெயர். அதாவது, சேவையகம் பற்றிய விவரங்கள் அனைத்தும், நிரலரிடமிருந்து மறைபொருளாக வைக்கப்படும். நிரலரின் நேரமும் கவனமும், வலைத்தளத்தையோ, ஒரு நுண்சேவையையோ திறம்பட உருவாக்குவதற்கு மட்டுமே பயன்படும். மறைசேவையக கணிமையை செயல்படுத்தும் வழிகளுள் செயற்சேவையும் (FaaS) ஒன்று.

லாம்டா அறிமுகம்

இதுபோன்ற செயற்சேவைகளை வழங்குவதற்காக அமேசான், லாம்டா என்ற இணையச்சேவையை  2014ம் ஆண்டு அறிமுகப்படுத்தியது. ஜாவா, கோ, பைதான், C#, Node.js ஆகிய மொழிகளை லாம்டா ஏற்றுக்கொள்கிறது. இதில் ஏதேனும் ஒரு மொழியில், நிரலையெழுதி, லாம்டாவிற்கு வழங்கிவிடவேண்டும். மேலும், எப்போதெல்லாம் இதை இயக்கவேண்டும் (Trigger) என்பதையும் சொல்லிவிடவேண்டும். லாம்டாவை செயல்படுத்தவேண்டிய தேவை ஏற்படும்போது, அதற்கென சிறு கொள்கலனை (Container) உருவாக்கி, நிரலை இயக்குகிற வேலையை அமேசான் கவனித்துக்கொள்ளும்.

லாம்டாவை உருவாக்குவதற்கு மூன்று முக்கிய விசயங்கள் தேவை.

  1. பெயர் – Name
  2. இயங்குதளம் – Runtime
  3. பொறுப்பு – Role

இவற்றைக்கொண்டு ஒரு புதிய லாம்டாவை உருவாக்கியவுடன் அதை எப்போது இயக்கவேண்டும் என தெரிவுசெய்யவேண்டும். லாம்டாக்களை நாமாக, தேவைப்படும்போது இயக்கிக்கொள்ளலாம் (Manual invocation). அல்லது, வேறு நிகழ்வுகளின்போது தானாக இயங்கும்படியும் அமைக்கலாம் (Event based invocation). லாம்டாவை இயக்கக்கக்கூடிய பல்வேறு நிகழ்வுகளில் சில:

  • S3 நிகழ்வுகள்
  • SNS அறிவிப்புகள்
  • SQS செய்திகள்
  • பொருள்களின் இணையம் (IoT)

பேரளவாக்கம் – Scaling

வெளியுலகப் பயன்பாட்டிற்கென சேவையகங்களை உருவாக்கும்போது பேரளவாக்கத்தையும் (Scaling) கருத்தில் கொள்ளவேண்டும். ஒரு வலைச்சேவைக்கு வருகிற கோரிக்கைகளைக் கையாளுவதற்கு ஏற்றவாறு, சேவையகங்களின் எண்ணிக்கையையோ (Scaling out), சேவையகத்தின் பண்புகளையோ (Scaling up) அதிகரிப்பதும் குறைப்பதும் பேரளவாக்கம் எனப்படும்.

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

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

பயன்பாடுகள்

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

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

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

அடுத்த பதிவில், ஒரு லாம்டாவை உருவாக்கி, பயன்படுத்திப் பார்க்கலாம்.

%d bloggers like this: