بایگانی برچسب برای: network

مصرف‌پذیر کردن شبکه‌ها در مراکز داده به اندازه‌ی منابع محاسباتی

عنوان اصلی مقاله: Making Datacenter Networking as Consumable as Compute
تاریخ انتشار و نویسنده: May 24, 2021, Sponsored Content by Nokia
وب‌سایت منتشر کننده: The Next Platform
 لینک اصلی مقاله

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

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

مدیر ارشد مدیریت محصولات نوکیا، بروس والیس (Bruce Wallis) می‌گوید: «اینکه چگونه یک شبکه را راه‌اندازی کنیم، چگونه آن را عیب‌یابی نماییم، چگونه اطمینان حاصل کنیم قطعی‌ها در آن در حداقل میزان ممکن هستند، همه‌ی این سوال‌ها اهمیت بیشتری پیدا کرده‌اند؛ چرا که دیگر مثل گذشته روش‌های دمِ دستی مانند فراخواندن تکنیسین‌ها و کارشناسان و یا جایگزینی یک سوئیچ در یک زمان کوتاه، در دسترس ما نیستند.»

او اینگونه اضافه می‌کند: «به معنای دیگر، این موضوع مراکز داده را برای هر ماموریتی که دارند، بیش از پیش حیاتی ساخته‌است. چرا که اکنون وقتی بهره‌برداران با مشکلی روبرو می‌شوند، با توجه به کاهش توانایی‌هایشان در واکنش سریع به آن رویداد به علت کمبود منابع، تأثیر آن مشکل به مرتبه‌ی بزرگتری بیشتر از قبل حس می‌شود.» منابع اصلی، همان نیروهای آموزش‌دیده‌ی در اختیار هستند. با این وجود در چند دهه‌ی اخیر نحوه‌ی رویارویی صنعت با شبکه‌ها در مرکز داده تغییر چندانی نکرده‌است. تامین‌کنندگان سنتیِ زیرساخت‌های شبکه همچنان به تحمیل سیستم‌عامل‌‌های مالکانه (Proprietary) و جعبه‌سیاه‌های (Black box) خود ادامه می‌دهند که احتمالاً تنها بخشی و نه همه‌ی عملکرد داخلی آنها برای کاربر شفاف باشد و این انتخاب‌های در اختیار مشتریان را برای آنکه از چه ابزارهای مدیریتی استفاده کنند، محدود می‌سازد.

البته در همین رابطه در مقابل نیز بحثی وجود دارد که می‌گوید، این رویکرد با توجه به خاصیت محتاطانه‌ی خود نشان‌دهنده‌ی اهمیت ثبات و پایداری در شبکه‌ها است. اما از طرفی دیگر، این موضوع برای سازمان‌‌های جسورتر یا دارای ابتکار عمل در انتخاب پروتکل‌‌ها و مجموعه ابزارهای متمایز و یا حتی متمایل به توسعه‌ی ابزارهای جدید برای استفاده‌ی خود، محدودیت ایجاد کرده‌است. در بدترین حالت، تلاش برای جایگزینی هر یک از عناصر یک پُشته (Stack) یا بافت (Fabric) مالکانه می‌تواند منجر به جریمه‌ی آن مشتری توسط فروشنده‌ی آن تجهیز شود. و این انعطاف‌پذیری کاربران را در مدیریت گردش کار و فرایندهای خود محدود می‌سازد.

این کاملاً در تضاد با آنچه در توسعه‌ی زیرساخت‌های پردازشی، ذخیره‌سازی و نرم‌افزاری اتفاق افتاده‌است، می‌باشد. چنانچه می‌بینیم که چگونه مجازی‌سازی (Virtualization)، خودکارسازی (Automation)، استانداردهای باز (Open standards)، عملیات توسعه (DevOps) و ادغام مستمر/تحویل مستمر (CI/CD)، در کنار یکدیگر توانسته‌اند امکان استقرار خویش‌خدمت (Self-service)، بهبود تاب‌آوری و تحویل سریع را در این نوع زیرساخت‌ها فراهم آورند.

دیگر جعبه‌ی جادویی سیاه وجود ندارد

همان‌طور که گفته شد، اَبَرمقیاس‌هایی مانند فیس‌بوک و ارائه‌‌دهندگان بزرگ خدمات ابری، توانسته‌اند بخش بزرگی از عملیات خود را به صورت خودکار در آورند. این چه معنایی برای دیگران دارد؟ خُب، شما می توانید از نوآوری‌های آنها بهره‌مند شوید، اما تنها در صورتی که به بسترهای ابری آنها مهاجرت نمایید. زیرا همانطور که والیس توضیح می‌دهد، آنها هیچ علاقه و عجله‌ای برای «باز کردن» راه‌حل‌های متعلق به خود، به نحوی که شرکت‌‌ها یا ارائه‌دهندگان خدماتی که مجبور به اداره‌ی مراکز داده متعلق به خود هستند، امکان بهره‌گیری از آن ابزارها را پیدا کنند، از خود نشان نداده‌اند.

پاسخ نوکیا به این نیاز اینگونه بوده‌است که یک سیستم عامل شبکه (NOS) توسعه دهد که به طور پیش‌فرض «باز» است، بخشی با استفاده از اِس‌آر لینوکس (Service Router Linux – SR Linux)، که قسمتی از بافت سوئیچینگ مراکز داده (Data Center Switching Fabric) نوکیا بوده و نیز سامانه خدمات بافت (Fabric Services System) نوکیا را در خود جای داده‌است، و بخشی با استفاده از سَکوهای سخت‌افزاری سوئیچینگ (Switching hardware platforms) نوکیا.

مشتریان می توانند تمام پشته‌ها را به عنوان یک راه حل کلیددَردست (Turnkey) انتخاب نمایند. امّا همانطور که لینوکس به آن معروف است، این بستر به گونه‌ای طراحی شده‌است که «باز» باشد و به مشتریان این فرصت را می‌دهد تا برای هر سری از عناصر خاص مورد نظر خود به راه‌حل‌های ثالث مراجعه کنند یا به سادگی راه حل خود را توسعه دهند.

فهم آنچه در نرم‌افزارهای جریان اصلی اتفاق می‌افتد کار سختی نیست. اگرچه والیس در استفاده از اصطلاح «ریزخدمات (Microservices)» محتاط است، او می گوید هدف این است که NOS به قسمت‌های مدولار تقسیم شود؛ «هر یک از آن قسمت‌ها بلوک عملکردی خود را دارد» که رابط‌های کاربری و مدل‌‌های داده‌ی متعلق به خود را در اختیار می‌گذارند.

«بنابراین، اگر یک مدل کاری الزام نماید، تجهیز هنوز در نگاه شمال (بالاسر) خود مانند یک دستگاه یکپارچه به نظر رسیده و احساس می‌شود. نمایش گروهی از توابع به عنوان یک عنصر یکتای مدیریت‌شده منافع انکارناپذیری دارد، اما در زیر آن، سرویس‌‌هایی که شبکه را می‌سازند، همچون پروتکل‌ها، نمونه‌های شبکه (Network Instances) و غیره، مدولار هستند و می‌توانند برنامه‌ی خود را به برنامه‌ی کل سیستم که به شمال (بالاسر) آن شناسانده می‌شود، اضافه کنند». هدف این است که توابع «تا حد امکان مدولار و تجزیه‌شونده در سطح نرم‌افزار» باشند.

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

والیس پیش‌بینی می‌کند: «ایده‌ی کلی شکستن چیزها به قسمت‌های مدولار و ایجاد تغییر در آنها از طریق CI/CD، از جمله از فاز استقرار به فاز تولید، و استفاده از روش‌های استقرار قناری (Canary deployment) یا استقرار پراکنده (Scattered deployment)، و تمام آن مفاهیم خوب را به زودی در شبکه‌ها نیز مشاهده خواهید کرد.»

خودکارسازی برای شبکه‌کارها

او اضافه می‌کند، «البته، محدودیت‌هایی نیز وجود دارد. در یک دنیای ریزخدماتی، اگر دَه نقطه‌ی پایانی (Endpoint) مختلف داشته باشیم، دیگر برایمان برخط نبودن دو مورد از آنها مهم نیست. با این حال، اگر به دلیل خاموش‌شدن سوئیچ‌ها، رَک‌های شما به کل از مدار سرویس‌دهی خارج شوند، مثلاً چون در حال ارتقاء یا در حال انجام CI/CD بوده‌اید و در همان موقع مشکلی پیش آمده‌است، فریادتان بلند خواهد شد.»

او می گوید، با این وجود مهندسان شبکه کاملاً قادر به نوشتن کُدهای پایتون (Python) و تولید برنامه‌‌های کاربردی‌ای هستند که می‌توانند گردش کار آنها را بهبود بخشند. «آنچه که ما در تلاش هستیم انجام دهیم این است که به افرادی که ایده‌‌های بسیار جالبی در مورد چگونگی یا کمک به انجام خودکارسازی تغییرات در محیط‌های شبکه‌ی خود دارند تا زندگی راحت‌تری داشته باشند، تمام ابزارهایی که برای انجام این کار نیاز دارند، در اختیارآنها بگذاریم.»

از دیدگاه نوکیا، «ما به جای اینکه ۲۰ نوبت پشته‌ی مدیریت (Management stack) را برای ۲۰ برنامه‌ی مختلف اجرا کنیم، آن را یک بار پیاده‌سازی می‌کنیم و سپس رابط‌های برنامه‌نویسی تمیزی را برای استفاده آن برنامه‌ها از این پشته ارائه می‌دهیم. بنابراین، پشته‌ی BGP ما از همان رابط‌هایی استفاده می‌کند که برای مدیریت آنها در اختیار مشتری قرار داده‌ایم. این بدان معناست که مشتری می‌تواند، اگر بخواهد BGP ما را بردارد و پشته‌ی مورد نظر خود را در آن قرار دهد.»

به موازات، نوکیا رویکردی «باز» برای قابلیت دورسنجی (Telemetry) دراین سَکو (Platform) نیز در پیش گرفته است. «ما یک رابط gNMI (رابط مدیریت شبکه مبتنی بر gRPC) را برای همه‌ی برنامه‌‌های موجود در سامانه فراهم می‌کنیم. شما فقط باید مدل داده‌ی خود را به ما بدهید و خودتان داده‌ها را در آن مدلِ داده منتشر کنید، و ما ترتیب اعمال تغییرات در بستر دورسنجی را برای شما می‌دهیم.»

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

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

با «باز کردن» قابلیت دورسنجی و دادن آزادی عمل به بهره‌برداران برای انتخاب ابزارهای مورد نظر خود، «من فکر می‌کنم هر جا که مشاهده کنیم، عملیات شبکه، بیشتر و بیشتر در جهت شناسایی الگوهای مرتبط با خرابی‌های شبکه حرکت می‌کند … آنگاه نیز خواهیم دید، از آن خطوط لوله (Pipelines) رفع اشکال، بهره‌ی لازم بیشتری برده می‌شود.»

با این کار، شکاف میانِ درک فروشنده از میزان خطای قابل قبول روی یک خط ارتباطی (Link) و تجربه‌ای که کاربر از وجود مشکلات احتمالاً جدی‌تر در شبکه دارد، از بین خواهد رفت؛ بدون آنکه نیاز به بررسی دستی تمام خطاها وجود داشته باشد.

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

حداکثر انعطاف‌پذیری

او می گوید: «اِس‌آر لینوکس پایه و اساس همه‌ی این قابلیت‌ها است. شما به دورسنجی با سرعت بالا، به برنامه‌‌های افزودنی، به همه چیز به شکل مدولار و نه یکپارچه نیاز دارید. مشتریان به انعطاف‌پذیری نیاز دارند تا آنچه را که می‌خواهند انتخاب کنند یا نکنند، آنها به توانایی افزودن آنچه می‌خواهند نیاز دارند.»

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

او توضیح می‌دهد: «به عنوان یک نمونه‌ی خیلی ساده، این مشتری یک برنامه‌ی خیلی کوچک دارد که در آنجا قرار گرفته و کنترل دورسنجی برای اطلاع از تغییرات در تنظیمات را در دست دارد. وقتی تغییری اتفاق می‌افتد، فقط یک Git add و یک Git commit و یک Git push انجام می‌شود. بنابراین تنظیمات را از دستگاه‌ها دریافت نموده و در واقع با استفاده از Git آنها را مدیریت می‌کند.» این برنامه اطلاعات آخرین باری را که با موفقیت تنظیمات را به Git repo رانده‌است منتشر می‌کند، بدین معنا که تمام این عملکرد می‌تواند از طریق gNMI راستی‌آزمایی شود.

« آنها یک برنامه‌‌ی ساده نوشته‌اند که این کار را انجام می‌دهد. لذا حالا تمام پیکربندی تنظیمات آنها متمرکز شده‌است. همه‌ی این‌ها جایی در یک Git repo نشسته و با نسخه‌بندی کنترل می‌شوند، چراکه Git این امکان را به آنها می‌دهد.»

این شاید یک پیشرفت جزئی به نظر برسد، اما همانطور که والیس اشاره می‌کند، اثر تجمیعی آن بسیار زیاد است؛ به دلیل میزان کار دستی‌ای که به طور بالقوه از میان بر می‌دارد.

او توضیح می‌دهد: «ما تصوّر می‌کنیم که مراکز داده کوچک هستند، چون بسیار متراکم ساخته می‌شوند، یا اگر هم فکر کنیم آنها بزرگ هستند، تصورمان این نیست که به اندازه‌‌ی شبکه‌ی جهانی بزرگ باشند. اما در واقعیت، مراکز داده از نقطه نظر تعداد نود (Node) شبکه به یک ترتیبی حتی از اینترنت جهانی نیز بزرگتر هستند.»

«این یک نوع مقیاس متفاوتی است که معمولاً مردم به آن عادت ندارند. اگر شما یک فرایند کوچکی بنویسید که تمام آن کاری که انجام می‌دهد این باشد که به دنبال یک مسأله‌ی خاص در شبکه بگردد و برخی رفع اشکال‌ها را به صورت خودکار اعمال نماید، تا شاید دیگر کسی در اواسط شب با یک تماس تلفنی زابه‌راه نشود … حالا این سناریو را برای دو هزار عنصری که در یک شبکه وجود دارند تصور کنید، آنگاه این یک تأثیر بزرگ در حجم کار روزانه‌ی شما خواهد داشت.»

منتشر شده در وب‌سایت The Next Platform
۲۴ مه ۲۰۲۱ – محتوای حمیات‌شده از سوی نوکیا
برگردان توسط حامد معین‌فر
در شرکت مهندسین فناور پندار آریا – پنداریا