مقاله:استاندارد خدمات وب برای رایانش ابری

از OCCC Wiki
نسخهٔ تاریخ ‏۲۳ آوریل ۲۰۱۵، ساعت ۰۵:۱۷ توسط Mehrnaz (بحث | مشارکت‌ها) (صفحه‌ای جدید حاوی «==web services standards for Cloud== ===چکیده=== این تحقیق جهت ارایه در کنفرانس جامعه آزاد رایا...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

web services standards for Cloud

چکیده

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

فصل اول:مقدمه ای بر استاندارد های ابری

مقدمه ای بر استاندارد های ابری

استاندارد ها برای محیط های رایانش ابری اهمیت زیادی دارند و امکان اتصال به ابر، توسعه و ارائه محتوا را فراهم می کند. رایانش ابری و SOA هردو یک سازمان با یک فرصت مناسب برای انتخاب استانداردهای رایج و مشترک برای قابلیتهای در دسترس شبکه را فراهم میکنند. SOA یک مجموعه نسبتا بالغ شده ای از مجموعه استاندارد هایی که با سرویسهای نرم افزار پیاده سازی ، مانند REST ، SOAP ، و WSDL در میان بسیاری دیگر را داراست. رایانش ابری بالغ نیست (کامل نیست) ، و بسیاری از اینترفیسهای ارائه شده به یک فروشنده خاص منحصربفرد (یونیک) هستند ، درنتیجه خطر ابتلا به فروشنده قفل (vendor lock-in) افزایش میابد. سیمون واردلی مینویسد : توانایی سوییچ بین ارائه دهندگان، بزرگترین نگرانیهای ناشی از استفاده مثل ارائه دهندگان سرویس ، عدم یافتن منابع گزینه های دوم و ترس از فروشنده قفل در (vendor lock-in) برتری میابد (و نقاط ضعف متعاقب آن در کنترل استراتژیک و عدم رقابت قیمت گذاری) . این احتمال وجود دارد که در طول زمان ارائه ها (Offerings) در هر لایه در پشته همگن تر شود. واردلی در ادامه مینویسد : محاسبات پشته ، از برنامه هایی که ما مینویسیم ، به پلتفرم هایی که ما ایجاد میکنیم ، برای سیستم عامل هایی که ما استفاده میکنیم درحال حاضر از یک محصول به اقتصاد مبتنی بر سرویس حرکت میکند. این شیفت (تغییر – انتقال) به سمت سرویسهایی که به استانداردسازی سفارشات کمتر (lower orders) از محاسبات پشته اجزای ارائه دهنده اینترنت، رهبری میشود.

تلاش ها و فعالیت های انجام شده در حوزه استانداردهای رایانش ابری

بسیاری از پروژه های ابری که وجود دارد شاید بیش از حد هستند. برخی از این پروژه ها در بخشهای استانداردسازی از یک سولوشن رایانش ابری مانند حجم کار (workloads) ، احراز هویت و دسترسی به داده ها تمرکز میکنند. تلاشهای دیگر در چگونگی استاندارد سازی قسمت هایی که باید باهم بعنوان یک راه حل کار کنند، تمرکز میکنند. استانداردهای ابر هماهنگ Wiki یک لیستی از این پروژه ها را حفظ میکنند.

1. HTML/XML 2. WSDL/SOAP 3. SAML/XACML 4. OAuth/OpenID 5. OData 6. OVF 7. OpenStack 8. CAMP 9. CIMI 10. ODCA – SuoM 11. SCAP 12. ISO 27001 13. ITIL 14. SOC 15. Tier Certification 16. CSA CCM


درحالیکه این لیست کامل نیست ، نشانه هایی از تنوع ، تعداد و همپوشانی از پروژه های مربوط فعلی با استانداردها را برای ایجاد قابلیت همکاری رایانش ابری فراهم میکند.

استاندارد سازی برای کاهش پیچیدگی

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

== چهار دسته کلی استاندارد ها

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

ارتباطات

رایانه ها نیاز به روشی دارند که بتوانند با همدیگر صحبت کنند. ارتباطات را می توانید همانند صحبت کردن از طریق تلفن با یک شخص دیگری که فارسی صحبت نمی کند و شما متوجه زبان آن نمی شوید در نظر بگیرید. بنابراین راهی برای فهمیدن همدیگر ندارید. شاید بتوانید بعضی کلمات را حدس بزنید، اما در کل مکالمه پیش نمی رود. در رایانه ها هم موضوع از همین قرار است. البته اگر زبان آنها مشترک نباشد، حتی یک کلمه را هم نمی توانند تشخیص دهند. بنابراین بدون زبان مشترک، ارتباط برقرار نمی شود. • Hypertext Transfer Protocol, HTTP: برای دریافت یک صفحه وب از سرویس دهنده ابری، معمولا از پروتکل HTTP استفاده می شود که یک مکانیزم برای انتقال داده بین ابر و سازمان شماست. • Extensible Messaging and Presence Protocol, XMPP: این پروتکل یکی از رویدادهای بزرگ در خصوص رایانش ابری می باشد. پروتکل XMPP امکان ارتباط دو طرفه را فراهم کرده و نیاز به عملیات Polling را بر طرف کرده است.

امنیت

امن کردن session های ابر از آن جهت مهم است که بسیاری از شرکت ها علاقمند شده اند تا وارد ابر شوند. امن کردن session های ابر می توانند از طریق رمز نگاری و احراز هویت انجام شود. روش های رمز نگاری رایج در همه مرورگرها بصورت استاندارد انجام می شود. احراز هویت موضوع دیگری است که گزینه های مختلفی در پیش روی شماست. • Secure Sockets Layer, SSL: ssl تکنولوژی امنیتی استاندارد برای برقراری یک اتصال رمز شده بین یک سرور وب و مرورگر است. به کمک آن می توان اطمینان حاصل کرد که داده های ارسال شده بین مرورگر و سرور وب، امن باقی می ماند. و از این روش به طور گسترده برای رمزنگاری مورد استفاده قرار می گیرد. • OpenID: Openid یک راه حل کد متن باز برای مشکل نیاز به نام کاربری و کامه عبور واحد دسترسی به سایت های مختلف است، بنابرای پیمایش در وب را تسهیل می کند. و یکی از روش های احراز هویت می باشد.

زیر ساخت

مجازی سازی راهی برای ایجاد زیرساخت در محیط رایانش ابری است. در نتیجه تلاش های VMware و دیگر شرکای صنعت مجازی سازی، یک استاندارد به نام Open Virtualization Format, OVF توسعه داده شد. OVF تعیین می کند که چگونه ابزار های مجازی بتوانند در یک فرمت مستقل از فروشنده قرار بگیرند تا در هر فوق ناظری اجرا شوند. این یک فرمت مستقل از یکو، قابل توسعه و باز برای بسته بندی و توزیع ابزار های مجازی است که از یک یا چند ماشین مجازی تشکیل شده است. OVF به مشتریان و توسعه دهندگان امکان انتخاب هر فوق ناظری را بر اساس قیمت، ترجیحات یا کارآیی می دهد و از قفل شدن در یک فروشنده جلوگیری می کندو این استاندارد بسته بندی و توزیع برای ابزار های مجازی در افزایش سرعت پذیری ابزار های مجازی نقش مهمی ایفا می کند.

سرویس

یک سرویس وب، طبق تعریف W3C ، یک سیستم نرم افزاری است که برای پشتیبانی از تعامل های متقابل ماشین به ماشین در شبکه طراحی شده است. در رایانش ابری نیز اجزای مختلف می توانند از طریق سرویس های وب در دسترس قرار بگیرند. سرویس های وب معمولا API های وبی هستند که از طریق شبکه هایی نظیر اینترنت قابل دسترسی هستند و روی یک سیستم راه دور که میزبان سرویس های درخواست شده است، اجرا می شوند. در این بخش در خصوص چند نمونه از سرویس های وب رایج نظیر REST، SOAP، JSON صحبت می کنیم. داده: داده می تواند با استفاده از مکانیزم ها و ساختارهای مختلفی مورد استفاده قرار بگیرد. دو نمونه از رایج ترین آنها JSON و XML می باشد. هر دوی این ها بر اساس استاندارد های پیش رو در صنعت –HTML و جاوااسکریپت- هستند که برای کمک به ارائه و استفاده از داده مورد استفاده قرار می گیرند. • JavaScript Object Notation, JSON یک قالب سبک رایانه ای برای تبادل داده ها است. از این فرمت برای ارسال داده های ساخت یافته در شبکه استفاده می شود. این فرمت معمولا می تواند به عنوان یک روش دیگر مشابه با XML مورد استفاده قرار بگیرد. اصول JSON یک فرمت مستقل از زبان است و کد های مورد نیاز برای تحلیل و تولید آن در چندین زبان برنامه نویسی مختلف موجود است. همین موضوع باعث شده است که وقتی در تبادل داده با جاوا اسکریپت در گیر هستیم، بتوان آن را به عنوان یک جایگزین خوب بجای XML استفاده کرد.

• Extensible Markup Language, XML یک زبان استاندارد و روشی خود تعریف برای کد کردن متن و داده است به طوری که محتوا با کمترین تعامل انسانی قابل دسترسی و قابل مبادله در بین طیف مختلف سخت افزارها، سیستم عامل و برنامه های کاربردی باشد. XML روشی استاندارد برای ارایه متن و داده در فرمتی که بتواند مستقل از پلت فرم استفاده شود، فراهم آورده است. همچنین می تواند با طیف گسترده ای از ابزار های توسعه و برنامه نویسی و ابزار های دیگر مورد استفاده قرار بگیرد. سرویس های وب تعیین می کنند که داده چگونه از ایر به کلاینت ارسال شود. پروتکل های مختلفی در این رابطه وجود دارند که تعدادی از آنها را بررسی خواهیم کرد. به طور کلی SOAP و REST بهترین گزینه ها برای نیاز های ابری هستند.