چگونه شیفت وظیفه Yandex را تخلیه کردیم

چگونه شیفت وظیفه Yandex را تخلیه کردیم

وقتی کار در یک لپ‌تاپ جای می‌گیرد و می‌تواند به‌طور مستقل از افراد دیگر انجام شود، هیچ مشکلی برای جابه‌جایی به یک مکان دور وجود ندارد - فقط صبح‌ها در خانه بمانید. اما همه اینقدر خوش شانس نیستند.

شیفت حین تماس یک تیم از متخصصان در دسترس بودن خدمات (SREs) است. این شامل مدیران وظیفه، توسعه دهندگان، مدیران و همچنین یک "داشبورد" مشترک از 26 پنل LCD 55 اینچی است. ثبات خدمات شرکت و سرعت حل مشکل به کار شیفت وظیفه بستگی دارد.

امروز دیمیتری ملیکوف tal10n، مدیر شیفت کشیک در مورد اینکه چگونه در عرض چند روز توانستند تجهیزات را به خانه خود منتقل کنند و فرآیندهای کاری جدید را ایجاد کنند صحبت می کند. من زمین را به او می دهم.

- وقتی ذخیره بی پایانی از زمان دارید، می توانید به راحتی با هر چیزی به هر کجا بروید. اما گسترش سریع ویروس کرونا ما را در شرایط کاملاً متفاوتی قرار داده است. کارمندان Yandex جزو اولین کسانی بودند که حتی قبل از معرفی رژیم خود انزوا به کار از راه دور روی آوردند. اینجوری شد روز پنجشنبه 12 مارس از من خواسته شد که امکان انتقال کار تیم به خانه را ارزیابی کنم. در روز جمعه سیزدهم، توصیه ای برای تغییر به کار از راه دور ظاهر شد. شب سه شنبه 13 مارس، همه چیز را آماده کرده بودیم: افراد کشیک از خانه کار می کردند، تجهیزات منتقل شدند، نرم افزار گم شده نوشته شد، فرآیندها دوباره پیکربندی شدند. و اکنون به شما می گویم که چگونه آن را از بین بردیم. اما ابتدا باید وظایفی را که شیفت وظیفه حل می کند را به خاطر بسپارید.

ما که هستیم

Yandex یک شرکت بزرگ با صدها خدمات است. ثبات جستجو، دستیار صوتی و همه محصولات دیگر تنها به توسعه دهندگان بستگی ندارد. منبع تغذیه در مرکز داده ممکن است مختل شود. یک کارگر ممکن است هنگام تعویض آسفالت به طور تصادفی به کابل نوری آسیب برساند. یا ممکن است افزایشی در فعالیت کاربر وجود داشته باشد که باعث نیاز فوری به تخصیص مجدد ظرفیت شود. علاوه بر این، همه ما در زیرساخت های بزرگ و پیچیده زندگی می کنیم و انتشار یک محصول ممکن است به طور تصادفی منجر به تخریب محصول دیگر شود.

26 پنل در فضای باز ما یک و نیم هزار هشدار و بیش از صد نمودار و پنل از خدمات ما است. در اصل، این یک پانل تشخیصی بزرگ است. یک مدیر باتجربه در وظیفه می تواند با نگاه کردن به آن به سرعت وضعیت اجزای مهم را درک کند و می تواند جهت بررسی یک مشکل تکنولوژیکی را تعیین کند. این بدان معنا نیست که شخص باید دائماً به همه دستگاه ها نگاه کند: خود اتوماسیون با ارسال یک اعلان به رابط ویژه افسر وظیفه جلب توجه می کند، اما بدون پنل بصری، حل مشکل ممکن است زمان زیادی طول بکشد.

وقتی مشکلاتی پیش می آید، افسر وظیفه ابتدا اولویت آنها را ارزیابی می کند. سپس مشکل را جدا می کند یا تأثیر آن را بر کاربران به حداقل می رساند.

چندین راه استاندارد برای جداسازی مشکل وجود دارد. یکی از آنها کاهش خدمات است، زمانی که مدیر وظیفه برخی از عملکردهایی را که کاربران کمتر متوجه آن می شوند غیرفعال می کند. این به شما امکان می دهد تا به طور موقت بار را کاهش دهید و بفهمید چه اتفاقی افتاده است. در صورت بروز مشکل در مرکز داده، افسر وظیفه با تیم عملیات تماس می گیرد، مشکل را درک می کند، زمان حل آن را نظارت می کند و در صورت لزوم تیم های تخصصی را درگیر می کند.

هنگامی که مدیر وظیفه نتواند مشکلی را که به دلیل انتشار ایجاد شده است جدا کند، آن را به تیم خدمات گزارش می دهد - و توسعه دهندگان به دنبال خطا در کد جدید می گردند. اگر آن‌ها نتوانند آن را بفهمند، مدیر توسعه‌دهندگان را از دیگر مهندسان محصولات یا خدمات در دسترس جذب می‌کند.

من می توانم برای مدت طولانی در مورد اینکه همه چیز اینجا چگونه کار می کند صحبت کنم، اما فکر می کنم قبلاً ماهیت را منتقل کرده ام. شیفت وظیفه هماهنگی کار همه خدمات و نظارت بر مشکلات جهانی است. برای مدیر وظیفه مهم است که تابلوی تشخیص را جلوی چشمان خود داشته باشد. به همین دلیل است که وقتی به کار از راه دور می روید، نمی توانید به همه یک لپ تاپ بدهید. نمودارها و هشدارها روی صفحه نمایش قرار نمی گیرند. چه باید کرد؟

فکر

در دفتر، هر ده مدیر وظیفه به صورت شیفتی پشت یک داشبورد کار می کنند که شامل 26 مانیتور، دو کامپیوتر، چهار کارت گرافیک NVIDIA Quadro NVS 810، دو منبع تغذیه بدون وقفه روی رک و چندین دسترسی شبکه مستقل است. ما باید اطمینان حاصل کنیم که همه فرصت کار در خانه را داشته باشند. به سادگی امکان مونتاژ چنین دیواری در یک آپارتمان وجود ندارد (همسر من از این موضوع خوشحال خواهد شد)، بنابراین تصمیم گرفتیم یک نسخه قابل حمل ایجاد کنیم که می تواند در خانه آورده و مونتاژ شود.

ما شروع به آزمایش با پیکربندی کردیم. ما نیاز داشتیم همه دستگاه ها را روی نمایشگرهای کمتری قرار دهیم، بنابراین نیاز اصلی مانیتور تراکم پیکسلی بالا بود. از میان مانیتورهای 4K موجود در محیط ما، Lenovo P27u-10 را برای آزمایش انتخاب کردیم.

ما از لپ تاپ ها یک مک بوک پرو 16 اینچی گرفتیم. دارای یک زیرسیستم گرافیکی نسبتاً قدرتمند است که برای رندر کردن تصاویر روی چندین نمایشگر 4K ضروری است و چهار کانکتور جهانی Type-C دارد. ممکن است بپرسید: چرا دسکتاپ نیست؟ تعویض لپ‌تاپ با لپ‌تاپ دقیقاً مشابه آن از انبار بسیار ساده‌تر و سریع‌تر از مونتاژ و پیکربندی یک واحد سیستمی مشابه است. و وزن آن کمتر است.

اکنون باید بفهمیم که واقعاً چند مانیتور می توانیم به لپ تاپ متصل کنیم. و مشکل در اینجا تعداد کانکتورها نیست، ما فقط با آزمایش سیستم مونتاژ شده توانستیم به این موضوع پی ببریم.

چگونه شیفت وظیفه Yandex را تخلیه کردیم

آزمایش

ما کاملاً راحت همه نمودارها و هشدارها را روی چهار مانیتور قرار دادیم و حتی آنها را به یک لپ تاپ متصل کردیم، اما با مشکل مواجه شدیم. رندر کردن پیکسل‌های 4x4K در مانیتورهای متصل چنان فشاری به کارت گرافیک وارد می‌کند که حتی در هنگام شارژ کردن لپ‌تاپ تخلیه می‌شود. خوشبختانه، مشکل با کمک Lenovo ThinkPad Thunderbolt 3 Dock Gen 2 حل شد. من توانستم یک مانیتور، منبع تغذیه و حتی ماوس و صفحه کلید مورد علاقه خود را به ایستگاه اتصال وصل کنم.

اما یک مشکل دیگر بلافاصله ظاهر شد: GPU به قدری فشرده می‌شد که لپ‌تاپ بیش از حد گرم می‌شد، به این معنی که باتری نیز بیش از حد گرم می‌شد، که در نتیجه به حالت محافظ رفت و شارژ را نمی‌پذیرفت. به طور کلی، این یک حالت بسیار مفید است که در برابر موقعیت های خطرناک محافظت می کند. در برخی موارد، مشکل با کمک یک دستگاه با تکنولوژی بالا حل شد - یک خودکار توپی که در زیر لپ تاپ برای بهبود تهویه قرار داده شد. اما این به همه کمک نکرد، بنابراین سرعت فن استاندارد را نیز افزایش دادیم.

یک ویژگی ناخوشایند دیگر وجود داشت. همه نمودارها و هشدارها باید در مکانی کاملاً مشخص قرار گیرند. تصور کنید که در حال هدایت یک هواپیما برای فرود هستید - و سپس نشانگرهای سرعت، ارتفاع سنج ها، واریومترها، نشانگرهای نگرش، قطب نماها و نشانگرهای موقعیت شروع به تغییر اندازه کرده و به مکان های مختلف می پرند. بنابراین تصمیم گرفتیم برنامه ای بسازیم که به این امر کمک کند. در یک شب ما آن را در Electron.js نوشتیم و یک نسخه آماده دریافت کردیم API در ایجاد و مدیریت ویندوز ما یک پردازنده پیکربندی و به روز رسانی دوره ای آنها و همچنین پشتیبانی از تعداد محدودی مانیتور را اضافه کردیم. کمی بعد آنها پشتیبانی از تنظیمات مختلف را اضافه کردند.

مونتاژ و تحویل

تا روز دوشنبه، جادوگران از میز کمک 40 مانیتور، ده لپ تاپ و همین تعداد ایستگاه داک برای ما تهیه کردند. نمی‌دانم چگونه آن را مدیریت کردند، اما از آنها بسیار سپاسگزارم.

چگونه شیفت وظیفه Yandex را تخلیه کردیم

تنها چیزی که باقی مانده بود تحویل دادن آن به آپارتمان های مدیران کشیک بود. و این ده آدرس در مناطق مختلف مسکو است: جنوب، شرق، مرکز، و همچنین بالاشیخا، که 45 کیلومتر با دفتر فاصله دارد (به هر حال، بعداً یک کارآموز از سرپوخوف اضافه شد). لازم بود به نحوی همه اینها بین مردم توزیع شود تا لجستیک ایجاد شود.

من تمام آدرس ها را در نقشه های خود وارد کردم، هنوز فرصتی برای بهینه سازی مسیر بین نقاط مختلف وجود دارد (من از نسخه بتای رایگان ابزار برای پیک ها استفاده کردم). ما تیم خود را به چهار تیم دو نفره مستقل تقسیم کردیم که هر کدام مسیر خود را دارند. ماشین من جادارترین بود، بنابراین به طور همزمان برای چهار کارمند تجهیزات گرفتم.

چگونه شیفت وظیفه Yandex را تخلیه کردیم

کل تحویل سه ساعت طول کشید. دوشنبه عصر ساعت ده دفتر را ترک کردیم. ساعت یک بامداد از قبل در خانه بودم. همان شب با وسایل نو به خدمت رفتیم.

که منجر به

به جای یک کنسول بزرگ تشخیصی، ده کنسول نسبتاً قابل حمل را در آپارتمان هر فرد مونتاژ کردیم. البته هنوز جزئیاتی برای حل کردن وجود داشت. به عنوان مثال، ما قبلاً یک تلفن آهنی برای افسر وظیفه برای اطلاع رسانی داشتیم. این در شرایط جدید کار نمی کرد، بنابراین ما با "تلفن های مجازی" برای افسران وظیفه (در اصل، کانال های موجود در پیام رسان) آمدیم. تغییرات دیگری نیز وجود داشت. اما نکته اصلی این است که ما در مدت زمان بی سابقه ای موفق شدیم نه تنها افراد را انتقال دهیم و خطر عفونت آنها را کاهش دهیم، بلکه تمام کارهای خود را بدون آسیب به فرآیندها و ثبات محصول به خانه منتقل کنیم. الان یک ماه است که در این حالت کار می کنیم.

در زیر عکس هایی از محل کار واقعی افسران وظیفه ما را مشاهده می کنید.

چگونه شیفت وظیفه Yandex را تخلیه کردیم

چگونه شیفت وظیفه Yandex را تخلیه کردیم

چگونه شیفت وظیفه Yandex را تخلیه کردیم

چگونه شیفت وظیفه Yandex را تخلیه کردیم

چگونه شیفت وظیفه Yandex را تخلیه کردیم

منبع: www.habr.com