هسته پاسخ من به این صورت بود: ارزش لینوکس برای ارائه دهندگان نرم افزار به همان اندازه برای مشتریان است - لینوکس یک محیط سیستم عامل واحد را در پلتفرم های سخت افزاری مختلف فراهم می کند. مشتریان و شرکای دارای مهارت های لینوکس x86 و مهارت های سیستم قدرت، تمام دانش لازم برای اجرای لینوکس در سیستم های قدرت IBM و سرورهای PowerLinux را دارند. مشتریان و شرکایی که فقط مهارت های x86 دارند، به آموزش در PowerVM و پلتفرم نیاز دارند، اما به سرعت در سیستم عامل مشترک خواهند شد.
درخواست ساده این ارائه دهنده نرم افزار در قلب چالش فناوری اطلاعات - مدیریت هزینه ها برای مرکز داده است. همه برای کنترل استقرار نرم افزار در سازمان تلاش می کنند. می توان این چالش را به عنوان یک ماتریس دو بعدی (صفحه گسترده) از برنامه ها (در سراسر بالا) در برابر پلتفرم ها (پایین سمت چپ) تجسم کرد.

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

برنامه ها بر روی سیستم عامل ها اجرا می شوند که توسط Hypervisor ها میزبانی می شوند که معماری سخت افزار را مجازی می کنند.
برای سادگی، چند دسته را با هم دسته بندی کرده ام. به عنوان مثال، میان افزار واقعاً یک مؤلفه فعال کننده برنامه ها است و به همین دلیل می تواند یک لایه جداگانه در زیر «برنامه ها» باشد. علاوه بر این، محیط های زمان اجرا مانند جاوا یا پرل به جای اینکه به عنوان یک لایه منحصر به فرد در بالای «سیستم های عامل» قرار گیرند، در سطح سیستم های عامل قرار گرفته اند. به همین راحتی می توان هایپروایزرها را به عنوان بخشی از معماری سخت افزاری گنجاند. برای فعال کردن بحث در مورد روندهای فناوری بعداً در این مدخل وبلاگ، من تصمیم گرفته ام که "Hypervisors" را به عنوان یک لایه مجزا به صراحت جدا کنم.
شما باید دیدگاه کاربران را در زیرساخت های IT هر یک از مؤلفه های پشته نرم افزار در نظر بگیرید تا از تأثیرات موجود در تجارت قدردانی کنید. با کمی بینش ، می بینید که بیشتر افراد در شرکت لایه برنامه را لمس می کنند ، در حالی که کمترین آنها سخت افزار را لمس می کند. این مشاهدات نشان می دهد که هرم تقریباً فارغ التحصیل ، همانطور که در زیر نشان داده شده است.

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

آیا کسی روزی را به یاد می آورد که برنامه ها فقط روی یک پلتفرم اجرا می شدند؟چندی پیش ، "پلتفرم" به معنای کل پشته نرم افزار ، یک سیلو از بالا به پایین بود. اگر می خواستم پردازنده Amipro Word را اجرا کنم ، این کار را در رایانه شخصی مبتنی بر DOS انجام دادم. برای انجام پردازش کلمه در محل کار ، من از Bookmaster در قسمت اصلی استفاده کردم. برنامه ها "سکوی" بودند.

با گذشت زمان ، ارائه دهندگان برنامه شروع به نوشتن برنامه هایی کردند که می توانند محیط های سیستم عامل متفاوت را اداره کنند. برنامه های (میانی نرم افزار) مانند پایگاه داده DB2 IBM برای سیستم عامل های ویندوز و یونیکس در دسترس هستند. ظهور زبانهای تفسیر شده مانند جاوا بیشتر به قابلیت حمل برنامه کمک کرد. در این بازه زمانی ، مردم به عنوان لایه های سیستم عامل به سمت پایین فکر کردند.

با اتخاذ سیستم عامل لینوکس ، تعریف "پلتفرم" همچنان به سمت پایین پشته حرکت می کند. هنگامی که مشتریان RHEL 6. 3 یا SLES 11 SP3 را در محیط خود اجرا می کنند ، همان نسخه هسته را دریافت می کنند ، که با همان کامپایلر ساخته شده است (که البته برای هر مجموعه دستورالعمل پردازنده باینری های مختلفی ایجاد کرده است) ، اجرای همان کتابخانه ها ، از همان سیستم های پرونده استفاده می کنند.، و از جمله همان سطوح بسیاری از برنامه های متداول مانند WebServer Apache. در این ساختار ، برنامه های به درستی نوشته شده می توانند انتظار داشته باشند که محیط های کاربردی مشترک داشته باشند ، حتی اگر ممکن است در سیستم عامل های مختلف سخت افزاری در هاپرویزهای مختلف اجرا شوند. برای برنامه های خوب نوشته شده ، "انتقال" به یک سکوی جدید به طور کلی به یک تست رگرسیون و رگرسیون تبدیل می شود.
مقدار لینوکس به شرکت از مشترکات ناشی می شود. اختلاف هزینه ها. مشترکات موجب صرفه جویی در هزینه می شود. هرچه "دید" برای مؤلفه ای از نرم افزار بیشتر باشد ، پتانسیل پس انداز از مشترکات بیشتر می شود. بنابراین ، نباید تعجب کنیم که روند تاریخی همگرایی در پشته نرم افزار ما از بالا به پایین بوده است.


در حالی که اکثریت مشترکات مربوط به برنامه ها و سیستم عامل ها بوده است ، برخی از همگرایی ها در لایه معماری سخت افزار رخ داده است. I/O استانداردهایی مانند PCI را توسعه داده است. شبکه با وجود استاندارد رقیب حلقه توکن ، به اترنت همگرا شد. به همین ترتیب ، شبکه منطقه ذخیره سازی پروتکل کانال فیبر را از طریق SSA انتخاب کرد. در حالی که این دستاوردها مفید بوده اند ، احتمالاً آنها در فرصت محدود هستند زیرا معماری پردازنده هرگز به یک معماری واحد همگرا نخواهد شد. هر نوع پردازنده و معماری سیستم بر حل یک چالش متفاوت متمرکز است.
همانطور که منتظر آینده هستیم ، فرصتی برای ادامه همگرایی در پشته نرم افزار با Hypervisors وجود دارد. شرکت های امروز گزینه های مجازی سازی خود را توسط پلت فرم سخت افزار دیکته می کنند. سیستم های قدرت با PowerVM مجازی می شوند ، از سیستم های اصلی استفاده می کنند و از سیستم های VMware ، HyperV ، Xen یا KVM استفاده می کنند. شرکت هایی که دارای سیستم عامل های سخت افزاری ناهمگن هستند ، بیش از حد مختلف را در هر سیستم عامل اجرا می کنند - نه با انتخاب بلکه با دستورالعمل.
با در آغوش گرفتن لینوکس KVM ، پتانسیل یک فشارخون تک و پلتفرم متقاطع ظهور می کند. در آینده نه چندان دور ، شرکت ها باید بتوانند از KVM استفاده کنند تا هزینه مجازی سازی خود را کاهش دهند ، و دوباره تعریف "سکوی" را تغییر دهند. در این تصویر نهایی ، مشترک بودن ، تعریف "پلتفرم" را به سادگی یک معماری سخت افزار جدید سوق داده است ، تأثیر (و هزینه حاصل) را به حداقل تعریف می رساند.
اکنون که تجزیه و تحلیل همگرایی پشته نرم افزار را تکمیل کرده ایم ، می توانیم پاسخ عمیق تری به سؤال اصلی ارائه دهیم: آیا PowerLinux یک بستر جدید است؟نه واقعا. Linux on Power "فقط لینوکس" ، RHEL 6. 5 یا SLES 11 SP3 است. برای یک ارائه دهنده نرم افزار مانند کسی که چالش اصلی را مطرح کرده است ، تخصص X86 Linux همراه با مهارت های سیستم قدرت خود ، پشتیبانی از لینوکس را با روشی بسیار مقرون به صرفه تسهیل می کند. از آنجا که قدرت KVM را در آغوش می گیرد ، حتی اختلافات Hypervisor از بین می رود و تأثیر پذیرش لینوکس بر قدرت واقعاً برای ارائه دهندگان نرم افزار و مشتریان به طور یکسان برای چند نفر جدا شده است.

در حالی که این همگرایی را می توان از منظر تاریخی مشاهده کرد ، می توان این مراحل را به عنوان مراحل بلوغ برنامه مشاهده کرد. برنامه های جدید به طور معمول در یک سیستم عامل واحد و پشته سخت افزار شروع می شوند. با گذشت زمان ، برنامه هایی که مایل به پشتیبانی از چندین سیستم عامل سخت افزاری هستند ، بندر می شوند. برنامه های مدرن ، مانند آنهایی که به زبان های تفسیر شده مانند جاوا یا پایتون نوشته شده اند یا آنهایی که با استفاده از کامپایلرهای منبع باز مانند GCC تهیه شده اند ، به سرعت به سیستم عامل های سخت افزاری جدید مهاجرت می کنند. Linux و Source Source Tools فروشندگان نرم افزار را قادر می سازد تا با نوشتن به کتابخانه های مشترک و تدوین با استفاده از ابزارهای استاندارد مشترک برای کلیه سیستم عامل هایی که سیستم عامل لینوکس را اجرا می کنند ، بازار آدرس دهی خود را به حداکثر برسانند.
تکامل پشته نرم افزار در یک روند هیجان انگیز بوده است. با تکامل صنعت فناوری اطلاعات ، نرم افزار منبع باز هدایت شده و همچنان به همگرایی پشته نرم افزار ادامه خواهد داد. ما از روزهای "سیلوهای برنامه" مسیری طولانی را طی کرده ایم. محیط زمان اجرا امروز با سیستم عامل لینوکس یک معماری مشترک را فراهم می کند که پشتیبانی از برنامه های کاربردی پلت فرم را امکان پذیر می کند. با ظهور KVM به عنوان یک فناوری مجازی سازی ، همگرایی به لایه Hypervisor ادامه خواهد یافت. پس از اتمام این تحول ، اختلافات پلتفرم به اصول معماری پردازنده کاهش می یابد و به مشتریان این امکان را می دهد تا ضمن استفاده از مزایای اساسی که هر بستر می تواند به راه حل خود ارائه دهد ، هزینه را به حداقل برسانند. چه شرکت نمی خواهد به حداقل رساندن هزینه ها ، انعطاف پذیری انتخاب بهترین سکوی برای راه حل خود را مجاز کند؟
فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید
برچسب :
نویسنده : آرش اصل زاد
بازدید : <-PostHit->
تاريخ : سه
شنبه
30 خرداد
1402 ساعت: 15:57