برنامه نویسی

توابع بدون سرور و FaaS با Vercel

🎯 Serverless به چه معناست؟

  • در نگاه اول، به نظر می رسد یک برنامه بدون سرور است. اما اینطور نیست.

  • اساساً به این معنی است که شما مسئول مدیریت و تأمین سرورها نیستید.

  • این سرورها توسط ارائه دهنده ابر مدیریت می شوند و شما به عنوان یک توسعه دهنده باید بیشتر روی قسمت توسعه یا نوشتن منطق کسب و کار خود تمرکز کنید.

🎯 عملکرد بدون سرور

  • یک تابع بدون سرور به a اشاره دارد کد تک منظوره

  • این امکان اجرای کدهای درخواستی را بدون نیاز به مدیریت زیرساخت، سرورهای ارائه یا ارتقاء سخت افزار شما فراهم می کند.

🎯 عملکرد به عنوان یک سرویس

  • تابع aس مانندخدمات” (FaaS) در واقع زیر مجموعه ای از توابع بدون سرور است.

  • توابع بدون سرور می توانند در هر دسته خدماتی قرار بگیرند که در آن پیکربندی و مدیریت سرورها برای کاربر نهایی نامرئی باشد.

  • از سوی دیگر، FaaS منحصراً به محاسبات رویداد محور اشاره دارد که در آن کد فقط در پاسخ به رویدادها یا درخواست‌های خاص اجرا می‌شود.

🎯 چگونه کار می کند؟

همه ارائه دهندگان ابر دارای “تابع aس مانندervice” (FaaS). این اساساً یک پلت فرم محاسباتی برای بدون سرور است که در آن توابع خود را اجرا می کنید. توابع ممکن است حاوی منطق کسب و کار شما یا کدی باشد که می خواهید در محرک هر رویدادی اجرا کنید.

رویداد در اینجا به هر عملی اطلاق می‌شود که از طریق برنامه شما انجام می‌شود مانند کلیک یک دکمه یا ارسال یک فرم و غیره که یک رویداد ایجاد می‌کند و سپس تابع شما را فراخوانی می‌کند و کد شما را اجرا می‌کند.

توابع بدون سرور با استفاده از این مراحل ساخته می شوند:

  1. ایجاد یک عملکرد بدون سرور

  2. آن را روی یک پلتفرم مستقر کنید

  3. آن را از طریق یک API از کد ظاهری خود (با استفاده از چیزی مانند fetch یا Axios) فراخوانی کنید.

🎯 مزایای سرور بدون سرور

  • فقط برای اجرا پرداخت کنید: شما فقط برای منابع سروری که استفاده می کنید پرداخت می کنید. وقتی عملکرد شما در حال اجرا است، این تنها زمانی است که برای آن هزینه می کنید و بسیار مقرون به صرفه است.

  • مقیاس پذیر خودکار: ارائه‌دهندگان ابری به‌طور خودکار ظرفیت سرور را در صورت نیاز اضافه می‌کنند و در صورت عدم نیاز آن را از بین می‌برند، لازم نیست نگران نگهداری و مقیاس‌بندی سرورها متناسب با نیازهای در حال توسعه وب‌سایت یا برنامه خود باشید.

  • زمان بیشتری را برای توسعه سرمایه گذاری کنید: از آنجایی که شما مسئول هیچ یک از مدیریت و استقرار زیرساخت های زیرین نیستید، می توانید برنامه های خود را سریعتر بسازید.

  • در دسترس بودن بالا: ارائه دهندگان ابر از تمام تحمل خطاها مراقبت می کنند و مطمئن می شوند که برنامه شما همیشه فعال و فعال است.

🎯 معایب سرور بدون سرور

  • تایم اوت ها: اینها اساساً ظروف بدون حالت هستند، برای مدت کمی کار می کنند و پس از آن حذف می شوند. بنابراین اگر کد اجرایی شما در آن زمان تمام نشود، برنامه شما ممکن است از کار بیفتد.

  • اشکال زدایی: به طور کلی اشکال زدایی کدهای بدون سرور چالش برانگیزتر است.

  • عدم رسیدگی به برنامه های Stateful: وقتی صحبت از برنامه های حالت دار به میان می آید، بدون سرور انتخاب خوبی نیست. برنامه بدون حالت به این معنی است که هر تراکنش به گونه ای انجام می شود که گویی برای اولین بار انجام می شود. هیچ اطلاعات ذخیره شده قبلی برای تراکنش فعلی استفاده نشده است.

حالا دیگر مقدمه بس است!! بیایید به قسمت کد حرکت کنیم.

🎯 یک تابع بدون سرور در Vercel ایجاد کنید

Vercel یک پلتفرم ابری برای صفحات استاتیک و عملکردهای بدون سرور است.

🔍 مرحله 1: Vercel CLI را نصب کنید

npm i -g vercel@latest
وارد حالت تمام صفحه شوید

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

برای ادامه کار باید آخرین نسخه Vercel CLI را نصب کنید.

vercel install cli

🔍 مرحله 2: یک پروژه Next.js ایجاد کنید

npx create-next-app@latest --typescript
وارد حالت تمام صفحه شوید

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

این یک پروژه next.js را با یک مسیر API برای شما ایجاد می کند. اینجاست که ما تابع بدون سرور خود را ایجاد می کنیم.

🔍 مرحله 3: یک تابع بدون سرور ایجاد کنید

داخل pages/api/handler.ts فایل تابع خود را بنویسید:

import { NextApiRequest, NextApiResponse } from "next";

export default function handler(
  request: NextApiRequest,
  response: NextApiResponse
) {
  response.status(200).json({
    body: 'This is my Serverless Function',
    query: request.query,
  });
}
وارد حالت تمام صفحه شوید

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

از Vercel CLI برای راه اندازی سرور توسعه محلی استفاده کنید:

vercel dev
وارد حالت تمام صفحه شوید

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

اکنون به مسیر بروید http://localhost:3000/api/handler برای دیدن پاسخ:

vercel cli را شروع کنید

🔍 مرحله 4: استقرار یک تابع بدون سرور

شما می توانید با اجرای دستور زیر از ترمینال خود، عملکرد بدون سرور خود را در شبکه جهانی لبه Vercel مستقر کنید:

vercel deploy
وارد حالت تمام صفحه شوید

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

سپس با رفتن به URL ارائه شده در ترمینال می توان به عملکرد بدون سرور دسترسی داشت.

vercel deploy

اکنون اگر URL ارائه شده در ترمینال را باز کنید، عملکرد بدون سرور خود را به صورت زنده در زمان تولید مشاهده خواهید کرد.

تولید

🔍 مرحله 5: گزارش ها را بررسی کنید

شما می توانید تمام جزئیات پروژه خود را در داشبورد وب Vercel مشاهده کنید.

داشبورد وب ورسل

اکنون می توانید از آن به عنوان یک نقطه پایانی API در برنامه frontend خود استفاده کنید و این تابع را برای اجرای منطق تجاری خود در زمانی که هر رویدادی از برنامه شما رخ می دهد، راه اندازی کنید.

🎯 منابع

🎯 بسته شدن!!

این همه برای این مقاله است. ممنون بخاطر وقتی که گذاشتید!! بیایید برای یادگیری و رشد با هم ارتباط برقرار کنیم. لینکدین توییتر اینستاگرام

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

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

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

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