آتنا: ایجنت هوش مصنوعی که دیپلوی میکنه
خلاصهٔ کاملتر
نویسنده میگه دیپلوی کردن همیشه ترسناکه چون همون لحظهایه که چیزی میشکنه، ولی دیپلوی نکردن ترسناکتره چون هر بار صبر کنی، دیپلوی بعدی بزرگتر میشه. جواب درست continuous deployment ـه، یعنی ریلیز خودکار و مداوم بهجای دیپلویهای بزرگ و کمتعداد؛ ولی رسیدن بهش یعنی باید canary و wave (ریلیز تدریجی رو چند سرور برای تست) و یه سیستم تشخیص خودکار خطا بسازی. ساختن canary و wave سخت نیست؛ سختترین بخش تشخیص خودکاره، چون حالتهای خرابی تقریبا بینهایتن و جا انداختن یکیشون کافیه کل دیپلوی رو بترکونه.
به گفتهی نویسنده، همین سختی باعث میشه خیلی از تیمها CD رو عقب بندازن، آدمها مجبور بشن دستی مراقب دیپلویها باشن، و ریلیزها کم و بزرگ بمونن؛ یه چرخهی معیوب از استرس و ناکارآمدی. اما این نوع مسئله - دادهی زیاد، حالتهای متنوع و نامحدود، ولی تعداد اجراهای کم (چندتا در روز، نه صدها درخواست در ثانیه) - دقیقا شکل مسئلهایه که بهجای کد نوشتن، بدیش به یه ایجنت هوش مصنوعی بسپاری.
تو exe این نقش رو یه بات به اسم آتنا برعهده داره. آتنا تو یه سیستم داخلی به اسم exe-ops کار میکنه که در واقع مرکز فرمان دیپلویهای اوناست؛ بهجای مهاجرت به ابزارهایی مثل Spinnaker، از اسکریپتهای شل شروع کردن و رفتهرفته اون رو تبدیل به همون چیزی کردن که میخواستن.
آتنا به گیت، متریکها و لاگها دسترسی خوندن داره و تو هر مرحله از دیپلوی تصمیم میگیره ادامه بدن یا نه و کدوم ماشینها تو موج بعدی باشن. اگه لازم بشه میتونه یه دیپلوی رو متوقف کنه، شروعش نکنه، یا اگه چیزی رو مطمئن نیست کار رو به یه آدم اسکیلیت کنه؛ همهی اینها هم از طریق پیامهای اسلک اطلاعرسانی میشه.
نویسنده میگه آتنا خیلی دقیق کار میکنه: دیفهای کد رو میخونه، لاگها رو تحلیل میکنه، دنبال مشکلهای پیشبینینشده میگرده و گزارش میده اجراهای بعدی چطور روونتر بشن. به گفتهی خودش شاید تو تئوری بتونه بهتر از آتنا کار کنه، ولی سوال اصلی اینه که «تو عمل واقعا بهتر عمل میکنم؟» و چون همه سرشون شلوغه، آتنا عملا بهتر از خودش این نقش رو انجام میده و باعث میشه با دیپلویهای بیشتر، دخالتهای انسانی کمیابتر و کوچیکتر بشن.
نکات کلیدی:
- آتنا به گیت، متریکها و لاگهای exe دسترسی خوندن داره و در هر مرحله از دیپلوی تصمیم میگیره
- میتونه دیپلوی رو متوقف کنه، شروعش نکنه، یا کار رو به یه انسان اسکیلیت کنه
- ارتباط با تیم فقط از طریق پیامهای اسلک انجام میشه
- سیستم داخلی exe-ops بهجای مهاجرت به ابزاری مثل Spinnaker، از اسکریپت شل رشد کرده




