عامل ۶: پردازشها (process)
برنامه را به صورت یک یا چند پردازش بدون حالت (stateless processes) اجرا کنید.
برنامهها در محیط اجرا به صورت یک یا چند پردازش اجرا میشود.
در سادهترین حالت، کد برنامه شامل چندین خط است که با یک زبان برنامهنویسی نوشته شد و به تنهایی و بدون نیاز به اجزای خارجی میتواند اجرا شود؛ محیط اجرای برنامه نیز لپتاپ توسعهدهندهای است که محیط اجرای آن زبان روی آن آماده شده است؛ پردازش (Process) هم با نوشتن دستور در خط فرمان(command line) اجرا میشود. به عنوان مثال با نوشتن دستور python my_script.pyُ پایتون برنامهی شما را با ایجاد یک پردازش جدید در کامپیوتر اجرا خواهد کرد. از سوی دیگر، استقرار یک برنامهی پیچیده در محیط عملیاتی ممکن است به چندین نوع پردازش نیاز داشته باشد. توجه داشته باشید که از هریک از انواع میتواند چندین نسخه در حال اجرا وجود داشته باشد .
پردازشهای دوازده عاملی بدون حالت (Stateless) هستند و هیچ چیزی را با دیگران به اشتراک نمیگذارند (Share Nothing). اگر دادهای نیاز به ثبت و نگهداری داشته باشد، باید آن را در یک سرویس کمکی (backing service) که دارای حالت است (stateful) ذخیره کرد. این سرویس کمکی معمولاً یک پایگاه داده (database) است.
توضیح تکمیلی از سایت ردهت (اینجا):
اصل پردازشها که بهتر است آن را پردازشهای بدون حالت (Stateless Processes) نامید، ادعا میکند برنامهی ۱۲ عاملی باید به صورت مجموعهای از پردازشهای بدون حالت اجرا شود. این بدان معناست که هیچ پردازشی خبری از وضعیت پردازشهای دیگر ندارد و به هیچ اطلاعاتی از سایر پردازشها مانند وضعیت نشست (session state) یا وضعیت گردشکار (workflow state) دسترسی ندارد و آنها را دنبال نمیکند.
وجود پردازشهای بدون حالت، مقیاسپذیری (scaling) را آسانتر میکنند. اگر پردازشی بدون حالت باشد میتوان در هر لحظه، تعداد نسخههای در حال اجرای آن را اضافه یا حذف کرد و به کمک آن بار (load) روی سیستم را مدیریت کرد. از آنجایی که هر پردازش مستقل از بقیه کار میکند، بدون حالت بودن کمک میکند تا از وقوع پیامدهای ناخواسته جلوگیری شود.
نوشتههای قبلی:
قسمت ششم: ساخت، انتشار و اجرا
مترجم: حمید آقای خاتمی
گزیده:
هرگز به آینده اجازه نده که مزاحم امروز تو شود. تو با آینده، اگر مجبور باشی، با همان سلاح عقلانیتی که امروز سپر توست رو به رو خواهی شد.
مارکوس آئورلیوس