Tuesday, October 16, 2018

Serverless Computing With AWS Lambda- Part 1





Serverless computing තමා අද වෙන කොට cloud computing වල වැඩියෙන්ම පාවිච්චි වෙන්නෙ…. ඒ නිසා අපි බලමු මොකක්ද මේ serverless architecture කියන්නෙ කියල….

Severless computing වලදි  ඔයාලට ඒ කියන්නෙ developerට server එකක් ඕන වෙන්නෙ නැ … මේ architecture එකේදී ඔයාලගෙ code එක build කරල deploy කරන්න server එකක configure කරන්න ඕන වෙන්නෙත් නැ … ඒ කියන්නෙ ඔයාලගෙ code එක run කරන server එක ඔයාලට manage කරන්න ඕන වෙන්නෙ නෑ. Cloud provider එක තමා server එකක් විදියට වැඩ කරන්නේ …. AWS Lambda කියන්නෙ ඒ වගේ serverless computing platform එකක්.

අපි දැන් බලමු මොකක්ද serverless එකක් execute වෙන model එක කියලා….

(චායාරූප අන්තර්ජාලය ඇසුරිනි)

  1. මුලින්ම කරන්නේ තමන්ට ඕන කරන function එක execute කරන්න  serverless computing platform එකකට client විසින් request එකක්  දැමීමයි.
  2. Serverless computing platform එකෙන් check කරල බලනවා මේ වෙනකොටම අදාළ function එක එහි මොකක් හරි server එකක් උඩ run වෙනවද කියල… එහෙම run වෙනවා නම් අදාළ function එක data store එකෙන් platform එකට load කරනවා.
  3. ඊට පස්සෙ platform එක function එක එහි කුමක් හෝ server එකකට (කලින් configure කරලා තියෙන්න ඕන ඒ function එක එම environment එකේ execute වෙනවා කියලා) deploy කරනවා.
  4. Platform එකෙන් function එක execute කරලා result එක ලබා ගන්නවා.
  5. ලබා ගත් result එක clientට දෙනවා.

සමහර වෙලාවට serverless computing වලට FAAS (Function As A Service) කියලා කියනවා. මොකද ඔයාල මේකේ ඔයාලගෙ code එක build කරන්නේ function එකක් විදියට නිසයි….
මේ Platform එකෙන් ඔයාලගෙ function එක එයාලගේම server එකක execute කරලා, request එක සහ response එක අතර සම්බන්ධතාවක් තියා ගන්නවා.

Serverless computing වල use කරන වෙලාව අනුව මුදල් අය කිරීම සිදු කරනවා. වෙලාව ගණනය කරන්නේ code එක execute කරන්න පටන් අරන් result එක ලබා ගන්න ගත වුණු කාල පරාසයයි…

Serverless computing පිළිබඳව කතා කරනකොට වැදගත් වන කරුණු 3ක් තියෙනවා. ඒ තමයි nanoservices architecture, scalability සහ price කියල කියන්නෙ.
nanoservices architecture කියන්නෙ ඔයාලගෙ code එක පොඩි පොඩි කොටස් වලට බෙදලා ඒ එක එක කොටස් වල test කරන එකටයි. මේ නිසා code එකේ තියෙන side effects අඩු කර ගන්න පුළුවන්.
Pricing කියලා කියන්නෙ කලින් කිව්වා වගේ මුදල් ගෙවන්න වෙන එකටයි. මේ ගෙවන මුදල් ප්‍ර්‍රමාණය සමානුපාතික වෙනවා ඔයගෙ usage එකට.
Scalability කියලා කියන්නෙ serverless computing වලට තියෙන infinite scale එකයි. Serverless එක්ක වැඩ කරන කොට, ඔයාලට කියන්න තියෙන්නෙ එකම වෙලාවෙ සිදු වෙන function මොනවාද කියලා. එතකොට Platform එක විසින්ම scalability සාදා ගන්නවා. ඔයාල කරන request ප්‍රමාණය මත සාදා ගත යුතු containers ගණන වෙනස් වෙනවා.

Severless වල ප්‍රධාන සoකල්ප 5ක් තියෙනවා. ඒ තමයි,
1. Functions
2. Events
3. Resources
4. Services
5. Plugins

Node.js, Python, Java, C# වගේ languages මේ serverless framework එකේ functions ලියන්න use කරනවා.

හොදයි අපි තව දුරටත් මේ serverless computing  පිළිබඳව ඊළඟ articles වලදී කතා කරමු….

---ඉෂාරා---

0 comments:

Post a Comment