AWS Lambda সার্ভারলেস ইন্টিগ্রেশন গাইড

AWS Lambda দিয়ে ইভেন্ট-ড্রিভেন ট্রেডিং সিস্টেম তৈরি করুন। হোয়েল সিগন্যালে ট্রেডিং বট ট্রিগার করুন, রিয়েল-টাইম ডেটা স্ট্রিম প্রসেস করুন এবং ইনফ্রাস্ট্রাকচার ম্যানেজ ছাড়াই জটিল ওয়ার্কফ্লো অটোমেট করুন।

প্রকাশিত মার্চ ২১, ২০২৬ ১৭ মিনিটের পড়া এডভান্সড

সার্ভারলেস আর্কিটেকচারের সুবিধা

AWS Lambda দিয়ে আপনি সার্ভার ম্যানেজ ছাড়াই কোড রান করতে পারবেন। Smart Money API ইন্টিগ্রেশনের জন্য পারফেক্ট কারণ আপনি শুধু এক্সিকিউশন টাইমের জন্য পেমেন্ট করেন। যখন একটি হোয়েল সিগন্যাল আসে, Lambda জেগে ওঠে, এটি প্রসেস করে, সম্ভাব্য একটি ট্রেড ট্রিগার করে, তারপর আবার ঘুমিয়ে যায়।

প্রধান সুবিধাসমূহ

  • সার্ভার ম্যানেজমেন্ট নেই — AWS স্কেলিং এবং ইনফ্রাস্ট্রাকচার হ্যান্ডেল করে
  • খরচ দক্ষতা — প্রতি ১০০ms এক্সিকিউশনের জন্য পেমেন্ট, $০.২০ প্রতি মিলিয়ন ইনভোকেশনে
  • অটো-স্কেলিং — স্বয়ংক্রিয়ভাবে ট্রাফিক স্পাইক হ্যান্ডেল করে
  • লো লেটেন্সি — সিগন্যাল আসার কয়েক মিলিসেকেন্ডের মধ্যে ট্রিগার করে
  • AWS সার্ভিসের সাথে ইন্টিগ্রেশন — DynamoDB, SNS, SQS, S3, CloudWatch এর সাথে কানেক্ট করুন
  • বিল্ট-ইন লগিং — ডিবাগিং এবং মনিটরিং এর জন্য CloudWatch ইন্টিগ্রেশন

ইনস্টিটিউশনাল সেটআপ: একটি ক্রিপ্টো ফান্ড ৩টি Lambda ফাংশন চালায়: সিগন্যাল প্রসেসর (সিগন্যাল ভ্যালিডেট এবং ফিল্টার করে), ট্রেড এক্সিকিউটর (অর্ডার দেয়), এবং রিস্ক মনিটর (পজিশন লিমিট চেক করে)। সব Smart Money API ওয়েবহুক দ্বারা ট্রিগার্ড। মোট খরচ: $১২/মাস ১০M ইনভোকেশনের জন্য।

সাধারণ ব্যবহারের ক্ষেত্রসমূহ

  • হোয়েল সিগন্যাল প্রসেস করুন এবং ট্রেডিং বটে ফরওয়ার্ড করুন
  • এক্সিকিউশনের আগে রিস্ক লিমিটের বিরুদ্ধে সিগন্যাল ভ্যালিডেট করুন
  • সমস্ত সিগন্যাল DynamoDB এ লগ করুন হিস্টোরিকাল অ্যানালাইসিসের জন্য
  • SNS বা Slack এর মাধ্যমে টিমকে অ্যালার্ট পাঠান
  • সিগন্যাল প্যাটার্ন অ্যানালাইজ করুন এবং স্ট্র্যাটেজি প্যারামিটার আপডেট করুন

প্রাথমিক AWS সেটআপ

ধাপ ১: AWS অ্যাকাউন্ট তৈরি করুন

aws.amazon.com এ AWS অ্যাকাউন্ট তৈরি করুন। ফ্রি টিয়ারে প্রতি মাসে ১ মিলিয়ন Lambda ইনভোকেশন অন্তর্ভুক্ত, টেস্টিং এর জন্য পারফেক্ট।

ধাপ ২: Lambda কনসোলে অ্যাক্সেস করুন

AWS কনসোলে লগ ইন করুন, Lambda সার্ভিসে নেভিগেট করুন। "Create function" ক্লিক করুন।

ধাপ ৩: রানটাইম নির্বাচন করুন

Python 3.11 নির্বাচন করুন (ক্রিপ্টো ট্রেডিং এর জন্য রিকমেন্ডেড)। Node.js 18 ও কাজ করে। পুরোনো রানটাইম এড়িয়ে চলুন কারণ এগুলিতে সিকিউরিটি ভালনারেবিলিটি থাকতে পারে।

ধাপ ৪: এক্সিকিউশন রোল কনফিগার করুন

Lambda এর জন্য উপযুক্ত পারমিশন সহ একটি IAM রোল প্রয়োজন। নিচে IAM কনফিগারেশন সেকশন দেখুন।

৩০ সেকেন্ডে আপনার API কী পান

মিনিটের মধ্যে এই ইন্টিগ্রেশনটি লাইভ ডেটার সাথে সংযুক্ত করুন। ফ্রি API কী, ৫০ কল/দিন, কার্ডের প্রয়োজন নেই।

আপনার API কী পান →

IAM রোল এবং পারমিশনসমূহ

ন্যূনতম পারমিশন পলিসি

শুধুমাত্র প্রয়োজনীয় পারমিশন সহ একটি IAM পলিসি তৈরি করুন (লিস্ট প্রিভিলেজের নীতি):

Lambda IAM পলিসি
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": ["dynamodb:PutItem"],
"Resource": "arn:aws:dynamodb:us-east-1:*:table/whale-signals"
}
]
}

সেরা অনুশীলনসমূহ

  • আলাদা রোল ব্যবহার করুন — বিভিন্ন Lambda ফাংশনের বিভিন্ন রোল থাকা উচিত
  • লিস্ট প্রিভিলেজ — শুধুমাত্র প্রকৃতপক্ষে প্রয়োজনীয় পারমিশন দিন
  • * ওয়াইল্ডকার্ড এড়িয়ে চলুন — পরিবর্তে সঠিক রিসোর্স নির্দিষ্ট করুন
  • ক্রেডেনশিয়াল রোটেট করুন — API কী AWS Secrets Manager এ স্টোর করুন, কোডে নয়

Lambda ফাংশন লেখা

ফাংশন ১: সিগন্যাল প্রসেসর

Smart Money API থেকে ওয়েবহুক গ্রহণ করে, সিগন্যাল ভ্যালিডেট করে, DynamoDB এ লগ করে:

lambda_handler.py
import json, boto3, os
from datetime import datetime
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('whale-signals')
def lambda_handler(event, context):
try:
body = json.loads(event['body'])
signal = body['signal_type']
confidence = float(body['confidence'])
# শুধুমাত্র উচ্চ-কনফিডেন্স সিগন্যাল প্রসেস করুন
if confidence < 0.70:
return {'statusCode': 200, 'body': 'Ignored'}
# DynamoDB এ লগ করুন
table.put_item(Item={
'timestamp': datetime.now().isoformat(),
'signal': signal,
'confidence': confidence
})
return {'statusCode': 200, 'body': প্রসেসড}
ব্যতীত এক্সেপশন হিসাবে e:
প্রিন্ট(f'ত্রুটি: {e}')
রিটার্ন {'statusCode': 500, 'body': 'ত্রুটি'}

ফাংশন ২: ট্রেড এক্সিকিউটর

যাচাইকৃত সিগন্যাল গ্রহণ করে, রিস্ক লিমিট চেক করে, এক্সচেঞ্জ API-এর মাধ্যমে ট্রেড প্লেস করে:

  • অ্যাকাউন্ট ব্যালেন্সের বিপরীতে পজিশন সাইজ যাচাই করুন
  • স্টপ লস এবং টেক প্রফিট লেভেল চেক করুন
  • লিমিট অর্ডার প্লেস করতে এক্সচেঞ্জ API কল করুন
  • অডিট ট্রেইলে এক্সিকিউশন লগ করুন
  • Slack-এ কনফার্মেশন পাঠান

ফাংশন ৩: রিস্ক মনিটর

পর্যায়ক্রমে চলে (প্রতি ৫ মিনিটে) পোর্টফোলিও রিস্ক চেক করতে:

  • সমস্ত খোলা পজিশন কুয়েরি করুন
  • পোর্টফোলিও ডেল্টা এবং গামা ক্যালকুলেট করুন
  • যদি লিভারেজ > থ্রেশহোল্ড হয়, পজিশন কমান
  • যদি রিস্ক লিমিট লঙ্ঘন হয়, টিমকে অ্যালার্ট করুন

API গেটওয়ে সেটআপ

HTTP এন্ডপয়েন্ট তৈরি করা

API গেটওয়ে Lambda-কে HTTP এন্ডপয়েন্ট হিসেবে এক্সপোজ করে যাতে Smart Money API ওয়েবহুক করতে পারে:

  1. API গেটওয়ে-এ নতুন REST API তৈরি করুন
  2. Lambda ফাংশনে পয়েন্টিং করে POST মেথড তৈরি করুন
  3. ইন্টিগ্রেশন টাইপ = Lambda ফাংশন কনফিগার করুন
  4. স্টেজে ডিপ্লয় করুন (যেমন, "production")
  5. URL কপি করুন: https://xyz.execute-api.us-east-1.amazonaws.com/production

API কী অথেন্টিকেশন

এন্ডপয়েন্টকে API কী দিয়ে প্রোটেক্ট করুন যাতে শুধুমাত্র Smart Money API এটি ইনভোক করতে পারে:

API গেটওয়ে সিকিউরিটি
১. API গেটওয়ে কনসোলে API কী তৈরি করুন
২. ইউসেজ প্ল্যান তৈরি করুন, API কী সংযুক্ত করুন
৩. মেথডে API কী প্রয়োজনীয়তা সক্ষম করুন
৪. Smart Money API হেডারে কী অন্তর্ভুক্ত করে: x-api-key

CORS কনফিগারেশন

যদি ব্রাউজার থেকে কল করা হয়, CORS সক্ষম করুন:

  • Access-Control-Allow-Origin: *
  • Access-Control-Allow-Headers: Content-Type
  • Access-Control-Allow-Methods: POST

ইভেন্ট-ড্রিভেন আর্কিটেকচার

Smart Money ওয়েবহুক → API গেটওয়ে → Lambda

সিনক্রোনাস ইনভোকেশন। সিগন্যাল আসে, Lambda অবিলম্বে প্রসেস করে, Smart Money API-তে রেসপন্স পাঠায়।

শিডিউলড ট্রিগার (EventBridge)

শিডিউলে Lambda চালান (যেমন, রিস্ক মনিটর প্রতি ৫ মিনিটে):

EventBridge রুল
শিডিউল: rate(5 minutes)
টার্গেট: Lambda ফাংশন risk-monitor

SQS কিউ ইন্টিগ্রেশন

হাই-ভলিউম সিগন্যালের জন্য, SQS কিউকে বাফার হিসেবে ব্যবহার করুন:

  • Smart Money API → SNS টপিক → SQS কিউ
  • Lambda প্রতি ১০ সেকেন্ডে কিউ পোল করে
  • আপনার নিজের গতিতে সিগন্যাল প্রসেস করুন
  • Lambda-কে ওভারহুইল্মড হওয়া থেকে রক্ষা করে

ডিপ্লয়মেন্ট এবং ম্যানেজমেন্ট

SAM ব্যবহার করে (সার্ভারলেস অ্যাপ্লিকেশন মডেল)

AWS SAM ব্যবহার করে ইনফ্রাস্ট্রাকচারকে কোড হিসেবে ডিপ্লয় করুন:

sam-template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
ProcessSignalFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.lambda_handler
Runtime: python3.11
Timeout: 10
Events:
ApiEvent:
Type: Api
Properties:
Path: /webhook
Method: POST

ভার্সন কন্ট্রোল এবং CI/CD

অটোমেটেড ডিপ্লয়মেন্টের জন্য GitHub + AWS CodePipeline ব্যবহার করুন:

  1. GitHub রিপোতে কোড পুশ করুন
  2. CodePipeline কমিট ডিটেক্ট করে
  3. CodeBuild টেস্ট চালায় এবং প্যাকেজ করে
  4. CodeDeploy Lambda-তে ডিপ্লয় করে
  5. ব্যর্থ হলে অটোমেটিক রোলব্যাক

এনভায়রনমেন্ট ভেরিয়েবলস

সিক্রেটস কোডে নয়, AWS Secrets Manager-এ সংরক্ষণ করুন:

  • SMART_MONEY_API_KEY — Lambda-তে Secrets Manager থেকে ফেচ করুন
  • EXCHANGE_API_KEY — সুরক্ষিতভাবে সংরক্ষণ করুন
  • DYNAMODB_TABLE — CloudFormation প্যারামিটার থেকে রেফারেন্স করুন

মনিটরিং এবং ডিবাগিং

CloudWatch লগস

Lambda স্বয়ংক্রিয়ভাবে CloudWatch-এ লগ করে। ত্রুটির জন্য লগ চেক করুন:

  • Lambda কনসোলে ফাংশনে ক্লিক করুন
  • মনিটর ট্যাবে যান → CloudWatch-এ লগ দেখুন
  • ত্রুটি বা এক্সেপশন সার্চ করুন

কাস্টম মেট্রিক্স

মনিটরিংয়ের জন্য কাস্টম মেট্রিক্স CloudWatch-এ পুশ করুন:

কাস্টম মেট্রিক্স
cloudwatch = boto3.client('cloudwatch')
cloudwatch.put_metric_data(
Namespace='SmartMoney',
MetricData=[{
'MetricName': 'SignalsProcessed',
'Value': 1
}]
)

CloudWatch অ্যালার্মস

যখন Lambda ফাংশন ব্যর্থ হয় বা স্লো হয় তখন অ্যালার্ট করুন:

  • ত্রুটি হার > ১%
  • সময় > ৫ সেকেন্ড
  • থ্রটলিং ঘটে
  • টাইমআউট ত্রুটি

X-Ray ট্রেসিং

সার্ভিসেস জুড়ে ডিস্ট্রিবিউটেড ট্রেসিংয়ের জন্য X-Ray সক্ষম করুন:

  • দেখুন প্রতিটি অপারেশনে কত সময় লাগে
  • বাধা চিহ্নিত করুন
  • ইন্টিগ্রেশন সমস্যা ডিবাগ করুন

অপারেশনাল অন্তর্দৃষ্টি: সবচেয়ে ব্যয়বহুল ল্যাম্বডা ভুলগুলি হলো কম্পিউট খরচ নয়—এগুলি এমন বাগ যা খারাপ ট্রেডের কারণ হয়। মনিটরিং, লগিং এবং টেস্টিং-এ ব্যাপক বিনিয়োগ করুন। ট্রেডিং ভুলে $5,000 খরচ করার চেয়ে $50/মাস ক্লাউডওয়াচে ব্যয় করা ভালো।

সার্ভারলেস ট্রেডিং ইনফ্রাস্ট্রাকচার তৈরি করুন

AWS ল্যাম্বডায় ইভেন্ট-ড্রিভেন ট্রেডিং সিস্টেম চালান। হোয়েল সিগন্যাল প্রসেস করুন, ট্রেড এক্সিকিউট করুন এবং সার্ভার ম্যানেজ না করেই রিস্ক মনিটর করুন।

মূল্য পরিকল্পনা দেখুন
ওয়েবহুক ডেলিভারির জন্য প্রো প্ল্যান সুপারিশকৃত। সাধারণ ট্রেডিং ভলিউমের জন্য ল্যাম্বডা খরচ: ~$1-5/মাস।

সম্পর্কিত ইনফ্রাস্ট্রাকচার গাইড

বিনামূল্যে শুরু করুন — ৫০ কল/দিন, কোন কার্ড প্রয়োজন নেই

একটি API থেকে ৩টি এক্সচেঞ্জের লাইভ হোয়েল ফ্লো, ফান্ডিং, ওপেন ইন্টারেস্ট এবং অন-চেইন ডাটা পান। ফ্রি টিয়ার, ক্রেডিট কার্ডের প্রয়োজন নেই, যেকোনো সময় আপগ্রেড করুন।

বিনামূল্যে শুরু করুন →
লাইভ API কনসোল ট্রাই করুন → (অ্যাকাউন্টের প্রয়োজন নেই)