WFP

کمک کنید تا به گرسنگی کودکان پایان دهیم

Friday, December 2, 2016

Azure Cloud Switch

در سپتامبر 2015 مایکروسافت محصول جدید خود را در Azure به نام Azure Cloud Switch معرفی کرده است. با اینکه محصولات زیادی روزانه به سبد Azure اضافه می شوند اما خبر منتشر شدن Azure Cloud Switch یا به اختصار ACS بازتاب زیادی داشت و بحث داغ این روزهای محافل آی تی است. اما علت اینکه این محصول در صدر خبرهای این روزها قرار گرفته است ، نه فناوری یا نوآوری آن ، بلکه استفاده مایکروسافت از هسته لینوکس برای این سوئیچ است. زیرا که همان طور که می دانید ، رقابت بین مایکروسافت و لینوکس مدت هاست که ادامه دارد. هدف این مقاله نه پرداختن به این رقابت ، بلکه بررسی نوآوری ها و توضیح چگونگی کارکرد این محصول  است و در آخر این که بدانیم این محصول اساسا چیست ؟!
قبل از هر چیز Azure Cloud Switch یک سیستم عامل Cross-platform است.  Cross-platform برای سیستم عامل به این معناست که بر روی معماری های مختلف سخت افزاری می تواند قابل اجرا باشد. این سیستم عامل با محصولات سازندگان مختلف سوئیچ و روتر سازگار است. همچنین ACS با محصولات پیشین مایکروسافت مثل System Center Operations Manager نیز کار می کند. این محصول حتی همراه ایزارهای GUI ای ارائه شده است که برای مدیریت آسان منابع شبکه در  Systems management suite  مایکروسافت مجتمع شده اند.
Azure Cloud Switch تلاش مایکروسافت است برای ساخت نرم افزار خودشان که بتوانند سخت افزارهای شبکه ای ( مانند سوئیچ ) را به صورت نرم افزاری راه اندازی نمایند. ACS اجازه می دهد که Debug ، Fix و تست ها در دیتاسنتر سریع تر صورت پذیرد.
قبل تر گفتیم که این سیستم عامل با محصولات مختلف سازندگان سوئیچ و روتر سازگار است. به این معنا که به ما اجازه می دهد همان Software Stack را بین چندین سازنده سوئیچ به اشتراک بگذاریم. Software Stack گروهی از برنامه هاست که برای رسیدن به هدف خاصی به دنبال هم اجرا می شوند. این کار توسط ویژگی Switch Abstraction Interface یا SAI صورت می پذیرد. SAI اولین API زبان برنامه نویسی C تحت open-standard  است که به تایید Open Compute Project رسیده است و از طریق آن می توان سوئیچینگ شبکه را در ASIC برنامه نویسی نمود. ASIC مخفف Application-Specific Integrated Circuits می باشد ، تراشه ای ( IC ) که برای کم کردن بار پردازش های سویچینگ از روی CPU و در نتیجه بالا رفتن کارایی ساخته شد. اگر سوئیچ های سیسکو را باز کنید این تراشه را بر روی برد خواهید دید. 


Azure Cloud Switch تلاش دارد که یک محیط کانفیگ و مدیریت ساده تر را از طریق ادغام در سیستم مانیتورینگ و Diagnostic خود مایکروسافت ایجاد نماید. در واقع با منحرف شدن از مدل تعاملی خط فرمان یا Command Line ای که در شبکه های سنتی وجود دارد قرار است که سوئیچ های دیتاسنتر مانند سرور های مایکروسافتی مدیریت شوند و حتی به راحتی می توان آپدیت های نرم افزاری یا حتی Downgrade ها را به صورت گروهی و یکپارچه مانند ویندوز های سرور بر روی آن   پیاده سازی نمود.
با توجه به توضیحاتی که داده شد تا حدودی با نحوه عملکرد این محصول آشنا شدید. اما بیایید نگاهی دقیق تر بیاندازیم و بفهمیم اهمیت ACS برای مایکروسافت چیست و Azure Cloud Switch چه کاری را برای ما انجام می دهد. قبل از هر چیز توضیح مختصری خواهیم داشت بر مفهوم SDN و سرویس Azure مایکروسافت.
امروزه به دلیل هزینه های بالای نگه داری تجهیزات آی تی در داخل سازمان ها دیتاسنترهایی ساخته شده اند که هر سازمان می تواند به جای خریداری و نگه داری سرورها ، تجهیزات ذخیره سازی و ... در سازمان خودش آن ها را شرکت های صاحب این دیتاسنترها اجاره نماید. مایکروسافت یکی از پیشتازان این صنعت است. این شرکت با ساخت دیتاسنترهای عظیم محیطی را فراهم نموده است که شما می توانید از طریق پلت فرم Azure منابع مورد نیاز سازمان خود را خریداری نمایید و نگه  داری آن را به مایکروسافت بسپارید. در این مدل شما تنها هزینه خدماتی را که استفاده می کنید پرداخت خواهید کرد. حال ، جهت اجرا زیرساخت چنین سرویس هایی ، مایکروسافت و دیگر شرکت های ارائه دهنده این خدمات مانند آمازون نیاز دارند که بر چالش های شبکه های سنتی پیروز شوند. مثلا نیاز هست که شبکه سازمان های مختلف که منابع آن ها در یک دیتاسنتر یا حتی گاهی بر روی یک هاست وجود دارد از یکدیگر به صورت مجازی جدا شوند. به دلیل وجود چنین مشکلاتی SDN  و NFV یا Software Defined Networks و Network Function Virtualization به وجود آمدند.
از آن جایی که در دیتاسنترها تجهیزاتی از Vendor های متفاوتی  وجود دارند نیاز است که این تجهیزات بتوانند به وسیله استاندارد های واحد با یکدیگر کار کنند. به دلیل اینکه نیاز های هر دیتاسنتر و سازمانی متفاوت است مایکروسافت هم تصمیم گرفت برای بهبود خدمات ابری خود به عنوان یک Cloud Provider ، محصول خود را پدید آورد که با دیگر تجهیزات شبکه ای موجود سازگار باشد و در عین حال انعطاف پذیری و Performance ای را که مایکروسافت به دنبال آن است را دارا باشد و حاصل این نیاز ها محصول Azure Cloud Switch است. همان طور که گفته شد برگ برنده ACS ابداع و استفاده از SAI است که به دلیل اینکه به تایید Open Compute Project رسید با محصولات کل سازمان های عضو OCP سازگار خواهد بود. از جمله این سازمان ها می توان به Mellanox ، Broadcom ، Cavium ، Barefoot و Dell اشاره کرد.   
در پایان ممکن است بعضی از توسعه دهندگان ایرانی نیز علاقه مند باشند که بدانند SAI چگونه برنامه نویسی شده است. خوشبختانه به دلیل اینکه این Code تحت قوانین Open Source منتشر شده است اینکار امکان پذیر است. می توانید به راحتی آن را از لینک زیر در GitHub دانلود نمایید. J
https://github.com/opencomputeproject/OCP-Networking-Project-Community-Contributions

منبع : http://netyar.org

No comments:

Post a Comment