سه شنبه , ۲۹ مرداد ۱۳۹۸
خرید فالوور اینستاگرام خرید لایک اینستاگرام

مرکز داده تعریف‌شده توسط نرم‌افزار؛ کنترل و مدیریت زیرساخت کسب‌وکار به روشی موثر

در این نوشته تلاش بر این است که مفاهیم موجود در مرکزداده تعریف‌شده توسط نرم‌افزار (Software-Defined Data Center) و انگیزه‌های انتخاب یک راه متفاوت برای بهره‌برداری، کنترل و مدیریت منابع موجود در مرکزداده شرح داده شود.

با ظهور مجازی‌سازی، مرکزداده تعریف‌شده توسط نرم‌افزار صنعت فناوری اطلاعات را با طوفانی مواجه کرد. هدف این نوع مراکز کاهش هزینه، افزایش سرعت و چابکی، پیروی از سیاست‌های موجود و امنیت [در استقرار، عملیاتی‌سازی، مدیریت و نگهداری] برنامه‌ها می‌شود. همچنین، با فراهم‌سازی محیط ابری اختصاصی برای سازمان، مرکز‌داده تعریف‌شده توسط نرم‌افزار انعطاف‌پذیری بیشتری را به ارمغان می‌آورد. با فراهم کردن قابلیت دسترسی به داده به صورت به محض تقاضا (On-demand)؛  نیازی به گرفتن مجوز برای دسترسی به داده از ارائه‌دهنده‌ی خدمات ابری وجود ندارد.

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

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

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

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

معماری زیرساختی مرکزداده‌ی تعریف‌شده توسط نرم‌افزار

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

  • محاسبات تعریف‌شده توسط نرم‌افزار

آنچه که به عنوان مجازی‌سازی سرورها آغاز شده بود، منجر به فراگیری و گسترشِ کنترل منابع سخت‌افزاری توسط نرم‌افزار شد. مجازی‌سازی امروزه به یک تکنولوژی همه گیر در مراکز داده تبدیل شده است. از مجازی‌سازی به طور گسترده به منظور افزایش میزان بهره‌وری همراه با کاهش هزینه‌های عملیاتی در مراکز داده استفاده می‌شود. زیرساخت مجازی‌سازی شده به عنوان پایه‌ی محیط‌های ابری – چه عمومی و چه خصوصی – خود را ثابت کرده است. همچنین Containerها به عنوان یک تکنولوژی نوآورانه در کنار ماشین های مجازی و سیستم نرم‌افزاری محیط ابری مطرح شدند. Containerها نقش قابل توجهی برای مرتبط کردن توسعه دهندگان نرم افزار با مدیران زیرساخت بازی می‌کنند. این اتفاق باعث دستیابی سریعتر به فرهنگ DevOps می‌شود. ایده‌ی محاسبات تعریف‌شده توسط نرم‌افزار تنها به مجازی‌سازی لایه‌ی زیرین زیرساخت و منابع سیستمی مربوط نمی‌شود؛ با ارائه APIهایی تمام زیرساخت را قابل برنامه‌ریزی و انعطاف‌پذیر کرده و برای محیط‌های ابری پرسرعتی که در آینده به وجود خواهند آمد، آماده خواهد کرد.

  • شبکه تعریف‌شده توسط نرم‌افزار

زیرساخت شبکه در مرکزداده تعریف‌شده توسط نرم‌افزار می‌بایست به طور انتزاعی برای استفاده توسط بارهای کاری در دسترس باشد. شبکه تعریف‌شده توسط نرم‌افزار نقشی حیاتی در مرکز داده تعریف‌شده توسط نرم‌افزار دارد. Open Network Foundation شبکه تعریف‌شده توسط نرم‌افزار را اینگونه تعریف می‌کند: جداسازی سطح کنترلی از سطح داده در دستگاه‌های شبکه‌ای، به طوری که سطح کنترلی در یک کنترل کننده مرکزی قرار داده شده است که قوانین جریان شبکه را در تک تک دستگاه‌های سطح داده برنامه ریزی کند. جالب است بدانید طبق گزارش تحقیق از کاربران نهایی توسط Enterprise Management Associates جداسازی سطح کنترلی از سطح داده مهم ترین ویژگی این نوع شبکه‌‌ها نیست. در جدول زیر درصد‌های پاسخ‌های کاربران آورده شده است.

ویژگی های شبکه تعریف شده توسط نرم افزار اهمیت داشتن
کنترل‌کننده مرکزی ۳۵(درصد کاربران این گزینه را انتخاب کردند)
سخت‌افزار کم هزینه ۲۸
معماری سیال شبکه ۲۵
نرم‌افزار متن‌باز ۲۴
راهکارهای مبتنی بر نرم‌افزار ۲۴
پروتکل OpenFlow ۲۱
جداسازی لایه کنترلی از لایه‌ی داده  ۱۱

درصد پاسخ‌های کاربران در میزان اهمیت ویژگی‌های شبکه تعریف‌شده توسط نرم‌افزار

  • ذخیره‌سازی تعریف‌شده توسط نرم‌افزار

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

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

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

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

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

اهمیت گذار به یک مرکز داده تعریف‌شده توسط نرم‌افزار

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

سیر تکاملی مراکز داده

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

سیر تکاملی مرکزداده

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

هماهنگ سازی یک رویکرد در حال توسعه

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

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

سیلو‌های فناوری اطلاعات

سیلو‌های سنتی مراکز داده که شامل سرور‌‌ها شبکه منابع ذخیره‌سازی و غیره هستند به عنوان یکی از نقطه ضعف‌های اساسی برای رسیدن به یک مرکز داده تعریف‌شده توسط نرم‌افزار به شمار می‌آیند. چنین سیلوهایی باعث بروز مسائل امنیتی، مخارج عملیاتی مسائل یکپارچه‌سازی می‌شود. مسائل این چنینی هنگام استقرار نرم‌افزار در شرکت‌های بزرگ بیشتر به چشم می‌آیند. در اکثر شرکت‌‌ها مخارج عملیاتی و مخارج بودجه به دلیل وجود سیلو‌‌ها زیاد است و درصد بیشتری از بودجه به همین سیلو‌‌ها اختصاص میابد به جای آن که صرف پروژه‌‌ها شود. نقاط ملال‌اوری را که این سیلو‌‌ها باعث میشوند در شکل ۹-۲ مشاهده می‌کنید.

نقاط ملال‌آور میزان تاثیرگذاری
نگرانی‌های امنیتی ۳۸(درصد کاربران این گزینه را انتخاب کردند)
هزینه‌های عملیاتی افزایشی ۳۷
یکپارچه‌سازی تجهیزات با فناوری‌های جدید ۳۵
پیدا کردن پرسنل حرفه‌ای ۳۴
نبود یک کنترل‌کننده مرکزی ۳۴
سرعت پایین استقرار بروزرسانی‌ها ۳۳
سرعت پایین فراهم‌سازی محیط برای برنامه‌ی جدید ۳۲
عیب‌یابی و برطرف کردن مشکلات ۳۲
هزینه‌های زیاد راه‌اندازی ۳۰
هزینه‌های زیاد مربوط به پرسنل ۲۹

نقاط ملال‌آور ناشی از استفاده از سیلو‌‌ها – گزارش تحقیق EMA

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

درخواستهای مربوط به کسب‌وکار تاثیرگذاری بر نقش‌های سنتی

مسئولیت‌ها و مهارت‌های مورد نیاز

۴۴(درصد کاربران این گزینه را انتخاب کردند)
دانش میان رشته‌ای مورد نیاز ۴۲
افزایش پرسنل ۴۱
ترس تیم عملیات از تغییرات ۳۵
کارآ نبودن فرآیندهای قدیمی ۳۴
استفاده از خدمات ابری ۳۱
ثبات نقش‌های سنتی ۲۶
عدم افزایش درخواست‌های رسیده از سمت کسب‌وکار ۳

میزان تاثیر درخواست‌های کسب‌وکار بر نقش‌های سنتی

نتیجه‌گیری

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

 

درباره ی ابوالفضل امینی

Avatar
دانشجوی کارشناسی ارشد مهندسی نرم‌افزار | عضو آزمایشگاه تحقیقاتی سیستم‏‌های توزیعی، دانشگاه علم‏‌و‏صنعت ایران | زمینه‌ها‏ی تحقیقاتی و کاری: سیستم‏‌های تعریف‌‏شده توسط نرم‌‏افزار به طور خاص سیستم‏‌های ذخیره‏‌سازی، DevOps

دیدگاه بگذارید

avatar
  مشترک شدن  
اطلاع‌رسانی