شبکهسازی در مرکز داده به آسانی انجام محاسبات در آن
عنوان اصلی مقاله: MAKING DATACENTER NETWORKING AS CONSUMABLE AS COMPUTE
تاریخ انتشار و نویسنده: May 24, 2021, Sponsored Content by Nokia
وبسایت منتشر کننده: The Next Platform
لینک اصلی مقاله

شاید این یک کلیشه شده باشد که بگوییم همهگیری کرونا، روش کار ما را برای همیشه تغییر داده است، اما مطمئناً میتوان اذعان نمود که توانسته است کانونهای توجه را به سمت فناوریها، فرآیندها و شیوههایی که به پایان عمر مفید خود نزدیک شدهاند، متمرکز نماید.
این رخداد همچنین نقش اصلی شبکهها، مراکز داده و شبکههای ابری را که با تلنبارشدن کارکنان و دانشجویان حبسشده در خانهها، با تقاضای مضاعفی برای بار ترافیک بر روی بسترهای خود مواجه شدهاند، تقویت کردهاست.
مدیر ارشد مدیریت محصولات نوکیا، بروس والیس (Bruce Wallis) میگوید: «اینکه چگونه شبکه را راهاندازی کنیم، چگونه آن را عیبیابی کنیم، چگونه اطمینان حاصل کنیم قطعیهای آن در حداقل میزان ممکن هستند، همهی این سوالها اهمیت بیشتری پیدا کردهاند؛ چرا که دیگر مثل گذشته روشهای سنگینی مانند ی جابجایی تکنیسینها و کارشناسان و یا جایگزینی یک سوئیچ در زمان کوتاه، در دسترس نیستند.»
او اینگونه اضافه میکند: «به یک معنا، این امر مراکز داده را برای هر ماموریت که داشته باشند، بیش از پیش حیاتی میسازد. چرا که اکنون وقتی اپراتورها با مشکلی روبرو میشوند، با توجه به کاهش توانایی آنها در واکنش سریع به آن رویداد به علت کمبود منابع، تأثیر آن مشکل به مرتبه بزرگتری بیشتر از قبل حس میشود.» منابع اصلی، همان نیروهای آموزشدیدهی در اختیار هستند. با این وجود در چند دههی اخیر نحوهی برخورد صنعت با شبکههای مرکز داده تغییر چندانی نکردهاست. تامینکنندگان سنتیِ زیرساختهای شبکه همچنان به تحمیل سیستمعاملهای مالکانه (Proprietary) و جعبهسیاههای (Black box) خود ادامه میدهند که ممکن است تنها بخشی، اما نه همهی عملکرد داخلی آنها برای مصرفکننده شفاف باشد و این انتخابهای در اختیار مشتریان را برای آنکه از چه ابزارهای مدیریتی استفاده کنند، محدود میسازد.
البته در این رابطه بحثی نیز وجود دارد که میگوید، این رویکرد همراه با حرکت محتاطانهی خود، نشاندهندهی اهمیت موضوع ثبات و پایداری در شبکه است. اما از طرفی دیگر، این موضوع برای سازمانهای جسورتر یا دارای ابتکار عمل در انتخاب پروتکلها و مجموعه ابزارهای متفاوت و یا حتی متمایل به توسعه آنها برای خود، محدودیت ایجاد کردهاست. در بدترین حالت، تلاش برای جایگزینی هر یک از عناصر یک پُشته (Stack) یا بافت (Fabric) مالکانه میتواند منجر به جریمهی آن مشتری توسط فروشندهی آن تجهیز شود. و این انعطافپذیری اپراتورها را در مدیریت گردش کار و فرآیندهای خود محدود میسازد.
این کاملاً در تضاد با آنچه در توسعهی زیرساختهای پردازشی، ذخیرهسازی و نرمافزاری اتفاق افتادهاست، میباشد. چنانچه میبینیم که مجازیسازی، اتوماسیون، استانداردهای باز و DevOps (عملیات توسعه) و CI/CD (ادغام مستمر/تحویل مستمر) گرد هم آمدهاند تا امکان استقرار خویشخدمت (Self-service)، بهبود تابآوری و تحویل سریع را فراهم آورند.
دیگر جعبهی جادویی سیاه وجود ندارد
همانطور که گفته شد، اَبَرمقیاسهایی مانند فیسبوک و ارائهدهندگان بزرگ خدمات ابری، توانستهاند بخش بزرگی از عملیات خود را به صورت خودکار در آورند. این چه معنایی برای دیگران دارد؟ خُب، شما می توانید از نوآوریهای آنها بهرهمند شوید، اما تنها در صورت مهاجرت به بسترهای ابری آنها. زیرا همانطور که والیس توضیح میدهد، آنها هیچ عجلهای برای باز کردن راهحلهای متعلق به خود، به نحوی که بتوانند مورد بهرهبرداری آن دسته از شرکتها یا ارائهدهندگان خدمات که مجبور به اداره مراکز داده متعلق به خود هستند، قرار گیرند، نداشتهاند.
پاسخ نوکیا به این نیاز اینگونه بودهاست که یک سیستم عامل شبکه (NOS) ایجاد نماید که به طور پیشفرض باز است، بخشی با استفاده از Service Router Linux (SR Linux)، که قسمتی از Data Center Switching Fabric نوکیا بوده و نیز Fabric Services System نوکیا را در خود جای دادهاست، و بخشی با استفاده از سکّوهای سختافزاری سوئیچینگ نوکیا.
مشتریان می توانند کل پشتهها را به عنوان یک راه حل کلیددَردست (Turnkey) انتخاب کنند. اما، همانطور که لینوکس به آن معروف است، این بستر به گونهای طراحی شدهاست که باز باشد و به مشتریان این فرصت را میدهد تا برای یک سری عناصر خاص به راهحلهای ثالث مراجعه کنند یا به سادگی راه حل خود را توسعه دهند.
فهم آنچه در نرمافزارهای جریان اصلی اتفاق میافتد کار سختی نیست. اگرچه والیس در استفاده از اصطلاح «ریزخدمات» محتاط است، او می گوید هدف این است که NOS به قسمتهای مدولار تقسیم شود؛ «هر یک از آن قسمتها بلوک عملکردی خود را دارد» که رابطهای کاربری و مدلهای دادهی متعلق به خود را در اختیار میگذارند.
«بنابراین، اگر مدل کاری الزام نماید، جعبه هنوز در نگاه شمال (بالاسر) خود مانند یک دستگاه یکپارچه به نظر رسیده و احساس میشود. نمایش یک گروه از توابع به عنوان عنصر یکتای مدیریتشده، منافع انکار ناپذیری دارد، اما در زیر آن، سرویسهایی که شبکه را میسازند، مانند پروتکلها، Instanceهای شبکه و غیره، مدولار هستند و میتوانند برنامهی خود را به برنامهی کل سیستم که به شمال (بالاسر) آن شناسانده میشود، اضافه کنند». هدف این است که توابع «تا حد امکان مدولار و تجزیهشونده در سطح نرمافزار» باشند.
این امر همچنین این آزادی را به شبکهکارها میدهد تا فرآیندها و روندهای کاری خود را اصلاح کنند؛ به طور بالقوه در ادامهی راه، شبیه الگویی که DevOps برای توسعهدهندگان نرمافزار باز کرده است.
والیس پیشبینی میکند: «ایدهی کلی شکستن چیزها به قسمتهای مدولار و ایجاد تغییر در آنها از طریق CI/CD، از جمله از فاز استقرار به فاز تولید، و استفاده از روشهای استقرار قناری (Canary deployment) یا استقرار پراکنده(Scattered deployment)، و تمام آن چیزهای خوب را به زودی در شبکه نیز شروع به دیدن خواهید کرد.»
اتوماسیون برای شبکهکارها
او اضافه میکند، «البته، محدودیتهایی نیز وجود دارد. در یک دنیای ریزخدماتی، اگر دَه نقطهی پایانی (Endpoint) مختلف داشته باشم، دیگر برایم برخط نبودن دو مورد از آنها مهم نیست. با این حال، اگر به دلیل خاموششدن سوئیچها، رَکهای شما به کل از خط خارج شوند، مثلاً چون در حال ارتقاء یا در حال انجام CI/CD بودهاید و در همان موقع مشکلی پیش آمدهاست، فریادتان بلند خواهد شد.»
او می گوید، با این وجود مهندسان شبکه کاملاً قادر به نوشتن کُدهای پایتون (Python) و تولید برنامههای کاربردیای هستند که میتوانند گردش کار آنها را بهبود بخشند. «آنچه که ما در تلاش هستیم انجام دهیم این است که به افرادی که ایدههای بسیار جالبی در مورد چگونگی اتوماسیون یا کمک به انجام تغییرات در محیط شبکهی خود دارند تا زندگیشان را آسانتر کنند، تمام ابزارهایی که برای این کار نیاز دارند را در اختیار بگذاریم.»
از دیدگاه نوکیا، «ما به جای اینکه 20 نوبت پشتهی مدیریت (Management stack) را برای 20 برنامهی مختلف اجرا کنیم، آن را یک بار پیادهسازی میکنیم و سپس رابطهای برنامهنویسی تمیزی را برای استفاده آن برنامهها از این پشته ارائه میدهیم. بنابراین، پشتهی BGP ما از همان رابطهایی استفاده میکند که برای مدیریت آنها در اختیار مشتری قرار دادهایم. این بدان معناست که مشتری میتواند، اگر بخواهد BGP ما را بردارد و پشتهی مورد نظر خود را در آن قرار دهد.»
به موازات این، نوکیا رویکردی باز برای دورسنجی (Telemetry) برای این سکو (Platform) در پیش گرفته است. «ما یک رابط gNMI (رابط مدیریت شبکه مبتنی بر gRPC) برای همهی برنامههای موجود در سامانه فراهم میکنیم. شما فقط باید مدل دادهی خود را به ما بدهید و خودتان دادهها را در آن مدل داده منتشر کنید، و ما ترتیب تغییرات در دورسنجی را برای شما میدهیم.»
والیس می گوید، دورسنجی برای اتوماسیون شبکههای مرکز داده بسیار اهمیت دارد: «در مدلهای عملیاتی امروز، سطح جزئیات دادههایی که از شبکه استخراج میکنیم به آن اندازه کافی نیست تا این اطمینان را پیدا کنیم که میتوانیم شبکهها را با استفاده از ماشینها هدایت کنیم.»
این بدان معناست که در وضع حاکم موجود، واقعیت همان مدیریت مداوم شبکه توسط یک اپراتور مستقر در یک مرکز عملیات شبکه (NOC) بوده که توسط نمایشگرهای هشدار احاطه شدهاست. آن فرد در واقع «در انتهای آن زنجیرهی آگاهی نشسته و مجبور است برای هر رویداد، یک تصمیم بگیرد.»
با باز کردن قابلیت دورسنجی و دادن آزادی عمل به اپراتورها برای انتخاب ابزار مورد نظر خود، «من فکر میکنم هر جا که مشاهده کنیم، عملیات، بیشتر و بیشتر در جهت شناسایی الگوهای مرتبط با خاموشیهای شبکه حرکت میکند … آنگاه خواهیم دید، از آن خطوط لوله (Pipelines) رفع اشکال، بهرهی لازم بیشتری برده میشود.»
با این کار، شکاف میانِ درک فروشنده از میزان خطای قابل قبول روی یک ارتباط (Link) و تجربهای که اپراتور از وجود مشکل احتمالاً جدیتری در شبکه دارد، بدون نیاز به بررسی دستی هر خطا، از بین خواهد رفت.
والیس می گوید: «اما هیچکدام از این کارها را نمیتوانید انجام دهید، مگر آنکه زیرساختهای اساسی لازم را برای در اختیارگذاردن اطلاعات به شما، داشته باشید. در واقع معنای آن این است که من اطلاعات را با سرعت مورد نیاز خودم برای تصمیمگیری دریافت کنم.»
حداکثر انعطافپذیری
او می گوید: «SR Linux پایه و اساس همهی این موارد است. شما به دورسنجی پرسرعت، به برنامههای افزودنی، به همه چیز به شکل مدولار و نه یکپارچه نیاز دارید. مشتریان به انعطافپذیری نیاز دارند تا آنچه را که میخواهند انتخاب کنند یا نکنند، آنها به توانایی افزودن آنچه میخواهند نیاز دارند.»
او می گوید، مشتریان نوکیا از قبل این اصول را عملی کردهاند. به عنوان مثال، یک مشتری تازهکار، پنج بهینهسازی گردش کار را برای بستر مبتنی بر SR Linux خود ایجاد کرده است.
او توضیح میدهد: «به عنوان یک نمونهی خیلی ساده، آنها یک برنامهی خیلی کوچک دارند که در آنجا قرار گرفته و کنترل دورسنجی برای اطلاع از تغییرات در تنظیمات را در دست دارد. وقتی تغییر اتفاق میافتد، فقط یک Git add و یک Git commit و یک Git push انجام میشود. بنابراین این تنظیمات را از جعبه دریافت نموده و در واقع با استفاده از Git آن را مدیریت میکند.» این برنامه اطلاعات آخرین باری را که با موفقیت تنظیمات را به Git repo راندهاست، منتشر میکند، بدین معنی که تمام این عملکرد میتواند از طریق gNMI راستیآزمایی شود.
« آنها یک برنامهی ساده نوشتهاند که این کار را انجام میدهد. لذا حالا تمام پیکربندی تنظیمات آنها متمرکز شدهاست. همهی اینها جایی در یک Git repo نشسته و با نسخهبندی کنترل میشوند، چراکه Git این امکان را به آنها میدهد.»
این شاید یک پیشرفت جزئی به نظر برسد، اما همانطور که والیس اشاره میکند، اثر تجمیعی آن بسیار زیاد است، به دلیل میزان کار دستیای که به طور بالقوه از میان بر میدارد.
او توضیح میدهد: «ما تصور میکنیم که مراکز داده کوچک هستند، چون بسیار متراکم ساخته شدهاند، یا اگر هم فکر کنیم آنها بزرگ هستند، تصورمان این است که به اندازهی یک شبکه جهانی بزرگ نیستند. اما در واقع مراکز داده از نقطه نظر تعداد نود (Node) به یک ترتیبی حتی از اینترنت جهانی نیز بزرگتر هستند.»
«این یک نوع مقیاس متفاوتی است که معمولاً مردم به آن عادت ندارند. اگر شما یک فرآیند کوچکی بنویسید که تمام کاری که انجام میدهد این باشد که به دنبال یک مسألهی خاص در شبکه بگردد و برخی رفع اشکالها را به صورت خودکار اعمال کند، تا دیگر کسی در اواسط شب با یک تماس تلفنی زابهراه نشود … حالا این سناریو را برای دو هزار عنصری که در شبکه هستند تصور کنید، آنگاه این یک تأثیر بزرگ در حجم کار روزانهی شما خواهد داشت.»
منتشر شده در وبسایتThe Next Platform
برگردان توسط حامد معینفر
در شرکت مهندسین فناور پندار آریا – پنداریا