افزایش محبوبیت زیرساختهای فرا همگرا (HCI) گواه مزایای فراوان آن است. با این حال حتی HCI هم بدون چالش نیست. در حال حاضر بسیاری از فعالان صنعت فناوری اطلاعات به دنبال نسل جدیدی از زیرساختهای فناوری اطلاعات برای مقابله با این چالشها هستند. یکی از گزینهها، زیرساختهای composable یا ترکیبپذیر است که پلتفرمی را ارائه میدهد که انعطافپذیرتر است و میتواند نسبت به فرا همگرایی از منابع استفاده بهتری داشته باشد، در حالی که عملیات را ساده میکند و به طور بالقوه هزینهها را کاهش میدهد.
مانند HCI، زیرساختهای ترکیبپذیر نیز با چالشهایی همراه هستند و تیمهای فناوری اطلاعات که تصمیم دارند مراکز دادهشان را ارتقا دهند، باید قبل از تصمیمگیری در مورد چگونگی کارکرد ترکیبپذیری، مزایا، چالشهای آن و تفاوتهایش با سیستمهای همگرا و فرا همگرا اطلاعات کافی به دست آورند. در این مطلب به بررسی زیرساختهای ترکیبپذیر و بررسی ابعاد مختلف آن میپردازیم.
مقاله پیشنهادی “زیرساخت فراهمگرا (HCI) چیست؟”
زیرساخت ترکیبپذیر (composable infrastructure) چیست؟
زیرساخت ترکیبپذیر یک چارچوب software-defined برای ارائه منابع محاسباتی، ذخیرهسازی و شبکه به عنوان مجموعهای از خدمات یکپارچه فراهم میکند. اجزای سختافزار را جدا میکند، آنها را در منابع منطقی گروهبندی کرده و به عنوان خدمات درخواستی، مشابه یک پلتفرم ابری، ارائه میکند.
فعالان صنعت گاهی اوقات زیرساختهای ترکیبپذیر را تحت عنوان زیرساخت به عنوان کد (IaC) یا زیرساختهای تعریف شده توسط نرم افزار (SDI) نام میبرند، اما این تنها بخشی از داستان را بیان میکند. دقیقتر است که ترکیبپذیری را گسترش IaC و یک نوع SDI بنامیم، زیرا زیرساخت ترکیبپذیر در واقع اصول هر دو را برای ارائه مجموعهای سیال از منابع که میتواند انواع خاصی از بارهای کاری را پشتیبانی کند، در بر میگیرد.
یک زیرساخت ترکیبپذیر، سرور فیزیکی، ذخیرهسازی و اجزای شبکه را انتزاعی میکند و آنها را به عنوان سرویسهای منعطف ارائه میدهد که میتوانند در صورت نیاز ترکیب و بازترکیب شوند. این زیرساخت ترکیبپذیر به اندازه کافی منعطف است تا برنامههایی را که روی bare metal، در کانتینرها یا ماشینهای مجازی اجرا میشوند، در بر بگیرد. نرم افزار هوشمند اجزاء را انتزاع میکند، زیرساخت را مدیریت میکند، منابع را به صورت پویا تخصیص میدهد و هماهنگی و اتوماسیون لازم را برای ارائه خدمات به بهترین نحو ممکن فراهم میکند.
تکامل ترکیبپذیری
معماریهای سنتی مرکز داده معمولا از استراتژیهای چند لایه برای میزبانی و ارائه برنامهها استفاده میکنند. مجازیسازی به استفاده بهتر از منابع و سادهسازی مدیریت کمک کرد، اما رویکرد چند لایه همچنان رواج داشت. این استراتژی تا زمانی که روشهای تحویل برنامه ثابت باقی میماند کار میکرد، اما فناوریهای جدیدتر به پیچیدگی بیشتر، استقرار سریعتر و گردشهای کاری پویاتر تبدیل شدند. این باعث شد که نیاز به راههایی برای ساده کردن عملیات و استفاده بهتر از منابع به وجود بیاید.
زیرساخت همگرا (CI) راه حلی بود که بستهای از پیش پیکربندی شده از سختافزار و نرمافزار را ارائه میکرد که نسبت به زیرساختهای سنتی مزایایی مانند پیادهسازی سریعتر و نگهداری آسانتری را به همراه داشت. در یک دستگاه CI، اجزای محاسباتی، ذخیرهسازی و شبکه از نظر فیزیکی یکپارچه شده بودند، همراه با سختافزار و نرمافزار بسیار بهینه شده برای بارهای کاری خاص، که CI را تبدیل به گزینهای ایدهآل در شرایط مناسب میکند. متأسفانه، CI در بسیاری از محدودیتهای معماری سنتی مراکز داده، مانند تأمین بیش از حد و عدم انعطافپذیری در مواجهه با فناوریهای کاربردی جدیدتر، با راهکارهای قبل از خودش مشترک است.
مرحله تکاملی بعدی در همگرایی به شکل زیرساختهای فرا همگرا بود که از معماری سخت افزار محور به رویکرد تعریف شده توسط نرمافزار (software-defined)، با شروع از محاسبات و منابع ذخیرهسازی و در نهایت افزودن شبکههای تعریف شده توسط نرمافزار حرکت کرد. HCI سطوح بیشتری از انتزاع و اتوماسیون را با اجزایی در هم تنیده در یک پلتفرم که به راحتی قابل مقیاس بندی است، ارائه میدهد. HCI برای بارهای کاری خاص مانند زیرساخت دسکتاپ مجازی موثر بود، اما مانند معماریهای قبلی، HCI همچنان از تامین بیش از حد و عدم انعطافپذیری رنج میبرد. این همان چیزی است که باعث ایجاد زیرساختهای ترکیبپذیر شد.
پلتفرمهای ترکیبپذیر بهتر از HCI میتوانند بارهای کاری در حال تغییر را تحمل کنند و میتوانند برنامهها را روی bare-metal اجرا کنند و وابستگی به Hypervisor را که میتواند بر عملکرد برنامه تأثیر بگذارد، حذف کنند. در عین حال، زیرساختهای ترکیبپذیر میتوانند از بارهای کاری مبتنی بر کانتینر و VM پشتیبانی کنند که در نتیجه چابکی بیشتری نسبت به سایر راهکارهای همگرا دارند. علاوه بر این، معماری تفکیک شده آن به استفاده بهتر از منابع و عملیات سادهتر منجر میشود، در حالی که مقیاسپذیری و انعطافپذیری بیشتر را ارائه میدهد.
از آنجایی که زیرساخت ترکیبپذیر برای بارهای کاری خاص از قبل پیکربندی نشده است، این زیر ساختها میتوانند انواع مختلفی از برنامهها را بدون اطلاع از نیازهای پیکربندی آنها، پشتیبانی کنند. منابع بهعنوان خدمات ارائه میشوند و در لحظه در دسترس برنامهها قرار میگیرند و زیرساختی پویا را ارائه میکنند که میتواند نیازهای بار کاری امروزی را برآورده کند. نرم افزار هوشمندی که زیرساخت را هدایت میکند، استقرار و مدیریت منابع مورد نیاز برای پشتیبانی از این حجم کاری را آسانتر میکند.
علاوه بر این، بر خلاف HCI، زیرساختهای ترکیبپذیر از DAS استفاده میکنند و نیاز به لایه ذخیرهسازی تعریفشده توسط نرمافزار مجازیسازی شده و تأخیرهایی را که میتواند همراه با آن باشد، از بین میبرد. کاربران همچنین میتوانند منابع ذخیرهسازی را مستقل از منابع محاسباتی و شبکه مقیاس کنند، درست مانند منابع محاسباتی و شبکه که میتوانند مستقل از یکدیگر مقیاس شوند. HDDها، SSDها و همچنین استانداردهای صنعتی مانند NVMe و PCIe در این راهکارها پشتیبانی میشوند.
مزایا و چالشها
انعطافپذیری برگ برنده زیرساختهای ترکیبپذیر است. کاربران این توانایی را پیدا خواهند کرد که به طور مستقل اجزاء را مقیاس کنند و با بارهای کاری در حال تغییر سازگار شوند. زیرساخت ترکیبپذیر به ویژه برای پشتیبانی از DevOps، که به شدت بر یکپارچهسازی و تحویل مداوم اتکا دارد، مفید است.
یک زیرساخت ترکیبپذیر همچنین با استفاده بهتر از سختافزار و در عین حال سادهسازی عملیات فناوری اطلاعات، به حذف منابع بیشازحد کمک میکند. لایه مدیریت هوشمند آن بسیاری از سربار استقرار و بهینهسازی را که میتواند با سایر زیرساختهای فناوری اطلاعات همراه باشد، حذف میکند، بهویژه زمانی که با حجم کاری در حال تغییر مواجه میشود. اتوماسیون داخلی و هماهنگسازی با کاهش نیاز به مداخله دستی و حذف بسیاری از وظایف معمول به حداقل رساندن هزینههای اجرایی کمک میکند. روشهایی که میتوانند از زیرساختهای ترکیبپذیر استفاده کنند، مانند IaC، باعث کاهش بیشتر هزینههای اداری میشوند.
همه این عوامل میتواند به کاهش هزینههای زیرساخت کمک کند. از آنجایی که شرکتها میتوانند منابع را سریعتر و کارآمدتر تخصیص دهند، فرآیندهای تحویل برنامه کارآمدتر میشوند و منجر به صرفهجویی بیشتر میشوند. به عنوان مثال، توسعهدهندگان و آزمایشکنندگان در تیمهای DevOps میتوانند محیطهای خود را سریعتر و آسانتر راهاندازی کنند و در نتیجه تحویل برنامههای کاربردی کارآمدتر و باعث کاهش هزینههای کلی توسعه شوند. علاوه بر این به دلیل مدل مبتنی بر خدمات، زیرساختهای ترکیبی میتوانند برای ابرهای خصوصی یا ترکیبی مناسب باشند. همچنین زیرساختهای ترکیبپذیر برای بارهای کاری که به تخصیص منابع پویا نیاز دارند، مانند برنامههای کاربردی هوش مصنوعی یا یادگیری ماشین، مناسب است.
با وجود این مزایا، زیرساخت ترکیبپذیر بدون چالش نیست. بزرگترین چالش، شاید، در این واقعیت نهفته است که این یک فناوری نسبتا جوان است. اگرچه در دو سال گذشته پیشرفت پایداری داشته است، نرم افزاری که ترکیبپذیری را هدایت میکند هنوز در حال بلوغ است، به خصوص وقتی صحبت از تفکیک و ترکیب منابع محاسباتی میشود، که با توجه به قابلیتهای پردازندههای فعلی محدود شده است.
بهعلاوه، هنوز استانداردهای صنعتی که بر زیرساختهای ترکیبپذیر حاکم باشد، وجود ندارد و تعیین نحوه استقرار زیرساخت و حتی نحوه تعریف آن به عهده فروشندگان است. این فقدان استانداردها پتانسیل فناوری را محدود میکند. در تئوری، زیرساخت ترکیبپذیر باید بتواند از سختافزار تجاری رایج پشتیبانی کند، اما با چنین سطحی از انعطافپذیری هنوز فاصله زیادی وجود دارد و همین امر خطر محدود شدن به سبد محصولات یک فروشنده را افزایش میدهد.
زیرساختهای ترکیبپذیر نیز یک سیستم پیچیده تر از HCI است، بنابراین استقرار یا نگهداری آن به این سادگی نیست. در نتیجه، نیاز به تخصص اجرایی بیشتری دارد و بخشی از صرفهجویی در هزینه را از بین میبرد. ممکن است هزینههای اولیه سنگینی نیاز باشد و بدون وجود استانداردهای صنعتی، اگر به تجهیزات اختصاصی محدود شوید، افزودن به سیستم میتواند هزینهبر باشد.
همه چیز به لایهها بر میگردد
سه لایه اصلی – منابع فیزیکی، نرم افزار ترکیب کننده (composer) و API مدیریت – زیرساختهای ترکیبپذیر را تشکیل میدهند. نمودار زیر نمای کلی مفهومی از نحوه کار این مؤلفهها برای ارائه ترکیب پذیری ارائه میدهد. لایه فیزیکی شامل منابع محاسباتی، ذخیرهسازی و شبکهای است که زیرساخت بر اساس آنها شکل گرفته است.
نرمافزار ترکیب کننده اجزای فیزیکی را انتزاعی میکند و آنها را در منابع منطقی قابل دسترسی از طریق API سازماندهی میکند. این نرم افزار قابل برنامهریزی، تنظیم و خود تصحیح میباشد. میتواند بهطور خودکار منابع منطقی مورد نیاز برای برآوردن نیازهای برنامههای کاربردی خاص را بسازد و از الگوها که تنظیمات از پیش تعریفشده را برای موارد استفاده خاص ارائه میکنند، پشتیبانی میکند. از آنجایی که نرمافزار ترکیب کننده بین تامین کنندگان متفاوت است، ویژگیهای دقیق و نحوه پیادهسازی آنها نیز متفاوت است.
API مدیریت با تسهیل دسترسی به منابع زیرساخت، نقش حیاتی ایفا میکند. یک رابط واحد طیف وسیعی از عملیات مانند جستجو، موجودی، تهیه، به روز رسانی و تشخیص را انجام میدهد. توسعهدهندگان میتوانند از API برای کنترل برنامه نویسی زیرساخت استفاده کنند و مدیران میتوانند از API برای دستکاری هر بخشی از محیط استفاده کنند. به عنوان مثال، API برنامههای مبتنی بر IaC را قادر میسازد تا زیرساختها را بر اساس تقاضا بسازند یا تیمهای DevOps از ابزارهای تحویل برنامه موجود برای تهیه خودکار منابع استفاده کنند.
ملاحظات و بازیگران صنعت
تیمهای فناوری اطلاعات که زیرساختهای ترکیبپذیر را برای مراکز داده خود در نظر میگیرند، باید موارد مختلفی را در نظر بگیرند. محصولات فروشندگان مختلف تفاوت قابل توجهی دارند و این صنعت به سرعت در حال پیشرفت است. شرکت Hewlett Packard (HPE) در خط مقدم این جنبش بوده است و تلاشهای خود را از سال ۲۰۱۵ آغاز کرده است. به عنوان مثال، این شرکت اکنون قابلیت ترکیبپذیری را در سرورهای رک ProLiant DL و همچنین ماشینهای Synergy ارائه میدهد. علاوه بر این، HPE یک ابر ترکیبی به نام Composable Cloud را معرفی کرده است که امکان ساخت یک پلتفرم ابر خصوصی ترکیبپذیر را فراهم میکند.
HPE تنها تامین کننده زیرساخت ترکیبپذیر در این صنعت نیست. Dell EMC با PowerEdge MX برداشت خود را از زیرساختهای ترکیبپذیر ارائه میدهد. به گفته دل، این پلتفرم اولین پلتفرم در نوع خود است که با زیرساختهای جنبشی تعریف شده است، اصطلاحی که توسط این شرکت برای بیان مفهوم «ترکیب پذیری واقعی» ابداع شده است. Liqid هم چندین پلتفرم ترکیبپذیر را که بر اساس درایوهای SSD اینتل Optane ساخته شدهاند، عرضه میکند. علاوه بر این، DriveScale یک پلتفرم مستقل از سختافزار برای ساخت زیرساختهای ترکیبپذیر فراهم میکند و اینتل معماری مرجع Rack Scale Design را برای استقرار مخصوص خود از زیرساختهای ترکیبپذیر ارائه میدهد.
آنچه این گزینهها و گزینههای دیگر به آن اشاره میکنند این است که به تعداد محصولات، تفسیرهایی از زیرساختهای ترکیبپذیر وجود دارد. در نتیجه، تصمیم گیرندگان فناوری اطلاعات باید هر پلتفرم ترکیبپذیر را به صورت جداگانه ارزیابی کنند، یکی را با دیگری مقایسه کنند و سپس تعیین کنند که کدامیک به بهترین وجه با نیازها و بودجههای خاص آنها سازگار است.
با این حال، آنها باید به خاطر داشته باشند که رویکرد ترکیبپذیر هنوز در مراحل ابتدایی قرار دارد. هر سازمانی از این فناوری بهرهمند نخواهد شد و حتی در صورت بهرهمندی از آن، انتخاب راهکار مناسب کار سادهای نیست. ترکیبپذیری میتواند مزایای قابلتوجهی در شرایط مناسب داشته باشد، اما رسیدن به آن نقطه هم زمان و هم تلاش میطلبد.