پلتفرم ابری پاستا، برای استقرار برنامه ها میتواند از موتور پاستا(Paastafile) و موتور داکر(Dockerfile) استفاده کند. در این مقاله به بررسی و نحوه استقرار برنامه با موتور پاستا خواهیم پرداخت.
چگونه برنامه ها در کانتینر اجرا می شوند؟
اجرای برنامه به صورت کانتینر در پلتفرم داکر با استفاده از قالب های از پیش ساخته صورت میگیرد. این قالب ها که Image نام دارند توسط شناسایی فایلی به نام Dockerfile توسط موتور داکر ساخته و آماده ی استفاده می شوند. به طور خلاصه زمانی که قرار است برنامه ای درون کانتینر اجرا شود، مهندسین دوآپس، Dockerfile را نوشته و در کنار سورس برنامه قرار میدهند و موتور داکر نسبت به دستورات نوشته شده در Dockerfile تصویر یا همان Image داکر را می سازد. اما نوشتن کد Dockerfile برای اکثر برنامه نویسان و تیم هایی که مهندس دوآپس ندارند کار بسیار دشواری است چراکه نوشتن این فایل نیازمند آموزش و تسلط به پلتفرم داکر است!
موتور پاستا چیست؟
پلتفرم ابری پاستا برای حذف نیاز به نوشتن Dockerfile، موتوری موسوم به موتور پاستا را پیاده سازی نموده که شما را قادر میسازد بدون نوشتن Dockerfile، برنامه های خود را در محیط کانتینر و زیرساخت های PaaS اجرا نمایید. به طور کلی موتور پاستا، زبان برنامه نویسی برنامه ی شما را شناسایی و Dockerfile مناسب آن را تولید و Image داکر را ایجاد می کند. پس با خیال راحت می توانید بدون نیاز به مهندس دوآپس و یادگیری داکر به دنیای کانتینرها مهاجرت کنید.
توجه: در حال حاضر موتور پاستا برنامه های نوشته شده به زبان Python3 را پشتیبانی می کند.
چطوری از موتور پاستا استفاده کنیم؟
برای شروع کار با موتور پاستا کافیست یک فایل به نام Paastafile در مسیر ریشه سورس برنامه خود قرار دهید. با اضافه کردن این فایل، پلتفرم ابری پاستا متوجه میشود که برای تولید Image برنامه لازم است از موتور پاستا استفاده کند.

شروع برنامه با موتور پاستا…
برنامه های پایتون:
موتور اجرا کننده ی پاستا میتواند برنامه های پایتون را به ۳ روش اجرا کند.
۱- اجرای برنامه وب اپلیکیشن پایتون(Django, Flask, Bottle, web2py, TurboGears):
برای اجرای برنامه های وب اپلیکیشن کافیست در زمان استقرار برنامه محل شروع برنامه را توسط متغیر محیطی APP_MODULE مشخص کنید.
۲- اجرای برنامه با دستور:
برای اجرای برنامه با استفاده از دستور مستقیم در زمان استقرار برنامه، دستور مورد نظرتان را در متغیر محیطی APP_COMMAND مشخص کنید.
۳- استفاده از هوک های پاستا:
برخی برنامه ها برای اجرا شدن نیاز به اجرای چند دستور دارند. به عنوان مثال برنامه ی شما قبل از اجرا نیاز دارد دستورات Migrate دیتابیس را اجرا کند. در این حالت هوک های اجرایی پاستا به شما کمک می کنند.
برای کار با هوک های پاستا در پروژه ی خود یک دایرکتوری به نام paasta ایجاد کنید.
فایل prebuild.sh: دستورات مشخص شده در این فایل قبل از اجرای PaaSta Builder اجرا می شوند. در این فایل می توانید پکیج های مورد نیاز برنامه را نصب کنید(مثلا apt install curl).
فایل build.sh: دستورات مشخص شده در این فایل بعد از بیلد کامل برنامه ی شما اجرا می شوند. در این فایل میتوانید دستورات تست برنامه خود را وارد کنید(مثلا pytest).
فایل prestart.sh: دستورات نوشته شده در این فایل قبل از اجرای برنامه، اجرا می شوند. در این فایل میتوانید دستورات مربوط به مایگریت دیتابیس را بنویسید(مثلا python manage.py migrate).
فایل start.sh: این فایل به شما کمک می کند دستورات اصلی برای اجرای برنامه ی خود را مشخص کنید. از این فایل زمانی استفاده کنید که متغیرهای محیطی APP_MODULE یا APP_COMMAND موارد مورد نیاز شما را برآورده نمی کنند.