مقدمه:
یک اپ همانند اپ
تلگرام برای اینکه به دست کاربر نهایی برسد و بر روی گوشی موبایل وی یا روی لپ تاپش اجرا شود باید مسیرهای متعددی را طی کند. در ابتدا، توسعه این اپ باید توسط شخص یا سازمانی درخواست شده باشد که این درخواست باید آنالیز شده و به مدل قابل فهم برای برنامه نویس تبدیل شود. سپس، برنامه نویس کدهای مربوط به آن درخواست را نوشته و در اختیار سیستم عامل قرار می دهد (یا دراختیار دواپس قرار می دهد تا وی آن را بر روی سرور یا سیستم عامل خاص اجرا کند). این ارتباط بین برنامه نویس و اجراکننده اپ روی سرور میتواند از طریق مفهمومی به نام کانتینراسیون برقرار شود.
مراحل اصلی طراحی و اجرای یک اپ با الگوی کانتینراسیون:
۱- تدوین نیازمندیهای اپ توسط آنالیست کسب و کار یا Business Analyst: وظیفه این شخص آنست که آنچه
پاول دوروف به عنوان سرمایه گذار تلگرام در ذهن دارد را استخراج کرده و آنها را به یک مدل قابل کدشدن توسط تیم کدنویسی تبدیل نماید
۲- تیم کدنویسی مدل تدوین شده توسط آنالیست کسب و کار را از طریق یک زبان برنامه نویسی، به کد قابل فهم برای سیستم های عامل (همانند اندروید، iOS، ویندوز و ...) یا کلاودهای عمومی (همانند
AWS) تبدیل میکند
۳- حالا این کدها باید توسط سیستم های عامل یا کلاودهای عمومی دریافت شده و اجرا شوند! یکی از روش هایی که برای اجرای یک اپلیکیشن (همانند اپ تلگرام) بر روی یک کلاود عمومی (همانند AWS) استفاده میشه کانتیراسیون یا Containerization نام دارد. کانتیراسیون در رابطه با اهداف ذیل کمک میکند: ارتقا حمل پذیری اپ (پورتبیلیتی یا Portbility)، ارتقا مقیاس پذیری اپ یا Scalability، سهولت و تسریع در امر تسری یا Deployment (فرض کنید منظور همان اجرا است)، همچنین افزایش ایمنی در اجرای اپ و همچنین بهره وری در ذخیره اطلاعات.
برای فهم دقیق تر در رابطه با کانتینراسیون، ویدیوی جذاب زیر را ملاحظه فرمایید:
۳-۱- یکی از ابزارهایی که برای کانتیراسیون استفاده میشود، داکر یا
Docker است.
۳-۲- وقتی که تعداد زیادی کانتینر مرتبط با یک اپ تولید میشود (برای مثال: فایلهای حاوی کدهای اپ تلگرام - بعنوان یک کانتینر مجزا -، فایلهایی که اطلاعات تلگرام مانند پیامهای کاربران در آن ذخیره میشود - بعنوان یک کانتینر مجزا -، پروتکل های مرتبط با نتورک - بعنوان یک کانتینر مجزا)، این کانتینرها باید گونه ای مدیریت شوند. مدیریت کانتینرهای مختلف یک اپ (یا به اصطلاح ارکستراسیون ارکستِر کانتینرها) توسط پلفترم هایی با نام Container Orchestration انجام میشود. یکی از معروف ترین ارکستراتورها کوبرنتیس یا
kubernetes نام دارد.
این متن، یک ترجمه ساده از یک مطلب انگلیسی روی اینترنت نیست! این متن چکیده ای از مطالعات و تجربیات بنده - مهران شفیعی - در رابطه با مفاهیم مرتبط با دواپس یا DevOps بود.
منابع
کانتینراسیون
Containerization
AWS
Docker
داکر