خانه / اخبار آی تی / توسعه دهندگانی از نت‌فلیکس :‌ بهترین نکته‌ها از زبان زبردست‌ترین مهندسین دنیا

توسعه دهندگانی از نت‌فلیکس :‌ بهترین نکته‌ها از زبان زبردست‌ترین مهندسین دنیا

غول سایت‌های ویدئویی، نت‌فلیکس (Netflix) در یک مقیاس دیوانه‌کننده کار میکند.

نت‌فلیکس در اوج خود، ۳۷ درصد از کل ترافیک اینترنتی ایالات متحده آمریکا را به خود اختصاص میدهد.

کارکرد مبتنی بر ابر (cloud based) نت‌فلیکس با نرخی معادل ابرکامپیوتر Pleiades ناسا، به صورت اتوماتیک مقیاس کارش را کم و زیاد میکند.

نت‌فلیکس ۱۰۰ هزار سرور مجازی EC2 را در فضای ابری عمومی AWS (سرویس وب آمازون) اجرا میکند. صورت حساب AWS مربوط به نت‌فلیکس به تنهایی ۸۰۰ میلیون خط میباشد.(به ازای اجرای ۱۰۰ ها گیگابایت داده در هر ماه)
۸۶ میلیون مشتری نت‌فلیکس در ۱۹۰ کشور روزانه ۱۵۰ میلیون ساعت ویدئو آنلاین تماشا میکنند.

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

آن‌ها ماه گذشته در نشست نوآوری AWS شرکت کردند و تعدای نکته را به اشتراک گذاشتند که در ادامه آن‌ها را آورده‌ایم :

دیتا سنتر نداشته باشید

در آخرین مرحمه از مهاجرت بزرگ به فضای ابری که در سال ۲۰۰۸ شروع شد،‌ نت‌فلیکس آخرین دیتا سنتر خود را کنار گذاشتاین شرکت از آن موقع تبدیل به بزرگترین مصرف‌کننده سرویس فضای ابری AWS شده است.

دیو هان (Dave Hahn)،‌ یکی از مهندسین ارشد نت‌فلیکس،‌ میگوید که با کنار گذاشتن دیتا سنترها نتفلیکس راحت‌تر میتواند روی مواردی تمرکز کند که باعث خدمات‌دهی بهتر به مشتریانش میشود. از جمله انتخاب الگوریتم‌های بهتر،‌ محتوای بهتر و پشتیبانی بهتر که هیچ یک از این‌ها با داشتن دیتا سنترها راحت نبود.

هیچ وقت با فرضیات عمل نکنید

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

او میگوید :  من دوست ندارم این را بگویم ولی ممکن است که یکی از سرورهاتون رو از دست بدیدپس بهتره که خودتون اون رو روشن و خاموش کنید و ببینید که برنامتون چطور رفتار میکنه.

این خصلت موجود در شرکت باعث بوجود آمدن یکی از معروف‌ترین ابزار منبع باز نت‌فلیکس یعنی Chaos Monkey شده استنت‌فلیکس ۲۴ ساعت شبانه‌روز و ۷ روز هفته Chaos Monkey را اجرا میکند. این ابزار به طور تصادفی نمونه‌هایی از سرورهای مجازی AWS را خاموش میکند تا ببیند که آیا برنامه‌ها میتوانند وضعیت را کنترل کنند یا نه.

هان در ادامه میگوید که در طول سه سال عملکرد مداوم و ده‌ها میلیون خاموش و روشن کردن، تنها یک بار مشکل جدی برای شرکت بوجود آمده است.

تیم توسعه‌دهنده اخیراً یک عضو بزرگ‌تر و قابل توجه تر به Chaos اضافه کرده است.

Chaos Kong عملاً همه محدوده‌های آمازون را برای نت‌فلیکس منفجر میکند!! این محصول فقط ماهی یکبار اجرا میشود.

هان میگوید:‌ بعضی اوقات در حالی که شما در حال تماشای نت‌فلیکس هستید، ما یک محدوده را کاملاً خالی کرده ایم.

همکار دیو هان، اندرو گلوور (Andrew Glover) بسته Chaos را ”تعریفِ نپنداشتن قابلیت اعتماد” نامگذاری میکند: ما هیچ وقت فرض نمیکنیم که حتی اگر به قلب سرویسهایمان شلیک شود،‌ آن‌ها باز هم قرار است که به درستی کار کنند. پس ما آن‌ها را همیشه تست میکنیم.

نت فلیکس هم‌اکنون Chaos Automation Platform) ChAP) را به کلکسیونشان اضافه کرده اند.

ChAP با چرخیدن بین کلاسترها و اجرای کدهای جدید، و تغییر مسیر در قسمتهای مختلف ترافیک نت‌فلیکس ارزیابی میکند که ببیند چه اندازه تأخیر روی برنامه‌ها اثر میگذاردسپس میتواند عملکرد کلاستر تعدیل‌شده را با عملکرد آن در واقعیت مقایسه کند.

سرعت بهتر از زمان کار

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

گلوور میگوید :” همه ما در نتفلیکس احتمالاً کاری کرده‌ایم که قسمتی در تولید را خراب کرده است.”

اما فرهنگ جدایی ناپذیر سازمان، قرار دادن سرعت نوآوری در مقابل این ریسک است که شاید اشتباهی پیش آید.

هان در این باره میگوید : “ما هیچ‌گاه مهندسهایمان را به خاطر زمان کار از استقرار و یا امتحان چیزهای جدید منع نمیکنیم.”

نتیجه این کار این می‌شود که نت فلیکس هر روزه تقریباً ۴۰۰ تغییر چشمگیر در محیط تولید و توسعه خود ایجاد میکند.

هان ادامه میدهد که : نتفلیکس در بیزینسی که ما در آن هستم، سرعت را یک مزیت استراتژیکی میداند. ما افراد باهوش را استخدام میکنیم و از آن‌ها انتظار داریم که کارهای هوشمندانه انجام دهند. و سپس از سر راهشان کنار میرویم.

در ادامه با ما باشید تا ببینید نتفلیکس با کدهای ناسالم چه میکند…

همه چیز را اتوماتیک کنید

مهمترین نکته سخنان اندرو گلوور این است که همه چیز را به یک فرایند اتوماتیک تبدیل کنید.

او میگوید که هر موقع که کاری بیش از یک بار انجام شود آن را یک فرصت برای تبدیلش به یک فرایند اتوماتیک ببینید.

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

برای کدهای بد و ناسالم آماده باشید

علی‌رغم همه ابزارها و استانداردهای استفاده شده، تیم نت‌فلیکس بعضی مواقع کدهای ناسالم را توسعه میدهند.این کدها حتی از Automated Canary Analysis) ACA) هم عبور میکند.

ACA آخرین خط دفاعی نت‌فلیکس که مقدار کمی از ترافیک نتفلیکس را همزمان به آخرین ورژن توسعه داده شده نرم‌افزار و ورژنی که قرار است به زودی مستقر شود، انتقال میدهد. اجرایشان را مقایسه میکند و به کد جدید با توجه به عملکردش امتیازی از ۱۰۰ میدهد.

مهندسین دروازه ای را برای پلتفرم استقرار نت‌فلیکس میسازند به اسم Spinnaker – که به صورت اتوماتیک با توجه به امتیاز ACA حد آستانه ای را برای کدها بوجود آورند. Spinnaker یک عمل‌کرد عقبگرد دارد که میتواند نرم‌افزار را فوراً به ورژن قبلی برگرداند تا زمانی که کد جدید از بررسی ها و تست ها عبور کند.

هان میگوید :

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

از اشتباهات درس گرفتن

تقریباً همه دانش و خرد مستقر شده در نت‌فلیکس از نشست‌هایی که با هدف آنالیز شکست‌ها برای اجتناب از جلب توجه بودن تشکیل شده اند، بوجود آمده است.

گلوور میگوید :

ما از این روش استفاده میکنیم و از اشتباهاتمان یاد میگیریم تا در آینده دوباره مرتکب این اشتباهات نشویمخیلی از بهترین کارهای ما از این راه بوجود آمده اند.

منبع

مطلب پیشنهادی

ورایزون به دنبال کاهش قیمت نهایی یاهو می‌باشد

ظاهرا شرکت ارتباطاتی ورایزون (Verizon) که قرار بود یاهو را در آینده‌ ای نزدیک خریداری …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *