.
sigma.cloud
مقالات رایانش ابری

ماهیت رایانش ابری؛ از مجازی سازی تا نرم افزارهای کد متن باز

ماهیت رایانش ابری  رايانش ابری در يک جمله، زمان طراحی معماری يک برنامه را تا نصب و استقرار آن کوتاه می کند. رايانش ابری ترکیبی از مجازی سازی، استقرار بر حسب تقاضا(On Demand Deployment) ، ارائه اينترنتی سرويس ها، و نرم افزارهای کد متن باز را بکار گرفته است.

ماهیت رایانش ابری؛ از مجازی سازی تا نرم افزارهای کد متن باز

ماشین های مجازی

درچندسال اخیر، ماشین های مجازی يکی از واحدهای استاندارد برای استقرار برنامه های کاربردی شده اند. مجازی سازی (Virtualization)  بدلیل ايجاد يک سطح انتزاع از سخت افزار، قابلیت انعطاف را تا جايی افزايش می دهد که استقرار نرم افزار به نوع خاصی از سرورهای فیزيکی وابسته نباشد. مجازی سازی می تواند منجر به پويايی مرکز داده شود بطوری که سرور ابری بعنوان استخری از منابع (Pool of resources) درنظر گرفته می شوند تا بتوانند متناسب با نیاز بکار گرفته شوند. به اين ترتیب وقتی نیاز ما به محاسبات و ذخیره سازی تغییر کند، منابع شبکه می توانند بطور پويا تغییر کنند تا هم تقاضای تجاری و هم حجم تقاضا را پاسخگو باشند. به اين ترتیب می توان به سرعت يک برنامه را متوقت کرد و يا برنامه ديگری را با مقیاس گسترده تحويل داد و نیازی به آماده سازی سرورهای فیزيکی نخواهد بود.
ماشین های مجازی تبديل به يک سطح انتزاعی رايج و واحدی برای ارائه برنامه ها شده اند. به اين دلیل که آنها کوچکترين جزء واسط مشترک بین توسعه دهنده و سرويس دهنده می باشند. با بکارگیری ماشین های مجازی، می توان 81 درصد موارد کاربرد را پاسخ داد و همچنین به برطرف کردن نیاز به توسعه و مقیاس پذيری سريع برنامه های کاربردی کمک می کنند.
ابزارهای مجازی (Virtual Appliances)، به ماشین مجازی گفته می شود که شامل نرم افزار پیکربندی شده برای انجام کارخاصی (نظیر سرور وب يا پايگاه داده) هستند. اين ابزارهای مجازی، توانايی ايجاد و ارائه سريع برنامه های کاربردی را بهبود داده اند. ترکیب ماشین های مجازی و ابزارهای مجازی بعنوان اشیاء استاندارد ارائه برنامه يکی از ويژگی های کلیدی رايانش ابری است.
ابرهای ذخیره سازی مککل ابرهای محاسباتی هستند که امکان ذخیره سازی مجازی از طریق API ها را برای آنها فراهم می آورند. این APIها سبب سهولت ذخیره سازی در تصاویر ماشین مجازی (virtual machine image) که منبع فایل های وب سرور، داده های وضعیت برنامه و داده های تجاری هستند، می شوند. 

مدلی مبتنی بر استفاده 

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

علاوه براين، برنامه های جديد نیز می توانند در ماشین های مجازی جديد، روی همان سرورهای موجود ايجاد و مستقر شوند و همه اين برنامه می توانند از اينترنت قابل استفاده باشد و در صورتی که برنامه در بازار موفق بود، می توان مقیاس آن را افزايش داد. اين روش يک مدل کم هزينه برای توسعه برنامه ها خواهد بود.
IT رايانش ابری اين رويکرد را از طريق اتوماتیک کردن کارها توسعه داده است. بجای مذاکره با يک سازمان در خصوص منابع مورد نیاز برای ارائه يک برنامه، با استفاده از يک کارت اعتباری می توان از نمونه های برای ايجاد ماشین های API محاسباتی يک ابر محاسباتی خريداری کرد و با استفاده از يک واسط وب يا مجازی و استقرار ارتباطات شبکه بین آنها استفاده کرد. همچنین به جای تنظیم قراردادهای طولانی مدت برای کرايه گرفتن سرويس ها، می توان از مدل مبتنی بر استفاده رايانش ابری استفاده کرد و بسته به نوع برنامه چه در حالتی که چنددقیقه يا چند ساعت طول بکشد، يا اينکه مدتی طولانی زمان نیاز داشته باشد، منابع مورد نیاز را خريداری کرد. صورت حساب در ابرهای محاسباتی بر اساس مصرف منابع )نظیر حجم داده منتقل شده يا حجم داده ذخیره شده( صادر می شود. اينکه بتوانیم ،CPU ساعت های استفاده از پرداخت را تنها برای منابعی که استفاده می کنیم انجام دهیم، ريسک خريد زيرساخت های بزرگ را برای توسعه برنامه کاربردی کاهش می دهد و اين ريسک را به سرويس دهنده ابری منتقل می کند.

زیر ساخت های قابل بر نامه ریزی 

در معماری های گذشته، اين وظیفه طراحان شبکه بود که بايد تعیین می کردند چگونه اجزای مختلف يک برنامه در مجموعه ای از سرورها قرار بگیرند، چگونه به هم متصل شوند، چگونه امن شوند، چگونه مديريت های فراهم API شوند و چگونه توسعه داده شوند. اما اکنون يک برنامه نويس می تواند خودش با استفاده از شده، نه تنها برنامه های خود را در ماشین های مجازی ايجاد کند، بلکه چگونگی توسعه دادن آن را در زمان تغییر حجم و ترافیک کار، مديريت کند.    اين مثال را در نظر بگیريد: قبلا يک برنامه نويس برنامه ای را مثلا با استفاده از زبان برنامه نويسی جاوا های جديد ايجاد شود تا بتوان فعالیت های thread می نوشت و در داخل آن مشخص می کرد که چه زمان مختلف را بصورت موازی پیش برد. امروز، يک برنامه نويس می تواند با استفاده از سرويس های فراهم شده، به همان سادگی مشخص کند که مثلا يک برنامه را تا حدی گسترش دهد که هزاران ماشین مجازی را دربر بگیرد تا يک کار سنگین را انجام دهند توانايی برنامه ريزی پويای معماری يک برنامه کاربردی، قدرت زيادی را در دستان برنامه نويسان قرار می دهد.
برای استفاده موثر از رايانش ابری، يک برنامه نويس بايد يک معمار هم باشد و نیاز خواهد داشت که برنامه ای خود نظارتی و خود توسعه ای ايجاد کند. برنامه نويس/معمار بايد بداند که چه موقع لازم است يک جديد ايجاد کند، در مقابل اينکه چه موقع يک ماشین مجازی ايجاد کند و اينکه متناسب با الگوی thread معماری، چگونه آنها به هم متصل می شوند اگر اين قدرت به خوبی درک شود و مورد استفاده قرار بگیرد، نتايج بسیار تماشايی خواهد بود. يک نمونه از است که يک ويدئو را از مجموعه ای از تصاوير و موسیقی ها ايجاد می کند.  Animoto's mashup آن ابزار برنامه اين شرکت در ظرف سه روز از 51 سرور تا 3511 سرور توسعه پیدا کرده است. برای اين کار، برنامه بگونه ای ساخته شده بود که توانست بطور افقی ( Horizontal Scaling ) بر روی تعداد زيادی از نودهای محاسباتی( توسعه پیدا های ابری مديريت کند. البته بازای هر مثال از نمونه های موفق، API کند و بتواند وضعیت خود را از طريق مثالی هم از نمونه های ناموفق وجود دارد که برنامه ای نتوانسته است به خوبی مقیاس پذيری خود را مديريت کند و نیاز مشتری برآورده نشده است.

ترکیب برنامه ها و ایجاد برنامه های جدید تر

از ديگر نتايج استفاده از رايانش ابری اين است که برنامه های کاربردی می توانند با ترکیب و پیکربندی ابزارها و برنامه های کدمتن باز ايجاد شوند. برنامه های کاربردی و معماری هايی که بتوانند به اجزای استاندارد تجزيه شوند، می توانند در مدل رايانش ابری بطور موفق پیاده سازی شوند. به همین ترتیب، اجزای برنامه های کاربردی بايد بگونه ای طراحی شوند که آنها نیز قابل ترکیب با اجزای ديگر باشند و به راحتی های مستند شده دارند. ايجاد برنامه های بزرگ و API مصرف شوند. اين کار نیاز به توابع ساده و واضح و
يکپارچه مربوط به گذشته است و امروز با استفاده از کتابخانه هايی که از ابزارهای موجود وجود دارد، می توان برای ايجاد برنامه های بزرگتر استفاده کرد. است، می توانند برای Map Reduce که يک پیاده سازی کدمتن باز از مدل ،Hadoop مثلا ابزارهايی نظیر
زمینه های مختلفی که يک مسئله به همراه داده های خود اين قابلیت را دارد که به بخش های کوچکتری شکسته شود تا بطور موازی اجرا گردند، بکارگرفته شود. وقتی که مثلا New York Times میخواهد 11 میلیون مقاله و تصوير آرشیو خود را به فرمتPDF تبديل کند و اين کار توسط منابعIT خودشان چند هفته زمان می برد، يک برنامه نويس می تواند از 111 نمونه سرويس Amazon EC2  که برنامه Hadoop  در آنها اجرا شده است استفاده کند و اين کار را 24 ساعته با هزينه ای کمتر از 311 دلار انجام دهد (البته اين هزينه، صرف نظر از زمان مورد نیاز برای ارسال تصاوير و نیز هزينه ذخیره سازی می باشد.) حتی شرکت های بزرگتر هم می توانند از رايانش ابری برای حل بسیاری از مسائل خود در زمان کمتر و هزينه کمتر نسبت به منابع محاسباتی سازمان خود استفاده کنند.

مثالی از ارائه برنامه های وب

اين مثال نشان می دهد که چگونه مجازی سازی می تواند تحويل برنامه را ساده کند. يک نمونه ساختار دولايه ای وب را در نظر بگیريد که می تواند در ابر شبیه شکل 2-1 باشد.
  1. يک توسعه دهنده ممکن است تعديل کننده بار load balancer))، سرور وب، و ابزارهای پايگاه داده را از کتابخانه
  2. ماشین های مجازی از پیش پیکربندی شده انتخاب کند.
  3.  سپس می توان هر بخش را متناسب با نیاز پیکربندی کرد تا يک تصوير سفارشی ايجاد شود. به اين ترتیب تعديل کننده بار پیکربندی خواهدشد، محتوای موردنظر در سروروب قرار داده شده و در ابرذخیره سازی قرار می گیرد و ابزارهای پايگاه داده نیز با محتوای مربوط به خود پرمی شود.
  4.  توسعه دهنده، کد سفارشی خود را متناسب با معماری جديد لايه بندی می کند تا اجزای مختلف بتوانند نیازمندی ها را برآورده کنند.
  5. توسعه دهنده يک الگو را انتخاب می کند که بر اساس آن الگو، تصاوير مربوط به هر لايه جهت استقرارانتخاب خواهد شد و تنظیمات شبکه امنیت و مسائل توسعه برنامه را متناسب با آن الگو انجام خواهد شد.
  6. به اين ترتیب برنامه ای امن، با قابلیت دسترسی بالا اجرا می شود. وقتی برنامه نیاز به بروزرسانی داشته باشد، تنها کافیست که تصاوير ماشین مجازی به روزرسانی شوند )معمولا برای شناسايی و تفکیک ماشین های مجازی مشابه، می توان به هر کدام يک شماره نگارش اختصاص داد(. رايانش ابری فرض می کند که هرچیزی موقتی است و استقرار کل برنامه از ابتدا به آسانی اجرای يک وصله  (patch)بصورت دستی در مجموعه ای از ماشین های مجازی خواهد بود.
 در اين مثال، ماهیت انتزاعی تصاوير ماشین مجازی، با تغییر مسئله به مجموعه ای از اجزای استاندارد که بتوانند به سرعت برای استقرار يک برنامه استفاده شوند، از بکارگیری يک رويکرد ترکیبی برای توسعه برنامه پشتیبانی کرده است. در اين مدل، نیازهای سازمان می تواند بدون صرف زمان برای خريد، نصب، کابل کشی و پیکربندی سرورها، شبکه و ... به سرعت برآورده شود.

سرویس ها در شبکه ارائه می شوند

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

نقش نرم افزارهای کدمتن باز

نرم افزارهای کدمتن باز نقش مهمی را در رايانش ابری فراهم می کنند. به کمک اين ابزارها می توان اجزای اصلی نرم افزاری –ماشین های مجازی و ابزارهای مجازی- را ايجاد کرد. استفاده از نرم افزارهای کدمتن باز تاثیر بسیاری زيادی بر روی موارد زير خواهد داشت:
  • برای مثال توسعه دهندگان می توانند يک ابزار پايگاه داده شامل نرم افزار MySQL در سیستم عامل OpenSolaris ايجاد کنند و آن را سفارشی کنند (شکل 2-2 ) ابزارهايی نظیر اين امکان ايجاد، نصب، استقرار و مقیاس پذيری بر حسب تقاضای برنامه های کاربردی ابری را فراهم می کنند.
  • مونتاژ و کنارهم قرار دادن اجزای کدمتن باز برای ايجاد يک برنامه بزرگ و در نتیجه ايجاد اجزای کدمتن باز بزرگتر با سهولت بیشتری امکان پذير است. اين موضوع اهمیت نرم افزار کدمتن باز را بیشتر نشان می دهد. 
     
در این مثال یک ابزارپایگاه داده با استفاده از MySQL در OpenSolaris ایجاد شده است.


تهیه کننده : ابرسیگما (خرید سرور ابری امن و خدمات ابری خصوصی و عمومی cloud computing رایانش ابری)
كلمات كليدی: رایانش ابری

 
امتیاز دهی
 
 

نظر شما
نام
پست الكترونيک
وب سایت
متنی که در تصویر می بینید عینا تایپ نمایید
نظر
مقالات مرتبط

SIGMACloud

1397/12/18 شنبه

SIGMACloud

ابرسیگما یکی از خدمات شرکت دانش بنیان شرکت سیگما در زمینه سرویسهای ابر عمومی میباشد. سیگما دارنده رتبه 1 شورای عالی انفورماتیک با 16 سال سابقه فعالیت در حوزه فناوری اطلاعات میباشد. سرویسهای cloud ابرسیگما شامل IaaS PaaS DaaS VPC DNSaaS LBaaS FWaaS VPNaaS DBaaS و Cloud storage میباشد.