در این مقاله می خواهم در مورد اینکه چگونه رویکرد ارکستراسیون را در پروژه استارتاپی خود تغییر دادیم، چرا این کار را انجام دادیم و چه مشکلاتی را در این راه حل کردیم صحبت کنم. این مقاله به سختی می تواند ادعا کند که منحصر به فرد است، اما من هنوز فکر می کنم که می تواند برای کسی مفید باشد، زیرا در روند حل مشکل، ما مطالب را با تلاش مناسبی جمع آوری کردیم.
چه داشتیم و در مورد چه چیزی صحبت می کردیم؟ و یک پروژه استارتاپی با حدود 2 سال سابقه توسعه از حوزه تبلیغات داشتیم. این پروژه در ابتدا به عنوان یک میکروسرویس ساخته شد و قسمت سرور آن با Symfony + کمی لاراول، جنگو و NodeJ های بومی نوشته شد. این خدمات عمدتاً یک API برای مشتریان تلفن همراه (3 مورد از آنها در پروژه وجود دارد) و SDK خود ما برای IOS (در برنامه های مشتریان ما تعبیه شده است) و همچنین رابط های وب و داشبوردهای مختلف همین مشتریان هستند. همه سرویسها در ابتدا dockerized شدند و تحت docker-compose اجرا شدند.
درست است که docker-compose در همه جا استفاده نشد، بلکه فقط در محیط محلی توسعهدهندگان، در آزمایش، مورد استفاده قرار گرفت. سرور و در حین ساخت و آزمایش سرویسها در خط تولید. در محیط عملیاتی، ما از موتور گوگل کوبرنتیز (GKE) استفاده کردیم. علاوه بر این، ما GKE را در ابتدای پروژه کاملاً از طریق رابط وب آن پیکربندی کردیم، که بسیار سریع و همانطور که در آن زمان فکر میکردیم، راحت بود. تنها فرآیند خودکار، ساخت تصاویر داکر برای راهاندازی سرویسها در GKE بود.
