مقایسه سرویسهای PaaS در ایران؛ پاستاکلود، آروانکلاد، لیارا و چابکان برای چه پروژههایی مناسباند؟
پاستاکلود، آروانکلاد، لیارا و چابکان چهار گزینه ایرانی برای میزبانی ابریاند که تفاوتشان در روش استقرار، امکانات و هزینههاست. The post مقایسه سرویسهای PaaS در ایران؛ پاستاکلود، آروانکلاد، لیارا و چابکان برای چه پروژههایی مناسباند؟ appeared first on دیجیاتو.
فرض کنید برنامهای برای رزرو نوبت نوشتهاید. روی لپتاپ شما کار میکند، نوبتها در PostgreSQL ذخیره میشوند و یک پردازش جدا یادآوریها را میفرستد. برای انتشارش یک فایل Docker Compose دارید. چهار سرویس ایرانی میتوانند در فهرست انتخاب شما باشند، اما اولین کاری که باید در پنل هرکدام انجام بدهید یکسان نیست: جایی میتوانید از خود فایل شروع کنید، جایی باید برنامه و دیتابیس را جدا بسازید و جایی میتوانید مشخصات استقرار را مستقیماً به پلتفرم بدهید. همین تفاوت، از عبارت کلی «پشتیبانی از داکر» بیشتر به کارتان میآید. اگر میخواهید پلتفرم فایل Compose پروژه را بخواند، پاستاکلود را بررسی کنید. اگر برای انتشار یک برنامه جنگو یا Next.js راهنمای مختص همان فریمورک میخواهید، لیارا نقطه شروع مناسبی است. اگر تیم شما استقرار را با مانیفست تعریف میکند، کانتینر ابری آروانکلاد به روش کارتان نزدیکتر است. اگر قرار است نرمافزاری مثل Odoo را با دیتابیس جدا بالا بیاورید و یک مثال قدمبهقدم میخواهید، مستندات چابکان را ببینید. این توصیهها درباره نقطه شروع هر پروژهاند؛ سرعت، هزینه و پایداری را باید با بار کاری خودتان بسنجید. این رپورتاژ با حمایت پاستاکلود تهیه شده است. مبنای مقایسه، مستندات عمومی چهار شرکت در 18 آبان 1405 است. برای این مطلب آزمون مستقل سرعت، آپتایم یا کیفیت پشتیبانی انجام نشده است. PaaS چیست و چه فرقی با سرور مجازی دارد؟ در سرور مجازی، یک ماشین تحویل میگیرید و مسئول آماده نگه داشتن محیط اجرای برنامه هستید. در PaaS یا «پلتفرم بهعنوان سرویس»، معمولاً کد یا بسته آماده اجرای برنامه را تحویل میدهید و پلتفرم راهاندازی آن را بر عهده میگیرد. در مثال سامانه نوبتدهی، این یعنی میتوانید بهجای نصب وبسرور از انتشار برنامه شروع کنید. اما همچنان باید مشخص کنید اطلاعات بیماران کجا میماند، چه کسی به آن دسترسی دارد و اگر نسخه جدید خطا داشت چطور نسخه قبلی را برمیگردانید. «مدیریتشده» بودن، این تصمیمها را از طرف شما نمیگیرد. مقایسه در یک نگاه سرویسنقطه شروع پیشنهادیپیش از مهاجرت بررسی کنیدپاستاکلود (Paasta)پروژه محلی یا فایل Composeتبدیل وابستگیها و تنظیمات مخصوص میزبانآروانکلاد (ArvanCloud)ایمیج، مانیفست یا قالب آمادهمنابع و فضای ماندگار موردنیاز هر برنامهلیارا (Liara)راهنمای فریمورک یا Dockerتفکیک اجزای پروژه چندسرویسیچابکان (Chabokan)ایمیج برنامه و سرویسهای وابستهاتصال دیتابیس و تعریف مسیر دیسکها پاستاکلود؛ وقتی فایل پروژه نقطه شروع است مزیت پاستاکلود برای تیمی که پروژه آماده دارد، کوتاه شدن فاصله میان ساختار محلی و منابع ابری است. طبق راهنمای استقرار پاستاکلود، میتوان پوشه محلی یا فایل ZIP را برای انتشار آماده کرد. در مسیر هاست Docker Compose پاستاکلود، پلتفرم اجزای فایل را تحلیل و سرویسهای برنامه، فضای ماندگار و وابستگیهای شناختهشده را به منابع قابل مدیریت تبدیل میکند. برای سامانه نوبتدهی، سؤال مفید قبل از تأیید این است: آیا سرویس وب، پردازش یادآوری و دیتابیس همانطور که انتظار داریم تشخیص داده شدهاند؟ در همین سامانه، خود برنامه نوبتها را ثبت میکند و پایگاه داده باید آنها را بعد از هر انتشار نگه دارد. در پاستاکلود میتوان PostgreSQL را بهصورت دیتابیس مدیریتشده کنار برنامه ساخت و برای بکاپ و آزمون بازیابی آن برنامه داشت. این انتخاب مرز هزینهها را هم روشن میکند: حافظه و پردازنده برنامه با منابع و دیسک دیتابیس یکی نیستند. محدودیت این روش، تفاوت میان «تبدیل فایل» و «اجرای عین فایل روی سرور خودتان» است. اگر در تنظیمات محلی یک پوشه از خود سرور را مستقیماً داخل کانتینر وصل کردهاید یا برنامه به شبکه میزبان و دسترسی ویژه نیاز دارد، سازگاری را پیش از انتقال بررسی کنید. تبدیل خودکار همچنین به معنی یک صورتحساب ثابت برای هر فایل نیست؛ برنامه، دیسک و دیتابیس میتوانند سهم جداگانهای در هزینه داشته باشند. لیارا؛ وقتی میخواهید از فریمورک شروع کنید در مستندات پلتفرم لیارا برای محیطهایی مثل جنگو، Node.js و Next.js مسیرهای جداگانه وجود دارد. این برای توسعهدهندهای مفید است که یک برنامه وب دارد و ترجیح میدهد راهنمای همان فناوری را دنبال کند. برای برنامهای با محیط اجرای سفارشی هم مسیر Docker در دسترس است. بنابراین اگر پروژه فقط یک برنامه جنگو و یک دیتابیس است، لازم نیست صرفاً برای انتخاب میزبان، معماری تازهای برایش طراحی کنید. مرز این سادگی در پروژههای چندسرویسی مشخص میشود. راهنمای رسمی Compose لیارا تصریح میکند که فایل Compose مستقیماً اجرا نمیشود. روش مستند این است که سرویسها را جدا بسازید و با شبکه خصوصی و متغیرهای محیطی به هم وصل کنید. در مثال نوبتدهی، ساخت و تنظیم پردازش یادآوری یک قدم اضافه است. عوضش در پنل مشخص است هر جزء مستقل از بقیه چطور منتشر میشود. اگر امروز یک فایل دارید که ده جزء را با هم بالا میآورد، زمان این بازچینی را در برآورد مهاجرت حساب کنید. آروانکلاد؛ وقتی تیم میخواهد تعریف استقرار را کنترل کند محصول مرتبط آروان در این مقایسه «کانتینر ابری» است. راهنمای شروع آروانکلاد چهار ورودی معرفی میکند: برنامه آماده، مخزن گیت، ایمیج داکر و مانیفست. مانیفست فایلی است که وضعیت مورد انتظار برنامه را توصیف میکند. اگر تیم فنیتان از قبل چنین فایلهایی را نگهداری و تغییراتشان را بازبینی میکند، ارزش این مسیر در حفظ همان شیوه کار است. برای آزمایش اولیه هم میتوان از برنامه آماده شروع کرد و منابع و برآورد هزینه را قبل از ساخت دید. سمت دیگر این اختیار، تصمیمهای بیشتری است که باید بگیرید. در نمونه رسمی آروان، کاربر هنگام ساخت میان حافظه موقت و فضای ماندگار تمایز میگذارد و منابع برنامه را تعیین میکند. برای تیم مسلط به کانتینر، این سطح کنترل مفید است؛ برای کسی که میخواهد یک نمونه اولیه را نشان مشتری بدهد، احتمالاً جذابترین نقطه شروع همان قالب آماده است. همچنین مانیفست استقرار با فایل Compose یکی نیست؛ وجود مسیر مانیفست بهتنهایی سازگاری فایل محلی شما را ثابت نمیکند. چابکان؛ وقتی میخواهید اجزای سرویس را جدا بسازید یک نقطه قوت چابکان، مثال عملی آن برای برنامهای است که به دیتابیس وابسته است. در راهنمای Docker Compose چابکان، فایل مربوط به Odoo و PostgreSQL را باز میکنید، دیتابیس را میسازید، ایمیج برنامه را انتخاب میکنید و اطلاعات اتصال را به برنامه میدهید. برای کسی که میخواهد بداند داده کجا نگهداری میشود و کدام سرویس را باید عیبیابی کند، این مثال از یک فهرست بلند قابلیتها مفیدتر است. راهنمای استقرار داکر چابکان هم مسیر کار با ایمیج و Dockerfile را توضیح میدهد. هزینه این شفافیت، تنظیم دستی اتصالهاست. در همان مثال، نام میزبان و اطلاعات دیتابیس باید با مقادیر سرویس جدید جایگزین شوند و مسیرهای ماندگار باید در بخش دیسکها تعریف شوند. پس زمان مهاجرت را فقط با مدت بالا آمدن ایمیج نسنجید. پیش از جابهجایی دامنه، یک فایل آزمایشی بارگذاری کنید، نسخه بعدی را منتشر کنید و مطمئن شوید برنامه هنوز فایل را میخواند. کدام پلتفرم ابری ایرانی ارزانتر تمام میشود؟ برای مقایسه، دو اندازه رایج را در نظر گرفتیم: یک نمونه برنامه که تمام ماه روشن میماند. سبد کوچک تقریباً نیم هسته پردازنده، نیم گیگابایت رم و 5 گیگابایت دیسک دارد؛ سبد بزرگتر یک هسته، یک گیگابایت رم و 10 گیگابایت دیسک. جدول، بهای ماهانه یا بسته 30روزه به تومان را در 18 آبان 1405 نشان میدهد. قیمتها مربوط به اجرای خود برنامهاند؛ دیتابیس جدا، بکاپ، ترافیک مازاد، IP اختصاصی و مالیات احتمالی در محاسبه نیامدهاند. سرویسسبد کوچک | تومانسبد بزرگتر | تومانپاستاکلود740٬000؛ Standard + دیسک1٬390٬000؛ Pro + دیسکآروانکلاد762٬660؛ برآورد منابع1٬525٬320؛ برآورد منابعلیارا750٬000؛ زمین1٬300٬000؛ مریخچابکان630٬990؛ پایه1٬014٬714؛ برنز، فقط 0٫75 هسته و 7 گیگابایت دیسک چطور حساب کردیم؟ در پاستاکلود، پلنهای Standard و Pro بهترتیب 590 هزار و یک میلیون و 90 هزار توماناند. برای دیسک استاندارد تهران به نرخ ماهانه 30 هزار تومان بهازای هر GiB، بهترتیب 150 هزار و 300 هزار تومان به قیمت برنامه اضافه کردیم. در لیارا، قیمتهای اعلامی رده پایه برای «زمین» و «مریخ» را برداشتیم که 5 و 10 گیگابایت دیسک SSD در خود پلن دارند. در چابکان قیمت پرداخت 30روزه با فضای همراه پلن ملاک است؛ نرخ ساعتی همان سرویس عدد دیگری میدهد. برای آروانکلاد قیمت یک پلن آماده را نقل نکردهایم. برآورد از جمع نرخ منابع جدول کانتینر ابری بهدست آمده است: 655٬200 تومان برای هر هسته، 510٬120 تومان برای هر گیگابایت رم و 36٬000 تومان برای هر گیگابایت دیسک SSD. مثلاً سبد بزرگتر برابر است با 655٬200 بهعلاوهٔ 510٬120 بهعلاوهٔ 360٬000 تومان. اگر تنظیمات استقرار به حافظه موقت یا IP جداگانه نیاز داشته باشد، باید مبلغ آن را هم در برآورد پنل دید. در سبد کوچک، بهای فهرستشده چابکان از سه برآورد دیگر کمتر است؛ اختلاف پاستاکلود و لیارا در همین اندازه فقط 10 هزار تومان در ماه است. در سبد بزرگتر، پلن برنز چابکان رم مشابه اما پردازنده و دیسک کمتری دارد؛ قیمت پایینتر آن را نمیشود بهای همان سبد دانست. ظرفیتهای GB و GiB و تعریف سهم پردازنده نیز الزاماً یکسان نیستند. تست برنامه با داده واقعی مشخص میکند آیا اختلاف عملکرد یا هزینه پشتیبانگیری، این تفاوت قیمت را برای شما جابهجا میکند. پرسشهای رایج پیش از انتخاب برای پروژهای که با هوش مصنوعی ساختهام و فقط فایل کد را دارم، از کجا شروع کنم؟ اول ببینید خروجی شما چند فایل استاتیک است یا برنامهای که باید روی سرور اجرا شود. برای حالت دوم، اگر پوشه یا ZIP دارید، مسیر انتشار از سورس پاستاکلود را بررسی کنید. اگر پروژه فریمورک شناختهشدهای مثل Next.js دارد، راهنمای همان فریمورک در لیارا هم نقطه شروع خوبی است. ساختن برنامه با هوش مصنوعی، بهخودیخود هزینه مدل برای کاربران سایت ایجاد نمیکند. اگر داخل محصول هم قابلیتی مثل پاسخگویی خودکار دارید، آن وقت به API هوش مصنوعی نیاز دارید. پاستاکلود برای این کار فهرست مدلها با قیمت تومانی دارد؛ هزینه فراخوانی مدل را جدا از هزینه هاست جدول بالا برآورد کنید و کلید را سمت سرور نگه دارید. آیا میتوانم فایل Docker Compose را بدون تغییر به یک PaaS ایرانی بدهم؟ پاستاکلود تحلیل و تبدیل فایل Compose را مستند کرده است، ولی تنظیمات وابسته به میزبان باید بررسی شوند. در لیارا روش مستند ساخت برنامههای مستقل است؛ در چابکان نیز مثال رسمی با جدا کردن وابستگیها پیش میرود. آروان برای ورودیهایی مثل ایمیج و مانیفست راهنما دارد. اگر شرط شما «بدون هیچ تغییر» است، یک نسخه آزمایشی از فایل خودتان را معیار بگیرید؛ نام Docker در فهرست امکانات، پاسخ این سؤال نیست. برای برنامه پرترافیک کدام سرویس سریعتر یا پایدارتر است؟ این مقایسه برنده سرعت ندارد. روی دو گزینه نهایی، یک نسخه از برنامه و یک نسخه آزمایشی از دادهها را با منابع نزدیک به هم اجرا کنید. از داخل شبکهای که کاربران شما به کار میبرند، زمان پاسخ و نرخ خطا را در ساعت عادی و ساعت شلوغ ثبت کنید. فقط صفحه اصلی را امتحان نکنید: برای سامانه نوبتدهی، ثبت نوبت و رسیدن پیام یادآوری مهمتر از سریع باز شدن صفحه ورود است. برای یک سایت وردپرسی هم باید PaaS بخرم؟ اگر قرار است یک فروشگاه ووکامرسی یا یک مجله وردپرسی راه بیندازید، اول هاست وردپرس مدیریتشده را با نیازتان بسنجید. مثلاً در سرویس اکو وردپرس پاستاکلود، مدیریت فایل، دیتابیس و بکاپ برای همین نوع سایت در پنل قرار گرفته است. در این انتخاب، امکان بازیابی پیش از بهروزرسانی افزونه و سقف منابع پلن مهمتر از پشتیبانی از Compose است. اگر کنار فروشگاه یک سرویس اختصاصی برای پردازش سفارشها دارید، میتوانید همان بخش را جدا روی PaaS اجرا کنید. قیمت جدول مربوط به برنامه ابری است و نباید آن را تعرفه وردپرس مدیریتشده حساب کرد. چه زمانی بهجای PaaS باید سرور مجازی بگیرم؟ اگر به تنظیمات سیستمعامل، شبکه میزبان یا دسترسی ویژهای نیاز دارید که پلتفرم انتخابی ارائه نمیکند، سرور مجازی ارزش بررسی دارد. اگر نیاز اصلیتان انتشار یک وباپ و نگهداری دیتابیس است، قبل از پذیرفتن هزینه مدیریت سرور، یک آزمون کوچک انجام دهید: یک نوبت آزمایشی ثبت کنید، نسخه تازه را منتشر کنید و بکاپ را در محیطی جدا برگردانید. پلتفرمی که تیم شما بتواند این سه کار را با زمان و هزینه قابلقبول انجام دهد، برای همین پروژه انتخاب بهتری است.