AWS Lambda হলো একটি serverless কম্পিউটিং সেবা যা আপনাকে কোড চালানোর জন্য সার্ভারের পরিচালনা না করে, শুধুমাত্র ফাংশন তৈরি এবং চালানোর সুযোগ দেয়। Lambda আপনাকে কেবল কোড লেখার এবং আপলোড করার মাধ্যমে অ্যাপ্লিকেশন, সেবা, বা ব্যাকগ্রাউন্ড প্রক্রিয়াগুলি পরিচালনা করতে সহায়তা করে। AWS Lambda স্বয়ংক্রিয়ভাবে আপনার কোডের জন্য সার্ভার তৈরি এবং পরিচালনা করে, এবং আপনাকে শুধু ব্যবহার করা রিসোর্সের জন্য খরচ দিতে হয়।
এখানে AWS Lambda ফাংশন তৈরি এবং ডিপ্লয় করার পুরো প্রক্রিয়া বিস্তারিতভাবে দেখানো হলো।
১. AWS Lambda ফাংশন তৈরি করা
AWS Lambda ফাংশন তৈরি করার জন্য আপনাকে AWS Management Console অথবা AWS CLI (Command Line Interface) ব্যবহার করতে হবে। নিচে AWS Management Console দিয়ে Lambda ফাংশন তৈরির পদক্ষেপগুলো দেওয়া হলো।
Step 1: AWS Management Console এ লগইন
- AWS Management Console এ লগইন করুন।
- Lambda সার্ভিস খুঁজে বের করুন অথবা সার্চ বারে Lambda লিখে সার্চ করুন।
- Create function বাটনে ক্লিক করুন।
Step 2: ফাংশনের কনফিগারেশন
- Author from scratch নির্বাচন করুন।
- Function name: আপনার Lambda ফাংশনের জন্য একটি নাম লিখুন।
- Runtime: কোড লেখা ভাষা নির্বাচন করুন (যেমন Node.js, Python, Java, etc.)।
- Role: Lambda ফাংশনকে ডিফল্ট IAM রোল বা কাস্টম রোল অ্যাসাইন করুন। রোলটি Lambda ফাংশনকে AWS রিসোর্স অ্যাক্সেস করার অনুমতি দেয়।
- যদি আপনার Lambda ফাংশনকে S3 বা DynamoDB অ্যাক্সেস করতে হয়, তবে সেই রোলের জন্য যথাযথ অনুমতি যুক্ত করুন।
Step 3: কোড আপলোড করা
- Inline code editor ব্যবহার করে কোড লিখুন অথবা .zip ফাইল হিসেবে কোড আপলোড করুন।
কোড লেখার জন্য সহজ একটি উদাহরণ:
def lambda_handler(event, context):
return "Hello, World!"
- Save বাটনে ক্লিক করুন।
Step 4: ফাংশন টেস্ট করা
Lambda ফাংশন তৈরি হওয়ার পর আপনি Test বাটনে ক্লিক করে একটি টেস্ট ইভেন্ট তৈরি এবং আপনার Lambda ফাংশন টেস্ট করতে পারেন।
- Configure test event: একটি টেস্ট ইভেন্ট তৈরি করুন এবং একটি উদাহরণ ইনপুট প্রদান করুন।
- Test বাটনে ক্লিক করুন, এবং আপনি Lambda ফাংশনের আউটপুট দেখতে পাবেন।
২. AWS Lambda ফাংশন ডিপ্লয় করা
Lambda ফাংশন তৈরি করার পর, আপনি ফাংশনটি ডিপ্লয় করতে পারবেন। AWS Lambda সঠিকভাবে ডিপ্লয় এবং পরিচালনার জন্য কয়েকটি উপায় প্রদান করে:
Step 1: Lambda ফাংশন ডিপ্লয়
Lambda ফাংশন ডিপ্লয়ের জন্য আপনাকে আলাদা কোনো সার্ভার কনফিগার করতে হয় না। আপনি ফাংশনটির সংস্করণ (Version) এবং এলাকা (Alias) তৈরি করে কোডটি ডিপ্লয় করতে পারেন।
- Versioning: Lambda ফাংশনের বিভিন্ন সংস্করণ তৈরি করতে পারেন, যা কোডের নির্দিষ্ট সংস্করণ রিলিজ বা পরিবেশন করতে সহায়ক।
- Lambda ফাংশন সংস্করণ তৈরি করতে, ফাংশন কনফিগারেশন পৃষ্ঠায় Actions > Publish new version নির্বাচন করুন।
- একটি নতুন সংস্করণ তৈরি হলে, আপনি সেই সংস্করণটি নির্দিষ্ট পরিবেশে ডিপ্লয় করতে পারবেন।
- Alias: আপনি Lambda ফাংশনের জন্য Alias তৈরি করতে পারেন, যা একটি নির্দিষ্ট সংস্করণ বা ভার্সন কনফিগারেশন ধরে রাখে। এর মাধ্যমে ফাংশনটি নির্দিষ্টভাবে পরিবেশ (dev, staging, production) অনুযায়ী পরিচালনা করতে পারেন।
Step 2: AWS API Gateway এর সাথে Lambda ডিপ্লয়
আপনি যদি Lambda ফাংশনকে একটি HTTP API এ এক্সপোজ করতে চান, তাহলে Amazon API Gateway ব্যবহার করতে পারেন।
- API Gateway নির্বাচন করুন এবং একটি REST API তৈরি করুন।
- Create Resource: API Gateway এর মাধ্যমে আপনি একটি নতুন রিসোর্স (যেমন
/v1/endpoint
) তৈরি করতে পারবেন। - Create Method: HTTP মেথড (GET, POST, PUT ইত্যাদি) নির্বাচন করুন এবং Lambda ফাংশনটিকে মেথডের জন্য সংযুক্ত করুন।
- Deploy API: API তৈরি হওয়ার পর, API Gateway ডিপ্লয় করার জন্য একটি স্টেজ নির্বাচন করুন (যেমন
dev
, prod
)।
Step 3: Lambda ফাংশন সুরক্ষা নিশ্চিত করা
Lambda ফাংশন নিরাপদে চলানোর জন্য, নিশ্চিত করুন যে যথাযথ IAM রোল ব্যবহার করা হচ্ছে এবং সঠিক অনুমতি দেওয়া হয়েছে। এছাড়া, আপনি API Gateway এর মাধ্যমে অনুরোধের অনুমতি নিয়ন্ত্রণ করতে পারেন।
৩. Lambda ফাংশন মনিটরিং
AWS Lambda ফাংশনের কার্যকারিতা এবং পারফরম্যান্স ট্র্যাক করার জন্য Amazon CloudWatch ব্যবহার করা হয়।
- CloudWatch Logs: Lambda ফাংশনের আউটপুট লগ সংরক্ষণ করতে সাহায্য করে।
- CloudWatch Metrics: Lambda ফাংশনের পারফরম্যান্স ট্র্যাক করতে সাহায্য করে, যেমন ফাংশনের এক্সিকিউশন সময়, ফাংশনের সফলতা এবং ব্যর্থতা, থ্রোটলিং ইত্যাদি।
উপসংহার
AWS Lambda ফাংশন তৈরি এবং ডিপ্লয় করা অত্যন্ত সহজ এবং দ্রুত। এর মাধ্যমে আপনি কোনো সার্ভার পরিচালনা না করেই, স্কেলেবল এবং দক্ষভাবে কোড চালাতে পারেন। Lambda এবং অন্যান্য AWS পরিষেবাগুলোর সাথে ইন্টিগ্রেশন ব্যবহার করে, আপনি আরও উন্নত অ্যাপ্লিকেশন তৈরি করতে পারবেন।