برنامه نویسی

API های استراحت بدون سرور: کدی مانند یک شورشی ، مانند یک رئیس با AWS Lambda + API Gateway مستقر شده است

شما فقط یک Node.js Node.js را ساخته اید. اما حالا شما گیر کرده اید:

  • 💰 پرداخت 50 دلار در ماه برای سرور که 90 ٪ از زمان را می خوابد.
  • 😩 کابوس مقیاس وقتی برنامه شما به HN رسید.
  • 🔧 به روزرسانی های سیستم عامل به جای ویژگی های حمل و نقل.

اگر دیگر هرگز سرور را لمس نکنید ، چه می کنید؟ وارد کردن AWS Lambda + API Gateway: استقرار API های ضد گلوله ای که در مقیاس به میلیون ها نفر است –بدون سرور واحدبشر من 30+ API را از این طریق حمل کرده ام. بیایید زنجیر را بشکنیم.


چرا بدون سرور؟ (اسپویلر: این فقط اعتیاد به مواد مخدره نیست)

بدون سرور “بدون سرور” نیست “مشکل شما ، نه مال شما”:

  • هزینه های بیکار صفر: فقط در صورت ارسال درخواست ها (0.20 دلار در هر میلیون تماس ها)
  • مقیاس خودکار به بی نهایت: 1 کاربر یا 100K را بدون پیکربندی کنترل کنید.
  • بخواب: بدون SSH ، بدون تکه های امنیتی ، نه systemd راه اندازی مجدد

API 5 دقیقه ای و صفر سرور API شما

1. Lambda را بنویسید (node.js/python/etc.)

// handler.js
exports.handler = async (event) => {
  const { name = 'Anonymous' } = event.queryStringParameters;
  return {
    statusCode: 200,
    body: JSON.stringify({ 
      message: `Hello ${name}!`,
      timestamp: new Date().toISOString()
    }),
  };
};
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2. مستقر از طریق AWS CLI

# Zip & upload
zip function.zip handler.js
aws lambda create-function \
  --function-name HelloAPI \
  --runtime nodejs20.x \
  --handler handler.handler \
  --zip-file fileb://function.zip \
  --role arn:aws:iam::123456789012:role/lambda-role

# Create API Gateway
aws apigateway create-rest-api --name 'HelloServerlessAPI'
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3. لامبدا را به دروازه API وصل کنید

  • در کنسول AWS:
    1. ایجاد a GET /hello منبع در دروازه API.
    2. “عملکرد لامبدا” را به عنوان هدف ادغام تنظیم کنید.
    3. اعزام به prod مرحله URL API خود را دریافت کنید!

آن را امتحان کنید:

curl "https://abc123.execute-api.us-east-1.amazonaws.com/prod/hello?name=Alex"
# {"message":"Hello Alex!","timestamp":"2025-05-21T12:00:00Z"}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

رونق سرور شما اکنون هوا است. 💨


ابرقدرت های کلیدی (جایی که بدون سرور می درخشد)

نشان دروازه Lambda + API سرور سنتی
هزینه (10K req در روز) 0.05 دلار در ماه 10 دلار/ماه
مقیاس بندی فوری → تعادل بار دستی
زمان استقرار 30 ثانیه 15+ دقیقه
نگهدار صفر تکه های امنیتی هفتگی

حرکات حرفه ای برای تولید

1. Slash Cold شروع می کند (شماره 1 GOTCHA)

  • استفاده کردن معماری بازو (30 ٪ ارزان تر + 50 ٪ سرماخوردگی سریعتر شروع می شود):
  aws lambda update-function-configuration \
    --function-name HelloAPI \
    --architectures arm64
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • همزمانی: توابع قبل از گرم شدن (هزینه اضافی).

2. امنیت را قفل کنید

  • نقش IAM: حداقل دسترسی به امتیاز.
  • کلیدهای API: برای نقاط پایانی غیر عمومی نیاز دارید.
  • برنامه های استفاده: مشتری های توهین آمیز دریچه گاز.

3 اسرار محیط

aws lambda update-function-configuration \
  --function-name HelloAPI \
  --environment "Variables={API_KEY=supersecret}"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

دامنه + https

  • استفاده کردن مدیر گواهی AWS به صورت رایگان SSL.
  • نقشه api.yourdomain.com در مسیر 53.

وقتی سرور بی پروا است (صادق باشید!)

  • سرما شروع می شود: آزار دهنده برای API های کاربر (<500ms).
  • بارهای کاری حالت: به redis نیاز دارید؟ از elasticache (نه لامبدا) استفاده کنید.
  • مدت زمان 15 دقیقه: کارهای طولانی؟ دسته AWS را امتحان کنید.

از مواردی استفاده کنید که برنده شوند:

  • API های REST/GRAPHQL
  • وظایف محور رویداد (بارگذاری S3 ، مشاغل کرون)
  • پس زمینه های Jamstack

هزینه دنیای واقعی: راه اندازی در مقابل شرکت

سناریو هزینه
استارتاپ MVP 0.00 دلار در ماه (همیشه ردیف رایگان)
10m req در ماه 1.50 دلار (0.20 دلار در هر میلیون req + محاسبه)
API شرکت 200 دلار در ماه (50m Req + همزمانی ارائه شده)

tl ؛ دکتر:

  1. توابع را بنویسید (نه سرورها).
  2. دروازه API = پلیس ترافیک.
  3. لامبدا = محاسبات مقیاس خودکار.
    با هم: خواب در حالی که AWS سنبله های ترافیکی نیمه شب را کنترل می کند.

حرکت شما:

  1. “سلام API” را در 5 دقیقه مستقر کنید.
  2. بندر یکی نقطه پایانی از برنامه اکسپرس خود به لامبدا.
  3. هرگز دوباره برای سرورهای بیکار پرداخت کنید.

آن دوست را برچسب بزنید هنوز هم در حال اجرا با قطره دیجیتالی 20 دلار در ماه است. آنها به آزادی احتیاج دارند.


جعبه ابزار رایگان:


بدون سرور یا داستان ترسناک؟ در زیر به اشتراک بگذارید! بیایید گیک کنیم. 💬

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا