نسخه آنلاین کتاب «رایانش ابری» — چاپ اول، بهار ۱۳۸۹
مفاهیم بنیادین، معماری، مجازیسازی، استانداردها، مقیاسپذیری و امنیت رایانش ابری، با حفظ شکلها، جدولها و پانویسهای متن اصلی.
سیستمهای محاسباتی بطور گستردهای در حال کامل شدن هستند تا بتوانند پاسخگوی نیازهای بشر در مسائل و کاربردهای مختلف علمی، تجاری، اجتماعی و ... باشند. این تکامل در ابعاد مختلفی صورت گرفته است. قدرت و توان محاسباتی و پردازش اطلاعات، ظرفیت ذخیرهسازی اطلاعات، دردسترسپذیری بیشتر منابع و ... از ابعاد مختلف تکامل سیستمهای محاسباتی محسوب میشود. رایانش ابری یکی از رویکردهای جدید محاسباتی است که در چند سال اخیر مورد توجه بسیار قرار گرفته است و بطور فزایندهای در حال گسترش است. اما در خصوص شناخت صحیح این سیستم محاسباتی بعنوان یک فناوری جدید و جایگاه آن در بین دیگر فناوریهای محاسباتی ابهامات زیادی وجود دارد.
افرادی که در زمینه رایانش ابری فعالیت دارند، به دلیل اینکه از حوزههای مختلف IT نظیر نرمافزار، پایگاهداده، شبکه و ... وارد آن شده اند، دارای دیدگاههای مختلفی در مورد آن هستند که همین موضوع سبب ایجاد تعاریف و رویکردهای مختلف در مورد رایانش ابری شده است. به همین دلیل افرادی که مطالعه در این زمینه را آغاز میکنند، در صورتی که چندین منبع یا مقاله مختلف را مطالعه کنند، با ابهامات و تعاریف مختلفی مواجه میشوند که ممکن است در بسیاری از موارد این تعاریف قابل جمع شدن با همدیگر نباشند. خصوصا در زمانی که لایه های مختلف رایانش ابری مورد بررسی قرار میگیرد، برقراری ارتباط بین تعاریفی که از این لایه ها میشود با همدیگر بسیار چالش برانگیر خواهد بود.
در این کتاب ما سعی کردیم پس از یک مطالعه گسترده در بین منابع و کتب مختلفی که در زمینه رایانش ابری منتشر شده است، ضمن ارائه انواع مختلف تعاریف و معماری هایی که برای رایانش ابری ارائه شده است، شکل صحیح ارتباط بین آنها را بیان کنیم تا ابهاماتی که در این زمینه وجود دارد برای خواننده گرامی رفع گردد. لذا در این اثر ما سعی داریم ضمن بررسی و تشریح کامل این فناوری، به بررسی دقیقتر نکات فنی، خدمات ارائه شده، مشکلات پیش رو، مسائل امنیتی و ... بپردازیم. البته لازم به ذکر است که در این نگارش از کتاب، ما تمرکز خود را بیشتر بر روی لایه های زیرساخت و سرویس که عمده مباحث رایانش ابری مربوط به آنها میباشد قرار دادهایم.
امید است که در این کار پژوهشی که در حال حاضر نگارش اول آن در اختیار شما قرار گرفته است، توانسته باشیم گام موثری در معرفی صحیح فناوری رایانش ابری برداشته باشیم و شاهد کاربردهای سازنده آن در ارتقای سطح علمی کشور عزیزمان ایران در هر دو بعد تئوری و عملی باشیم.
هر فصل در صفحهای جداگانه باز میشود؛ فهرست کتاب در کنار متن و دکمههای فصل قبل و بعد در پایان هر فصل است.
در بخش «جستجو» عبارت مورد نظرتان را بنویسید؛ نتایج با عنوان بخش و بخشی از متن نمایش داده میشوند.
شکلها و جدولها در همان جایی از متن قرار دارند که در کتاب اصلی آمدهاند.
با کلیک روی شماره پانویس، متن آن همانجا نمایش داده میشود؛ فهرست کامل در پایان هر فصل است.
با دکمه تم در نوار بالا میتوانید حالت نمایش صفحه را تغییر دهید.
کتاب در نه فصل بههمراه ضمائم تنظیم شده است
عبارت مورد نظر را وارد کنید تا بخشهای مرتبط نمایش داده شوند
سیر تکاملی محاسبات بهگونهای است که میتوان آن را پس از آب، برق، گاز و تلفن بهعنوان عنصر اساسی پنجم فرض نمود. در چنین حالتی، کاربران سعی میکنند بر اساس نیازهایشان و بدون توجه به اینکه یک سرویس در کجا قرار دارد و یا چگونه تحویل داده میشود، به آن دسترسی یابند. نمونههای متنوعی از سیستمهای محاسباتی ارائه شده است که سعی دارند چنین خدماتی را به کاربران ارئه دهند. برخی از این سیستمهای محاسباتی عبارتند از: محاسبات کلاستری1، محاسبات توری2 و اخیراً محاسبات انبوه3 که از آن به عنوان رایانش ابری نیز یاد میشود. محبوبیت این سه رویکرد محاسباتی، از دید موتور جستجوی گوگل مورد ارزیابی قرارگرفته است که نتیجهی آن در شکل 1-1 نمایش داده شده است و حاکی از آن است که محبوبیت رایانش ابری، پس از ظهور مفاهیم اولیه آن در سال 2007، با فاصله زیادی نسبت به سایر رویکردهای محاسباتی در حال افزایش است.

دنیای محاسبات بهسرعت بهسمت توسعه نرمافزارهایی پیشمیرود که بهجای اجرا بر روی رایانههای منفرد، بهعنوان یک سرویس در دسترس میلیونها مصرفکننده قرار داده میشوند[1]. از این نقطه نظر، محاسبات انبوه (رایانش ابری) از دید کاربران نهایی ساختاری شبیه به یک توده ابر دارد که بهواسطه آن میتوانند به برنامههای کاربردی از هرجایی از دنیا دسترسی داشته باشند.
اما محاسبات انبوه از دید فرآهم کنندگان منابع زیرساخت، میتواند با کمک ماشینهای مجازی4 شبکهشده، بهعنوان یک روش جدید برای ایجاد پویای نسل جدید مراکز داده، مورد استفاده قرارگیرد تا بتوانند یک زیرساخت قابل انعطاف برای ارائه انواع مختلف خدمات محاسباتی و ذخیره سازی در اختیار داشته باشند.
در رویکرد اول (رایانش ابری از دید ارائه سرویس و برنامههای کاربردی) تلاش بر این است که خدمات اینترنتی بصورت یک رایانه واحد در اختیار تمام کاربرانی که به آن متصل هستند قرار بگیرد و تکنولوژیهایی نظیر وب2 از عوامل مهم در نیل به این هدف هستند. در این رویکرد جدید، میتوان از لایههای مختلف و قابل انعطاف ارائه شده در ابر استفاده کرد و خدماتی را فراهم آورد که بتوان در سایتهای مختلف به اشتراک گذاشت. به این ترتیب که مثلا اطلاعات میتواند بین سایتها به اشتراک گذاشته شود و فایلی که در یک سایت قرار داده شده است به راحتی در یک سایت دیگر قابل دسترسی باشد. در حقیقت حرکت در ابر به سمتی پیش میرود که دیگر برای کاربر فرقی نمیکند در حال استفاده از کدام سایت است. بلکه کاربر کل اینترنت را همانند یک رایانه شخصی در خدمت خود مشاهده میکند(شکل 1-2). مصداقهای بسیار زیادی از این روند در حال حاضر قابل مشاهده است. برای مثال کاربر میتواند کلیپی را در سایت Youtube مشاهده نموده و آن را در یک سایت دیگر مثلا Facebook به اشتراک بگذارد.

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

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

بنابراین رایانش ابری5 از دید زیرساخت، بهگونهای سیستمهای توزیعشده و موازی اطلاق میگردد که مجموعهای از رایانههای مجازی را که به یکدیگر متصل هستند شامل میشود. این رایانهها بطور پویا عرضه شده و بهعنوان یک یا چند منبع محاسباتی یکپارچه براساس توافقات سطح سرویس ارائه میشوند. این توافقات در طول انجام مذاکرات سرویسدهندگان و مصرفکنندگان برقرار میگردند. رایانش ابری سعی دارد نسل جدیدی از مراکز دادهای را، با ارائه کردن سرویسها و خدمات در ماشینهای مجازی شبکه شده بهصورت پویا، بهگونهای ممکن سازد که ارائهدهندگان خدمات کاربردی بتوانند سرویسها و برنامههای کاربردی را با انعطافپذیری و سهولت بیشتری ارائه کنند و کاربران نیز بتوانند از هر جایی از دنیا به برنامههای کاربردی دسترسی داشته باشند.
در تکنولوژی رایانش ابری، کاربران میتوانند از طریق ابزارهای مختلف (نظیر رایانههای شخصی، رایانههای همراه، تلفن همراه و PDA) به برنامهها، فضاهای ذخیرهسازی، پردازش و حتی سکوهای توسعه برنامههای کاربردی در اینترنت، از طریق سرویسهای ارائه شده توسط رایانش ابری، دسترسی داشته باشند. به این ترتیب منابع بهجای قرارگیری در سمت کاربر، در سمت سرورها قرار میگیرد. خدمات فراهم شده از طریق رایانش ابری از نوع Utility Computing است و به این معناست که خدمات مورد استفاده مشتریان در سرورها عرضه میشود و پرداختها در آن همانند سایر خدمات عمومی (برق، آب، تلفن و ...) بر اساس سطح استفاده افراد انجام میشود. همانطور که در شکل 1-5 نشان داده شده است، تحقیق بازار انجام شده حاکی از آن است که هزینه سرویسهای رایانش ابری از 16 میلیارد دلار در سال 2008 به 42 میلیارد دلار در سال 2012 رشد خواهد کرد.

یک مثال معمول و ساده برای رایانش ابری مربوط به محاسبه و پرداخت هزینههای آب، برق و تلفن است. شرکتی برای محاسبه و صدور صورتحساب و دریافت آن از مشتریان، ممکن است از نرمافزارهای خاصی استفاده کند. مثلا نرمافزاری را تهیه و روی سیستم خود نصب کند و همراه آن، سختافزارهای لازم را نیز تهیه کرده و هزینههای نگهداری و ارتقا را بپردازد. اما روش دیگر میتواند به این صورت باشد که یک شرکت دیگر این نرمافزار را روی سرور خود قرار دهد و نسبت به نگهداری و توسعه آن اقدام کرده و همواره سعی در بهره برداری از فنّاوری روز دنیا برای نگهداری و توسعه نرمافزارهایش داشته باشد. در این شرایط تمام سازمانهایی که نیاز به صدور صورتحساب و دریافت مبلغ از مشتریان را دارند، از طریق ارتباط با این نرمافزار و استفاده از منابع موجود روی سرورهای ارائه شده، عملیات خود را انجام میدهند. پرواضح است که سازمانهای استفادهکننده از این امکانات، هیچ مسئولیتی در قبال نگهداری سختافزار و نرمافزار و منابع مربوط به این سیستم را نخواهند داشت و تنها از سرویسدهنده (سرور) خود انتظار دارند که بهترین خدمات را بهصورتی کاملا مطمئن ارائه کند، و در قبال استفاده از این خدمات مبلغی را به او پرداخت میکنند. این یک نمونهی کاملا کاربردی از تکنولوژی رایانش ابری است. حضور گسترده و روزافزون شرکتهای بزرگی نظیر Microsoft، Google، Amazon، Sun و... در عرصه رقابتی رایانش ابری، نشان از توسعه سریع و تسلط اینگونه از محاسبات در دنیای فنّاوری اطلاعات دارد. یکی از مزایای مهمی که معماری رایانش ابری برای توسعهدهندگان آن فراهم کرده است، امکان برپایی تودههای ابر در مکانهایی از سطح جهان است که از نظر هزینه مکان و مصرف برق مقرون بصرفهتر هستند. این کار موجب فراهم آمدن امنیت بیشتر در خصوص سوانح طبیعی که ممکن است در یک منطقه خاص رخ دهد میشود و امکان تعدیل ترافیک و بار سیستم برای انجام پرسوجوها در کلاسترهایی که از نظر فیزیکی به کاربر نزدیکتر هستند را نیز فراهم میکند[3].
محققان و متخصصانی که در زمینه رایانش ابری فعالیت میکنند از قبل دارای دیدگاههای مختلفی در زمینههای محاسبات توری، مهندسی نرمافزار، پایگاهداده و ... بودهاند و بنابراین هر کدام بر روی رایانش ابری از دیدگاه خود کار میکند و این یکی از علل عدم وجود یک دیدگاه مشترک نسبت به رایانش ابری است[4]. در حال حاضر رایانش ابری از ابعاد مختلف موضوع بسیار بحثبرانگیزی است. از این رو، محققان زیادی به بررسی ابعاد آن پرداختهاند. تکنیکهای مجازیسازی و تکنولوژیهای اتوماسیون بر روی بهبود این خدمات تمرکز کردهاند. ما اطلاعات و برنامههایی داریم که لازم است همیشه در دسترس باشند، به این ترتیب میتوانیم در ابر قرار بگیریم و آن چیزی که در ابر قرار میدهیم، بطور فراگیر، پایدار و برای همیشه آنجا خواهد بود[5]. ما میتوانیم ابرها را بکار بگیریم تا تکنولوژی را در اختیار افراد و گروههای وسیعتری قرار دهیم. حتی افرادی که احتماً از تکنولوژی بدلیل پیچیدهبودن یا گرانبودن آن استفاده نمیکنند.
یکی از تأثیرهای توده ابری زمانی است که کاربران شما از 2500 به 30000 میرسند، هر ساعت هزاران کاربر به آن اضافه میشوند و رایانش ابری بر حسب حجم تقاضایی که دارید به شما پاسخ میدهد. ابر میتواند موقعیت خوبی را برای نوآوران و کارآفرینان ایجاد کند تا بتوانند در بازار، ویژگیهای جدید را آزمایش کنند[5]. هر کس که ارزش یک پیشنهاد با قیمت متغییر را بداند میتواند از مزایای ابر استفاده کند. نهایتا اینکه مجازیسازی ما را به جایی خواهد رساند که ما به هیچ وجه دادههای محرمانه یا شخصی را از دست نخواهیم داد، حتی اگر سیستمعامل با مشکل مواجه شود.
در [6] از رایانش ابری بهعنوان یک مفهوم جدید در تکنولوژی و تجارت یاد شده است که برای افراد مختلف معانی مختلفی دارد. برای کاربران برنامههای کاربردی به مفهوم ITaaS 6 شناخته میشود که امکان ذخیرهسازی، محاسبه و استفاده از برنامههای کاربردی را از طریق اینترنت فراهم میکند. برای توسعهدهندگان وب یک سکوی توسعه نرمافزار و محیط اجرای نرمافزار در مقیاس اینترنت بهحساب میآید؛ و برای مدیران و فراهمکنندگان ارتباطات زیرساخت، مانند یک زیرساخت مبتنی بر مراکز دادهای7 توزیعشده و عظیم میباشد که از طریق شبکه به هم متصل هستند.
در نتیجه مقایسه کاملی که بین رایانش ابری و محاسبات توری در [7] به عمل آمده است گفته شده است که این دو ویژگیهای مشترک زیادی در دیدگاه، معماری و تکنولوژی دارند اما در مواردی نظیر امنیت، مدل برنامهنویسی، مدل تجاری، مدل محاسباتی، مدل داده و کاربردها با هم متفاوت هستند. همچنین به لزوم وجود پروتکلی برای کاربران و سرویس دهندگان برای کشف سرویسها، مذاکره در خصوص خدمات، مانیتور کردن و مدیریت خدمات و نیز پرداخت اشاره شده است. در [8] مقایسه دیگری بین دیدگاههای مختلف محاسباتی از یک بعد متفاوت انجام شده است و در آن نشان داده است که رایانش ابری در برخی از ویژگیها با محیطهای سرویسگرا و در برخی از ویژگیها با محاسبات فراگیر مشابهت دارد. مثلا ویژگیهای ورودی/خروجی آن مشابه محیطهای سرویسگرا است و مشخصههای ذخیرهسازی آن مشابه محاسبات فراگیر است؛ و از نظر پردازش و روش محاسبات هر سه مشابه هم هستند.
لایهها و اجزای رایانش ابری در مقالات متعددی ارائه شده است که تا حدودی با هم متفاوت هستند. مثلا در [6] یک معماری 3 لایهای و در [7] یک معماری 4 لایهای ارائه شده است ولی کاملترین این معماریها در [9] مشاهده شده است، که بطور مجتمع تمام معماریهای قبل را دربر دارد (شکل 1-6).

این معماری دارای 3 لایه اصلی است و لایه زیرساخت خود میتواند یکی از سه زیرلایه مشخص شده باشد. در این معماری بخش CaaS تقریباً برای اولین بار مطرح شده است که در سایر مقالات درباره آن مطلبی ارائه نشده بود و اشاره دارد به برخی قابلیتهای ارتباطی که از طریق تودههای ابری فراهم شده است.
یکی از تکنولوژیهای مورد استفاده در رایانش ابری، مجازیسازی است. مجازیسازی این امکان را فراهم میآورد که بتوان در یک رایانه یا سرور بطور همزمان چندین سیستمعامل، یا چندین بخش مختلف از یک سیستمعامل را اجرا کرد. همچنین باعث تسهیل مقایسپذیری و انعطافپذیری در ایجاد و سرهم کردن منابع مورد نیاز مشتری میشود که ممکن است بطور موقت یا در شرایط خاص (مثلا در زمانهای اوج مصرف) انجام شود. یک ایستگاه مجازی شکلی انتزاعی و مجزا شده از یک محیط اجرا است که میتواند بهصورت پویا و از طریق پروتکلهای مشخص در دسترس یک کاربر مجاز قرار بگیرد. در این ایستگاه مجازی میتوان منابعی نظیر میزان پردازنده و یا حافظه را بهشکل دلخواه اختصاص داد و یا تنظیمات نرمافزاری مشخصی را انجام داد[3]. هر ایستگاه مجازی تحت عنوان یک تصویر8 قابل ایجاد و مدیریت است.

اگرچه هنوز تعریف استانداردی از رایانش ابری وجود ندارد، اما میتوان گفت که ابرها یا کلاسترهایی از رایانههای توزیعشده، منابع و خدمات را بر حسب تقاضا در یک شبکه (خصوصا اینترنت) فراهم میآورند. برای شناخت بهتر ابرها و رایانش ابری، ما باید ابتدا دو نوع مختلف از ابرها را بشناسیم [10]:
تودههای ابری که نمونههای محاسباتی را فراهم میکنند و بهگونهای طراحی شدهاند که با افزایش تعداد نمونههای محاسباتی، قابلیت مقیاسپذیری دارند.
تودههای ابری که ظرفیت محاسباتی را فراهم میآورند و با ایجاد مقیاسپذیری در ظرفیت، برای پشتیبانی از برنامههای کاربردی استفاده میشوند.
خدمات EC2 آمازون9 نمونههایی از گروه اول میباشد. یک نمونه محاسباتی EC2 هزینهای در حدود 0.1 دلار در ساعت دارد و توان محاسباتی در حدود 1.0- to 1.2-GHz پردازشگر Opteron یا Xeon با 1.7 Gbytes حافظه و 160 Gbytes دیسک سخت و امکان مدیریت عملکرد I/O را فراهم میآورد. از نمونههای کدمتن باز هم میتوان به Eucalyptus10 اشاره کرد که نمونههای محاسباتی بر حسب تقاضا را فراهم میکند و واسط API11 مشابه توده ابری EC2 آمازون دارد.
از نمونه سیستمهای گروه دوم میتوان به Google’s MapReduce اشاره کرد. سیستم MapReduce که شمایی از عملکرد آن در شکل 1-8 نشان داده شده است، یک چهارچوب نرمافزاری برای پشتیبانی از محاسبات توزیعشده بر روی مجموعههای عظیم داده موجود در کلاسترهای رایانهای میباشد. سیستم Hadoop12 از محصولات کدمتن بازی است که MapReduce را پیادهسازی کرده است.

از تودههای ابری که نمونههای محاسباتی را بر حسب تقاضا فراهم میکنند، میتوان برای عرضه خدماتی نظیر SaaS 13 یا PaaS 14 استفاده کرد؛ که از نمونه اول خدمات salesforce.com و از نمونه دوم خدمات Amazon’s EC2 قابل ذکر است.
جهتگیریهایی که امروزه بر روی رایانش ابری انجام میشود بخاطر سه ویژگی اصلی و متمایز آن است[11]:
مقیاس: که امکان توسعه زیرساخت را در سطح چندین مرکز داده فراهم میکند.
سادگی: برخلاف روشهای توزیعشده قبلی که نوشتن کد برای بازدهی بالا پیچیدگی زیادی بهمراه داشت، در رایانش ابری از یک سری API استفاده میشود که این کار را نسبتاً سادهتر کرده است.
قیمتگذاری: در ابر از مدل pay as you go استفاده میشود. یعنی همانطور که قبلا نیز اشاره شد، فقط برای سرویسهای موردنیاز پرداخت انجام میشود. مثلا میتوانیم 1000 نمونه محاسباتی را برای مدت یک ساعت خریداری کنیم و هزینه استفاده از این 1000 نمونه را فقط بهازای همان یک ساعت پرداخت کنیم.
ابرخصوصی به ابری گفته میشود که برای استفاده اختصاصی و داخلی یک سازمان ایجاد شده است و ممکن است توسط خود سازمان یا یک شرکت ثالث ایجاد شده باشد. در مقابل آن ابر عمومی وجود دارد که تحت عنوان Hosted Cloud نیز شناخته میشود و توسط یک سازمان ایجاد شده و خدمات ابری را برای مشتریان مختلف با استفاده از منابع موجود در یک ابر یکسان فراهم میآورد. خدمات گوگل نظیر GFS، MapReduce و BigTable در زمان نوشته شدن این کتاب بخشی از خدمات ابر خصوصی گوگل هستند و برای گروههای دیگر در دسترس نیستند. البته گوگل از این ابرهای خصوص خود برای فراهم آوردن برنامههای کاربردی ابری عمومی برای کاربران، نظیر ایمیل یا آفیس استفاده میکند. در مقابل، سرویسهای EC2 آمازون و SimpleDB از جمله سرویسهای ابر عمومی هستند.
خدمات رایانش ابری معمولا دارای مدل مبتنی بر استفاده17 هستند که در آن پرداخت فقط بازای منابعی که استفاده میشود انجام میگیرد. در صورتی که نیاز به منابع بیشتری داشته باشید، تا حد ظرفیت ابر میتوانید دریافت کنید. به این ویژگی دریافت منابع بیشتر در صورت نیاز، Elastic یا Utility Computing نیز گفته میشود. خدمت S3 و EC2 آمازون از این مدل قیمتگذاری استفاده میکنند. انواع روشهای قیمتگذاری در [11] بررسی شدهاست. از مزایای این نوع قیمتگذاری میتوان به عدم نیاز به سرمایهگذاری اولیه و دسترسی به ظرفیت مورد نیاز در زمان نیاز اشاره کرد. این مزایا باعث میشود که از یک سو تنها وقتی نیاز احساس شد سرویس را تقاضا کرد و از سوی دیگر بتوان یک روز از 100 کاربر و روز دیگر از 10000 کاربر پشتیبانی کرد. بهعنوان مثال فرض کنید شما نیاز به 100 سرور برای 3 سال دارید. یک روش این است که هر کدام از آنها را ساعتی 0.4 دلار اجاره کنید که تقریبا هزینهای به این شکل خواهد داشت[10]:
100 servers * $0.40 instance-hour * 3 years * 8,760 hours/year = $1,051,200
حال فرض کنید که هر سرور را به قیمت 1500 دلار خریداری کنید. به این ترتیب 2 نفر برای مدیریت و نگهداری شبکه نیاز دارید که فرض میکنیم سالیانه 100000 دلار دستمزد بگیرند. هر یک از سرورها 150 وات مصرف میکنند که با هزینه 0.1 دلار بازای هرکیلووات، سالیانه برای این 100 سرور 13140 دلار خواهد شد. به این ترتیب خواهیم داشت:
100 servers * $1,500 + 3 years * $13,140 electricity/year + 3 years * 2 staff * $100,000 salary/year = $789,420
پس اگر قرار باشد که در طول این مدت، از 100 درصد توان سرورها استفاده کنید، خرید 100 سرور مناسبتر خواهد بود. ولی اگر از کمتر از 75 درصد توان سرورها استفاده کنید، استفاده از مدل برحسب تقاضا مناسبتر خواهد بود. چرا که در این صورت هزینه اول حداقل به میزان 25 درصد کاهش خواهد یافت:
$1,051,200 * 0.75% = $788,400
البته لازم به ذکر است که اینها فقط تخمین هستند و همه هزینهها درنظر گرفته نشده است و در اینجا این اعداد و ارقام فقط برای نشان دادن تفاوت در نحوه محاسبه هزینهها در مدل بر حسب تقاضا نسبت به روش سنتی ارائه شده است.
در حال حاضر شرکتهای مختلف پیشرو در زمینه رایانش ابری، در حال توسعه زیرساختها و سکوهای محاسباتی خود هستند تا بتوانند خدمات مختلف سطح بالا برای محاسبات، ذخیرهسازی، پایگاهداده، برنامههای کاربردی (نظیر پستالکترونیکی، برنامههای آفیس، مالی، چندرسانهای، دادهپردازی و...) را فراهم کنند[12]. اکثر این خدمات از مدل قیمتگذاری مبتنی بر استفاده پیروی میکنند. نمونهای از خدمات ارائه شده را در جدول 1-1 مشاهده میکنید.
جدول 1‑1‑ نمونه ای خدمات بر حسب تقاضای ارائه شده از طریق رایانش ابری
| محصول/شرکت | نوع خدمت | مدل قیمتگذاری | لایه خدمات ابری |
| Amazon EC2, EC3, SimpleDB, SQS, FPS, DevPay | محاسبات، ذخیرهسازی، پایگاهداده، پرداخت، صدور صورتحساب | مبتنی بر استفاده | زیرساخت/ سکو18 |
| Appian Anywhere | مدیریت فرآیند کسبوکار | مبتنی بر استفاده | کاربرد |
| Box.net | ذخیرهسازی | مبتنی بر استفاده | کاربرد |
| FlexiScale | زیرساخت | مبتنی بر استفاده | زیرساخت |
| Google App Engine | زیرساخت، کاربردهای وب | مبتنی بر استفاده | زیرساخت |
| Gmail Drive | ذخیرهسازی، پست الکترونیک | رایگان/ مبتنی بر استفاده | کاربرد |
| MuxCloud | پردازش فیلم، استفاده از Amazon's EC2 | مبتنی بر استفاده | کاربرد |
| Nirvanix | ذخیرهسازی | مبتنی بر استفاده | کاربرد |
| Network.com | زیرساخت | مبتنی بر استفاده | زیرساخت/ سکو |
| OpSource | صدور صورتحساب | عضویت | کاربرد |
| Process Maker Live | مدیریت فرآیند کسبوکار | مبتنی بر استفاده | کاربرد |
| Salesforce.com | سکو | مبتنی بر استفاده | سکو/ کاربرد |
| MS SkyDrive | ذخیرهسازی | رایگان | کاربرد |
| SmugMug | اشتراکداده (تصویر) | عضویت | کاربرد |
| StrikeIron | سرویسهای وب | عضویت/مبتنی بر استفاده | کاربرد |
| Xdrive | ذخیرهسازی | عضویت | کاربرد |
| Xcalibre | زیرساخت | عضویت | زیرساخت |
| Zimory.com | بازار | قیمتگذاری پویا | کاربرد |
آنچه که از رایانش ابری بهعنوان مزایا و معایب یاد میشود، تقریبا در همه مقالات یکسان است. مواردی نظیر کاهش هزینههای اولیه، موانع کمتر برای ورود به بازار و یا استفاده از خدمات، مقیاسپذیری بر حسب تقاضا، فراهمکردن خدمات در مقیاس مراکز داده، تضمین بهتر تداوم کسبوکار19، امنیت نسبی بیشتر و مدیریت بهتر حجم بالای داده بهعنوان مزایای اصلی آن یاد میشود. برخی از معایب آن نیز شامل مشکلات دسترسی راه دور، مشکلات ناشی از محدودیت پهنای باند، تأخیر، برخی مسائل امنیتی و فنی بخاطر اشتراک منابع یکسان بین مشتریان مختلف، دسترسی فراهم آورندگان خدمات ابری به دادهها و مسائلی از این قبیل را شامل میشود.
یکی از موضوعاتی که در خصوص برنامههای مبتنی بر ابر بسیار مورد بحث است، این است که بتوان به راحتی یک برنامه را از یک سرویسدهنده خدمات ابری، به سرویسدهنده دیگر منتقل کرد. مثلاً Amazon از یک سری API استفاده میکند که در حال حاضر به یک استاندارد غیررسمی تبدیل شده است و برنامههایی که از این APIها استفاده کنند با همدیگر قابلیت جابهجایی و قابلیت همکاری20 را خواهند داشت. مثلاً سیستم اکالیپتوس از این APIها استفاده میکند و برنامههایی که در سرویس EC2 آمازون اجرا میشوند میتوانند در این محیط نیز اجرا شوند.
اگرچه ممکن است هنوز برای ظهور یک استاندارد کامل خیلی زود باشد، ولی برخی سازمانها نظیر انجمن همکاری رایانش ابری21 و کنسرسیوم Open Cloud22 در حال کارکردن بر روی این موضوع هستند. در این بین اخیراً چهارچوبهای مبتنیبرسرویس به منظور ایجاد یک استاندارد مورد بحث قرارگرفتهاند که برای مثال میتوان Thrift23 را نام برد که یک چهارچوب نرمافزاری برای توسعه سرویسهای میان زبانی24 است.
آنچه که در شکل 1-9 مشاهده میشود، وضعیت توسعه 5 حوزه مختلف مرتبط با تکنولوژی رایانش ابری را نشان میدهد که در سال 2008 در جلسه تخصصی ICWS25 ارائه گردید[6]. ملاحظه میشود که برخی مباحث در ارتباط با هزینه، از قبیل مدلهای قیمتگذاری26 و یا مدل پرداخت pay-as-you-go از جمله مباحثی است که امروزه بسیار بر روی آنها کار شده است اما برخی موارد نظیر مشکلات حریم خصوصی، امنیت اطلاعات، کارآیی سیستم و قابلیت همکاری27 از مواردی هستند که هنوز باید کار بسیاری بر روی آنها انجام شود. یکی دیگر از موضوعات مطرح در رایانش ابری، بحث امنیت در داخل و خارج از توده ابر است که امروزه بسیار کم بر روی آن کار شده است. از سوی دیگر، سازمانها نیز بهمنظور بکارگیری خدمات ابری نیاز به تضمین امنیت کافی دارند تا داراییهای اطلاعاتی سازمانشان به مخاطره نیفتد.

در این بین سئوالات زیادی پیش میآید که باید سعی کنیم در راستای بکارگیری موثرتر فناوری رایانش ابری برای آنها پاسخ مناسب پیدا کنیم. هر یک از این سئوالات خود به تنهایی میتواند موضوع یک کار پژوهشی در این حوزه باشد:
چگونه در رایانش ابری، موجودیتها میتوانند بطور پویا به توده ابر متصل شوند؟ این کار در محیطهای سرویسگرا با ثبت سرویس جدید در انبارهی سرویسها انجام میشود. در محاسبات فراگیر یک موجودیت سیار میتواند از یک مکان به مکان دیگر حرکت کند و در محیطهای مختلف قرار بگیرد. بطور مشابه در رایانش ابری، موجودیتهای محاسباتی باید بتوانند بطور پویا به ابر متصل شوند. مثلاً وقتی یک مجموعه از ایستگاههای کاری و سرویسهای تجاری به ابر متصل میشوند، وضعیت دسترسی به موجودیتهای محاسباتی باید بطور کلی تغییر کند. چگونه یک برنامهی ابری میتواند از حضور موجودیتهای ناهمگن دیگر آگاه شود؟
چگونه رایانش ابری دادههای با حجم عظیم را ذخیره میکند و دوباره به آنها دسترسی پیدا میکند؟ یک موجودیت سیار در محاسبات فراگیر، معمولاً با محدودیت ذخیرهسازی مواجه است، بنابراین اغلب دادهها را در محیط اطراف ذخیره میکند. ظرفیت موجودیتهای ذخیرهسازی در هر ابر نیز بطور فیزیکی متناهی است. بنابراین یک ابر C1 ممکن است برای استفاده از موجودیتهای ذخیرهسازی بیشتر، بطور اشتراکی از ابر C2 کمک بگیرد. این اشتراک در موجودیتها منجر به توزیع دادهها در چندین ابر میشود. به هر حال کاربر از این توزیع داده آگاه نخواهد شد. مثلاً هنگامی که بخواهد به داده دسترسی پیدا کند، آنرا مستقیماً از ابر C1 دریافت میکند و C1 خودش مسئول جمعآوری دادههای تحویل داده شده به C2 خواهد بود و در نهایت نتیجه را به کاربر تحویل خواهد داد. به این ترتیب ابر از نظر مکان فیزیکی برای یک برنامه کاربردی شفاف است. پاسخ به این سئوال میبایست در مشخصههای I/O، مکان ذخیرهسازی، و مکان محاسبات مورد بررسی قرارگیرد.
چگونه یک توده ابر با تغییرات داخلی و خارجی تطبیق پیدا میکند؟ هم محیطهای سرویسگرا و هم محاسبات فراگیر، میتوانند با تغییرات محیط وفق پیدا کنند. یک برنامه سرویسگرا تنها نگران تغییر کیفیت هر سرویس است. نرمافزار فراگیر نیز با کیفیت واحدهای سیار که تحت تأثیر تغییر هستند مواجه است. اما هر وقت یک ابر تغییری را در محیط کشف کند، باید به آن پاسخ دهد و خود را برای عملکرد بهتر در محیط جدید تنظیم کند. به این ترتیب چه مقیاسهای مناسبی برای تصمیمگیری در خصوص تأثیر تطبیق در رایانش ابری وجود دارد؟ استراتژی مناسب برای مدلسازی ابر در جایی که ترکیبات داخلی فازی است باید چگونه باشد؟ چگونه طراحان برنامههای ابری یک واحد محاسباتی فازی و محیط فازی آن را مشخص میکنند؟
چگونه تودههای ابری میتوانند کیفیت خود را اندازه بگیرند؟ کیفیت سرویس در محیطهای سرویسگرا یا یک موجودیت سیار در محاسبات فراگیر میتواند بطور مداوم تغییر کند. در ابرها نیز، بدلیل انواع مختلف موجودیتهای درگیر در ابر و کیفیت مختلف آنها، کیفیت ابرها میتواند متفاوت باشد. برای مثال یک ابر حاوی تعداد زیادی ایستگاههای کاری که برای شرکتهای تجاری بزرگ فراهم شده است، کیفیتی بالاتر از ابر ایجاد شده توسط رایانههای معمولی در محیطهای آکادمیک دارد. هم وضعیت داخلی و هم محیط خارجی یک ابر بطور مداوم تغییر میکند. توانایی تشخیص کیفیت ویژگیها توسط خود ابر، این فرصت را برای کاربران فراهم میآورد تا بطور موثرتر و بهتر از موجودیتهای محاسباتی استفاده کنند.
در این کتاب ما پاسخی به سئوالهایی از این قبیل نمیدهیم، بلکه تنها سعی کردهایم آنچه را که در حال حاضر از رایانش ابری وجود دارد به شکل مناسبی معرفی کنیم. بنابراین در بخشهای مختلف این کتاب به بررسی لایههای مختلف رایانش ابری، تکنولوژیهای مرتبط با آنها، رویکردهای موجود در هر بخش و مسائل و موضوعات مطرح مرتبط با آنها خواهیم پرداخت.
| پرسشهای مروری فصل 1 |
|
| تحقیق و پژوهش فصل 1 |
|
مراجع
Rajkumar Buyya, Chee Shin Yeo, Srikumar Venugopal, James Broberg, and Ivona Brandic, "Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility," Future Generation Computer Systems, Volume 25, Number 6, PP. 599-616, ISSN: 0167-739X, Elsevier Science, Amsterdam, The Netherlands, June 2009.
Leavitt, N., "Is Cloud Computing Really Ready for Prime Time?," Computer, Volume 42, Issue 1, Jan. 2009. PP.15 – 20
Aymerich, F.M., Fenu, G., Surcis, S., "An approach to a Cloud Computing network," ICADIWT 2008. First International Conference on Applications of Digital Information and Web Technologies, 4-6 Aug. 2008. PP.113 – 118
Lizhe Wang, Jie Tao, Kunze, M., Castellanos, A.C., Kramer, D., Karl, W., "Scientific Cloud Computing: Early Definition and Experience," High Performance Computing and Communications, 2008. HPCC '08. 10th IEEE International Conference on, 25-27 Sept. 2008. PP.825 – 830
Milojicic, Dejan, "Cloud Computing: Interview with Russ Daniels and Franco Travostino," Internet Computing, IEEE, Volume 12, Issue 5, Sept.-Oct. 2008. PP.7 – 9
Lin, Geng, Fu, David, Zhu, Jinzy, Dasmalchi, Glenn, "Cloud Computing: IT as a Service," IT Professional, Volume 11, Issue 2, March-April 2009. PP.10 – 13
Foster, I., Yong Zhao, Raicu, I., Lu, S., "Cloud Computing and Grid Computing 360-Degree Compared," Grid Computing Environments Workshop, 2008. GCE '08, 12-16 Nov. 2008. PP.1 – 10
Lijun Mei, Chan, W.K., Tse, T.H., "A Tale of Clouds: Paradigm Comparisons and Some Thoughts on Research Issues," Asia-Pacific Services Computing Conference, 2008. APSCC '08. IEEE 9-12 Dec. 2008 Page(s):464 – 469
Youseff, L., Butrico, M., Da Silva, D., "Toward a Unified Ontology of Cloud Computing," Grid Computing Environments Workshop, 2008. GCE '08, 12-16 Nov. 2008. PP. 1 – 10
Grossman, Robert L., "The Case for Cloud Computing," IT Professional, Volume 11, Issue 2, March-April 2009 PP.23 – 27
2. Mark Denne, "Pricing Utility computing services," International Journal of Web Services Research, Accenture, USA , Volume 4, Issue 2, 2007
Weinhardt, Christof, Anandasivam, Arun, Blau, Benjamin, Stößer, Jochen, "Business Models in the Service World, IT Professional," Volume 11, Issue 2, March-April 2009 PP. 28 – 33
Voas, Jeffrey, Zhang, Jia, "Cloud Computing: New Wine or Just a New Bottle?," IT Professional, Volume 11, Issue 2, March-April 2009. PP. 15 – 17
ESX Server: http://www.servicetech.com.hk/vmware/esx.html, accessed May 2010
Informed Virtualization Criticism: http://www.vcritical.com/2009/04/would-you-buy-a-hypervisor-from-these-guys, accessed May 2010
Cluster Computing↩︎
Grid Computing↩︎
Cloud Computing↩︎
Virtual Machines (VMs)↩︎
Cloud Computing↩︎
IT as a Service↩︎
Data Center↩︎
Image↩︎
www.amazon.com/ec2↩︎
eucalyptus.cs.ucsb.edu↩︎
Application Programming Interface↩︎
http://hadoop.apache.org/core↩︎
Software as a Service↩︎
Platform as a Service↩︎
Private Clouds↩︎
Public Clouds↩︎
Usage-based model↩︎
Platform↩︎
Business Continuity↩︎
Interoperability↩︎
www.cloudforum.org↩︎
www.opencloudconsortium.org↩︎
http://inclubator.apache.org/thrift↩︎
cross-language↩︎
IEEE International Conference of Web Services↩︎
Pricing↩︎
Interoperability↩︎
سئوال این است که چه چیزی رایانش ابری را از مدلهای قبلی متمایز میکند؟ در یک تعریف ساده میتوان گفت که رایانش ابری قصد دارد که فنآوری اطلاعات را بعنوان یک سرویس در شبکه ارائه دهد. ما آن را بصورت سرویسی تعریف میکنیم که با استفاده از API ها از طریق شبکه در دسترس قرار گرفته است. این تعریف مشتمل بر استفاده از هر دو نوع منابع محاسباتی و منابع ذخیرهسازی به صورت سرویس میباشد. رایانش ابری بر اساس اصل کارآیی بالاتر از همه سیستمهای محاسباتی قرار دارد بطوری که میتواند ابزارهای سطح بالا برای انجام حدود 80 درصد موارد مختلف را فراهم کند. این در حالتی است که برنامههای کاربردی میتوانند به سرعت خیرهکنندهای در ابر ایجاد شده و بکارگرفته شوند.
رایانش ابری میتواند باعث افزایش سرعت تولید و استقرار28 برنامههای کاربردی و نیز ارائه کارهای خلاقانه با هزینه کم بشود. شرکتهای مختلف دیدگاههای گستردهای به رایانش ابری دارند و از جنبههای مختلف آن پشتیبانی میکنند که از آن جمله میتوان به سرورها، تجهیزات ذخیرهسازی، شبکه و فناوری مجازیسازی اشاره کرد. هرکس در مورد رایانش ابری، نظر و عقیدهای دارد. میتوان یک سرور یا هزاران سرور را کرایه کرد و یک برنامه مدلسازی ژئوفیزیک را روی قویترین سیستمهایی که موجود هستند اجرا نمود. یا اینکه میتوان یک سرور مجازی کرایه کرد، نرمافزار را روی آن قرار داد، هر موقع که بخواهید آن را روشن و خاموش کنید یا اینکه آن را ده ها بار تکثیر کنید تا تقاضای شما را برآورده کند. این امکان وجود دارد که حجم عظیمی از داده را روی آن ذخیره کرد و امن نگهداشت بطوری که تنها توسط افراد و برنامههای کاربردی مجاز قابل دسترس باشند. سرویس دهنده ابری میتواند پلتفرمی را فراهم کند که شامل سیستم عامل، سرور وب (نظیر Apache) و پایگاهداده (مانند MySQL)، و قابلیتهای دیگر (Perl، Python و PHP و ...) باشد و امکان مقیاسپذیری آن بطور خودکار متناسب با حجم درخواست ها وجود داشته باشد. رایانش ابری میتواند از برنامههای کاربردی موجود در اینترنت برای ذخیرهسازی و محافظت از داده در زمان ارائه سرویسها پشتیبانی کند. هرچیزی نظیر ایمیل، برنامههای تجاری و ... میتواند در آن وجود داشته باشد. همچنین از آن میتوان به عنوان یک ابر ذخیرهسازی برای نگهداری دادههای شخصی، تجاری و برنامههای کاربردی استفاده نمود.
رایانش ابری میتواند با استفاده سرورهای مرکز داده یک سازمان یا از طریق سرویسدهندههای ابری فراهم شود و تصوری که میشود این است که منابع نامحدود هستند. در حالی که این مدل در مراحل اولیه خود است، اما به سرعت بسیار زیادی در حال توسعه در دنیای فناوری اطلاعات میباشد. مدل غالب رایانش ابری، سرویسهای زیرساخت است. در این قسمت ملاحظات معماری مورد نیاز که در زمان طراحی برنامههای مبتنی بر ابر لازم است رعایت شود، مورد بحث قرار میگیرد و ملاحظه خواهیم کرد که چه فناوریهایی برای پشتیبانی از آن وجود دارد.
رایانش ابری در یک جمله، زمان طراحی معماری یک برنامه را تا نصب و استقرار آن کوتاه میکند. رایانش ابری ترکیبی از مجازیسازی، استقرار بر حسب تقاضا29، ارائه اینترنتی سرویسها، و نرمافزارهای کدمتنباز را بکار گرفته است. از یک جهت، رایانش ابری چیز جدید نیست، زیرا رویکردها و مفاهیمی که قبلا وجود داشته است را بکار گرفته است. از جهت دیگر، همه چیز جدید است، زیرا رایانش ابری شیوه ساخت، توسعه، نصب، مقیاسپذیری، بهروزرسانی، نگهداری و پرداخت برای برنامههای کاربری و زیرساختی که روی آن اجرا میشوند را تغییر داده است.
درچندسال اخیر، ماشینهای مجازی یکی از واحدهای استاندارد برای استقرار برنامههای کاربردی شده اند. مجازیسازی30 بدلیل ایجاد یک سطح انتزاع از سختافزار، قابلیت انعطاف را تا جایی افزایش میدهد که استقرار نرمافزار به نوع خاصی از سرورهای فیزیکی وابسته نباشد. مجازیسازی میتواند منجر به پویایی مرکز داده شود بطوریکه سرورها بعنوان استخری از منابع31 درنظر گرفته میشوند تا بتوانند متناسب با نیاز بکار گرفته شوند. به این ترتیب وقتی نیاز ما به محاسبات و ذخیرهسازی تغییر کند، منابع شبکه میتوانند بطور پویا تغییر کنند تا هم تقاضای تجاری و هم حجم تقاضا را پاسخگو باشند. به این ترتیب میتوان به سرعت یک برنامه را متوقت کرد و یا برنامه دیگری را با مقیاس گسترده تحویل داد و نیازی به آماده سازی سرورهای فیزیکی نخواهد بود.
ماشینهای مجازی تبدیل به یک سطح انتزاعی رایج و واحدی برای ارائه برنامهها شدهاند. به این دلیل که آنها کوچکترین جزء واسط مشترک بین توسعه دهنده و سرویس دهنده میباشند. با بکارگیری ماشینهای مجازی، میتوان 80 درصد موارد کاربرد را پاسخ داد و همچنین به برطرف کردن نیاز به توسعه و مقیاسپذیری سریع برنامههای کاربردی کمک میکنند.
ابزارهای مجازی32، به ماشین مجازی گفته میشود که شامل نرمافزار پیکربندی شده برای انجام کارخاصی (نظیر سرور وب یا پایگاهداده) هستند. این ابزارهای مجازی، توانایی ایجاد و ارائه سریع برنامههای کاربردی را بهبود داده اند. ترکیب ماشینهای مجازی و ابزارهای مجازی بعنوان اشیاء استاندارد ارائه برنامه یکی از ویژگیهای کلیدی رایانش ابری است.
ابرهای ذخیرهسازی مکمل ابرهای محاسباتی هستند که امکان ذخیرهسازی مجازی از طریق APIها را برای آن ها فراهم میآورند. این API ها سبب سهولت ذخیرهسازی در تصاویر ماشین مجازی33، که منبع فایلهای وب سرور، دادههای وضعیت برنامه و دادههای تجاری هستند، میشوند.
ماهیت رایانش ابری، بر حسب تقاضا و مبتنی بر استفاده است. از دید یک سازمان، ماهیت برحسب تقاضای رایانش ابری میتواند از اهداف سطح سرویس مربوط به ظرفیت و کارآیی پشتیبانی کند. سازمانها میتوانند متناسب با حجم کارخود از سرویسها ابری استفاده کنند. مجازیسازی ویژگی کلیدی این مدل است. سازمانهای IT مدت هاست که فهمیدهاند مجازیسازی امکان ایجاد سریع و آسان کپیهای مختلف از محیطهای موجود را فراهم میکند تا بتوانند برای کارهای تست، توسعه و نگهداری توالی کارهای خود استفاده کنند و برای این کار نیاز به منابع جدیدتری نخواهند داشت و از همان منابع و سرورهای قبلی استفاده میکنند.
علاوه براین، برنامههای جدید نیز میتوانند در ماشینهای مجازی جدید، رویهمان سرورهای موجود ایجاد و مستقر شوند و همه این برنامه می توانند از اینترنت قابل استفاده باشد و در صورتیکه برنامه در بازار موفق بود، میتوان مقیاس آن را افزایش داد. این روش یک مدل کم هزینه برای توسعه برنامهها خواهد بود. رایانش ابری این رویکرد را از طریق اتوماتیک کردن کارها توسعه داده است. بجای مذاکره با یک سازمان IT در خصوص منابع مورد نیاز برای ارائه یک برنامه، با استفاده از یک کارت اعتباری میتوان از نمونه های محاسباتی یک ابر محاسباتی خریداری کرد و با استفاده از یک واسط وب یا API برای ایجاد ماشینهای مجازی و استقرار ارتباطات شبکه بین آنها استفاده کرد. همچنین به جای تنظیم قراردادهای طولانی مدت برای کرایه گرفتن سرویسها، میتوان از مدل مبتنی بر استفاده رایانش ابری استفاده کرد و بسته به نوع برنامه چه در حالتی که چنددقیقه یا چند ساعت طول بکشد، یا اینکه مدتی طولانی زمان نیاز داشته باشد، منابع مورد نیاز را خریداری کرد. صورت حساب در ابرهای محاسباتی بر اساس مصرف منابع (نظیر ساعتهای استفاده از CPU، حجم داده منتقل شده یا حجم داده ذخیره شده) صادر میشود. اینکه بتوانیم پرداخت را تنها برای منابعی که استفاده میکنیم انجام دهیم، ریسک خرید زیرساختهای بزرگ را برای توسعه برنامه کاربردی کاهش میدهد و این ریسک را به سرویس دهنده ابری منتقل میکند.
در معماری های گذشته، این وظیفه طراحان شبکه بود که باید تعیین میکردند چگونه اجزای مختلف یک برنامه در مجموعهای از سرورها قرار بگیرند، چگونه به هم متصل شوند، چگونه امن شوند، چگونه مدیریت شوند و چگونه توسعه داده شوند. اما اکنون یک برنامه نویس میتواند خودش با استفاده از APIهای فراهم شده، نه تنها برنامههای خود را در ماشینهای مجازی ایجاد کند، بلکه چگونگی توسعه دادن آن را در زمان تغییر حجم و ترافیک کار، مدیریت کند.
این مثال را در نظر بگیرید: قبلا یک برنامه نویس برنامه ای را مثلا با استفاده از زبان برنامهنویسی جاوا مینوشت و در داخل آن مشخص میکرد که چه زمان thread های جدید ایجاد شود تا بتوان فعالیتهای مختلف را بصورت موازی پیش برد. امروز، یک برنامه نویس میتواند با استفاده از سرویسهای فراهم شده، به همان سادگی مشخص کند که مثلا یک برنامه را تا حدی گسترش دهد که هزاران ماشین مجازی را دربر بگیرد تا یک کار سنگین را انجام دهند.
توانایی برنامهریزی پویای معماری یک برنامه کاربردی، قدرت زیادی را در دستان برنامهنویسان قرار میدهد. برای استفاده موثر از رایانش ابری، یک برنامه نویس باید یک معمار هم باشد و نیاز خواهد داشت که برنامه ای خود نظارتی و خود توسعهای ایجاد کند. برنامه نویس/معمار باید بداند که چه موقع لازم است یک thread جدید ایجاد کند، در مقابل اینکه چه موقع یک ماشین مجازی ایجاد کند و اینکه متناسب با الگوی معماری، چگونه آنها به هم متصل میشوند.
اگر این قدرت به خوبی درک شود و مورد استفاده قرار بگیرد، نتایج بسیار تماشایی خواهد بود. یک نمونه از آن ابزار Animoto's mashup است که یک ویدئو را از مجموعهای از تصاویر و موسیقی ها ایجاد میکند. برنامه این شرکت در ظرف سه روز از 50 سرور تا 3500 سرور توسعه پیدا کرده است. برای این کار، برنامه بگونهای ساخته شده بود که توانست بطور افقی34 (بر روی تعداد زیادی از نودهای محاسباتی) توسعه پیدا کند و بتواند وضعیت خود را از طریق API های ابری مدیریت کند. البته بازای هر مثال از نمونه های موفق، مثالی هم از نمونه های ناموفق وجود دارد که برنامهای نتوانسته است به خوبی مقیاسپذیری خود را مدیریت کند و نیاز مشتری برآورده نشده است.
از دیگر نتایج استفاده از رایانش ابری این است که برنامههای کاربردی میتوانند با ترکیب و پیکربندی ابزارها و برنامههای کدمتن باز ایجاد شوند. برنامههای کاربردی و معماری هایی که بتوانند به اجزای استاندارد تجزیه شوند، میتوانند در مدل رایانش ابری بطور موفق پیادهسازی شوند. به همین ترتیب، اجزای برنامههای کاربردی باید بگونهای طراحی شوند که آنها نیز قابل ترکیب با اجزای دیگر باشند و به راحتی مصرف شوند. این کار نیاز به توابع ساده و واضح و API های مستند شده دارند. ایجاد برنامههای بزرگ و یکپارچه مربوط به گذشته است و امروز با استفاده از کتابخانه هایی که از ابزارهای موجود وجود دارد، میتوان برای ایجاد برنامههای بزرگتر استفاده کرد.
مثلا ابزارهایی نظیر Hadoop، که یک پیادهسازی کدمتن باز از مدل MapReduce است، میتوانند برای زمینههای مختلفی که یک مسئله به همراه دادههای خود این قابلیت را دارد که به بخشهای کوچکتری شکسته شود تا بطور موازی اجرا گردند، بکارگرفته شود. وقتی که مثلا New York Times میخواهد 11 میلیون مقاله و تصویر آرشیو خود را به فرمت PDF تبدیل کند و این کار توسط منابع IT خودشان چند هفته زمان می برد، یک برنامه نویس میتواند از 100 نمونه سرویس Amazon EC2 که برنامه Hadoop در آنها اجرا شده است استفاده کند و این کار را 24 ساعته با هزینهای کمتر از 300 دلار انجام دهد (البته این هزینه، صرف نظر از زمان مورد نیاز برای ارسال تصاویر و نیز هزینه ذخیرهسازی میباشد).
حتی شرکتهای بزرگتر هم میتوانند از رایانش ابری برای حل بسیاری از مسائل خود در زمان کمتر و هزینه کمتر نسبت به منابع محاسباتی سازمان خود استفاده کنند.
این مثال نشان میدهد که چگونه مجازیسازی میتواند تحویل برنامه را ساده کند. یک نمونه ساختار دولایهای وب را در نظر بگیرید که میتواند در ابر شبیه شکل 2-10 باشد.
یک توسعه دهنده ممکن است تعدیلکنندهبار35، سرور وب، و ابزارهای پایگاهداده را از کتابخانه ماشینهای مجازی از پیش پیکربندی شده انتخاب کند.
سپس میتوان هر بخش را متناسب با نیاز پیکربندی کرد تا یک تصویر سفارشی ایجاد شود. به این ترتیب تعدیلکنندهبار پیکربندی خواهدشد، محتوای موردنظر در سروروب قرار دادهشده و در ابرذخیرهسازی قرار میگیرد و ابزارهای پایگاهداده نیز با محتوای مربوط به خود پرمیشود.
توسعه دهنده، کد سفارشی خود را متناسب با معماری جدید لایه بندی میکند تا اجزای مختلف بتوانند نیازمندی ها را برآورده کنند.
توسعه دهنده یک الگو را انتخاب میکند که بر اساس آن الگو، تصاویر مربوط به هر لایه جهت استقرارانتخاب خواهد شد و تنظیمات شبکه امنیت و مسائل توسعه برنامه را متناسب با آن الگو انجام خواهد شد.
به این ترتیب برنامه ای امن، با قابلیت دسترسی بالا اجرا میشود. وقتی برنامه نیاز به بروزرسانی داشته باشد، تنها کافیست که تصاویر ماشین مجازی بهروزرسانی شوند (معمولا برای شناسایی و تفکیک ماشینهای مجازی مشابه، میتوان به هر کدام یک شماره نگارش اختصاص داد). رایانش ابری فرض میکند که هرچیزی موقتی است و استقرار کل برنامه از ابتدا به آسانی اجرای یک وصله36 بصورت دستی در مجموعهای از ماشینهای مجازی خواهد بود.

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

وقتی که میخواهیم از یک مدل استقرار برنامه در سطح سازمانی به سمت یکی از مدلهای ابری برویم، ملاحظات بسیاری در خصوص معماریهای رایانش ابری وجود خواهد داشت. در حالت کلی میتوان ابرهای خصوصی و عمومی داشت که مزایای مکمل هم دارند. در کل سه نوع مدل سرویس اصلی وجود دارد که باید در نظر گرفت.
سازمانهای IT میتوانند بسته به نوع استفاده خود، برنامههای خود را بر روی ابرهای عمومی، خصوصی یا ترکیبی قرار دهند. اصطلاحات عمومی، خصوصی و ترکیبی به مکان وابسته نیستند. البته ابرهای عمومی معمولا در اینترنت هستند و ابرهای خصوصی معمولا در یک محدوده خاص قرار دارند. ابرهای خصوصی میتوانند در فضاهای اشتراکی37 نیز قرار داده شوند.
شرکتها ممکن است در زمان انتخاب مدل رایانش ابری خود ملاحظات زیادی را در نظر بگیرند و ممکن است برای یک مسئله، بیش از یک مدل قابل استفاده باشد. یک برنامه کاربردی که موقتاً مورد نیاز است، ممکن است برای قرارگیری در ابر عمومی مناسب باشد، زیرا نیاز به خرید تجهیزات اضافی را برای یک نیاز موقتی برطرف میکند. علاوه بر این، یک برنامهای که نیازمندی کیفیت سرویس، یا نیازمندی خاصی در مکان داده از نظر جغرافیایی است، شاید بهترباشد در یک ابر خصوصی یا ترکیبی قرار بگیرد.
ابرهای عمومی توسط بخشهای ثالث ایجاد میشوند و برنامههای مشتریان مختلف با همدیگر در سرورهای ابری، سیستمهای ذخیرهسازی و شبکه های ابری قرار میگیرند (شکل 2-12). ابرهای عمومی اکثراً در خارج از محل مشتری هستند و راهی برای کاهش ریسک و هزینه با فراهم آوردن یک توسعه قابل انعطاف و یا حتی موقتی برای زیرساخت سازمان هستند.
اگر یک ابر با کارآیی و امنیت مناسب ایجاد شده باشد، وجود دیگر برنامههایی که در ابر اجرا میشود باید هم از دید معمار ابر و هم کاربر نهایی، شفاف باشد. یکی از مزایای ابرهای عمومی این است که آنها میتوانند بسیار بزرگتر از ابرهای خصوصی شرکت باشند و بر حسب تقاضا، بزرگ یا کوچک شوند و به این ترتیب ریسک زیرساخت را از دوش سازمان به سرویس دهنده منتقل میکنند.
بخشهایی از یک ابر عمومی میتواند بطور انحصاری برای استفاده یک کاربر خاص با ایجاد یک مرکز داده خصوصی مجازی قرار بگیرد. به این ترتیب بجای اینکه مشتری محدود به قرار دادن تصاویر ماشین مجازی در ابر عمومی باشد، میتواند دید بهتری از زیرساخت فراهم شده برای خود داشته باشد. در این حالت مشتریان نه تنها میتوانند تصاویر ماشین مجازی را مدیریت کنند، بلکه امکان مدیریت سرورها، سیستمهای ذخیرهسازی، تجهیزات شبکه و توپولوژی شبکه را نیز خواهند داشت. ایجاد یک مرکز داده خصوصی مجازی با همه اجزایی که در مکان یکسان قرار دارند، مشکل data locality را نیز کاهش خواهد داد.

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

در ابرهای ترکیبی، هر دو مدل خصوصی و عمومی با هم ترکیب میشوند (شکل 2-14). توانایی ترکیب یک ابر خصوصی با منابع یک ابر عمومی میتواند برای تامین سطح سرویس مورد نیاز در زمان مواجه با نواسان های حجم کار استفاده کرد. رایج ترین نمونه های مشاهده شده از این مدل در بکارگیری ابرهای ذخیرهسازی برای پشتیبانی از برنامههای وب2 میباشد. یک ابر ترکیبی میتواند برای مدیریت پیکهای بار کاری استفاده کرد که اغلب محاسبات ناگهانی38 نامیده میشود. محاسبات ناگهانی به این معناست که یک ابر عمومی بتواند بارکار اضافی را که به یک مرکز داده یا ابر خصوصی تحمیل میشود، انجام دهد.
پیچیدگی ابرهای ترکیبی بیشتر از آن جهت است که چگونه برنامهها را بین دو ابر عمومی و خصوصی توزیع کنیم. از جمله موضوعاتی که در این خصوص باید مد نظر قرار داد، ارتباط بین داده و منابع پردازشی است. اگر داده کم باشد یا نگهداری اطلاعات وضعیت برای برنامه اهمیت نداشته باشد، یک ابر ترکیبی میتواند بسیار موفقتر باشد نسبت به حالتی که حجم بسیار زیادی داده را برای اندکی پردازش، بخواهیم به یک ابر عمومی منتقل کنیم.

رایانش ابری میتواند برای تحویل سرویسهای موجود در لایه های مختلف، از سختافزار گرفته تا برنامه کاربردی مورد استفاده قرار گیرد(شکل 2-15). در عمل، ارائه دهندگان رایانش ابری سرویسهای مختلف آن را در سه گروه، دسته بندی کردهاند: نرمافزار به عنوان سرویس39، سکو به عنوان سرویس40 و زیرساخت بعنوان سرویس41. این گروهها با همدیگر، لایههای مختلف نمایش داده شده در شکل 2-15 را تشکیل میدهند.

نرمافزار به عنوان سرویس، شامل یک برنامه کامل است که بصورت یک سرویس برحسب تقاضا فراهم میشود. یک نمونه واحد از نرمافزار روی ابر اجرا میشود و به چندین کاربر نهایی یا مشتری سازمانی سرویس میدهد.
شناخته شده ترین مثال از SaaS سایت salesforce.com است. با این حال مثالهای دیگری نیز در بازار وجود دارد. مثلا Google Apps سرویسهای تجاری پایه نظیر پست الکترونیکی و واژهپردازی ارائه میدهد. اگرچه Salesforce.com از پیشگامان رایانش ابری در چند سال اخیر است، اما اکنون کار خود را به اندازهای گسترده کرده است که به عنوان یک سکوی ارائه سرویس (PaaS) شناخته میشود.
سکو به عنوان سرویس، یک لایه از نرمافزار را به صورت بستهبندی شده و به عنوان یک سرویس فراهم میکند بطوری که بتوان از آن برای ایجاد سرویسهای سطح بالاتر استفاده کرد.
بر اساس دو دیدگاه مصرفکننده سرویسها و تولیدکننده سرویسها، حداقل دو دیدگاه مختلف در مورد PaaS وجود دارد.
کسی که PaaS تولید میکند، ممکن است سکوی خود را با مجتمع سازی یک سیستم عامل، میانافزار (که یک برنامه نرمافزاری میباشد) فراهم کند و به این ترتیب یک محیط توسعه را بعنوان سرویس برای مشتری فراهم میآورد. برای مثال، کسی که یک PaaS ایجاد کرده است، ممکن است آن را روی مجموعهای از ماشینهای مجازی فوقناظر SunTM x VM قرار داده باشد که شامل محیط توسعه یکپارچه NetBeansTM، پشته پروتکلی وب Sun GlassFishTM، و پشتیبانی از زبان های برنامهنویسی نظیر Perl یا Ruby باشد.
کسی که از PaaS استفاده میکند، یک سرویس بستهبندی شده را میبیند که از طریق یک API برایش فراهم شده است. مشتری با سکو از طریق API ارتباط برقرار کرده و هرچیزی که برای مدیریت و مقیاسپذیری برای فراهم آوردن سطح سرویس مورد نیاز لازم است توسط سکو فراهم میشود. ابزارهای مجازی میتوانند بعنوان نمونه هایی از PaaS نام برده شوند. بعنوان مثال یک ابزار سوئیچ محتوا، همه اجزای نرمافزاری خود را از دید مشتری پنهان میکند و تنها یک API یا GUI برای پیکربندی و ارائه سرویس خود فراهم کرده است.
PaaS میتواند در هر فاز از توسعه نرمافزار، تست یا موارد تخصصی خاص نظیر مدیریت محتوا بکارگرفته شود. مثالهای تجاری از PaaS شامل Google Apps Engine است که میزبان برنامهها بر روی زیرساخت گوگل میباشد. سرویسهای PaaS نظیر Google Apps Engine میتوانند یک مبنای قدرتمند برای استقرار برنامه کاربردی فراهم کنند اما به هر حال محدود به تواناییهای ارائه دهنده خدمات هستند.
زیرساخت به عنوان سرویس، قابلیتهای محاسباتی و ذخیرهسازی اولیه را به عنوان سرویسهای استاندارد در شبکه ارائه میدهد. سرورها، سیستمهای ذخیرهسازی، سوئیچ ها، روترها، و دیگر سیستمها با هم دیگر به عنوان مجموعهای از منابع در دسترس هستند تا بارکاری و دیگر نیازمندی های برنامههای کاربردی که به توان بالایی نیاز دارند را مدیریت کنند. از مثالهای تجاری IaaS میتوان Joyenet را نام برد که محصول اصلی آن سرورهای مجازی شده است که یک زیرساخت با دسترس پذیری بالا را بر حسب تقاضا فراهم میکند.
یکی از مشخصه های کلیدی که رایانش ابری را از برنامههای استاندارد سازمانی متمایز میکند این است که خود زیرساخت رایانش ابری نیز قابل برنامهریزی است. بجای اینکه بصورت فیزیکی سرورها، تجهیزات ذخیرهسازی و منابع شبکه را برای پشتیبانی از برنامههای کاربردی نصب و پیکربندی نمود، برنامه نویسان میتوانند معادل همان اجزا را بصورت مجازی پیکربندی نموده و به هم متصل کنند. همچنین آنها با استفاده از API هایی که در اختیارشان قرار دارد، تعیین میکنند که اجزا چه موقع و به چه صورت ارائه شوند. مثلا اینکه تصاویر ماشین مجازی و دادههای برنامههای کاربردی چگونه در ابر ذخیرهسازی ذخیره شده و از آن بازیابی شوند.
در استفاده از API ها برای کنترل زیرساخت ابری یک مشکل وجود دارد و آن این است که هنوز استاندارد نشدهاند. بنابراین هر سرویس دهنده ابری API های خود را برای مدیریت سرویسهایش فراهم کرده است. این وضعیت در هر صنعت نوظهوری عادی است که در آن هر فروشنده تکنولوژی اختصاصی خود را دارد و سعی دارد که مشتری ها را در سرویسهای خود گیر بیندازد. این موضوع استاندارد نبودن API ها باعث شده است که عوض کردن سرویس دهنده با مشکل همراه باشد.
پیشنهاد میشود که دنبال سرویس دهندگانی بگردید که تا حد ممکن API های استاندارد ارائه میدهند. API های استاندارد میتوانند امروز برای دسترسی به سرویسهای ذخیرهسازی استفاده شوند. API های استقرار و مقیاس دادن برنامههای کاربردی نیز در طول زمان در حال استاندارد شدن هستند. همچنین به دنبال سرویس دهنده هایی باشید که کتابخانه هایی جهت آرشیو کردن و یا استفاده از ابزارهای مجازی از پیش پیکربندی شده را فراهم کرده باشند.
به منظور استفاده حداکثر از رایانش ابری، توسعهدهندگان باید بتوانند ساختار برنامههای خود را بگونهای اصلاح کنند که به بهترین شکل توسط رویکرد معماری رایانش ابری پشتیبانی شود. مزایای استقرار برنامهها با استفاده از رایانش ابری شامل کاهش زمان اجرا و زمان پاسخ، حداقل کردن ریسک آماده سازی و ارائه زیرساخت فیزیکی، کاهش هزینه ورود و افزایش امکان نوآوری میباشد.
برای برنامههایی که از ابر خصوصاً برای کارهای دسته ای42 استفاده میکنند، رایانش ابری میتواند مستقیماً 1000 سرور را بکار گیرد تا یک کار را در یک هزارم زمانی که در یک سرور برای انجام همان کار مورد نیاز است، تکمیل کند. برای مثال New York Times که قبلا نیز به آن اشاره شده بود، یک مثال کامل از کارهای دستهای است که زمان فعالیتهای آن بطور قابل ملاحظهای با استفاده از ابر کاهش مییابد.
برای برنامههای کاربردی که لازم است زمان پاسخ مناسبی به مشتریان خود بدهند، تغییرساختار برنامه کاربردی بطوری که هر وظیفه CPU-intensive به یک ماشین مجازی worker ارسال شود، در حالی که مقیاس آن بر حسب تقاضای مورد نیاز کاربر تعیین میشود، میتواند به بهینهسازی زمان پاسخ کمک کند. برنامه Animoto که قبلا به آن اشاره شده بود یک مثال خوب از چگونگی مقایس پذیری برنامههای کاربردی و تامین سطح کیفیت سرویس مورد نیاز میباشد.
سازمانهای IT میتوانند از ابر برای کاهش ریسک موجود در خرید سرورهای فیزیکی استفاده کنند. آیا یک برنامه جدید موفق خواهد بود؟ اگر هست، در زمان افزایش حجم کار، آیا به سرورهای بیشتری مورد نیاز خواهد بود و آیا برنامه میتواند در آن سرورها نصب و ارائه شود؟ و اگر نیست، آیا یک سرمایه گذاری بزرگ در خرید سرورها، مقرون بصرفه خواهد بود؟ اگر موفقیت برنامه کوتاه مدت باشد، آیا سازمان IT در حجم زیادی از زیرساخت که اکثر اوقات بیکار است، سرمایه گذاری خواهد کرد؟
وقتی که برنامه خود را در ابر قرار میدهیم، مقیاسپذیری و ریسک خرید تعداد زیاد و یا تعداد کم منابع زیرساخت به سرویس دهنده ابری منتقل میشود. با افزایش تعداد برنامهها، سرویس دهنده ابری زیرساخت عظیمی خواهد داشت که میتواند رشد تقاضا و نقطه اوج مصرف هر مشتری را پشتیبانی کند و ریسک مالی که با آن مواجه هستند را کاهش دهد.
راه دیگری که رایانش ابری ریسک زیرساخت را کاهش میدهد، با فراهم آوردن امکان محاسبات ناگهانی است که مرکز داده یک سازمان (که ممکن است یک ابر خصوصی در آن پیادهسازی شده باشد) بتواند حجم تقاضای بیش از حدی را که نمیتواند خودش پاسخ دهد، با یک طرح مشخص به ابر عمومی ارسال کند. مدیریت چرخه عمر برنامه کاربردی میتواند در محیطی که کمبود منابع در آن وجود ندارد، و منابع بتوانند بهتر و با هزینه کمتری با نیازهای فوری تطبیق داده شوند، بهتر انجام شود.
رایانش ابری مشخصه هایی دارد که به کاهش هزینه ورود به بازار کمک میکند.
بدلیل اینکه زیرساخت بجای اینکه خریداری شود، کرایه گرفته شده است، هزینه قابل کنترل است و سرمایه گذاری ثابت میتواند صفر شود. علاوه بر هزینه کمتر و تدریجی، مقیاس گسترده سرویس دهنده های ابری نیز منجر به کاهش بیشتر هزینههای ورود میشود.
برنامههایی که با استفاده از قطعات از پیش ساخته ایجاد میشوند، نسبت به آنهایی که با برنامهنویسی تهیه میشوند، سریعتر و بیشتر توسعه داده میشوند. این توسعه سریع برنامههای کاربردی به کاهش زمان ارائه به بازار منجر میشود و امکان رقابت بهتر و پیشی گرفتن از رقبا را فراهم میکند.
رایانش ابری میتواند به افزایش نوآوری کمک کند. قیمت پایین ورود به بازارهای جدید به شرکتهای تازه کار در ارائه سریع محصولات جدید با قیمت پایین تر کمک میکند. این موضوع به شرکتهای کوچک امکان رقابت موثرتر با سازمانهای قدیمیتر را میدهد. در نتیجه رقابت بیشتر، میتوان شاهد نوآوریهای بیشتری بود و کل صنعت از آن نفع خواهد بود.
در 1990، صحبت بر سر آن بود که چگونه یک برنامه کاربردی را به اجزای سازنده آن تجزیه کنیم و سپس آن اجزای جداگانه را در سرورهای مختلف قرار دهیم تا نیازمندی هایی نظیر مقیاسپذیری، دردسترس بودن، قابلیت مدیریت و امنیت را بطور بهینه برطرف کنیم. اما امروز، ما میتوانیم یک معماری برنامه تجزیه شده را به همان صورت داشته باشیم، اما همه آنها را در یک معماری یکپارچه مبتنی بر مجازیسازی ارائه کنیم. رایانش ابری این رویکرد را با فراهم کردن راهی برای ارائه معماری برنامه با استفاده از برنامهنویسی، فراهم میکند که در نهایت منجر به ایجاد یک مرکز داده پویا میشود. با رایانش ابری، کارآیی بسیار ارزش پیدا میکند.
در گذشته، برنامهها بگونهای ساخته می شدند که بتوانند با مقیاسپذیری عمودی، از عهده حجم کار بیشتری بر بیایند. این مقیاسپذیری با افزودن پردازندهها و حافظه بیشتر در سرورها برای مدیریت حجم بیشتر ترافیک، گسترش پایگاهداده برای افزایش بازدهی، اجرای کارهای سنگین در ابررایانهها و... انجام می شد.
بجای اینکه از برنامهها انتظار داشته باشیم که روی سرورهای با مقیاسپذیری بالا اجرا شوند، برنامه نویسان میتوانند ساختار برنامهها را تغییر دهند بطوریکه بتوانند بصورت افقی در مجموعهای از سرورها اجرا شوند. این تغییر ساختار برنامه همیشه آسان نیست، تغییر ساختار چه در برنامه انجام شود و چه در داده انجام شود، باید طراحی برنامه یا داده بگونهای باشد که هر دو پردازش بتوانند به بخشهای کوچکتر شکسته شوند. این روند معماری، کلید اصلی پیش برنده در پذیرش رایانش ابری بوده است. مثالهایی از این روند در زیر آمده است:
کارهای HPC که بر روی شبکهای از منابع فیزیکی، سوپرکامپیتورها یا کلاسترها انجام میشد، با استفاده از تغییر ساختار امکانپذیر است. برای مثال، دانشمندان راه هایی را برای شکستن دادههای برنامههای خود نظیر مدلسازی سه بعدی آب و هوا پیدا کردهاند، بطوری که دادهها بتوانند در تعداد زیادی سرور پخش شود. محاسبات توری از روشهایی است که قبل از رایانش ابری مورد استفاده قرار می گرفت، و در آن از ابزارهایی استفاده میشد که چندین مجموعه فیزیکی از سرورها را فراهم میآورد تا بتوانند همه با هم برای حل مشکل کار کنند. بدلیل نیازبه محاسبات بالا، ارتباطات بین پردازش ها و نیاز به ورودی و خروجی، کارهای HPC کاندیدای خوبی برای رایانش ابری هستند که زیرساخت را به صورت سرویس فراهم کردهاند. خصوصا اینکه هرچه دسترسی مستقیم به I/O بیشتر باشد، کارآیی بیشتر میشود.
سیستمهای پایگاهداده با امکان مقیاسپذیری افقی سرورها و تقسیم جداول بین آنها، میتوانند در محیطهای رایانش ابری اجرا شوند. این تکنیک، sharding نامیده میشود که به چندین نمونه از نرمافزار های پایگاهداده (اغلب MySQL) امکان گسترش پیدا کردن را در محیط رایانش ابری میدهد. بجای اینکه به یک پایگاهداده مرکزی و واحد دسترسی داشته باشیم، حال میتوانیم بر اساس اینکه داده در کدام پایگاهداده قرار داشته باشد، به یکی از آن ها دسترسی پیدا کنیم. (شکل 2-16)

برنامههایی که شامل کارهایی نظیر frame rendering هستند، میتوانند بگونهای طراحی شوند که بجای ایجاد یک thread جدید برای هر فریم، یک ماشین مجازی مجزا ایجاد شود تا هر فریم را پردازش کند و به این ترتیب کارآیی با مقیاسپذیری افقی افزایش می یابد.
ابزارهای عمومی زیادی بصورت کدمتن باز توسعه داده شدهاند که به پردازش حجم زیاد داده کمک میکنند. برای مثال، Hadoop یک برنامه کدمتن باز از MapReduce است که میتواند در چنین پردازشهایی مورد استفاده قرار بگیرد. هر مجموعه داده میتواند در یک ماشین مجازی مورد پردازش قرار بگیرد.
پیشرفت های بیشماری که در معماری برنامههای کاربردی صورت گرفته است، به پذیرش رایانش ابری کمک کرده است. این پیشرفت ها در پشتیبانی از هدف توسعه بهینه برنامه کاربردی و نیز انعطاف پذیری و مقایس پذیری آنها بطور خودکار نقش داشته است. این روش از همان مشخصه هایی که قبلا برای ما مهم بوده است پشتیبانی میکند:
مقیاسپذیری: برنامههای کاربردی که برای رایانش ابری طراحی میشوند، باید بتوانند با توجه به تقاضا و حجم کار مقیاسپذیر باشند بطوریکه کارآیی و توافق با سطح سرویس مورد نظر را حفظ نمایند. به منظور نیل به این هدف، برنامهها و دادههای آنها باید با هم دارای کمترین جفتشدگی43 باشند تا مقیاسپذیری به حداکثر خود برسد. اصطلاح elastic اغلب به قابلیت مقیاسپذیری برنامههای ابری اشاره دارد، زیرا که آنها نه تنها باید برای افزایش مقیاس آماده باشند، بلکه بتوانند مقیاس خود را در زمانی که حجم کار پایین میآید، کاهش دهند تا از صرف هزینه اضافی جلوگیری شود.
در دسترس بودن: چه در صورتی که برنامه مورد استفاده، سرویس شبکه اجتماعی به کاربران بدهد و چه در حالتی که یک زنجیره عرضه را برای یک شرکت تولیدی بزرگ مدیریت کند، کاربران اینترنتی آن انتظار دارند که سرویس مورد نظر همیشه آماده و در حال اجرا باشد.
قابلیت اطمینان: تاکید ما در مورد قابلیت اطمینان در طول زمان تغییر کرده است. وقتی برنامههای بزرگ نیازمند سیستمهای چندپردازنده موازی بزرگ بودند، قابلیت اطمینان به این معنا بود که اجزای سیستم در صورت خراب شدن بتوانند بدون آسیب رساندن به دادهها و برنامه اصلی، جایگزین شوند. امروز، قابلیت اطمینان به این معناست که برنامههای کاربردی اصلا از کار نیفتند و مهم تر اینکه دادهها از بین نروند. روشی که در معماری برای این ویژگی طراحی شده است این است که برنامهها را بگونهای طراحی کنیم که بتوانند روی ماشینهای مجازی اجرای خود را ادامه دهند. اگر زمانی نگران خرابی اجزای یک سرور خاص بودیم، اما اکنون ما برنامهها را طوری می سازیم که اگر کل سرورها هم خراب شوند، آسیبی به برنامهها و دادهها نرسد.
امنیت: برنامهها باید تنها در دسترس افراد و کاربران مجاز قرار بگیرند و کاربران باید بتوانند اطمینان حاصل کنند که دادههای آنها امن باقی می ماند. یک مورد از اهمیت این موضوع زمانی است که افراد در اینترنت قصد دارند توسط برنامه ای، اطلاعات محرمانه را مثلا بین شرکت و تامین کنندگان جابجا کنند. امنیت در محیطهای امروزی با استفاده از روش های اعتبارسنجی و تصدیق هویت و فرآیندهای حسابرسی قوی انجام میشود که در شبکه ها، سیستمهای عامل، میان افزارها و برنامههای کاربردی بکارگرفته میشوند. امنیت باید در هر جزء از یک برنامه کاربردی، معماری و فرآیندهای آن اعمال شود
قابلیت انعطاف پذیری: این مشخصه در حالی که سازمانهای تجاری قصد دارند خود را بطور سریعتر با وضعیت در حال تغییر کسب و کار تطبیق دهند، بطور فزاینده ای اهمیت پیدا میکند. رایانش ابری میتواند در استقرار سریع برنامهها به بازار با استفاده از مناسب ترین اجزای سازنده، نقش بسیار مهمی داشته باشد.
قابلیت سرویس دهی: وقتی که یک برنامه تحویل داده میشود، نیاز به نگهداری دارد. در گذشته این موضوع به معنای استفاده از سرورهایی بود که بتوانند با کمترین میزان downtime تعمیر شوند. اما امروز این کار به این معناست که اجزای زیرساخت برنامههای کاربردی میتوانند بدون هیچ گونه اختلالی در دسترس پذیری و امنیت، جایگزین شده و یا ارتقا داده شوند.
کارآیی: این مشخصه شاید یکی از ویژگیهای متمایز رایانش ابری از مدلهای دیگر است. چنانچه برنامه ای نتواند در ابر به سرعت و سهولت تحویل داده شود، کاندیدای خوبی برای این مدل نخواهد بود. برای مثال برنامههای ERP که یکی از گزینههای مناسب برای مقیاسپذیری عمودی هستند میتوانند از طریق مدل SaaS ارائه شوند. برنامههایی که داده را استخراج، پردازش و ارائه میکنند نیز برای استقرار در ابر مناسب هستند.
رایانش ابری، سطح انتزاع را بگونهای افزایش میدهد که همه اجزا بصوت انتزاعی و مجازی باشند و بتوانند سریع با هم ترکیب شده و برنامهها یا سکوهای سطح بالاتری را تشکیل دهند. اگر یک بخش نتواند لایه انتزاعی با پایداری و استحکام کافی برای کلاینت ها یا همتاهای خود فراهم کند، برای رایانش ابری مناسب نخواهد بود. واحد استقرار استاندارد، یک ماشین مجازی است که با توجه به ماهیت خود برای اجرا بر روی یک سکوی سختافزاری انتزاعی طراحی شده است. در رایانش ابری، نگهداری تصویر ماشین مجازی به تنهایی کافی نیست و نگهداری مدل اهمیت بیشتری دارد. در حقیقت مدل نگهداری میشود و تصویر از روی مدل ایجاد میشود.
رایانش ابری بیش از همه مدلهای دیگر بر روی کارآیی تاکید دارد، بنابراین در صورت رعایت برخی استانداردها و پیکربندیهای استانداردها به کاهش هزینههای استقرار و نگهداری کمک میکند. وجود استانداردهایی که استقرار برنامه را آسان کند، مهمتر از داشتن یک محیط کامل برای کار کردن است. قانون 20-80 نیز در مورد رایانش ابری به این صورت صادق است: رایانش ابری روی استاندارد های اندکی تمرکز دارد که میتواند 80 درصد از موارد را پشتیبانی کند. این مسیر به مرور تخصصی تر میشود اما نقطه شروع آن باید با یک استاندارد همراه باشد. برای یک سازمان که بخواهد به سمت رایانش ابری حرکت کند، استانداردها میتواند شامل نوع ماشین مجازی، سیستم عامل در ماشینهای مجازی استاندارد، ابزارها، و زبان های برنامهنویسی پشتیبانی شده توسط آن باشد:
انواع ماشینهای مجازی. تاثیر انتخاب ماشین مجازی در برنامه کاربردی پشتیبانی شده توسط آن میباشد. برای یک برنامه شبکه اجتماعی که نیازمند امنیت و انتزاع بالا برای قابلیت حمل میباشد استفاده از یک نوع ماشینهای مجازی پیشنهاد میشود و برای یک برنامه محاسباتی که به کارآیی بالایی نیاز دارد یا برنامههای بصری سازی، که نیاز به دسترسی مستقیم به سختافزار برای کسب بیشترین کارآیی میباشد، ممکن است استفاده از ماشینهای مجازی نوع دیگری پیشنهاد شود.
سیستمهای ازپیش نصب شده و از پیش پیکربندی شده. نرمافزار در ماشینهای مجازی باید بگونهای مشابه سرور فیزکی تهیه شده باشد. سیستمهای عامل هنوز باید به روز رسانی شده و وصلههای جدید در آنها نصب شود. انجام برخی از پیکربندی های استاندارد به توسعهدهندگان کمک میکند که بتوانند از ماشینهای مجازی پشتیبانی شده فعلی استفاده کنند. وقتی پیکربندیهای پشتیبانی شده به روز رسانی میشود، باید بتوان این تغییرات را به تصاویر ماشینهای مجازی اعمال نمود. این موضوع برای برنامههایی که نگارش فعلی آنها بتواند از طریق APIهای استاندارد پیکربندی شود، صادق است.
ابزارها و زبان ها: استانداردسازی ابزارها و زبان ها در رایانش ابری میتوانند آغاز شکلگیری لایه بعدی که پلتفرم است، بحساب بیایند.
وقتی ساختار برنامههای کاربردی تغییر میکند و با ترکیب و پیکربندی مجموعهای از تصاویر ماشین مجازی و ابزارهای مجازی ایجاد میشوند، تاکید بر روی این موضوع خواهد بود که یک ماشین مجازی خاص چه کاری انجام میدهد نه اینکه چگونه پیادهسازی شده است. مجازیسازی و کپسوله سازی، جزئیات پیادهسازی را مخفی میکند و تمرکز توسعهدهندگان را بر روی واسطها و تعامل بین اجزا سوق میدهد. این اجزا باید واسطهای استانداردی را فراهم کنند بطوری که توسعهدهندگان بتوانند برنامههای کاربردی را به سرعت و سادگی ایجاد کنند. استقرار برنامههای کاربردی با برنامهنویسی انجام میشود و حتی برنامههایی که برای استقرار برنامههای کاربردی بکار برده میشوند نیز میتوانند کپسوله شوند بطوری که بتوانند بعدا مورد استفاده قرار بگیرند. برای مثل یک برنامه که زیرساخت سهلایهای وب را ارائه میکند میتواند کپسوله شود بطوری که پارامترهای آن شامل اشارهگرهایی به تصاویر ماشینهای مجازی برای وب سرور، برنامه کاربردی و پایگاهداده باشد (شکل 2-17). این الگوی طراحی میتواند اجرا شود تا برنامههای استاندارد را بدون نیاز به طراحی معماری شبکه مورد نیاز برای پشتیبانی هر لایه، ارائه دهد.

فلسفه رایانش ابری برای نگهداری برنامههای کاربردی، اعمال وصله نیست، بلکه استقرار مجدد آنها است. مدیریت مدلی که یک تصویر ماشین مجازی را ایجاد کرده است -نه خود تصویر مجازی را- این استقرار مجدد را ساده کرده است. با این کار حل مشکلاتی که بعد از استقرار پیش میآید یا انتشار نگارشهای جدید برنامههای کاربردی، با بهروزرسانی اجزای ماشینهای مجازی و فراخوانی الگوی طراحی برای استقرار مجدد، به آسانی انجام میشود. وقتی یک برنامه نویس، روی یک ماشین مجازی وصلهای را اجرا میکند، فقط یک تصویر ماشین مجازی لازم است که ایجاد شود، بقیه تصاویر با تکرار و استقرار مجدد بصورت برنامهنویسی انجام میشود. به این ترتیب باید به ماشینهای مجازی شماره نگارش اختصاص داده شود تا در صورت نیاز امکان بازگشت به عقب44 نیز وجود داشته باشد.
سالهاست که برنامههای تحت وب به سمت loose-coupled شدن و stateless شدن حرکت کردهاند در رایانش ابری، این مشخصه ها مهمتر شدهاند زیرا رایانش ابری ماهیت پویای بیشتری دارد. بر روی تصاویر برنامهها وصله ای نصب نمیشود و اشیاء دورانداختی هستند و بنابراین لازم است که stateless باشند. اگر یک ماشین مجازی از کار بیفتد، برنامه باید بتواند بدون وقفه به کار خود ادامه دهد. جفت شدگی بین اجزای برنامه باید بسیار کم باشد بطوری که خرابی هر یک از اجزا، روی دسترس پذیری کلی برنامه تاثیری نداشته باشد.
هرچه ناپایداری اجزای برنامه کاربردی بیشتر شود، نمیتوانند دادههایی را ذخیره کنند که باید فراتر از هر نمونه از آن برنامه پایدار باقی بمانند. برنامهها باید تا حد ممکن با قرار دادن اطلاعات وضعیت در خارج از برنامه stateless بشوند و تا جایی که امکان دارد، پردازش از داده جدا شود. تکنیکهایی که برای این کار وجود دارد، شامل این موارد میشود:
قرار دادن وضعیت در سمت کاربر به شکل کوکیها45 یا کدهای قرار داده شده در URL ها
قرار دادن اطلاعات وضعیت در پایگاههای داده
تهیه چندین کپی از داده، که استراتژی مورد استفاده توسط Hadoop است.
تاثیر خطا بر روی عملکرد باید در مورد سختافزارها نیز در نظر گرفته شود. به این ترتیب سختافزارهای ابری نیز باید بدون وضعیت باشند و تنظیمات آنها بصورت متادیتا ذخیره شود تا در زمان بروز مشکل بتوان آنها را بازیابی کرد.
رایانش ابری مقیاسپذیری افقی بسیار زیادی را برای برنامههای کاربردی که بتوانند از آن استفاده کنند، فراهم میکند. گرایش به سمت طراحی و تغییر ساختار برنامهها بطوری که بتوانند در یک محیط قابل گسترش اجرا شوند، به معنای افزایش تعداد برنامههایی است که برای رایانش ابری مناسب است. برنامههای کاربردی که از مزیت مقیاسپذیری افقی استفاده میکنند، با فرض اینکه ممکن است هر یک از اجزا از کار بیفتد، باید روی در دسترس بودن کل برنامه تمرکز داشته باشند. اکثر سکوهای ابری بر روی مجموعهای مجازی از منابع سرور ایجاد میشوند بطوریکه اگر هر یک از سرورهای فیزیکی از کار افتاد، ماشین مجازی که در آن قرار داشته است، به آسانی میتواند روی یک سرور فیزیکی دیگر مجدداً اجرا شود. ترکیب اجزای stateless و loose-coupled برنامههای کاربردی با مقیاسپذیری افقی امکان انجام این کار را فراهم میکند، بدون اینکه به قابلیت اطمینان هر یک از اجزا وابسته باشیم.46
مقیاسپذیری افقی به یک ابر واحد محدود نیست. بسته به اندازه و مکان دادههای برنامه، محاسبات ناگهانی میتواند برای توسعه توانایی ابر بکار گرفته شود تا بتوان افزایش موقتی حجم کار ابر را کنترل کرد. در محاسبات ناگهانی، یک برنامه که روی ابرخصوصی اجرا میشود، ممکن است در صورت نیاز، منابع بیشتری را از یک ابر عمومی کرایه بگیرد.
محاسبات ناگهانی به شدت به میزان و محل داده وابسته است. در مورد ابر خصوصی که بر روی مرکز داده یک سازمان قرار دارد و بخواهد از ابر عمومی که در جایی در اینترنت قرار دارد استفاده کند، مقدار داده ای که لازم است در ابر جابجا شود باید در معادله اشاره شده در بخش "فیزیک داده" ضرب شود. اما در حالتی که ابر خصوصی در یک فضای اشتراکی در سمت سرویس دهنده ابر عمومی قرار داشته باشد، محل داده چندان مهم نخواهد بود، چرا که پهنای باند هزینهای نخواهد داشت و بطور مجازی نامحدود است.
مقیاسپذیری افقی و موازی سازی با همدیگر مورد استفاده قرار میگیرند. یک نرمافزار میتواند از مقیاسپذیری عمودی در سیستمهای چندپردازنده ای استفاده کند و با استفاده چندین thread و موازی سازی، سرعت عملیات و زمان پاسخ را افزایش دهد. به هر حال در محیط محاسباتی امروز، با مقیاسپذیری عمودی تنها میتوان موازی سازی را در حد تعداد هستههای پردازنده سرور انجام داد. اما نرمافزاری که بتواند از موازی سازی تعدادی زیادی سرور استفاده کند، میتواند مقیاسپذیری بیشتری نسبت به سیستمهای چند پردازنده داشته باشد.

در دنیای فیزیکی، موازی سازی معمولا با تعدیل بار یا توزیع درخواست ها در بین چندین سرور انجام میشود. در دنیای رایانش ابری، موازی سازی میتواند با تعدیل بار ابزارهای مجازی یا توزیع درخواستها در بین چندین سرور مجازی انجام شود. در هر دو حالت، برنامههایی میتوانند طراحی شوند که منابع بیشتر را برای تطبیق با حجم کار زیاد خود بکارگیرند. مثال ساده موازی سازی با تعدیل بار، تعدادی سرور وب stateless است که همه به دادههای یکسانی دسترسی دارند و درخواست های ورودی بین مجموعه سرورها توزیع میشود.
راه های بسیاری برای استفاده از موازی سازی در محیطهای رایانش ابری وجود دارد. یک برنامه که پردازش زیادی روی داده کاربر انجام میدهد، ممکن است از مدل نشان داده شده در شکل 2-19 استفاده کند. یک زمان بند کارهای کاربر را دریافت میکند، دادهها را در انباره داده قرار میدهد، سپس برای هر کار یک ماشین مجازی اجرا میکند و به هر یک از ماشینهای مجازی یک بلیط میدهد که اجازه دسترسی به داده مربوط به خود را از انباره داده داشته باشد. وقتی ماشین مجازی کار خود را تمام کرد، بلیط را به زمانبند برمیگرداند تا بتواند کار تمام شده را به کاربر بدهد و ماشین مجازی را خاموش کند.

برنامهها تنها تا حدی میتوانند موازی شوند که دادههای آنها بتواند تقسیم شود و هر سیستم مستقل بتواند روی هر بخش از آن داده بطور موازی کار کند. یک معماری کاربردی خوب شامل طرحی برای استفاده از روش تقسیم و حل است و مثالهای زیادی در دنیای واقعی از بکارگیری این روش وجود دارد:
Hadoop یک نمونه از پیادهسازی الگوی MapReduce است و مبتنی بر الگوی موازی سازی به صورت master/slave پیادهسازی شده است.
Database sharding میتواند از طریق تکنیک های تقسیم سازی مختلفی انجام شود. از آن جمله میتوان به تقسیمبندی عمودی، تقسیمبندی مبتنی بر محدوده داده، یا مبتنی بر فهرست اشاره کرد. نوع رویکردی که بکار گرفته میشود به چگونگی استفاده از داده بستگی دارد.
موسسه های مالی بزرگ الگوریتم های تشخیص نفود خود را بگونهای تغییر داده اند که عملیات داده کاوی روی تعداد زیادی از سیستمها بصورت موازی انجام میشود و امکان تحلیل بلادرنگ دادههای ورودی امکانپذیر است.
فیزیک داده رابطه بین عناصر پردازشی و داده ای که بر روی آن کار میکنند را در نظر میگیرد. از آنجایی که اکثر ابرهای پردازشی، داده را در ابر ذخیره میکنند (نه روی دیسک محلی یک سرور فیزیکی) برگرداندن داده به سرور برای پردازش زمان میبرد. فیزیک داده با یک معادله ساده توصیف میشود که بیان میکند چقدر طول میکشد که مقداری داده بین جایی که تولید، ذخیره، پردازش و آرشیو شده است جابجا شود. ابرها ذخیرهسازی داده را خوب انجام میدهند، اما حجم زیاد داده یا پهنای باند کم، زمان انتقال داده را کاهش میدهد:

این معادله هم برای پردازش لحظه به لحظه داده و هم برای برنامههای طولانی مدت مناسب است و در تعیین اینکه مثلا استراتژی پیادهسازی محاسبات ناگهانی در حالتی که انتقال داده به ابر عمومی زمان زیادی طول بکشد، منطقی خواهد بود. همچنین در تعیین هزینه انتقال عملیات از یک سرویس دهنده ابری به دیگری کمک میکند.
هزینه انتقال داده میتواند هم به صورت هزینه زمان و هم بصورت هزینه پهنای باند بیان شود. در مدل ابر ترکیبی که در شکل 2-14 نشان داده شده است، ابرخصوصی یک شرکت در فضای اشتراکی سرویس دهنده ابر عمومی قرار دارد و میتواند در کاهش هزینه بسیار موثر باشد، چرا که پهنای باند در تجهیزات اشتراکی بسیار زیاد و رایگان است و استراتژی خوبی برای صرفهجویی در هزینهها میباشد.
انتقال داده از محل ذخیرهسازی به محل پردازش، هم نیاز به زمان دارد و هم هزینه. برخی نمونه های این ارتباط شامل موارد زیر میباشد:
داده بدون توان محاسباتی در نزدیکی خود، ارزش محدودی دارد و سرویس دهندگان ابری باید بصورت شفاف، ارتباطات شبکه بین این دو را برقرار کنند. ظرفیت انتقال آنها چقدر است؟ چقدر تاخیر دارد؟ قابلیت اطمینان اتصال چقدر است؟ سرویس دهندگان ابری باید خود را برای چنین سئوالاتی آماده کنند.
معماران ابر، باید بتوانند محل اجزای مجازی و سرویسها را تعیین کنند بطوری که ارتباط بین ماشینهای مجازی و ذخیرهسازی که باید به آن دسترسی داشته باشند بخوبی تعریف شده باشد.
سرویس دهندگان ابری ممکن است این ارتباط را بطور خودکار برای مشتریان خود بهینه کنند، اما باید در نظر داشته باشند که بهینهسازی آنها به برنامه ای بستگی دارد که در دست دارند.
در یک محیط شبکه شده، شاید بهتر باشد که ارزش بازیابی داده از ذخیرهسازی را محاسبه کنیم و بین پردازش داده در محل و انتقال آن به جای دیگر، سبک و سنگین کنیم.
در رایانش ابری سعی میشود از استراتژی هایی برای برنامهنویسی استفاده شود که در آنها موضوع انتقال داده در نظر گرفته باشد:
انتقال اشارهگرها معمولا بهتر از انتقال خود داده است. مثلا در مدل نشان داده شده در شکل 2-19 مشاهده میشود که از یک سرویس ذخیرهسازی مرکزی استفاده شده است و بجای انتقال داده واقعی بین اجزای برنامه، بلیط هایی جابجا میشود.
اشاره گرها باید بگونهای باشند که امکان جعل آنها وجود نداشته باشد یا بسیار مشکل باشد.
ابزارها و پروتکلهایی نظیر REST47 یا SOAP48 به کاهش وضعیت برنامه و مدیریت انتقال دادههای وضعیت کمک میکنند.
تامین مطابقت با مقررات دولتی و نیازمندی های صنعت سطح دیگری از انتظارات را به مدیریت داده اضافه میکند. یک معمار ابری لازم است که بتواند محدودیتهای جغرافیایی و توپولوژیکی ذخیرهسازی داده را تعیین کند. یک سرویس دهنده ابری باید امکان تعیین رابطه بین داده و ماشینهای مجازی که آن را پردازش میکند و نیز جایی که دادهها بطور فیزیکی ذخیره میشود را تعیین کند:
شرکتهایی که با دادههای شخصی افراد سروکار دارند ممکن است ملزم به رعایت مقررات دولتی برای پردازش اطلاعات باشند. برای مثال، آنهایی که در اتحادیه اروپا کسب و کار میکنند، اگر دادههای خود را در ایالات متحده ذخیره کنند، شاید قوانین محلی را به مخاطره بیندازند. زیرا قوانین محافظت از داده در آنجا متفاوت است. در مواردی مشابه این، سرویس دهندگان ابری باید امکان تعیین محدودیتهایی را در چگونگی و محل انتقال داده داشته باشند.
شرکتهایی که باید استانداردهای صنعت خود را رعایت کنند، نظیر آنهایی که با کارتهای اعتباری سروکار دارند، ممکن است با محدودیتهایی در محل و چگونگی ذخیرهسازی داده یا زمانی که باید دادهها نابود شوند مواجه باشند. در حالاتی شبیه این، دیسک های آزاد شده نباید با فضای ذخیرهسازی مشتری دیگری ترکیب شود و قبل از اینکه دوباره مورد استفاده قرار بگیرند، باید به شیوه امنی حذف شوند.
وقتی یک سرویس دهنده ابری را برای ذخیرهسازی داده انتخاب میکنید، نه تنها قابل اطمینان بودن آن را در نظر بگیرید، بلکه بررسی کنید که آیا مجوز لازم را بر اساس استاندارد ها برای کاربرد خاص دارند یا نه.
دادهها معمولا از با ارزش ترین دارایی های شرکتها هستند و باید با احتیاط بسیار بیشتری نسبت به دارایی های دیگر محافظت شوند. به راحتی میتوان گفت که این حساسیت از آن جهت مهم است که یک نفوذگر میتواند بطور بالقوه از هرجایی از اینترنت به دادههای شرکت دسترسی پیدا کند. بعضی گامهایی که برای این کار مورد نیاز است به این ترتیب میباشد:
ذخیرهسازی داده بصورت رمز شده تا اگر نفوذگر توانست به داخل ابر نفوذ کند یا مشکلات پیکربندی باعث شد که آن دادهها در دسترس افراد غیرمجاز قرار بگیرد، امکان تفسیر آنها وجود نداشته باشد.
دادهها بصورت رمز شده منتقل شوند. برای درک این موضوع کافیست فرض کنید که دادهها از طریق یک زیرساخت عمومی انتقال داده شوند و توسط هر کسی در این بین قابل مشاهده باشد.
احراز هویت قوی بین اجزای برنامه بطوریکه داده تنها برای بخشهای شناخته شده ارسال شود.
توجه به سیستم رمزنگاری و اینکه چگونه الگوریتم ها شکسته میشوند و با الگوریتم های جدید در طول زمان جابجا میشوند. برای مثال، اکنون که ثابت شده است MD5 نسبت به حملات آسیب پذیر است، از یک تکنیک قویتر نظیر SHA-256 استفاده کنید.
مدیریت اینکه چه کسی به برنامه دسترسی پیدا میکند و چگونه این کار انجام میشود.
استفاده از احراز هویت قوی و مبتنی بر بلیط
برای ورود کاربران، در نظر داشته باشید که چه کسی سرور احراز هویت را مدیریت میکند و آیا در کنترل شرکت یا سرویس دهنده ابری هست یا نه.
شیوه های مناسب امنیتی، در هر یک از جنبه های طراحی سیستم، پیادهسازی و استقرار آن وارد شده است. کاربردها باید بصورت امن و با واسطهایی که تنها دادههای مناسب را برای کاربران مجاز ارائه میکنند، طراحی شده باشند. در حین پیادهسازی، توسعهدهندگان باید مراقب کدهایی که منجر به آسیبپذیری ابر در مقابل تکنیکهایی نظیر buffer overflow یا SQL injection میشوند باشند. وقتی برنامه ارائه شد، سیستمهای عامل باید امن شوند و هر سطح از نرمافزار با آخرین وصلههای امنیتی، به روز نگه داشته شود. در رایانش ابری، برنامهها در محیطهای اشتراکی شبکه ارائه میشوند، و هر تکنیک ساده امنیتی، نظیر VLAN و Port Filtering برای جداکردن و محافظت از انواع بخشهای معماری برنامه کاربردی، نظیر جداکردن کاربران از همدیگر بکار برده میشود. بعضی رویکردهای امنیت شبکه شامل موارد زیر میشود:
استفاده از دامنههای امن برای گروهبندی ماشینهای مجازی با همدیگر و سپس کنترل دسترسی با دامنه از طریق قابلیتهای port fltering سرویس دهنده ابری. برای مثال، ایجاد یک دامنه امن برای بخش front-end سرورهای وب که تنها پورت های HTTP و HTTPS آن برای دنیای بیرون باز باشد و فیلتر کردن ترافیک از دامنه امن سرور وب به بخشی که شامل پایگاههای داده back-end باشد(شکل 2-20).
کنترل ترافیک با استفاده از فیلترینگ مبتنی بر پورت توسط سرویس دهنده ابری، یا بکارگیری فیلترینگ بسته یا دیواره آتش در مکانهای مناسب امکانپذیر است. کنترل های بیشتر از طریق ویژگی خاصی بنام ISC [8] برای استقرار چندین لایه نرمافزار در یک ماشین مجازی واحد امکانپذیر است.

| پرسشهای مروری فصل 2 |
|
| تحقیق و پژوهشی فصل 2 |
|
مراجع
Sun Microsystems, Inc, "IntroductIon to Cloud Computing Architecture," White Paper, 1st Edition, June 2009
Virtual Appliance Marketplace: http://www.vmware.com/appliances/directory, accessed May 2010
Virtual appliance: http://en.wikipedia.org/wiki/Virtual_appliance, accessed May 2010
OpenSolaris Dynamic Service Containers: http://kenai.com/projects/dsc, accessed May 2010
Database Sharding: http://www.codefutures.com/database-sharding, accessed May 2010
Jeffrey Dean and Sanjay Ghemawat, "MapReduce: Simplified Data Processing on Large Clusters," Google, Inc.
MapReduce: http://en.wikipedia.org/wiki/MapReduce, accessed May 2010
Immutable Service Containers: http://hub.opensolaris.org/bin/view/Project+isc/WebHome, accessed May 2010
Deployment↩︎
On Demand Deployment↩︎
Virtualization↩︎
Pool of resources↩︎
Virtual Appliances↩︎
Virtual machine image↩︎
Horizontal Scaling↩︎
load balancer↩︎
Patch↩︎
co-location↩︎
Surge Computing↩︎
Software as a service↩︎
Platform as a service↩︎
Infrastructure as a service↩︎
batch jobs↩︎
loosely coupled↩︎
rollback↩︎
cookie↩︎
بعنوان یک نمونه از پروژه های با مقیاس پذیری افقی [4] را مشاهده نمایید.↩︎
Representational State Transfer↩︎
Simple Object Access Protocol↩︎
مقالات بسیار زیادی در خصوص SaaS و تکنولوژی مجازیسازی وجود دارد. در این بخش ما می خواهیم ببینیم که چگونه میتوان برنامه ای نوشت که به بهترین شکل بتواند از مزایای رایانش ابری استفاده کند.
محاسبات توری، سادهترین نوع معماری برنامه کاربردی است که میتواند در ابر قرار بگیرد. یک برنامه محاسبات توری، نرمافزاری است که به پردازش نیاز دارد و پس از آنکه بخشهای پردازشی آن به قطعات کوچکتر شکسته شد، هر بخش بطور مجزا پردازش میشود.
اگر تا کنون از SETI@home استفاده کرده باشید، شما در یک نوع خاص از برنامههای محاسبات توری شرکت کردهاید. SETI49 دارای تلسکوپ های رادیویی است که بطور مداوم فعالیت های فضایی را بررسی میکند. آنها حجم زیادی اطلاعات جمع آوری میکنند که این اطلاعات نیاز به پردازش برای جستجوی یک نشانه غیرطبیعی دارد که ممکن است تلاشی برای برقراری ارتباط توسط یک تمدن دیگر باشد. این کار برای یک رایانه مدت زمان زیادی طول می کشد که بتواند این حجم زیاد از داده را پردازش کند، اما تعداد زیادی رایانه میتوانند زمان بیکار پردازنده خود را به این کار اختصاص دهند تا مسئله زودتر حل شود.

همه این رایانهها، برنامه SETI@home را از روی شبکه اجرا میکنند (به صورت desktop). وقتی که امکان پردازش داشتند، به سرورهای SETI درخواست مجموعه داده میفرستند. سپس مجموعه داده را پردازش کرده و نتیجه را به SETI برمیگردانند. نتایج شما توسط دیگر شرکت کنندگان نیز دوباره بررسی میشود و نتایجی که جالب باشد، بیشتر بررسی میشود50.
از 1990، سیستمهای دولتی و تجاری زیادی برای ایجاد شبکه ای از ابررایانهها به هم متصل شدند تا محاسباتی با حجم زیاد مشابه SETI@home را انجام دهند. اخیراً مجموعه سرورهایی برای کارهای محاسبات توری نظیر video rendering نیز ایجاد شده است. هم ابررایانهها و هم مجموعه سرورها، بسیار گران هستند و سرمایه زیادی برای حل مسائل محاسبات توری تحمیل میکنند. رایانش ابری انجام این کار را ارزانتر و سادهتر کرده است تا بتوان برنامههای کاربردی محاسبات توری را ایجاد کرد. وقتی شما دادههایی دارید که باید پردازش شوند، به آسانی سروری در اختیار خواهید داشت تا آنها را پردازش کند، بعد از اتمام کار، میتوانید سرور را خاموش کنید، یا اینکه به پردازش دادههای دیگری اختصاص دهید. شکل 3-21 جریان فرآیند را در یک برنامه محاسبات توری نشان میدهد. اول، یک سرور یا کلاستری از سرورها، داده ای که باید پردازش شود را دریافت میکند. سپس کاری که باید انجام شود به یک صف پیغام ارسال میشود(1). دیگر سرورها (که معمولا worker نامیده میشوند) صف پیغام را مشاهده میکنند(2) و منتظر مجموعه داده جدید میشوند. وقتی مجموعه داده ظاهر شد، اولین رایانه که آن را ببیند، آن را پردازش میکند و نتایج را به صف پیغام میفرستد (3). این دو بخش میتوانند بطور مستقل از هم کار کنند.
محاسبات توری به بازارهای کوچکی محدود است (علمی، مالی، و دیگر کاربردهای با داده زیاد)، اما رایانش ابری در اینجا به کمک محاسبات توری میآید، زیرا دیگر نیاز نیست وقتی داده ای برای پردازش ندارید، سروری داشته باشید. همچنین میتوانید تعداد سرورها را برای پشتیبانی از پردازش دادههای بیشتری که برای کاربرد خاص خود دارید، افزایش دهید. به عبارت دیگر، بجای اینکه پردازش داده را به رایانههای بیکار بدهید، سرورهایی خواهید داشت که با توجه به سرعت ورود داده، خودشان را روشن میکنند و وقتی نرخ داده کم شد، خود را خاموش میکنند.
یک سیستم تراکنشی، سیستمی است که در آن یک یا چند بخش از داده ورودی با هم بصورت یک تراکنش واحد پردازش میشود (مثلا تراکنشهای مالی و تجاری) و ممکن است با دادههای دیگری که قبلا در سیستم وجود دارد، رابطهای داشته باشد. هسته سیستم تراکنش، پایگاههای داده رابطهای است که روابط بین همه دادههایی که سیستم ایجاد میکند، مدیریت میکند. شکل 3-22 لایه بندی منطقی یک سیستم تراکنش با دسترس پذیری زیاد را نشان میدهد. در این معماری، یک برنامه سرور معمولا دادهها را در پایگاهداده قرار میدهد و امکان دسترسی به آنها را از طریق یک واسط تحت وب فراهم میکند. اکثر وبسایتها و برنامههای وب که امروزه مورد استفاده قرار میگیرند، نمونه ای از سیستمهای تراکنشی هستند. برای دسترسپذیری بالاتر، همه این اجزا میتوانند بصورت یک کلاستر در پشت یک تعدیلکنندهبار52 قرار بگیرند. استقرار یک سیستم تراکنشی در ابر نسبت به سیستمهای توری کمی پیچیدهتر است. در حالی که عمر نودها در یک سیستم توری کوتاه است، نودها در یک سیستم تراکنشی باید عمر طولانی تری داشته باشند. یک نکته کلیدی برای هر سیستمی که در زیرساخت ابری، نودهای با طول عمر بالا نیاز داشته باشد، این است که زمان بین بروز خطا (MTBF)53 در سرورهای مجازی باید کمتر از سختافزارهای زیرین آن باشد. هرچه تعداد نودهای فیزیکی کمتر شود، MTBF افزایش پیدا میکند. در سیستمهای ابری راهکارهایی فراهم شده است که نه تنها به کاهش نرخ خطای کمتر در هر نود کمک میکند، بلکه بصورت بالقوه، MTBF کل سیستم تراکنشی را افزایش میدهد.

اگر شما بتوانید همه سیستم نرمافزار خود را روی سختافزار ابری قرار دهید و سیستمهای SaaS را برای بسته نرمافزاری خود بکار بگیرید، قادر خواهید بود که یک زیرساخت ابری کامل داشته باشید. در جدول 3-2 اجزای معمولی یک کسب و کار کوچک تا متوسط لیست شده است.
جدول 3‑2- زیرساخت قدیمی فناوری اطلاعات در مقابل زیرساخت ابری
| زیرساخت سنتی | زیرساخت ابری |
| File Server | Google Docs |
| MS Outlook, Apple Mail | Gmail, Yahoo, MSN |
| SAP CRM/Oracle CRM/Siebel | Salesforce.com |
| Quicken/Oracle Financials | Intacct/NetSuit |
| Microsoft Office/Lotus Notes | Google Apps |
| Stellent | Valtira |
| Off-site backup | Amazon S3 |
| Server, racks, and firewall | Amazon EC2, GoGrid, Mosso |
تاثیر بالقوه ابر بسیار زیاد است. برای بعضی سازمانها، باعث شده است که دیگر نیاز به خرید یک سرور یا مجوز استفاده از نرمافزار وجود نداشته باشد. به عبارت دیگر، همه این نگرانیها با همدیگر یا کاهش پیدا کرده است و یا از بین رفته است:
چه موقع باید نرمافزار خود را ارتقا دهم؟ فروشندههای SaaS این کار را به طور خودکار برای شما انجام میدهند.
اگر یک قطعه سختافزاری از کار بیفتد چه کاری باید بکنم؟ ابزارهای مدیریت زیرساخت ابری، دارای اکثر سیاستهای خودکار بازیابی و رفع خطا هستند.
چگونه باید دارایی های IT خود را مدیریت کنم؟ وقتی شما در ابر هستید، شما دارایی های IT (نظیر رایانه، پرینتر و ...) اندکی دارید که نیاز به مدیریت داشته باشند.
با سختافزارهای قدیمی خود چه کنم؟ شما سختافزار خاصی نخواهید داشت، بنابراین نگرانی از این بابت نخواهید داشت.
چگونه استهلاک دارایی های IT را مدیریت کنم؟ هزینههای شما بر اساس استفاده از منابع است، بنابراین شامل هزینههای استهلاک آنها نمیشود.
چه موقع میتوانم ظرفیت زیرساخت خود را افزایش دهم؟ در ابر، شما میتوانید ظرفیت را بر اساس نیاز کسب و کار خود، هر وقت که لازم بود افزایش دهیم.
رایانش ابری با دو رویکرد IT رقابت میکند:
زیرساخت داخلی IT و پشتیبانی آن بصورت داخلی
برونسپاری خدمات مدیریتی
در مورد زیرساخت داخلی IT و پشتیبانی آن، شما مالک سرورها و تجهیزات هستید و باید افرادی را استخدام کنید که کار نگهداری و مدیریت آنها را انجام دهند. وقتی یکی از سیستمها از کار بیفتد این شما هستید که متحمل خسارت می شوید و باید هزینه جایگزینی آن را پرداخت کنید. برونسپاری خدمات مدیریتی مشابه رایانش ابری است که در آن شما هزینهای را بطور ثابت به کسی دیگر پرداخت میکنید تا سرورهای شما را نگهداری و پشتیبانی کند. اگر یکی از سرورها از کاربیفتد، شرکت سرویس دهنده است که باید نگران جایگزینی فوری آن (متناسب با SLA) باشد. آنها باید افراد متخصص مورد نیاز برای این کار را تامین کنند. در جدول مقایسه ای بین سه رویکرد زیرساخت داخلی، برونسپاری و زیرساخت ابری انجام شده است.
جدول 3‑3-مقایسه بین گزینههای مختلف زیرساخت فناوری اطلاعات
| زیرساخت داخلی | برونسپاری | زیرساخت ابری | |
| سرمایه گذاری اولیه | زیاد | متوسط | ناچیز |
| هزینههای پیش رو | متوسط | زیاد | بر اساس استفاده |
| زمان تامین و تدارک | زیاد | متوسط | ندارد |
| قابلیت انعطاف با تقاضا | محدود | متوسط | قابل انعطاف |
| تخصص مورد نیاز | زیاد | محدود | متوسط (بر اساس نوع استفاده) |
| قابلیت اطمینان و پشتیبانی | متغییر | زیاد | متوسط به بالا |
شاید بزرگترین مزیت رایانش ابری نسبت به زیرساخت داخلی، صرف نظر از تکنولوژی، بحث مالی باشد. مدل پرداخت مبتنی بر استفاده برای تامین زیرساخت داخلی در رایانش ابری، بسیار ارزانتر از مدل پرداخت اولیه برای هرچیزی که مورد نیاز است میباشد.
مشکل اصلی زیرساخت داخلی از نظر مالی، هزینههای سرمایه گذاری است. این هزینه، پول نقدی است که برای داراییهای خود پیش از عملیاتی شدن آنها پرداخت میکنید. اگر شما یک سرور خریداری کنید، آن خرید یک هزینه سرمایه بحساب میآید زیرا در ابتدا هزینه را پرداخت کردهاید . سپس ممکن است پس از استفاده از آن در 2 تا 3 سال بعد، نتیجه سرمایه گذاری خود را بدست آورید.
برونسپاری زیرساخت و نیز خدمات ابری، برای بسیاری از شرکتها جذاب است زیرا هزینههای اولیه سرمایهگذاری را حذف میکند. مدل ابری میتواند هزینههای شما را دقیقا به آنچه که استفاده میکنید نگاشت کند به این معنا که هزینهها به درآمد ها متصل میشود. در جدول، هزینههای راهاندازی زیرساخت برای پشتیبانی از یک برنامه کاربردی وب تراکنشی با نیاز دسترسپذیری بالا به همراه یک تعدیلکنندهبار و دو سرور کاربردی و دو سرور پایگاهداده نشان داده شده است. این هزینهها مربوط به اواخل سال 2008 است.
جدول 3‑4-مقایسه هزینهها در زیرساختهای مختلف IT
| زیرساخت داخلی | برونسپاری | زیرساخت ابری | |
| سرمایه گذاری اولیه | 40000 دلار | 0 دلار | 0 دلار |
| هزینههای راه اندازی | 10000 دلار | 5000 دلار | 1000 دلار |
| هزینه ماهیانه سرویس | 0 دلار | 4000 دلار | 2400 دلار |
| هزینه ماهیانه پرسنل | 3200 دلار | 0 دلار | 1000 دلار |
| هزینه خالص بعد از سه سال | 149000 دلار | 129000 دلار | 106000 دلار |
این جدول بر اساس فرضیات زیر ایجاد شده بود:
استفاده از سیستمهای سرور 1U نسبتاً استاندارد نظیر DELL 2950 و نمونههای High-end آمازون.
استفاده از سختافزار تعدیلکنندهبار در زیرساخت داخلی و پیکربندی خدمات برونسپاری شده و یک نرمافزار تعدیلکنندهبار در ابر.
نادیده گرفتن پهنای باند یا ذخیرهسازی خیلی زیاد
استفاده از ابزارهای مدیریت ابر ثالث نظیر enStratus یا RightScale
هزینه پرسنل بصورت پاره وقت محاسبه شده است (در هیچ کدام از مدلها نیروی تمام وقت نیاز نمیباشد)
هرچه زیرساخت شما پیچیدهتر شود، تعیین اینکه آیا برونسپاری، زیرساخت داخلی و یا ابری اقتصادیتر است، مشکلتر و پیچیدهتر میشود.
در این جا قصد داریم اصول اصلی مورد نیاز برای هر محیط ابری را مورد بررسی قرار دهیم و از AWS برای ارائه مثالهایی در این زمینه استفاده میکنیم. AWS توضیحات چتری آمازون درباره همه سرویسهای مبتنی بر وب آنها میباشد که شامل مجموعه وسیعی از سرویسها است و همه آنها در مفهوم رایانش ابری قرار دارند. این فناوریها و سرویسها شامل موارد زیر میشود:
Amazon Elastic Cloud Compute (Amazon EC2)
Amazon Simple Storage Service (Amazon S3)
Amazon Simple Queue Service (Amazon SQS)
Amazon CloudFront
Amazon SimpleDB
دو مورد از این تکنولوژیها، EC2 و S3، در زمینه سیستمهای تراکنشی کاربرد بسیاری دارند. با در نظر داشتن این موضوع که پایگاهداده قلب سیستمهای تراکنشی است، به نظر میرسد که Amazon SimpleDB یکی از اجزای اصلی برنامههای تراکنشی در ابر آمازون باشد. البته Amazon SimpleDB همانطور که از نامش نیز پیداست، سیستم ساده ای است و مناسب بسیاری از برنامههای تحت وب در مقیاس بزرگ نیست. علاوه براین، یک سیستم پایگاهداده اختصاصی است، و یک برنامه کاربردی وابستگی شدیدی به ابر آمازون پیدا میکند.
Amazon EC2 قلب ابر آمازون است که یک API سرویس وب برای مدیریت سرورهای مجازی در داخل ابر آمازون است. به عبارت دیگر، هر برنامه ای در هر جایی از اینترنت میتواند با فراخوانی یک وب سرویس، روی یک سرور مجازی آمازون اجرا شود. در حال حاضر سرویس Amazon EC2 در سه مرکز داده در شرق سواحل ایالات متحده و دو مرکز داده در اروپای غربی گسترده شده است. شما میتوانید بطور جداگانه برای یک حساب اروپایی ثبت نام کنید، اما نمیتوانید محیطهای اروپایی و آمریکایی را با هم ترکیب کنید. سرورهایی که در این محیطها اجرا میشوند، نگارش سفارشی شده ای از فوقناظر کدمتن باز Xen هستند که از Para Virtualization استفاده میکنند. محیط Xen امکان تامین پویای سرورها و نیز امکانات مورد نیاز برای جدا کردن محیطهای محاسباتی را فراهم میکند.
وقتی که میخواهید یک سرور مجازی را در محیط آمازون روشن کنید، یک نود جدید را بر اساس تصاویر ماشین مجازی از پیش تعریف شده (AMI54) اجرا میکنید. AMI شامل سیستم عامل و دیگر نرمافزارهای از پیش ساخته شده است. اکثر مردم با یک AMI استاندارد مبتنی بر سیستم عامل مورد علاقه خود شروع کرده و سپس آن را سفارشی میکنند. آنگاه تصاویر سفارشی شده را بر روی سرورهای خود اجرا میکنند. EC2 شامل دو نوع سرویس ذخیرهسازی است:
ذخیرهسازی یک بار مصرف (Ephemeral) که به نود پردازشی متصل شده و وقتی کار آن تمام شد، از بین میرود.
ذخیرهسازی تودهای (Block) که همانند یک SAN عمل میکند و در طول زمان ثابت میماند.
اکثر رقبای آمازون نیز ذخیرهسازی ثابت را برای نودهای خود فراهم آورده اند تا عملکرد آنها را شبیه به مراکز داده سنتی بکنند.
علاوه بر این، سرورها در EC2 –شبیه دیگر سرورهای اینترنتی- میتوانند به سرویس S3 آمازون برای ذخیرهسازی ثابت دسترسی داشته باشند. خصوصاً اینکه سرورهای EC2 در دسترسی به S3 اقتصادیتر و کارآمدتر عمل میکنند.
برای امن نگه داشتن شبکه خود در ابر، شما میتوانید قواعد دیوار آتش مجازی را که ترافیک سمت نودهای مجازی شما را تعیین میکنند،کنترل کنید. میتونید قواعد مسیریابی را با ایجاد گروههای امنیتی و اختصاص قواعد به آن گروهها تعیین کنید. برای مثال میتوان یک گروه DMZ ایجاد کرد که تنها ترافیک به سمت پورت های 80 و 443 از سمت اینترنت به سرورهای آن باز باشد.
سرویس S3 آمازون یک سیستم ذخیرهسازی ابری است که بصورت بلادرنگ از طریق API های مبتنی بر سرویس وب از هر جایی از اینترنت قابل دسترس است. با استفاده از این API، شما میتوانید انواع مختلف اشیاء، از 1 بایت گرفته تا 5 گیگابایت را در یک فضای نام نسبتاً مسطح ذخیره کنید. مهم است که در مورد S3 بعنوان یک سیستم فایل تصور نکنید. اول اینکه این سرویس یک فضای نام دو سطحی دارد. در سطح اول، شما یک سری سطل (bucket) دارید. این سطلها شبیه دایراکتوریها (فهرستها) هستند که میتوانند دادههایی را که در S3 قرار میدهید ذخیره کنند. برخلاف دایراکتوریهای مرسوم، شما نمیتوانید اینها را بصورت سلسله مراتبی سازماندهی کنید. بعبارت دیگر نمیتوان یک سطل را در داخل سطل دیگر قرار داد. مهمتر از همه اینکه فضای نام سطل در بین همه مشتری های آمازون به اشتراک گذاشته شده است. بنابراین لازم است که در طراحی نام سطل دقت ویژه ای بکنید که با دیگر اسامی تداخل نداشته باشد، مثلا اینکه شما نباید سطلی بنام "Documents" ایجاد کنید. نکته مهم دیگر اینکه در نظر داشته باشید S3 نسبتاً کند است. در حقیقت برای یک سرویس اینترنتی خیلی سریع است، اما اگر انتظار داشته باشید که به سرعت یک دیسک محلی یا SAN پاسخ دهد، نا امید خواهید شد. بنابراین، نمیتوانید از S3 آمازون بعنوان یک وسیله ذخیرهسازی برای کارهای عملیاتی استفاده کنید. نهایتاً اینکه دسترسی به S3 از طریق سرویسهای وب انجام میشود نه از طریق سیستم فایل یا WebDAV. در نتیجه، برنامهها باید بگونهای خاص نوشته شوند که بتوانند دادهها را در S3 ذخیره کنند.
گذشته از معایب S3، میتوان گفت که S3 به شما امکان قرار دادن دادهها را بصورت ثابت در ابر برای بازیابی بعدی آنها فراهم میکند. این یک مزیت کلیدی است که شما میتوانید به سادگی دادههای خود را در S3 قرار دهید بدون اینکه نگران کمبود فضا باشید. برای بسیاری از کاربران، سرورهای S3 بعنوان تجهیزات تهیه کپی پشتیبان کوتاه مدت یا بلند مدت بحساب میآید.
SQS آمازون اساس هر کدام از فعالیت های مبتنی بر محاسبات توری در آمازون است. همانند هر یک از سرویسهای صف پیغام، این سرویس پیغام ها را دریافت کرده و آنها را به سرورهای عضو ارسال میکند. یک سیستم پیغام رسانی به صورت کلی چندین رایانه را قادر میسازد که ضمن بیخبری کامل از همدیگر، تبادل اطلاعات داشته باشند. فرستنده به آسانی پیغام خود را (تا 8 کیلوبایت در SQS) در داخل صف ارسال میکند و به کار خود ادامه میدهد. دریافت کننده پیغام را از صف بر میدارد و بر اساس محتوای پیغام عمل میکند. برای مثال یک پیغام میتواند این باشد: "مجموعه داده 123.csv را در سطل s3://fancy-bucket پردازش کن و نتیجه را در صف Y قرار بده". یک مزیت سیستم صف پیغام این است که فرستنده نیاز ندارد گیرنده را شناسایی کند یا مدیریت خطا را در ارتباط با خطاهای ارتباطی انجام دهد. دریافت کننده نیز حتی نیاز ندارد که در زمان ارسال پیغام حاضر باشد. سیستم SQS آمازون بخاطر سادگیاش، مناسب محیط رایانش ابری آمازون است. اکثر سیستمها که از صف پیغام استفاده میکنند، تنها به یک API ساده برای ثبت پیغام خود و بازیابی آن نیاز دارند و اینکه به حفظ جامعیت پیغام در داخل صف اعتماد داشته باشند. توسعه و نگهداری چیزی به این سادگی، یک کار خسته کننده است، اما در عین حال استفاده از بسیاری از بسته های تجاری صف پیغام، خیلی پیچیده و گران است.

CloudFront یک شبکه توزیع محتوا (CDN55) مبتنی بر ابر است. این شبکه برای شما امکان قرار دادن محتوای دیجیتالی خود را در شبکه فراهم میکند، به این معنا که محتوا از نزدیک ترین مکانی که کاربر درخواست کرده است، به او تحویل داده میشود. به عبارت دیگر، یک بازدید کننده سایت از لوسآنجلس میتواند همان محتوایی را مشاهده کند که یک بازدید کننده از نیویورک مشاهده میکند. شما محتوا را در S3 قرار میدهد و این محتوا برای تحویل سریعتر به مصرفکننده به نقاط لبه شبکه آمازون ارسال میشود.

SimpleDB یک ترکیب عجیب از ذخیرهسازی داده با قابلیت اطمینان بالاتری نسبت به MySQL یا Oracle است. این سرویس برای انجام کارهای پیچیده و تراکنشی در ارتباط با مدلهای داده رابطهای بسیار قدرتمند است. همچنین در محیطهای با درخواست های خواندن بسیار زیاد نظیر سیستمهای مدیریت محتوا نیز مناسب است. مزایای SimpleDB به این شرح میباشد:
عدم نیاز به مدیر پایگاهداده (DBA).
API های مبتنی بر سرویس وب بسیار ساده برای ارسال پرسوجو.
دسترسی به یک سیستم مدیریت پایگاه داده کلاستر شده (DBMS).
مقیاسپذیری بالا در ذخیرهسازی داده.
اگر شما یک پایگاهداده رابطهای قوی نیاز داشته باشید، شاید SimpleDB آمازون یک ابزار مناسب نباشد. ولی اگر ایده شما از برنامه پایگاهداده یک dba است، این سرویس برای شما بسیار عالی خواهد بود.
سرویس S3 یک سیستم ذخیرهسازی دائمی مبتنی بر ابر است. این سرویس مستقل از دیگر سرویسهای آمازون کار میکند. در حقیقت، برنامههایی که شما برای میزبانی سایت خود مینویسید بدون اینکه در ابر قرار داشته باشند، میتوانند از S3 استفاده کنند. علت اینکه آمازون از S3 به عنوان یک ذخیرهسازی آسان نام میبرد، بخاطر مجموعه ویژگیهای آن است، نه سهولت استفاده از آن. S3 آمازون به شما این امکان را میدهد که داده خود را به سادگی روی ابر قرار دهید و یا دوباره از آنجا بردارید. نیازی نیست که درباره چگونگی ذخیرهسازی آن یا محلی که ذخیره میشود چیزی بدانید. اشتباه بزرگ در مورد S3 آن است که آن را بعنوان یک فایل سیستم راه دور بحساب آورید. S3 بسیار سادهتر از یک فایل سیستم است. در حقیقت شما فایلی را ذخیره نمیکنید، بلکه اشیاء را ذخیره میکنید. علاوه بر این، شما اشیاء را در سطلها ذخیره میکنید نه در دایراکتوریها. اگرچه این تمایزها ممکن است تنها یک تفاوت معنایی باشد، اما تفاوتهای مهمی با هم دارند:
اندازه اشیاء در S3 نمیتوانند بیشتر از 5 گیگابایت باشد
سطلها در فضای نام مسطح و اشتراکی بین همه کاربران S3 قرار دارد. شما نمیتوانید زیر سطل ایجاد کنید و باید مراقب تداخل فضاهای نام باشید.
شما میتوانید سطل و اشیاء خود را بصورت عمومی در معرض دید همه قرار دهید.
برای استفاده از S3 باید آن را mount کنید (البته نه به عنوان یک filesystem).
برای انجام برخی کارها مثلا mount کردن یا sync نمودن باید از ابزارهای ثالث استفاده کنید.
قبل از دسترسی به S3 شما باید برای یک حساب کاربری در آمازون ثبت نام کنید. شما میتوانید سرویس ذخیرهسازی پیش فرض خود را در ایالات متحده یا اروپا انتخاب کنید. همانطور که قبلا نیز گفته شد، قوانین و سیاستهای دولتی یا تجاری ممکن است در این تصمیمگیری نقش داشته باشد.
آمازون سرویس S3 را هم از طریق SOAP API و هم از طریق REST API فراهم کرده است. اگرچه توسعهدهندگان معمولا با SOAP بیشتر آشنا هستند، اما بدلیل اینکه SOAP با اشیاء باینری بزرگ مشکلاتی به همراه دارد، استفاده از REST بیشتر ترجیح داده میشود. API های آمازون از کارهای زیر پشتیبانی میکند:
پیدا کردن سطلها و اشیاء
کشف متادیتا های آنها
ایجاد سطلهای جدید
آپلود اشیاء جدید
حذف سطلها و اشیاء
وقتی با سطلها کار میکنید، میتوانید به دلخواه مکانی را که در آن محتوای سطل باید ذخیره شود تعیین کنید. مگردر مواردی که شما باید واقعا کنترل بسیار زیادی روی تعامل با S3 داشته باشید، پیشنهاد میشود از یک API wrapper برای زبان مورد علاقه استفاده کنید (مثلا Jets3t در محیط جاوا) تا با سطح انتزاعی تری از S3 REST API کار کنید. خط فرمان S3 را نیز میتوانید از http://s3tools.logix.cz/s3cmd برای کار با S3 دانلود نمایید. توسط این خط فرمان میتوانید یک wrapper برای دسترسی به S3 در سطح خط فرمان داشته باشید. این ابزار به زبان Python نوشته شده است و به این معناست که شما به کدمنبع آن نیز دسترسی خواهید داشت تا ببینید که چگونه میتوان یک برنامه Python برای S3 نوشت.
آمازون امکان دسترسی به BitTorremt را از داخل S3 فراهم کرده است. BitTorrent یک پروتکل اشتراک فایل P2P است. بدلیل اینکه BitTorrent یک پروتکل استاندارد برای اشتراکگذاری فایلهای باینری با حجم بالا است، تعدادی کلاینت و برنامه کاربردی در بازار وجود دارند تا دادهها را از طریق BitTorrent منتشر و مصرف کنند. اگر برنامه شما بتواند این ویژگی فراهم شده در زیرساخت را بکار بگیرد، از مزیت پشتیبانی BitTorrent در S3 استفاده کردهاید. البته به طور کلی، برنامههای تراکنشی وب در تعامل با S3 استفاده ای از BitTorrent ندارند.
برای مشاهده S3 در عمل، ما از ابزار s3cmd برای ارسال و دریافت فایل از S3 استفاده کردیم. دفعه اول که شما این ابزار را دانلود میکنید، باید آن را با کلیدهای دسترسی به S3 پیکربندی کنید. برای هر بار استفاده از این ابزار یا هر ابزار دیگری، باید این کلیدها را به منظور دسترسی به سطل خصوصی خود در S3 در اختیار داشته باشید. اولین کاری که باید در S3 انجام دهید، ایجاد یک سطل است که در آن میخواهید اشیاء خود را ذخیره کنید. این کار با دستور زیر انجام میشود:
s3cmd mb s3://BUCKET
این دستور یک سطل با نام مشخص شده توسط شما ایجاد میکند. همانطور که قبلا گفته شد، فضای نام سطلها در بین کاربران به اشتراک گذاشته شده است. در دستور فوق شما باید بجای BUCKET نام منحصر بفرد مورد نظر خود را وارد کنید. بسیاری از کاربران برای سطلهای ایجاد شده توسط خود، یک نام پیشوند منحصر بفرد انتخاب میکنند (مانند نام دامنه).
وقتی شما یک سطل ایجاد کردید، وقت آن است که چیزی در داخل آن قرار دهید.
s3cmd put LOCAL_FILE s3://BUCKET/S3FILE
مانند مثال زیر:
s3cmd put home_movie.mp4 s3://com.imaginary.movies/home_movie.mp4
حجم اشیائی که میتوان در S3 قرار داد، همانطور که قبلا نیز گفته شد 5 گیگابایت است. برای دسترسی به اشیاء S3 میتوانید از دستور زیر استفاده کنید:
s3cmd get s3://BUCKET/S3FILE LOCAL_FILE
مانند مثال زیر:
s3cmd get s3://com.imaginary.movies/home_movie.mp4 home_movies3.mp4
به این ترتیب باید فایل مورد نظر را دوباره در میزکار خود دریافت کرده باشید. نمونه ای از دیگر دستورات قابل استفاده در ادامه آمده است:
مشاهده لیست همه سطلها: s3cmd ls
مشاهده محتوای یک سطل خاص: s3cmd ls s3://BUCKET
حذف یک شیء از یک سطل: s3cmd del s3://BUCKET/S3FILE
حذف یک سطل: s3cmd rb s3://BUCKET
معروف ترین سرویس آمازون در زمینه رایانش ابری EC2 است. EC2 شبکه مجازی شما را با همه سرورهای مجازی که در آن شبکه در حال اجرا هستند ارائه میکند. البته این سرویس از دیگر سرویسها مستقل نیست. مثلا وقتی از EC2 استفاده میکنید، برای ذخیرهسازی تصاویر ماشینهای مجازی و دیگر ذخیرهسازی های مورد نیاز، میتوان از S3 استفاده کرد.

EC2 کمی پیچیدهتر از S3 است. شکل 3-25 همه مفاهیمی که EC2 را تشکیل میدهد و چگونگی ارتباط بین آن ها را نشان میدهد. مفاهیم اصلی به این ترتیب هستند:
نمونه (Instance): یک نمونه EC2 یک سرور مجازی است که سیستم عامل مورد نظر شما بر اساس تصویری که انتخاب کردهاید در آن اجرا شده است.
تصویر ماشین آمازون (AMI): یک کپی اولیه از سرور، که شما میتوانید از آن برای تهیه و اجرای هر تعداد نمونه ای که بخواهید استفاده کنید. اگر با مفهوم ghosting آشنا باشید، تصویر ماشین مجازی همانند تصویر ghostاست که از روی آن میتوانید هر تعداد از سرور را ایجاد نمایید. بطور حداقل، یک تصویر ماشین شامل هسته سیستم عامل بعلاوه ابزارهای از پیش نصب شده بر روی آن میباشد، یا اینکه بر اساس استراتژی استقرار مورد نظرتان، میتواند شامل برنامه کاربردی وب از پیش ایجاد شده شما باشد. آمازون AMI های از پیش ایجاد شده ای دارد که میتوانید برای شروع کار خود از آنها نیز استفاده نمایید. AMI های ثالث زیادی نیز وجود دارد و یا اینکه شما میتوانید AMI مورد نظر خود را از اول ایجاد نمایید.
آدرس آی پی Elastic: این یک آدرس آی پی static ساده است که به شما اختصاص داده میشود. شاید واژه Elastic کمی گیج کننده باشد، اما به معنای پویا نیست. بطور پیش فرض هر نمونه آمازون که ایجاد میشود یک آدرس آی پی پویا دریافت میکند که پس از اینکه کار آن نمونه تمام شد، ممکن است این آدرس به شخص دیگری اختصاص داده شود. اما آدرسهای Elastic برای شما رزرو میشوند و همانند یک آدرس static میتوانید همیشه از آنها استفاده کنید.
منطقه (Region): یک گروه از نواحی دسترسی است که یک کلاستر واحد را از نظر جغرافیایی تشکیل میدهند. در حال حاضر، ضمانت سرویس آمازون برای EC2 حدود 99.95 درصد قابلیت دسترسی برای حداقل دو ناحیه دسترسی در یک گروه در یک دوره 12 ماهه است.
نواحی دسترسی (Availability zone): تقریبا مشابه مراکز داده است. دو ناحیه دسترسی تضمین شدهاند که نقطه شکست مشترکی را به اشتراک نداشته باشند. آمازون در حال حاضر سه ناحیه در ایالات متحده دارد که همه در سواحل شرقی هستند. همچنین دو ناحیه هم در اروپای غربی دارد. شما میتوانید به دلخواه ناحیه دسترسی که میخواهید نمونه های خود را در آن اجرا کنید، انتخاب نمایید. به این ترتیب میتوانید سطح مورد نظر افزونگی56 برنامه خود را ایجاد کنید.
گروههای امنیتی (Security Group): بسیار شبیه به بخشهای مجزای شبکه است که با دیوارآتش از هم جدا شدهاند. شما نمونه های خود را در داخل گروههای امنیتی اجرا میکنید و در گروههای امنیتی تعیین میکنید که چه چیزی میتواند با نمونه های شما صحبت کند.
حجم ذخیرهسازی Block : شبیه به استفاده از SAN، میتوانید از ذخیرهسازی در سطح Block استفاده کنید که قابل mount کردن به نمونه های EC2 میباشد. سپس میتوانید هرگونه که بخواهید درایو خود را فرمت کنید یا اینکه بر روی آن بنویسید. حتی میتوانید از چندین درایو با همدیگر بصورت یک RAID مجازی استفاده کنید.
تصویرلحظهای (Snapshot): شما میتوانید هر زمان که بخواهید از درایو خود کپی پشتیبان تهیه کنید یا آن را تکثیر کنید. این تصاویرفوری در S3 ذخیره میشوند و برای ایجاد درایو های جدید قابل استفاده هستند.
شبیه به S3، وسیله اصلی دسترسی به EC2، API های مبتنی بر سرویس وب هستند. آمازون تعدادی ابزار محاورهای نیز در بالای API ها، از قبیل موارد زیر فراهم کرده است:
کنسول سرویسهای وب آمازون: console.aws.amazon.com (شکل 3-26 را مشاهده کنید)
افزونه ElasticFox در مرورگر Firefox
ابزارهای خط فرمان آمازون
در هنگام استفاده از آمازون، به احتمال زیاد نیاز خواهید داشت که از ابزارهای مدیریت زیرساخت قوی نظیر enStratus و RightScale نیز استفاده کنید. اگر تازه شروع به کار کرده باشید، شاید بخواهید ترکیبی از ابزارهای مختلف را نیز استفاده کنید. برای کسب اطلاعات بیشتر در خصوص استفاده از ابزارهای خط فرمان به http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351 مراجعه کنید. دقت داشته باشید که صرف نظر از ابزاری که نهایتا مورد استفاده قرار خواهید داد، همیشه به یک خط فرمان نیاز خواهید داشت.

سادهترین کاری که میتوان در EC2 انجام داد، اجرای یک نمونه است. این کار بصورت پویا یک سرور را راهاندازی کرده و در دسترس شما قرار میدهد.
شما یک نمونه AMI ذخیره شده را از S3 اجرا میکنید. آمازون تعدادی تصاویر ماشین از پیش ایجاد شده برای شما فراهم کرده است و شما میتوانید نمونه های تجاری مورد نظر خود را نیز خریداری کنید. حتی میتوانید تصاویر ماشین خود را ایجاد و ثبت کنید.
توجه : بدلیل اینکه تصاویر ایجاد شده در S3 قرار میگیرند، شما نمیتوانید یک نمونه EC2 جدید را در زمان غیرفعال بودن S3 ایجاد کنید.
از طریق ابزارهای خط فرمان، شما میتوانید تصاویر ماشین مجازی که برای شما در دسترس هستند مشاهده کنید:
ec2-describe-images -o amazon
سوئیچ -o amazon به خط فرمان میگوید که تمام تصاویری که صاحب آنها amazon است را نشان دهد. وقتی که تازه کار خود را شروع میکنید، میتوانید از تصاویر استاندارد آمازون یا یک فروشنده دیگر استفاده کنید، و پس از سفارشی کردن تصاویر، میتوانید آنها را ثبت کنید. برای اینکه ببینید که چه تصاویری را تا کنون ثبت کردهاید، میتوانید از دستور زیر استفاده کنید:
ec2-describe-images
خروجی دستور فوق مشابه این خواهد بود:
IMAGE ami-225fba4b ec2-public-images/fedora-core4-apache-mysql-
v1.07.manifest.xml amazon available public i386 machine
عنصر دوم در خروجی، شماره شناسه تصویر (ID) است که مقدار آن به تصویر اشاره میکند. عنصر سوم شامل شیء S3 است که فایل فهرست تصویر ماشین را ارائه میکند. این فایل فهرست، تصویر ماشین را برای EC2 توصیف میکند. در این مثال، ec2-public-images نام سطلی است که در آن تصویر ذخیره شده است و fedora-core4-apache-mysql-v1.07.manifest.xml نام شیئی است که فایل فهرست تصویر در آن قرار دارد. چهارمین عنصر نام صاحب تصویر است. عنصر پنجم وضعیت تصویر را نشان میدهد. عنصر ششم مشخص میکند که آیا تصویر عمومی است یا خصوصی. عنصر هفتم، i386 مشخص میکند که معماری مربوط به آن تصویر چیست. آمازون در حال حاضر از دو معماری 32 بیتی اینتل (i386) و 64 بیتی اینتل (x86_64) پشتیبانی میکند. آخرین عنصر مشخص کننده نوع تصویر است که میتواند شامل machine، ramdisk یا kernel باشد.
وقتی که شما تصویر ماشین مورد نظر خود را انتخاب کردید، نوبت به اجرا کردن نمونه سرور مجازی بر اساس آن ماشین مجازی می رسد.
ec2-run-instances AMI_ID
برای مثال با اجرای دستور زیر:
$ ec2-run-instances ami-1fd73376
یا یک پیغام خطا دریافت میکنید یا اطلاعاتی درباره وضعیت رزرو نمونه جدید دریافت خواهید کرد.
RESERVATION r-3d01de54 1234567890123 default
INSTANCE i-b1a21bd8 ami-1fd73376 pending 0
m1.small 2008-10-22T16:10:38+0000 us-east-1a aki-a72cf9ce
ari-a52cf9cc
تمایز بین یک رزرو و یک نمونه در این مثال ساده که تنها یک نمونه شروع شده است، واضح نیست. وقتی شما تلاش کنید که نمونه هایی را اجرا کنید، میتوانید تعداد حداقل و حداکثر نمونه هایی که اجرا شود را نیز تعیین کنید. در این حالت، خروجی این دستور نشان میدهد که چه تعداد نمونه بطور واقعی با درخواست شما اجرا شده است.
برای مثال، شاید شما در حال اجرای برنامههای سرور جدیدی باشید که به توزیع بار وب سایت در زمانی از روز که ترافیک آن سنگین میشود کمک کند، اگر بخواهید که 10 نمونه را برای این منظور اجرا کنید، شاید با شرایطی مواجه شوید که 10 نمونه جدید در یک ناحیه در دسترس نباشد. اگر شما 10 نمونه را درخواست کرده باشید ولی هیچ کدام در دسترس نباشد، درخواست شما شکست خواهد خورد. در این صورت میتوانید حداقل 5 و حداکثر 10 نمونه را درخواست کنید. اگر حداقل 5 نمونه در دسترس باشد، این دستور با موفقیت اجرا خواهد شد. بنابراین منظور از رزرو، تعداد نمونه هایی است که با موفقیت اجرا شده است. بعضی از موارد مهم در خصوص توضیحات داده شده به این شرح میباشد:
i-b1a21bd8 : شناسه نمونه. از آن به همراه دیگر دستورات و API ها برای اشاره به نمونه مورد نظر استفاده میشود.
ami-1fd73376 : شناسه تصویر ماشین AMI که برای اجرای نمونه استفاده میکنید.
pending : وضعیت فعلی نمونه را نشان میدهد. دیگر مقادیر میتواند شامل running، shutting down و terminate باشد.
m1.small : بیانگر این است که کدام نوع نمونه EC2 در حال اجرا است که نشان میدهد چقدر RAM، فضای دیسک و CPU به نمونه اختصاص داده شده است. نوع m1.small حالت بسیار پایه آن است.
us-east-1a : محدوده دسترسی که در آن نمونه ها اجرا شده است را نشان میدهد. بدلیل اینکه ما محدوده دسترسی در خط فرمان تعیین نکرده ایم، EC2 بهترین محدوده دسترسی را انتخاب میکند.
حال باید حدود 10 دقیقه صبر کنید تا نمونه انتخاب شده توسط شما اجرا شود. در این حالت، آمازون در حال اختصاص منابع برای نمونه و راه اندازی آن است. شما میتوانید وضعیت را با استفاده از دستور زیر بررسی کنید:
ec2-describe-instances [INSTANCE_ID]
برای مثال اجرای دستور زیر:
$ ec2-describe-instances i-b1a21bd8
خروجی شبیه این را خواهد داشت:
RESERVATION r-3d01de54 1234567890123 default
INSTANCE i-b1a21bd8 ami-1fd73376 ec2-75-101-201-11.compute-1.amazonaws.com
domU-12-31-38-00-9D-44.compute-1.internal running 0
m1.small 2008-08-11T14:39:09+0000 us-east-1c aki-a72cf9ce
ari-a52cf9cc
این خروجی نشان میدهد که نمونه در حال حاضر در وضعیت running است. به عبارت دیگر، شما میتوانید به آن دسترسی داشته باشید، اما یک مشکل کوچک وجود دارد و آن این است که شما حساب کاربری در ماشین ندارید. قبل از این کار بهتر است ببینیم چه اطلاعات بیشتری درباره این نمونه در حال اجرا میتوان کسب کرد. خروجی دستور ec2-describe-instances تقریبا مشابه ec2-run-instances میباشد بجز اینکه توسط این دستور، آدرس IP عمومی و خصوصی نمونه را نیز مشاهده خواهید کرد، زیرا اکنون نمونه در وضعیت اجرا است. وقتی نمونه اجرا شد، آمازون بصورت پویا به آن یک آدرس عمومی و یک آدرس خصوصی اختصاص میدهد. شما میتوانید از آدرس عمومی برای دسترسی به نمونه از خارج از ابر و از آدرس خصوصی در داخل ابر استفاده کنید.
همانطور که قبلا اشاره شد، تا زمانی که یک حساب کاربری نداشته باشید، شما نمیتوانید به یک نمونه EC2 جدید دسترسی داشته باشید. بنابراین آن را خاتمه دهید و نمونه دیگری را اجرا کنید که بتوانید به آن دسترسی داشته باشید:
$ ec2-terminate-instances i-b1a21bd8
از آنجایی که شما از یک نمونه ماشین از پیش ساخته شده استفاده کردید، مسلماً حساب کاربری در آن ندارید. علاوه براین این یک حفره امنیتی بزرگ برای آمازون یا هر فروشنده دیگری خواهد بود که حسابهای پیش فرض با رمز مشابه ایجاد کند. ترفندی که بکار گرفته میشود، تولید یک جفت کلید SSH است. کلید خصوصی در هارد دیسک شما قرار میگیرد و کلید عمومی به نمونه ای ارسال میشود که اجرا کردهاید. EC2 نمونه را پیکربندی میکند بطوریکه حساب کاربری root برای هر کاربری که کلید خصوصی شما را داشته باشید فراهم شود. قبل از اجرای یک نمونه جدید، باید یک جفت کلید ایجاد کنید:
ec2-add-keypair KEYPAIR_NAME
برای مثال :
$ ec2-add-keypair mykeypair
KEYPAIR mykeypair 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f
-----BEGIN RSA PRIVATE KEY----- MIIEoQIBAAKCAQBuLFg5ujHrtm1jnutSuoO8Xe56LlT+HM8v/xkaa39EstM3/aFxTHgElQiJLChp HungXQ29VTc8rc1bW0lkdi23OH5eqkMHGhvEwqa0HWASUMll4o3o/IX+0f2UcPoKCOVUR+jx71Sg5AU52EQfanIn3ZQ8lFW7Edp5a3q4DhjGlUKToHVbicL5E+g45zfB95wIyywWZfeW/UUF3LpGZyq/ebIUlq1qTbHkLbCC2r7RTn8vpQWp47BGVYGtGSBMpTRP5hnbzzuqj3itkiLHjU39S2sJCJ0TrJx5i8BygR4s3mHKBj8l+ePQxG1kGbF6R4yg6sECmXn17MRQVXODNHZbAgMBAAECggEAY1tsiUsIwDl591CXirkYGuVfLyLflXenxfI50mDFms/mumTqloHO7tr0oriHDR5K7wMcY/YY5YkcXNo7mvUVD1pMZNUJs7rw9gZRTrf7LylaJ58kOcyajw8TsC4e4LPbFaHwS1d6K8rXh64o6WgW4SrsB6ICmr1kGQI73wcfgt5ecIu4TZf0OE9IHjn+2eRlsrjBdeORi7KiUNC/pAG23I6MdDOFEQRcCSigCj+4/mciFUSASWS4dMbrpb9FNSIcf9dcLxVM7/6KxgJNfZc9XWzUw77Jg8x92Zd0fVhHOux5IZC+UvSKWB4dyfcItE8C3p9bbU9VGyY5vLCAiIb4qQKBgQDLiO24GXrIkswF32YtBBMuVgLGCwU9h9HlO9mKAc2m8Cm1jUE5IpzRjTedc9I2qiIMUTwtgnw42auSCzbUeYMURPtDqyQ7p6AjMujp9EPemcSVOK9vXYL0PtcoxW9MC0dtV6iPkCN7gOqiZXPRKaFbWADp16p8UAIvS/a5XXk5jwKBgQCKkpHi2EISh1uRkhxljyWCiDCiK6JBRsMvpLbc0v5dKwP5alo1fmdR5PJaV2qvZSj5CYNpMAy1/EDNTY5OSIJU+0KFmQbyhsbmrdLNLDL4+TcnT7c62/aH01ohYaf/VCbRhtLlBfqGoQc7+sAc8vmKkesnF7CqCEKDyF/dhrxYdQKBgC0iZzzNAapayz1+JcVTwwEid6j9JqNXbBc+Z2YwMi+T0Fv/P/hwkX/ypeOXnIUcw0Ih/YtGBVACDQbsz7LcY1HqXiHKYNWNvXgwwO+oiChjxvEkSdsTTIfnK4VSCvU9BxDbQHjdiNDJbL6oar92UN7VrBYvChJZF7LvUH4YmVpHAoGAbZ2X7XvoeEO+uZ58/BGKOIGHByHBDiXtzMhdJr15HTYjxK7OgTZmgK+8zp4L9IbvLGDMJO8vft32XPEWuvI8twCzFH+CsWLQADZMZKSsBasOZ/h1FwhdMgCMcY+Qlzd4JZKjTSu3i7vhvx6RzdSedXEMNTZWN4qlIx3kR5aHcukCgYA9T+Zrvm1F0seQPbLknn7EqhXIjBaTP8TTvW/6bdPi23ExzxZn7KOdrfclYRph1LHMpAONv/x2xALIf91UB+v5ohy1oDoasL0gij1houRe2ERKKdwz0ZL9SWq6VTdhr/5G994CK72fy5WhyERbDjUIdHaK3M849JJuf8cSrvSb4g== -----END RSA PRIVATE KEY-----
این دستور برای شما یک کلید خصوصی فراهم میکند. شما هرگز کلید عمومی را که برای استفاده از نمونهها به حساب سرویس وب شما اضافه میشود نخواهید دید، این کلید را کپی کنید و از جایی که با خط
"----BEGIN RSA PRIVATE KEY-----" شروع شده است تا خط "-----END RSA PRIVATE KEY----" را در رایانه خود ذخیره کنید. بهتر است که نام زوج کلید را نیز در نام فایل قرار دهید (مثلا: id-rsa_mykeypair) و مجوزهای دسترسی به فایل را بگونهای تعیین کنید که فقط خودتان بتوانید آن را بخوانید. در سیستمهای مبتنی بر یونیکس نظیر لینوکس و Mac OS X، میتوانید از دستور زیر برای این کار استفاده کنید:
$ chmod 400 id_rsa-mykeypair
حالا میتوانید نمونه ای را که مرتبط با زوج کلید شما است اجرا کنید:
$ ec2-run-instances -k mykeypair ami-1fd73376
RESERVATION r-8a01de64 1234567890123 default
INSTANCE i-a7d32cc3 ami-1fd73376 pending
mykeypair m1.small 2008-10-22T16:40:38+0000
us-east-1a aki-a72cf9ce ari-a52cf9cc
دقت کنید که سوئیچ –k نام زوج کلید شما است، تا نام فایلی که کلید خصوصی را در آن ذخیره کردهاید. خروجی مانند حالت قبل است بجز این که شما یک شماره شناسه رزرو جدید و یک شماره شناسه نمونه جدید دارید. همچنین 0 از اجرا قبلی با عبارت mykeypair جایگزین شده است که نشان دهنده این است که نمونه توسط کلید عمومی برای آن زوج کلید اجرا شده است. کلید عمومی به حساب کاربری root در نمونه جدید اختصاص داده میشود. به عبارت دیگر، شما میتوانید از SSH برای اتصال به نمونه استفاده کنید، بدون اینکه نیاز به استفاده از اطلاعات ورود (احراز هویت) داشته باشید. این کار بصورت امن انجام میشود زیرا شما کلید خصوصی خود را در ماشین محلی ذخیره کردهاید. البته عملا هنوز نمیتوانید به ماشین دسترسی داشته باشید، زیرا قواعد پیش فرض برای هر گروه امنیتی در EC2، مانع رسیدن ترافیک شبکه به نمونه های هر گروه امنیتی میشود.
آخرین قسمت نمایش لیست رزروها در ec2-describe-instances (که تا اینجا در مثالهای ما بصورت پیش فرض بوده است) نام گروه امنیتی است که در آن نمونه اجرا شده بود. گروههای امنیتی بسیار شبیه بخشهایی از شبکه است که در دنیای واقعی توسط دیوارههای آتش محافظت میشود. در حالت پیش فرض وقتی یک دیوار آتش ایجاد میشود، یک قاعده در آن وجود دارد که از ورود همه ترافیک از هر مبدا به هر مقصد بر روی همه پورت ها جلوگیری میکند.
تاثیر استفاده از گروه امنیتی این است که شما نمیتوانید به نمونهای که در یک گروه امنیتی جدیدی قرار دارد، به هیچ طریقی دسترسی داشته باشید، تا زمانی که توسط دستور ec2-authorize مجوز دسترسی را بدست آورید.
ec2-authorize GROUP_NAME [OPTIONS]
برای به دست آوردن دسترسی shell به نمونه جدید، باید پورت SSH را باز کنید:
$ ec2-authorize default -p 22
PERMISSION default ALLOWS tcp 22 22 FROM CIDR 0.0.0.0/0
اگر نمونه شما یک وب سرور باشد، لازم است که دسترسی HTTP و HTTPS آن باز شود:
$ ec2-authorize default -p 80
PERMISSION default ALLOWS tcp 80 80 FROM CIDR 0.0.0.0/0
$ ec2-authorize default -p 443
PERMISSION default ALLOWS tcp 443 443 FROM CIDR 0.0.0.0/0
این خروجی نشان میدهد که دسترسی به گروه امنیتی پیش فرض بر روی پورتهای خاصی از هر مکان اینترنت (FROM CIDR 0.0.0.0/0 means any IP address) ایجاد شده است.
نکته: در این مثال، دسترسی به SSH برای همه مبداًها باز شده است، اما این کار مناسبی نیست. بطور کلی تا جایی که امکان دارد، قواعد تعریف شده باید مبداً خاصی را مشخص کنند. واضح است که HTTP و HTTPS در حالت کلی برای همه باز هستند، اما تقریباً هرچیز دیگری باید یا کاملا بسته باشد یا بطور انتخابی، اجازه داشته باشد.
برای کاهش دسترسی به یک بخش خاص از ترافیک ورودی، شما باید آدرس IP یا ماسک زیرشبکه را تعیین کنید:
$ ec2-authorize default -P tcp -p 22 -s 10.0.0.1/32
این دستور، اجازه TCP را بر روی پورت 22 تنها برای محدوده 10.0.0.1 صادر کرده است. حال میتوانید با استفاده از SSH به سرور خود دسترسی داشته باشید:
ssh -i PRIVATE_KEY_FILE root@PUBLIC_IP
در این مثال شما میتوانید دستور زیر را وارد کنید تا بعنوان کاربر root وارد نمونه جدید بشوید:
$ ssh -i id_rsa-mykeypair root@ec2-75-101-201-11.compute-1.amazonaws.com
شما به یک گروه امنیتی واحد محدود نیستید. بلکه میتوانید با استفاده از ec2-add-group گروههای امنیتی بیشتری ایجاد کنید:
ec2-add-group GROUP -d DESCRIPTION
برای مثال:
$ ec2-add-group mygroup -d MyGroup
GROUP mygroup MyGroup
با استفاده از چندین گروه، شما میتوانید مجموعه قواعد مختلفی را برای انواع مختلف نمونه ها (مثلا دسترسی HTTP/HTTPS را برای گروه load balancer باز کنید در حالیکه این دسترسی به گروه سرور برنامه کاربردی بسته شده باشد و تنها دسترسی ماژول Tomcat modjk از گروه load balancer به آن باز باشد).
یکی از مفاهیمی که اخیرا در مورد آن صحبت شد، نواحی دسترسی بود. یک ناحیه دسترسی، کاملا بر روی یک مرکز داده نگاشت میشود. مثلا آمازون سه ناحیه دسترسی در ایالات متحده و دو ناحیه در اروپای غربی دارد. مهمترین ویژگی یک ناحیه دسترسی این دست که هر دو ناحیه زیرساخت کاملا متمایزی دارند، بنابراین بروز مشکل در هر بخش یا کل یک ناحیه دسترسی، تاثیری روی نواحی دیگر ندارد و بقیه نواحی میتوانند به ارائه سرویس ادامه دهند.
سطح توافق سرویس آمازون، دسترسی 99.95 درصدی را با حداقل دو ناحیه دسترسی تضمین کرده است. در مثالهای اخیر، ما ناحیه دسترسی us-east-1a را مشاهده کردیم. این شناسه برای هر مرکز داده نیست. us-east-1a برای حساب آمازون شما، شاید با us-east-1a در حساب شخص دیگر متفاوت باشد. شناخت ناحیه های دسترسی بنابه دلایلی اهمیت زیادی دارد:
وقتی شما نمونه ای را در یک ناحیه دسترسی اجرا میکنید و نمونه دیگری را در ناحیه دوم، افزونگی57 در زیرساخت خود ایجاد کردهاید. به همین دلیل مطمئن هستید که یک نمونه، خرابی نمونه دیگر را جبران خواهد کرد.
شما برای ترافیک بین هر دو ناحیه دسترسی هزینه پرداخت میکنید. به عبارت دیگر، اگر شما یک MySQL اصلی در یکی از نواحی دسترسی داشته باشید و یک Slave در ناحیه دیگر، بازای همه ترافیکی که بین master و slave مبادله میکنید، باید هزینه پهنای باند پرداخت کنید، اما اگر هر دو در یک ناحیه دسترسی یکسان قرار داشته باشند، هزینه ترافیک نخواهید داشت. از سوی دیگر، شما مزیت قابلیت دسترسی بسیار بالای master/slave را در حالتی که هر دو را در یک ناحیه یکسان قرار دهید، از دست خواهید داد.
هر وقت شما یک نمونه جدید در EC2 اجرا میکنید، آمازون بصورت پویا به آن هم آدرس IP ایستا و هم آدرس IP پویا اختصاص میدهد. بعدا روشهایی نشان داده خواهد شد که نیاز به آدرسهای IP ایستا را کاهش میدهد اما این نیاز هیچگاه از بین نمیرود. برای مثال، شما برای یک وبسایت یک آدرس IP ثابت می خواهید که توسط یک سرور DNS مشخص شده باشد. آمازون این نیاز را با استفاده از Elstic IP ها برطرف میکند. یک حساب آمازون جدید میتواند 5 آدرس IP ایستا (elastic) ایجاد کند. شما برای این آدرس ها تا زمانی که واقعاً آنها را ایجاد نکنید، هزینهای پرداخت نمیکنید. آدرسهای IP ایستا یکی از معدود چیزهایی است که حتی در حالتی که از آنها استفاده نمیکنید، باید هزینه شان را پرداخت کنید.
نکته: بدلیل اینکه آدرسهای IP در اینترنت در حال تمام شدن هستند، از آدرسهای IP ایستا تنها در زمانی استفاده کنید که واقعا به آنها نیاز داشته باشید. نگویید که IPv6 مشکل را حل خواهد کرد، زیرا باید زمان زیادی را صرف کنید تا ایده جدید استفاده از آن را یادبگیرید و نگارشهای جدید نرمافزار را نصب کنید و پیکربندیهای سرورها را از اول انجام دهید. آمازون نیز در حال حاضر مسیریابی خارجی آدرسهای IPv6 را پشتیبانی نمیکند.
برای اختصاص یک آدرس IP ایستای جدید میتوانید از دستور زیر استفاده کنید:
$ ec2-allocate-address
ADDRESS 67.202.55.255
این آدرس اکنون متعلق به شماست تا به یک نمونه EC2 اختصاص بدهید:
$ ec2-associate-address -i i-a7d32cc3 67.202.55.255
ADDRESS 67.202.55.255 i-a7d32cc3
توسط دستور زیر میتوانید لیست همه آدرسهای IP را اختصاص داده شده را مشاهده کنید:
$ ec2-describe-addresses
ADDRESS 67.202.55.255 i-a7d32cc3
ADDRESS 75.101.133.255 i-ba844bc3
وقتی شما یک آدرس IP ایستا را به یک نمونه اختصاص میدهید، آدرس عمومی قبلی آن با آدرس جدید جایگزین میشود. اگر آن نمونه به هر دلیل از بین برود، شما میتوانید یک نمونه جدید را اجرا کنید و همان آدرس را به آن اختصاص دهید. در نتیجه، شما میتوانید دسترسی عمومی را به سیستم خود از طریق تنها یک آدرس IP واحد و ایستا تامین نمایید. توجه داشته باشید که آدرس IP خصوص برای یک نمونه همیشه بصورت یک آدرس پویا در زمان اجرا باقی میماند.
آمازون سه نوع مختلف ذخیرهسازی را در زیرساخت ابری خود فراهم کرده است:
سرویس S3 آمازون مکانیزمی است که از طریق آن سرویس persistent cloud storage را ارائه کرده کرده است و یک نوع سرویس ذخیرهسازی دائمی است. وقتی شما یک نمونه EC2 جدید اجرا میکنید، همراه آن ephemeral instance storage خواهد بود که زمان عمر آن با نمونهای که پشتیبانی میکند، منطبق است. به عبارت دیگر، اگر شما نمونه را از دست بدهید یا آن را terminate کنید، هر چیزی که در ephemeral storage قرار دارد را از دست خواهید داد. آخرین نوع elastic block storage (EBS) است. EBS یک دستگاه ذخیرهسازی مبتنی بر شبکه شبیه به SAN در یک زیرساخت فیزیکی است. شما میتوانید درایوهایی با ظرفیت یک گیگابایت تا یک ترابایت ایجاد کنید و هر تعداد از آنها را به یک نمونه EC2 منتصب کنید. البته شما نمیتوانید این درایوها را بصورت مستقیم بین دو نمونه EC2 به اشتراک بگذارید.
جدول 3‑5 - مقایسه گزینههای ذخیرهسازی EC2
| Amazon S3 | Instance | Blockstorage | |
| سرعت | پایین | غیرقابل پیش بینی | بالا |
| قابلیت اطمینان | متوسط | بالا | بالا |
| دوام | خیلی بالا | خیلی پایین | بالا |
| قابلیت انعطاف | پایین | متوسط | بالا |
| پیچیدگی | بالا | پایین | بالا |
| هزینه | متوسط | پایین | بالا |
| قدرت | مدیریت | دادههای گذرا | دادههای عملیاتی |
| ضعف | دادههای عملیاتی | دادههای غیرگذرا | تعداد عملیات I/O زیاد (با اندازه کوچک) |
در یک زیرساخت مناسب ابری، شما میتوانید از همه این سه نوع سیستم ذخیرهسازی بصورت هوشمند استفاده کنید و هر کدام را در جایی که مناسب است بکار بگیرید. جدول 3-5 انواع مختلف امکانات ذخیرهسازی داده را مقایسه کرده است.
برای شروع کار با elastic block storage، یک درایو EBS ایجاد کنید:
ec2-create-volume --size SIZE_GB -z ZONE
این دستور یک درایو EBS با اندازه مشخص در ناحیه دسترسی مورد نظر ایجاد میکند.
یک نیازمندی کلیدی درایو EBS این است که باید حتماً در همان ناحیه دسترسی باشد که نمونه EC2 در آن قرار دارد.
$ ec2-create-volume --size 10 -z us-east-1a
VOLUME vol-9a773124 800 creating 2008-10-20T18:21:03+0000
قبل از اینکه درایو را به EC2 اختصاص دهید، باید صبر کنید تا درایو شما آماده شود. این بررسی را میتوانید با دستور ec2-describe-volumes انجام دهید:
$ ec2-describe-volumes vol-9a773124
VOLUME vol-9a773124 800 available 2008-10-20T18:21:03+0000
حال، آمازون شروع به شارژ کردن شما بخاطر این درایو میکند، اما هنوز توسط هیچ نمونه ای مورد استفاده قرار نگرفته است. برای اینکه یک نمونه بتواند از آن استفاده کند، باید آن را به یک نمونه خاص در همان ناحیه متصل کنید:
$ ec2-attach-volume vol-9a773124 -i i-a7d32cc3 -d /dev/sdh
ATTACHMENT vol-9a773124 i-a7d32cc3 /dev/sdh attaching 2008-10-20T18:23:27+0000
این دستور، به EC2 میگوید که درایو جدید را به یک نمونه خاص متصل کند و آدرس /dev/sdh را به آن درایو اختصاص دهد. (sdh نام رایج برای دستگاه های SCSI در لینوکس است). اگر نمونه در یک ناحیه دیگر قرار داشته باشد یا اینکه درایو توسط نمونه دیگری در حال استفاده باشد، پیغام خطا دریافت خواهید کرد، در غیر اینصورت، در این لحظه شما یک دستگاه را به نمونه خود متصل کردهاید و میتوانید آن را mount کرده و به هر شکل که بخواهید فرمت کنید. فرمت رایج در لینوکس ext3 است (اگر از فرمت XFS استفاده کنید، میتوانید فایل سیستم را freeze نیز بکنید). برای انجام این چند کار، به نمونه خود SSH کنید و دستورات زیر را اجرا نمایید:
$ mkdir /mnt/myvolume
$ yes | mkfs -t ext3 /dev/sdh
$ mount /dev/sdh /mnt/myvolume
به این ترتیب شما یک درایو 10 گیگاباتی دارید که بصورت ext3 فرمت شده است و برای استفاده به هر شکل دلخواه آماده است.
همانند هر دستگاه دیگری، اگر EBS بطور صحیح قطع نشود، امکان خراب شدن یک درایو EBS نیز وجود دارد.
نکته: شما باید همیشه، یک درایو EBS را قبل از detach کردن، unmount کنید. اگر یک پایگاهداده روی آن درایو اجرا کردهاید، همیشه باید اول سرویس آن را خاموش کنید و سپس درایو را unmount کنید.
بعنوان بخشی از فرآیند خاموش کردن سیستم، نمونه شما باید کاملا درایو ها را unmount کند. اگر قصد دارید که درایو را خارج از فرآیند عادی خاموش شدن سیستم قطع کنید، باید ابتدا بطور دستی آن را unmount کنید:
$ umount /mnt/myvolume
در این لحظه، میتوانید با آرامش خاطر، درایو را قطع کنید بطوری که برای یک نمونه دیگر قابل استفاده باشد:
$ ec2-detach-volume vol-9a773124 -i i-a7d32cc3
ATTACHMENT vol-9a773124 i-a7d32cc3 /dev/sdh detaching 2008-10-20T18:55:17+0000
حال میتوانید آن را به یک نمونه دیگر متصل کنید.
امکان تهیه تصویر از درایو یکی از ویژگیهای خوب درایو های EBS است. شما میتوانید از درایو خود هر زمان که بخواهید تصویر تهیه کنید. EC2 بطور خودکار، تصاویر را در S3 ذخیره میکند، بنابراین یک الگوی تهیه کپی پشتیبان قوی خواهید داشت.
نکته: اگرچه تصاویر EBS یک مکانیزم قوی برای کپی پشتیبان بحساب میآیند، اما در نظر داشته باشید که آنها کاملا غیرقابل حمل هستند. شما نمیتوانید تصاویرEBS خود را از ابر آمازون خارج کنید. حتی اگر بتوانید، نمیتوانید از آنها استفاده کنید.
ایجاد یک تصویر با استفاده از دستور ec2-create-snapshot انجام میشود. قبل از اینکه یک تصویر ایجاد کنید، شاید بخواهید مطمئن شوید که درایوی که می خواهید از آن تصویر تهیه کنید، در یک حالت پایدار قرار دارد. به عبارت دیگر، عملیات نوشتن در آن متوقف بشود. اینکه چگونه این کار را انجام بدهید، بستگی به برنامه ای دارد که روی درایو می نویسد. بزرگترین نگرانی با پایداری سیستم فایلها، در خصوص وجود پایگاهداده بر روی درایوها میباشد. یقیناً متوقف کردن همه عملیات نوشتن قبل از تهیه تصویر بسیار ضروری است.
برای ایجاد یک تصویر از دستور زیر استفاده کنید:
$ ec2-create-snapshot vol-9a773124
SNAPSHOT snap-21ab4c89b vol-9a773124 pending 2008-10-20T19:02:18+0000
وقتی که شما یک تصویر درست کردید، میتوانید بلافاصله نوشتن بر روی درایو را دوباره آغاز کنید و نیاز نیست که صبر کنید تا تهیه تصویر کامل شود. تهیه تصویر کامل فرآیندی زمان بر است و در پس زمینه انجام میشود. شما میتوانید برای آگاهی از زمان تکمیل تصویر، از دستور ec2-describe-snapshots استفاده کنید.
$ ec2-describe-snapshots snap-21ab4c89b
SNAPSHOT snap-21ab4c89b vol-9a773124 pending 2008-10-20T19:02:33+0000 20%
وقتی کار انجام شد، فیلد وضعیت از حالت pending به completed تغییر میکند. تصویر به تنهایی بصورت یک درایو قابل استفاده نیست، اما وقتی که بخواهید به دادههای آن دسترسی داشته باشید، میتوانید از روی آن یک درایو ایجاد کنید:
$ ec2-create-volume --snapshot snap-21ab4c89b -z us-east-1a
VOLUME vol-13b692332a 800 creating 2008-02-15T19:11:36+0000
سپس شما یک درایو از پیش فرمت شده با همه دادههای موجود در درایو قبلی خود خواهید داشت که برای استفاده توسط یک نمونه جدید EC2 قابل استفاده است. شما میتوانید هر تعداد درایو را بر اساس یک تصویر مشابه ایجاد نمایید. این ویژگی ایجاد تصویر به شما تواناییهای زیادی میدهد:
ایجاد سریع نسخه دوم از یک محیط برای تست سیستم، تست بار، یا دیگر اهدافی که به نسخه فعلی برنامه نیاز دارند.
تهیه کپی پشتیبان با کمترین تاثیر بر روی محیط تولید.
ویژگی جالب دیگر این است که تصاویر بصورت افزایشی58 ایجاد میشوند. به عبارت دیگر، اگر شما تصویری از یک درایو 20 گیگابایتی در ساعت 18:00 ایجاد کنید و تصویر دیگری در ساعت 18:10 ایجاد نمایید، در نهایت در S3 فقط یک درایو 20 گیگابایتی به علاوه تغییرات انجام شده بین ساعت 18:00 تا 18:10 ذخیره خواهد شد. این تصاویر افزایشی امکان ایجاد کپیهای پشتیبان مداوم از درایوها را فراهم میکنند.
شما میتوانید در شروع کار از AMI های عمومی که از پیش موجود هستند برای انجام کار خود استفاده کنید. همچنین میتوانید کتابخانه تصاویر خود را ایجاد و مدیریت کنید. جزئیات مدیریت تصاویر بعدا با جزئیات بیشتر تشریح خواهد شد اما در اینجا فعلا اقدامات اولیه ای که برای ایجاد و ثبت تصاویر نیاز است شرح داده میشود.
یک تصویر ماشین آمازون شامل فایل سیستم ریشه برای نمونه شما میباشد. این تصویر شامل چیزی از فایلهای ذخیره شده توسط شما (که معمولا در /mnt قرار دارد) نمیباشد. برای ایجاد یکی AMI شما باید یک کپی از گواهینامه و کلید خصوصی خود را داشته باشید. هر دو فایل دارای پسوند .pem هستند که در زمان ایجاد حساب کاربری Amazon دریافت میشوند. این دو فایل را در /mnt قرار دهید. به این ترتیب کلیدها در AMI ها بطور دائمی تعبیه نمیشوند. اگر بخواهید در فضای S3 نیز صرفهجویی کنید، میتوانید پوشه های /tmp و /var/tmp را نیز تمیز کنید. در نهایت، اگر در حال اجرای یک نمونه پایگاهداده روی پارتیشن ریشه هستید، آن را متوقف کنید.
اولین کار شما برای آمادهسازی تصویر، فرآیندی است که از آن تحت عنوان bundles up یا bundling تصویر نام برده میشود:
$ cd /mnt
$ sudo mkdir ami
$ sudo ec2-bundle-vol -d /mnt/ami -k /mnt/pk-ZZZ.pem \
-c /mnt/cert-ZZZ.pem -u 1234567890123 -r i386 -p myami
این کار زمان زیادی طول می کشد و برای مدت ممکن است به نظر برسد که کاری انجام نمیشود. این دستور فایل سیستم شما را bundles up میکند، آن را به بخشهای کوچکتر می شکند و در /mnt/ami/myami ذخیره میکند. وقتی کار انجام شد، شما یم فایل لیست شامل بخشهای مختلف AMI خود خواهید داشت: /mnt/ami/myami/myami.manifest.xml
در این لحظه، میتوانید AMI bundle خود را در S3 قرار دهید:
$ s3cmd mb s3://myami
$ sudo ec2-upload-bundle -b myami -m /mnt/ami/myami.manifest.xml \
-a ACCESS_KEY -s SECRET_KEY
نکته: کلید دسترسی و کلید محرمانه که برای آپلود کردن bundle مورد استفاده قرار میگیرند، کلیدهای S3 هستند نه کلیدهای EC2 که در زمان ایجاد bundle استفاده شدند.
این دستور مدتی زمان می برد تا همه بخشها را در S3 قرار دهد. اگر در حین این کار، کپی به هر دلیلی متوقف شد، کافیست دستور را دوباره اجرا کنید. قبل از اینکه بتوانید از تصویر استفاده کنید، یک مرحله دیگر باقی می ماند و آن ثبت AMI در EC2 است:
$ ec2-register myami/myami.manifest.xml
IMAGE ami-33a2d51c
وقتی شما نمونه های جدید را اجرا میکنید، شما میتوانید از این AMI ID برای انتخاب نمونه جدید خود استفاده کنید.
| پرسشهای مروری فصل 3 |
|
| تحقیق و پژوهشی فصل 3 |
|
مراجع
George Reese, "Cloud Application Architectures," O'Reilly, 2009
Brian McConnell, "Beyond Contact,", A Guide to SETI and Communicating with Alien Civilizations, http://oreilly.com/catalog/9780596000370
Auto-scaling Amazon EC2 with Amazon SQS: http://developer.amazonwebservices.com, , accessed april 2010
Paying for Amazon CloudFront: http://docs.amazonwebservices.com, accessed april 2010
Eucalyptus Community Cloud: http://open.eucalyptus.com/, accessed 2010
AUT Cloud Computing Lab, http://www.gridlab.tk, 2010.
Search for Extra-Terrestrial Intelligence↩︎
برای کسب اطلاعات بیشتر درباره SETI@home و پروژه SETI، میتوانید به " Beyond Contact" مراجعه نمایید[2]↩︎
Transactional Computing↩︎
load balancer↩︎
mean time between failures↩︎
Amazon Machine Image↩︎
content distribution network↩︎
redundancy↩︎
redundancy↩︎
incremental↩︎
روشهای محاسباتی در حال تغییر است، برنامههای کاربردی و اسناد مختلف از رایانه رومیزی شما در حال حرکت به داخل تودههای ابر هستند. صحبت ما درباره رایانش ابری است، جایی که برنامهها و فایلها در داخل ابرهایی متشکل از هزاران رایانه و سرور که به هم متصل هستند قرار گرفته و از طریق اینترنت قابل دسترس هستند. با رایانش ابری، هرچه که تا کنون انجام میدادید، بجای برنامههای رومیزی، از طریق برنامههای تحت وب قابل انجام میباشد. شما میتوانید به همه برنامهها و اسناد خود از هر رایانهای که به اینترنت متصل باشد، دسترسی داشته باشید.
آیا میدانید که رایانش ابری چگونه شیوه کار شما را تغییر میدهد؟ بعنوان اولین نمونه، شما دیگر به یک رایانه وابسته نخواهید بود. شما میتوانید کار خود را در هر جا انجام دهید، زیرا همیشه از طریق وب در دسترس خواهد بود. علاوه بر این، رایانش ابری شیوه کار گروهی را نیز تسهیل کرده است، بطوریکه همه اعضای گروه میتوانند به برنامهها و اسناد یکسان از هرجایی که قرار داشته باشند، دسترسی داشته باشند.
رایانش ابری یکی از گرایشهای جدید در تکنولوژی است که شیوه ارتباط با رایانه و اینترنت را متحول خواهد ساخت. این تحول به این دلیل است که تغییر عمده در چگونگی ذخیرهسازی اطلاعات و اجرای برنامهها صورت میگیرد. به این ترتیب به جای اجرای برنامهها و دادهها روی یک رایانه رومیزی، همه چیز در ابر قرار میگیرد و میزبانی میشود و از طریق اینترنت قابل دسترسی خواهد بود. رایانش ابری به شما اجازه میدهد که بتوانید به همه برنامهها و اسناد خود از هرجای دنیا دسترسی داشته باشید، شما را از محدودیتهای یک رایانه رومیزی رها میکند و امکان انجام کارهای گروهی را برای اعضای یک گروه از مکانهای مختلف فراهم میکند.
ظهور رایانش ابری را میتوانید مانند شبکه برق در نظر بگیرید. قبل از ظهور تاسیسات الکتریکی، در هر کسب و کار، برق مورد نیاز توسط ژنراتورهای اختصاصی خودشان تامین میشد، اما پس از ایجاد شبکه برق، ژنراتورهای اختصاصی کنارگذاشته شد، و هر کسب و کار،برق مورد نیاز خود را با قیمت کمتر و قابلیت اطمینان بیشتر از شبکه برق خریداری کرده و تامین میکرد.
مشابه همین حالت برای فناوریهای محاسباتی اتفاق افتاده است. تصور محاسباتی که در حال حاضر مبتنی بر رایانههای رومیزی است، آماده است که به سمت دسترسی جهانی، 24 ساعته در 7 روز هفته، با اطمینان بالا و قابلیت همکاری فراگیر حرکت کند که تحقق این امر توسط رایانش ابری فراهم شده است.
در محاسبات رومیزی، شما کپیهای مختلف از برنامههای نرمافزاری را روی هر یک از رایانههای خود اجرا میکنید. اسنادی که ایجاد کردهاید در همان رایانهای که ایجاد شدهاند، ذخیره میشوند. اگرچه اسناد میتوانند از طریق دیگر رایانههای متصل به شبکه مورد دسترسی قرار گیرند، اما دسترسی به آنها توسط رایانههای خارج شبکه امکانپذیر نیست. چنین مدلهایی را مبتنی بر رایانه شخصی یا PC Centric میتوان نام گذاشت.
با رایانش ابری، برنامههای نرمافزاری از رایانه شخصی شما اجرا نمیشوند، در عوض در سرورهایی قرار گرفته اند که از طریق اینترنت در دسترس هستند. اگر رایانه شما با مشکلی مواجه شود، نرمافزارها هنوز در دسترس خواهند بود. همین موضوع در مورد فایلها و اسناد هم صادق است. فایلها در مجموعهای از سرورها ذخیره میشوند که از طریق اینترنت میتوان به آنها دسترسی داشت. هر کس مجوز داشته باشد، نه تنها میتواند به اسناد دسترسی داشته باشد، بلکه حتی میتواند آنها را ویرایش کند و یا در آنها بصورت بلادرنگ مشارکت داشته باشد. برخلاف سیستمهای محاسباتی سنتی، این مدل رایانش ابری، مبتنی بر رایانه شخصی نمیباشد، بلکه مبتنی بر سند یا document-centric میباشد که به این ترتیب رایانهای که برای دسترسی به فایل یا سند مورد استفاده قرار میگیرد، مهم نیست.
اول اینکه رایانش ابری یک شبکه محاسباتی نیست. در یک شبکه محاسباتی، برنامهها و یا اسناد روی یک سرور میزبانی شده و از طریق شبکه در دسترس قرار میگیرند. رایانش ابری خیلی بیشتر از اینهاست و شامل چندین شبکه و چندین سرور میشود. علاوه بر این، برخلاف شبکه عادی، سرویسهای ابری و ذخیرهسازی ابری از هر جایی در دنیا و بواسطه اتصال اینترنتی امکانپذیر است.
نکته کلیدی در تعریف رایانش ابری، خود واژه "ابر" است. در اینجا ابر، گروهی بزرگ از رایانههای متصل به هم است. این رایانهها میتوانند رایانههای شخصی یا سرورهای شبکه باشند. همچنین آنها میتوانند عمومی یا خصوصی باشند. برای مثال، گوگل میزبان ابری است که شامل هم رایانههای شخصی است و هم سرورهای بزرگتر. توده ابری گوگل یک نمونه ابر خصوصی است که تنها گوگل مالک آن است اما بصورت عمومی توسط کاربران گوگل در دسترس است.
این توده ابری از رایانهها فراتر از یک شرکت یا سازمان میرود. برنامههای کاربردی و دادههایی که روی ابر میزبانی میشود، توسط گروهی وسیع از کاربران، بین سازمانی و بین پلتفرمهای مختلف فراهم شده است و از طریق اینترنت در دسترس است. هر کاربر مجاز میتواند به این اسناد و برنامهها از هر رایانه و با هر نوع اتصال اینترنتی دسترسی داشته باشد. مسئله مهم این است که برای کاربر نهایی، فناوری و زیرساخت زیرین ابر، پنهان است. گوگل به عنوان یکی از پیشتازان رایانش ابری، 6 مشخصه اصلی را بعنوان ویژگیهای رایانش ابری در نظر دارد:
رایانش ابری کاربر محور است. هربار که شما به عنوان یک کاربر به ابر متصل شوید، هرچه که در آن ذخیره شود –اسناد، پیغامها، تصاویر، برنامهها و ...- متعلق به شماست. علاوه براین، شما میتوانید دادهها را با دیگران به اشتراک بگذارید.
رایانش ابری وظیفه محور است. بجای تمرکز بر روی برنامه کاربردی و کاری که انجام میدهد، تمرکز روی نیازی که شما دارید و اینکه چگونه برنامه کاربردی میتواند آن را برای شما انجام دهد میباشد. برنامههای سنتی -واژه پرداز، صفحه گسترده، ایمیل، و ...- اهمیت کمتری نسبت به اسنادی که ایجاد میکنند دارند.
رایانش ابری قدرتمند است. اتصال صدا یا هزاران رایانه با همدیگر به ابر، یک قدرت محساباتی بسیار زیاد ایجاد کرده است که با یک رایانه رومیزی امکانپذیر نیست.
رایانش ابری در دسترس است. بدلیل اینکه داده در داخل ابر ذخیره میشود، کاربران میتوانند بطور سریع و فوری اطلاعات زیادی را از چندین انباره داده بازیابی کنند. برخلاف یک رایانه رومیزی، شما دیگر محدود به یک منبع داده نخواهید بود.
رایانش ابری هوشمند است. با همه نوع داده ذخیره شده در ابر، چنانچه بخواهیم هوشمندانه به دادهها دسترسی داشته باشیم، داده کاوی و تحلیل دادهها ضروری خواهد بود.
رایانش ابری قابل برنامهریزی است. بسیاری از وظایف در رایانش ابری باید بصورت اتوماتیک انجام شود. برای مثال، برای محافظت از جامعیت داده، اطلاعات ذخیره شده در یک رایانه واحد در ابر، باید روی چندین رایانه دیگر نیز تکرار شود. به این ترتیب اگر یکی از رایانهها از شبکه خارج شود، برنامهریزی اتوماتیک ابر، دادههای آن رایانه را در رایانه جدید توزیع میکنند.
لازم به توضیح است که از دید فنی و مهندسی نسبت به دید کاربر نهایی، تعاریف متفاوتی از رایانش ابری وجود دارد. برای افرادی که سیستمهای رایانهای را مدیریت میکنند یا توسعه میدهند، رایانش ابری یک نوع مقیاسپذیری افقی در توانایی سرور است. چالش فنی در این حالت، توسعه سیستم عامل ها و برنامههای کاربردی برای مدیریت این نوع از مقیاسپذیری است در حالی که مکانیسم انجام کار برای کاربر نهایی پنهان باقی بماند.
محاسبات Client/Server و محاسبات توزیع شده Peer-to-Peer از اجداد رایانش ابری بحساب میآیند. همه اینها در ارتباط با این موضوعات هستند که چگونه ذخیرهسازی متمرکز، مشارکت گروهی را تسهیل کرده و چگونه چندین رایانه با همدیگر میتوانند کار کنند تا توان محاسباتی افزایش داده شود.
در سالهای اولیه فناوریهای محاسباتی (پیش از 1980) همه چیز به صورت مدل کلاینت/سرور عمل میکرد. همه برنامههای نرمافزاری، همه دادهها، و همه کنترل ها روی رایانههای بزرگ Mainframe قرار داشت که به عبارت دیگر به عنوان سرورها شناخته میشدند. اگر یک کاربر بخواهد که به داده خاصی دسترسی داشته باشد یا یک برنامه را اجرا کند، مجبور بود تا به mainframe متصل شود، دسترسی مناسب را بدست آورد و سپس کار خود را انجام دهد.
کاربران به سرور از طریق یک پایانه یا ایستگاهکاری که کلاینت نامیده میشد متصل میشدند. این رایانهها اغلب حافظه و یا فضای ذخیرهسازی و یا محاسباتی زیادی نداشتند، و صرفاً برای اتصال کاربران به mainframe بکار گرفته میشدند.
مدل کلاینت/سرور درحالی که نوعی ذخیرهسازی متمرکز مشابه فراهم میکند، اما از رایانش ابری متفاوت است، زیرا که یک دید کاربر محور ندارد. در محاسبات کلاینت/سرور، همه کنترل توسط mainframe است.
در مدلهای Client/Server در سمت سرور یک نوع گلوگاه ایجاد میشود. همه ارتباطات بین رایانهها مجبور هستند که اول به سمت سرور بروند که میتواند باعث ناکارآمدی مدل شود.
ضرورت اتصال یک رایانه به یک رایانه دیگر، بدون اینکه اول مجبور باشد به سراغ سرور برود، سبب توسعه مدل محاسبات نظیر به نظیر یا peer to peer (P2P) شد. محاسبات P2P یک معماری شبکه را توصیف میکند که در آن هر رایانه وظایف و توانایی مشابه دیگران دارد. این در نقطه مقابل معماری کلاینت/سرور قرار دارد که در آن یک یا چند رایانه برای سرویس دادن به دیگران اختصاص داده میشود.
در محیط P2P، هر رایانه یک کلاینت و سرور است. با شناخت همه رایانهها در شبکه بعنوان نودهای مشابه یا همتا، P2P امکان تبادل مستقیم منابع و سرویسها را فراهم میکند. به این ترتیب نیازی به سرور مرکزی نیز نخواهد بود. P2P به معنای غیرمتمرکزسازی نیز هست. کنترل به صورت غیرمتمرکز، در همه رایانههایی که بصورت معادل کار میکنند انجام میشود.محتوا نیز بین چندین رایانه همتا، پخش شده است. هیچ سرور مرکزی مسئول میزبانی منابع و سرویسها نخواهد بود.
شاید مهمترین پیادهسازی محاسبات P2P اینترنت باشد. بیشتر کاربران امروزه فراموش میکنند که اینترنت در ابتدای شروع خود بصورت ARPAnet، به صورت سیستمی P2P بود که منابع محاسباتی را در ایالات متحده به اشتراک می گذاشت. سایتهای مختلف ARPAnet به همدیگر بصورت همتا متصل بودند، نه بصورت کلاینت/سرور.
بهترین نمونه از ماهیت P2P در اوایل ظهور اینترنت، شبکه Usenet بود. این شبکه در 1979 ایجاد شد و به صورت شبکه ای از رایانهها بود که به اینترنت متصل بودند و هر یک میزبان کل محتوای شبکه بود. پیغام ها بین رایانههای همتا منتشر میشد، کاربران متصل به هر یک از سرورهای Usenet به همه یا بخشی از پیغام های پست شده به یک سرور دسترسی داشت. اگرچه اتصال کاربران به سرور Usenet از نوع کلاینت/سرور بود، اما ارتباط بین سرورهای Usenet بصورت P2P بود.
با ظهور وب، ارتباطات در اینترنت به سمت مدل کلاینت/سرور حرکت کرد. در وب، هر سایت توسط گروهی از رایانهها میزبانی میشود و بازدیدکنندگان سایت، از برنامههای کلاینت بنام مرورگر وب برای دسترسی به آن استفاده میکنند. تقریبا همه محتوا بصورت متمرکز و همه کنترل بصورت متمرکز است و کلاینت ها هیچ استقلال یا کنترلی در این فرآیند ندارند.
یکی از مهمترین زیرمجموعههای مدل P2P محاسبات توزیع شده است، که در آن رایانههای بیکار در یک شبکه یا اینترنت، بکارگرفته میشوند تا توان محاسباتی بالایی را برای پروژه های نیاز به پردازش زیاد فراهم کنند.
یک رایانه شخصی، که 24 ساعته در 7 روز هفته روشن باشد، توان محاسباتی زیادی را فراهم میکند. اکثر مردم از رایانههای خود بصورت 24/7 استفاده میکنند، اما بخش قابل توجهی از منابع رایانهشان بلااستفاده باقی می ماند. در محاسبات داوطلبانه هدف ما استفاده از آن منابع است.
وقتی یک رایانه برای یک پروژه محاسبات داوطلبانه ثبت نام میکند، نرمافزاری روی آن نصب میشود که میتواند فعالیت های پردازشی مختلفی را در طول دوره هایی که رایانه بیکار است، انجام دهد. نتیجه پردازش های انجام شده بصورت دوره ای به شبکه محاسباتی ارسال میشود و با نتایج مشابه از دیگر رایانهها در پروژه ترکیب میشود. در نتیجه اگر رایانههای کافی بکارگرفته شوند، توان پردازشی Mainframe ها و ابررایانههای بزرگتری را شبیهسازی میکنند که برای برخی پروژه های محاسباتی خیلی بزرگ و پیچیده ضروری است.
برای مثال، تحقیقات ژنتیک نیاز به حجم زیادی از توان محاسباتی دارد. با استفاده از ابزارهای سنتی، ممکن است حل مسائل ریاضیاتی سالها طول بکشد. اما با اتصال هزاران و یا میلیونها رایانه شخصی به همدیگر، توان بیشتری بکارگرفته میشود تا نتیجه در زمان کوتاهتری بدست آید.
اولین پروژه بزرگ مبتنی بر اینترنت محاسبات داوطلبانه، distributed.net در 1997 بود که هزاران رایانه شخصی را بکارگرفته تا یک کد رمزنگاری را باز کند. یک نمونه بزرگتر، SETI@home در اواسط 1999 است که میلیونها رایانه شخصی را برای جستجوی زندگی هوشمندانه در فضاهای دیگر بکار گرفته است.
بسیاری از پروژه های محاسبات داوطلبانه در سازمانهای بزرگ و با استفاده از شبکه های معمولی متصل به شبکه محاسبات داوطلبانه هدایت میشوند. دیگر پروژه های بزرگتر، رایانههای کاربران اینترنت را بگونهای بکار میگیرند که محاسبات اغلب بصورت آفلاین در آنها انجام میشود و سپس وقتی به اینترنت متصل شدند، نتایج به شبکه ارسال میشود.
از روزهای اولیه محاسبات کلاینت/سرور تا تحولات P2P، این تمایل وجود داشته است که کاربران مختلف بتوانند با هم بصورت همزمان و روی یک پروژه مبتنی بر رایانه یکسان کار کنند. این نوع از محاسبات مشارکتی نیروی محرک رایانش ابری است.
مشارکت های گروهی اولیه توسط ترکیبی از چندین تکنولوژی P2P مختلف امکانپذیر میشدند. هدف این بود که چندین کاربران قادر باشند که با همدیگر روی یک پروژه آنلاین بصورت بلادرنگ کار کنند و هنوز هم هدف همین است.
برای همکاری روی هر پروژه ای، کاربران باید ابتدا بتوانند با هم صحبت کنند. در محیطهای امروزی، این کار بوسیله نرمافزارهای پیغام رسان ها برای ارتباطات متنی با تواناییهای صوتی و تصویری اختیاری انجام میشود. اکثر سیستمهای مشارکتی، محدوده متنوعی از گزینههای صوتی و تصویری برای کنفرانس های ویدئویی چندکاربره فراهم میکنند. علاوه بر این، کاربران باید بتوانند فایلهای خود را به اشتراک بگذارند و چندین کاربران روی یک سند یکسان بطور همزمان کار کنند. وایتبورد59 های بلادرنگ نیز مخصوصا در محیطهای آموزشی و شرکتها رایج است.
بعنوان نمونه هایی از سیستمهای مشارکتی، میتوان به موارد بسیار ساده ( نظیر Lotus Notes و Microsoft NetMeeting) تا نمونه های بسیار پیچیده (Groove Networks System) اشاره کرد. اکثر آنها در شرکتهای بزرگ مورد استفاده قرار میگیرند و محدود به فعالیت در شبکه خصوصی همان شرکت است.
با رشد اینترنت، دیگر نیازی به محدود بودن کار گروهی در یک محیط شبکه سازمانی نیست. کاربران از چندین مکان در شرکت و از چندین سازمان، تمایل دارند تا روی پروژه هایی که بین شرکتی و محدوده های جغرافیایی مختلف همکاری کنند. برای این کار، پروژه ها باید در ابر اینترنت میزبانی شوند و از هر مکان با اتصال اینترنتی در دسترس باشند.
مفهوم اسناد و خدمات مبتنی بر ابر نیز با توسعه سرورهای بزرگ نظیر آنچه که توسط گوگل و دیگر شرکتهای موتور جستجو راه اندازی شد، شکل گرفت.گوگل قبلا مجموعهای از سرورها را در اختیار داشت که برای قدرتمند کردن موتورهای جستجوی خود بکار میگرفت. چرا از این توان محاسباتی برای توسعه مجموعهای از برنامههای تحت وب استفاده نکند. در این حالت سطح جدیدی از همکاری کارهای مشارکتی اینترنت را فراهم آورد.
این دقیقا همان چیزی است که اتفاق افتاد. اگر چه گوگل تنها شرکتی نیست که خدمات رایانش ابری فراهم میکند. از دید زیرساخت، IBM، SUN و دیگر شرکتهای بزرگ، سختافزار لازم برای ایجاد شبکه های ابری را فراهم میکنند. از دید نرمافزار، شرکتهای زیادی هستند که برنامههای ابری و سرویسهای ذخیرهسازی ابری را توسعه میدهند.
امروزه مردم از سرویسهای ابری و ذخیرهسازی ابری برای ایجاد، به اشتراکگذاری، جستجو و سازماندهی اطلاعات در انواع مختلف استفاده میکنند. امروزه این قابلیت نه تنها برای کاربرانی که از رایانه استفاده میکنند، بلکه حتی برای کاربرانی که از دستگاه های دیگر نظیر موبایل، تلویزیون و ... برای اتصال به اینترنت استفاده میکنند فراهم است.
شعار شرکت Sun این است که "شبکه، رایانه است" و این شعار مناسب ترین تعریف برای نحوه عملکرد رایانش ابری است. یک شبکه از رایانهها میتواند مانند یک رایانه در نظر گرفته شود که دادهها و برنامههای کاربردی را برای کاربران اینترنت نگهداری میکند. شبکه موجود در ابری از آدرسهای IP که ما بعنوان اینترنت میشناسیم، توان محاسباتی و ذخیرهسازی انبوهی فراهم میکند و امکان کار گروهی در سطح گسترده ای را فراهم می آورد. اما این یک توصیف بسیار ساده است. حال بیایید عملکرد رایانش ابری را با جزئیات بیشتر بررسی کنیم.
کلید رایانش ابری در "ابر" است که یک شبکه انبوه از سرورها یا حتی رایانههای شخصی است که بصورت شبکه به هم متصل هستند. این رایانهها بصورت موازی اجرا میشوند و منابع هر یک با هم ترکیب میشود تا توان محاسباتی و ذخیرهسازی زیادی را فراهم کنند.
ابر دقیقاً چیست؟ مجموعهای از رایانهها و سرورها که بصورت عمومی از طریق اینترنت در دسترس هستند و در یک یا چند مرکز داده قرار دارند. در این ماشینها میتوانند هر نوع سیستم عاملی اجرا شود. در حقیقت توان پردازشی ماشینها مهم است، نه ظاهر صفحه دسکتاپ آنها.
همانطور که در شکل 4-27 نشان داده شده است، هر کاربر میتواند با رایانه یا وسیله قابل حمل خود و از طریق اینترنت به ابر متصل شود. برای این کاربران، ابر مانند یک برنامه کاربردی، وسیله یا فایل قابل مشاهده است. سختافزار داخل ابر (و همچنین سیستم عاملی که اتصالات سختافزاری را مدیریت میکند) از دید کاربر پنهان است.

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

همانطور که مشاهده میشود، نکته کلیدی در رایانش ابری، انجام خودکار بسیاری از وظایف مدیریتی است. اگر سیستم نیاز به مدیریت انسان برای تخصیص منابع و فرآیندها داشته باشد، دیگر یک ابر نخواهد بود. اگر بخواهیم یک سیستم وضعیت ابری داشته باشد، مدیریت دستی باید با فرآیند های خودکار جایگزین شوند.
یکی از استفاده های اصلی رایانش ابری برای ذخیرهسازی داده است. در ذخیرهسازی ابری، دادهها بجای اینکه مشابه شبکه های معمولی روی یک سرور اختصاصی ذخیره شوند، روی چندین سرور متعلق به گروههای مختلف ذخیره میشوند.
در حین ذخیرهسازی داده، کاربر یک سرور مجازی را می بیند که معمولا با یک نام، مشخص میشود. اما آن مکان در واقعیت وجود ندارد، بلکه تنها یک نام مستعار برای اشاره یک فضایی مجازی در ابر است. در حقیقت، داده کاربر ممکن است روی یک یا چند رایانه موجود در ابر ذخیره شده باشد. با توجه به اینکه فضای ذخیرهسازی موجود در ابر بطور پویا مدیریت میشود، بنابراین مکان واقعی ذخیرهسازی ممکن است حتی روز به روز یا دقیقه به دقیقه تغییر کند. اما با این حال، مکان مجازی است و کاربر آن را بصورت ایستا برای داده خود مشاهده میکند و میتواند فضای ذخیرهسازی متعلق به خود را مانند رایانه شخصی خود مدیریت کند.
ذخیرهسازی در ابر، هم مزایای مالی دارد و هم مزایای امنیتی. از نظر مالی، منابع مجازی در ابر معمولا ارزانتر از منابع فیزیکی اختصاصی متصل به یک شبکه یا رایانه شخصی دارند. از نظر امنیتی، دادههای ذخیره شده در یک ابر از حذف تصادفی یا سوانح سختافزاری مصون است، زیرا کپیهای مختلف آن در چندین ماشین فیزیکی تکرار شده است. از آنجایی که چندین کپی از داده بطور مداوم نگهداری میشود، ابر میتواند حتی در حالتی که چندین ماشین آن از شبکه خارج شود نیز به عملکرد عادی خود ادامه دهد. اگر یک ماشین با مشکلی مواجه شوند، داده روی ماشینهای دیگر کپی میشود.
هر برنامه یا سرویس مبتنی بر وب که از طریق رایانش ابری ارائه شود، یک سرویس ابری نامیده میشود. سرویسهای ابری میتوانند شامل هر چیزی باشند. از یک تقویم یا برنامه مدیریت تماس گرفته تا واژه پردازی و ارائه. تقریباً همه شرکتهای محاسباتی بزرگ امروز، از گوگل تا آمازون تا مایکروسافت، در حال توسعه انواع مختلف سرویسهای ابری هستند.
برنامههای مربوط به سرویسهای ابری در داخل ابر میزبانی میشوند. یک کاربر برنامه را از طریق اینترنت و با استفاده از یک مرورگر وب اجرا میکند. مرورگر به سرویس ابری متصل شده و یک نمونه از برنامه در داخل پنجره مرورگر باز میشود. به محض اجرا، برنامه تحت وب مانند یک برنامه استاندارد رومیزی عمل میکند. تنها تفاوت این است که برنامه کاربردی و اسناد در حال کار، روی سرورهای میزبان ابری باقی خواهند ماند.
سرویسهای ابری مزایای زیادی دارند. اگر رایانه کاربر از کار بیفتد، روی برنامه میزبان و یا اسناد باز شده تاثیری نخواهد داشت. هر دو بدون هیچ مشکلی در ابر باقی میمانند. علاوه بر این، یک کاربر میتواند به برنامهها و اسناد خود از یک مکان دیگر و یک رایانه دیگر دسترسی پیدا کند. او مجبور نیست تا یک کپی از برنامه و فایل را با خودش هر جا که میرود (منزل، اداره، ...) همراه داشته باشد. نهایتا اینکه بدلیل اینکه اسناد در داخل ابر میزبانی میشوند، چندین کاربر میتوانند بصورت مشارکتی روی اسناد یکسان همزمان کار کنند. به این ترتیب اسناد دیگر وابسته به ماشین نیستند و همیشه برای کاربران مجاز در دسترس خواهند بود.
ما در حال حاضر در روزهای اولیه انقلاب رایانش ابری هستیم. اگرچه بسیاری از سرویسهای ابری امروز فراهم است، اما برنامههای جالب بیشتری هنوز در حال توسعه است. گفته میشود که رایانش ابری امروز در حال جذب بهترین و بزرگترین شرکتها در صنعت محاسبات است و همه آنها امیدوارند که مدلهای تجاری مفیدی را در ابر پایه گذاری کنند.
همانطور که اخیرا در این فصل صحبت شد، شاید مهمترین شرکتی که در حال حاضر مدل رایانش ابری را احاطه کرده است، گوگل باشد. در بخشهای دیگر خواهید دید که گوگل مجموعهای قوی از برنامههای تحت وب را فراهم میکند که همه آنها در معماری وب سرویس میدهند. هر چه که بخواهید، واژه پرداز ورد مبتنی بر ابر (Google Docs)، نرمافزار ارائه (Google Presentation)، ایمیل (Gmail)، زمان بندی و تقویم (Google Calendar) و... توسط گوگل فراهم شده است. مهمتر از همه اینکه گوگل بین همه این برنامه با همدیگر واسط قرار داده است تا سرویسهای ابری بتوانند برای استفاده کاربر با همدیگر در ارتباط باشند.
دیگر شرکتهای بزرگ نیز درگیر توسعه سرویسهای ابری هستند. مثلا مایکروسافت، مجموعه Windows Live را که برنامههای کاربردی تحت وب هستند و نیز Live Mesh را که امکان اتصال همه نوع وسایل، داده و برنامههای کاربردی را در سکوی مشترک مبتنی بر ابر فراهم میکند، ارائه کرده است. آمازون توده ابری محاسباتی EC2 خود را دارد که یک سرویس وب ابری برای ارائه ظرفیت محاسباتی قابل تغییر برای توسعهدهندگان برنامههای کاربردی میباشد. IBM یک مرکز رایانش ابری را راه اندازی کرده است که سرویس ابری را به کلاینت ها ارائه میدهد. همچنین شرکتهای کوچک بیشماری برنامههای تحت وب خود را راه اندازی کردهاند تا از ماهیت مشارکتی سرویسهای وب استفاده کنند.
ما در بخشهای دیگر، بسیاری از این شرکتها و محصولات آنها را بررسی خواهیم کرد. تنها چیزی که فعلا باید بدانید این است که رایانش ابری آینده بزرگی دارد.
مفاهیم زیادی از تکنولوژی رایانش ابری برای هم کاربران نهایی و هم توسعهدهندگان وجود دارد. برای توسعهدهندگان، رایانش ابری مقدار ذخیرهسازی و توان پردازشی زیادی را فراهم میکند تا برنامههایی که طراحی میکنند در آن اجرا کنند. همچنین رایانش ابری راه های جدیدی را برای دسترسی به اطلاعات، پردازش و تحلیل داده، و متصل کردن افراد و منابع از در مکانی در دنیا میسر ساخته است. با رایانش ابری، توسعهدهندگان دیگر با محدودیتهای فیزیکی مواجه نخواهند بود.
برای کاربران نهایی، فواید بیشتر از این نیز وجود دارد. یک شخص با استفاده از یک برنامه تحت وب، از نظر فیزیکی محدود به یک رایانه شخصی، مکان خاص یا شبکه نیست. او میتواند به برنامهها و اسناد خود هر جایی که باشد، و هر زمان که بخواهد دسترسی داشته باشد. همچنین از ترس از دست دادن دادهها در حالتی که رایانهاش خراب شود، رها میشود. اسناد قرار داده شده در ابر همیشه آنجا خواهند بود و اهمیتی ندارد که چه اتفاقی برای ماشین کاربر بیفتد. همچنین مزیت کار گروهی نیز وجود خواهد داشت. کاربران از سراسر دنیا میتوانند روی اسناد، برنامهها و پروژه های مشابه بصورت بلادرنگ دسترسی داشته باشند. این یک دنیای کاملا جدید از محاسبات مشارکتی است که توسط رایانش ابری فراهم شده است.
رایانش ابری همه اینها را با هزینه اندکی فراهم میکند،زیرا ابر امکان اشتراکگذاری منابع را بهتر از شبکه های معمولی فراهم میکند. با رایانش ابری، سختافزار لازم نیست که از نظر فیزیکی کنار شرکت یا مراکز داده باشد. زیرساخت ابری میتواند هر جایی قرار داده شود، خصوصاً مناطقی با هزینه مکان و برق ارزان تر. علاوه بر این، سازمانهای IT مجبور نیستند که نگران ظرفیت اوج مصرف منابع خود باشند، زیرا اوج مصرف و ترافیک میتواند بین بخشهای مختلف ابر توزیع شود و منابع بیشتر در ابر همیشه آماده هستند. شرکتها مجبور نیستند برای وظایف محاسباتی سنگینی که به ندرت دارند، اقدام به خرید منابع بکنند زیرا اگر شما توان پردازشی بیشتری نیاز داشته باشید، همیشه در ابر وجود خواهد داشت با هزینه بسیار مناسب قابل دسترس است.
اگرچه فناوری رایانش ابری، تحول بزرگی است، اما این باعث نمیشود که برای همه مناسب باشد. برای بررسی اینکه آیا رایانش ابری برای ما مناسب است، ما باید ابتدا مزایا و معایب آن را بشناسیم و انواع کاربرانی که از آن ذینفع هستند تحلیل کنیم.
در اینجا ابتدا مزایای رایانش ابری را بررسی میکنیم.
رایانههای با هزینه کمتر برای کاربران
از نظر مالی، مزایای قابل توجهی وجود دارد. شما نیاز ندارید که یک رایانه با قدرت بالا و طبیعتاً با قیمت زیاد خریداری کنید تا یک برنامه مبتنی بر وب را اجرا کنید. زیرا برنامههای کاربردی روی ابر هستند، نه روی رایانه رومیزی، و رایانه رومیزی به توان پردازشی یا فضای دیسک زیاد که توسط نرمافزارهای سنتی مورد نیاز بود احتیاج ندارد. بنابراین رایانههای کلاینت در رایانش ابری میتواند قیمت کمتر، با دیسک سخت کمتر، حافظه کمتر و پردازندههای با بهرهوری بیشتر داشته باشند. در حقیقت، یک رایانه کلاینت در این سناریو حتی یک درایو سیدی یا دیویدی نیز نیاز ندارد، زیرا مجبور نیست نرمافزاری را نصب کند و یا سندی را ذخیره کند.
کارآیی بهبود یافته
بیایید به نتایج اینکه مجبور نباشیم در رایانه رومیزی برنامه ای را ذخیره و یا اجرا کنیم نگاه بیندازیم. با نصب و اجرا برنامههای کمتر بر روی رایانه، حافظه کمتری مصرف میشود و واضح است که کاربران کارآیی بهتری از رایانه خود خواهند دید. این کار باعث میشود که سیستم سریع تر روشن شود و کارها را سریعتر انجام دهد زیرا برنامهها و پردازههای کمتری وجود دارد که باید در حافظه بارگذاری شود.
هزینههای زیرساخت IT کمتر
در یک سازمان بزرگتر، گروه IT میتواند هزینههای کمتری را با پذیرش رایانش ابری مشاهده کند. بجای سرمایه گذاری در تعداد زیادی از سرورهای پرقدرت، پرسنل IT میتوانند از توان محاسباتی ابر برای تکمیل و یا جایگزینی منابع محاسباتی داخلی استفاده کنند. آن شرکتهایی که دارای نیازهای اوج مصرف و ترافیک هستند، دیگر نیاز به خرید تجهیزات بیشتر برای مدیریت زمان های اوج ترافیک نیستند. نیاز محاسباتی اوج مصرف میتواند به آسانی توسط رایانهها و سرورها در ابر مدیربت شود.
موضوعات نگهداری کمتر
در خصوص هزینههای نگهداری، رایانش ابری میتواند کاهش زیادی در نگهداری نرمافزار و سختافزار برای سازمانهای با اندازه های مختلف داشته باشد. با سختافزار کمتر (سرورهای کمتر) مورد نیاز در سازمان، هزینههای نگهداری بسیار پایین میآید. همچنین در خصوص نگهداری نرمافزار، بیاد داشته باشید که همه برنامههای ابری در جای دیگری قرار دارند و بنابراین نرمافزاری در رایانههای سازمان وجود ندارد که نیاز به نگهداری داشته باشد.
هزینههای نرمافزار کمتر
بجای خرید بسته های نرمافزاری جداگانه برای هر رایانه در سازمان، تنها لازم است که یک برنامه مرورگر جهت دسترسی به برنامههای درون ابر داشته باشیم. حتی اگر هزینه استفاده از برنامههای مبتنی بر وب مشابه با هزینه نرمافزارهای رومیزی باشد (که احتمالا نیست) پرسنل IT هنوز میتوانند در هزینههای نصب و نگهداری آن برنامهها روی هر رایانه رومیزی در سازمان صرفهجویی کنند.
به روز رسانی فوری نرمافزار
یکی از مزایای مرتبط با نرمافزار در رایانش ابری این است که کاربران با موضوعات و هزینههای مربوط به به روز رسانی مواجه نیستند. وقتی برنامه مبتنی بر وب است، بهروزرسانیها میتواند بطور خودکار انجام شود و برای دفعه بعد که کاربر برنامه را اجرا میکند، برایش در دسترس خواهد بود. به این ترتیب هر بار که شما به یک برنامه تحت وب دسترسی پیدا میکند، آخرین نگارش آن را مشاهده خواهید کرد.
افزایش توان پردازشی
این موضوع بسیار واضح است. وقتی شما به سیستم رایانش ابری متصل هستید، شما توانایی کل ابر را در اختیار دارید. شما دیگر محدود به یک رایانه رومیزی نیستید و قادر خواهید بود تا توان هزاران رایانه و سرور را بکار گرفته و وظایفی را با محاسبات بسیار زیاد انجام دهید.
ظرفیت ذخیرهسازی نامحدود
همانند ظرفیت محاسباتی، ابر ظرفیت ذخیرهسازی نامحدودی را بطور مجازی در اختیار شما قرار میدهد. زمانی را در نظر بگیرید که رایانه شما با کمبود فضای ذخیرهسازی مواجه شود. ظرفیت در حد 200 گیگابایت یک هارد دیسک با ظرفیتی در حدود 100 ها پتابایت (یک میلیون گیگابایت) موجود در ابر قابل مقایسه نیست. هرچه را که بخواهید به این ترتیب میتوانید ذخیره کنید.
امنیت داده بیشتر
در محاسبات رومیزی، وقتی که یک هارد دیسک خراب میشود، میتواند همه دادههای با ارزش شما را نابود کند. اما در رایانش ابری، از کار افتادن یک رایانه، تاثیری در دادههای ذخیره شده شما نخواهد داشت. علت این است که دادهها در ابر بطور خودکار تکثیر میشوند و بنابراین چیزی از دست نمیرود. همچنین به این معناست که اگر رایانه شخصی شما نیز از کار بیفتد، همه دادههای شما هنوز در ابر قرار دارد و هنوز قابل دسترس است. در دنیایی که کاربران کمی از دادههای خود کپی پشتیبان تهیه میکنند، رایانش ابری میتواند دادهها را امن نگه دارد.
سازگاری بیشتر بین سیستم عامل ها
در رایانش ابری دیگر مهم نیست که سیستم عامل شما ویندوز است یا لینوکس یا مکینتاش یا هر چیز دیگر. در ابر سیستم عامل مهم نیست. شما میتوانید با استفاده از ویندوز به ابر متصل شوید و یک سند را با رایانههای دیگری که دارای سیستم عامل لینوکس یا مکینتاش یا یونیکس هستند به اشتراک بگذارید. در ابر داده اهمیت دارد نه سیستم عامل.
بهبود سازگاری فرمت سند
شما نیازی ندارید که نگران سازگاری اسنادی که در رایانه خود ایجاد میکنید با رایانههای دیگر باشید. در وضعیتی که یک سند ایجاد شده با word 2007 نمیتواند در رایانهای که word 2003 دارد باز نمیشود، همه اسناد ایجاد شده در برنامههای تحت وب، میتواند توسط هر کاربر دیگری که به آن برنامه دسترسی پیدا میکند، خوانده شود. در این حالت وقتی افراد اسناد و برنامهها را به اشتراک می گذارند، ناسازگاری فرمت پیش نخواهد آمد.
کار گروهی آسانتر
به اشتراکگذاری اسناد سبب میشود که بتوان بطور مستقیم روی آنها مشارکت داشت. در حال حاضر با استفاده از رایانش ابری افراد مختلف میتوانند به اسناد یک پروژه بطور همزمان دسترسی داشته باشند. ویرایش انجام شده توسط یک کاربر بطور خودکار بروی آنچه که دیگران مشاهده میکنند منعکس خواهد شد. هم اکنون این امکان وجود دارد که پروژه های گروهی در نقاط جغرافیایی مختلف انجام شود و دیگر نیازی نیست که افراد همه در یک سازمان باشند.
دسترسی جهانی به اسناد
آیا پیش آمده است که از سرکار به خانه بروید و متوجه شوید که یک سند مهم را در محل کار جا گذاشتهاید؟ یا اینکه به یک کنفرانس رفته باشید و متوجه شوید که ارائه خود را فراموش کردید همراه خود ببرید؟
با رایانش ابری، نیازی نیست که شما اسناد خود را همراه خود داشته باشید. در عوض، آنها در ابر خواهند بود، جایی که میتوانید به آنها از هر جایی که یک رایانه و یک اتصال اینترنتی داشته باشید، دسترسی پیدا کنید. همه اسناد شما فورا از جایی که هستید قابل دستیابی هستند.
فراهم بودن آخرین نگارش
این یک مزیت دیگر رایانش ابری در ارتباط با فایلها است. وقتی شما یک سند را در خانه ویرایش میکنید، آن نسخه ویرایش شده همان چیزی خواهد بود که وقتی سند را در اداره باز میکند مشاهده خواهید کرد. ابر همیشه میزبان آخرین نگارش از اسناد شما خواهد بود. شما هرگز در خطر استفاده از یک نگارش قدیمی تر مواجه نخواهید بود.
حذف وابستگی به دستگاه های خاص
نهایتا اینکه شما به یک رایانه یا یک شبکه خاص وابسته نخواهید بود. رایانه خود را تغییر دهید و برنامهها و اسناد شما دنبال شما در ابر خواهند آمد.
دلایلی وجود دارد که ممکن است سبب شود تا رایانش ابری برای نیاز خاص شما مناسب نباشد. در اینجا ریسکهای مربوط به رایانش ابری مورد بررسی قرار میگیرد.
نیاز به اتصال اینترنتی دائم
رایانش ابری در حالتی که شما نتوانید به اینترنت متصل شوید، غیرممکن است. زیرا شما از اینترنت هم برای اتصال به برنامهها و هم دسترسی به اسناد استفاده میکنید و اگر اینترنت نداشته باشید، نمیتوانید به چیزی دسترسی داشته باشید، حتی اسناد خودتان. در مناطقی که دسترسی به اینترنت محدود است یا اتصال اینترنتی قابل اطمینان نیست، نمیتوان از رایانش ابری استفاده کرد. بعبارتی دیگر وقتی شما offline هستید، رایانش ابری کار نمیکند.
این یک اشکال عمده است که شما ممکن است به آن فکر کنید. مسلما شما عادت کردهاید که از یک اتصال اینترنتی ثابت هم در منزل و هم در سر کار استفاده کنید، اما چه جای دیگری ممکن است بخواهید از رایانه خود استفاده کنید؟ اگر بخواهید روی اسناد خود در عرشه کشتی استفاده کنید یا در حالیکه برای نهار به رستوران رفتهاید یا در اتومبیلتان ممکن است نتوانید به اسناد و برنامههای ابری خود دسترسی داشته باشید.
لازم به ذکر است که برخی از برنامههای تحت وب در حال حاضر بصورتی طراحی شدهاند که شما بتوانید از آنها در رایانه رومیزی در زمانی که به اینترنت متصل نیستید نیز استفاده کنید. نمونه این برنامهها Google Gears است که امکان استفاده از برنامههای تحت وب گوگل را بصورت محلی فراهم می آورد.
با اتصالات با سرعت پایین به خوبی کار نمیکند
بطور مشابه با مورد قبلی، یک اتصال اینترنت با سرعت کم نظیر dial-up استفاده از رایانش ابری را با زحمت زیاد مواجه میکند و اغلب آن را غیرممکن میکند. برنامههای تحت وب و نیز فایلهای بزرگ، پهنای باند زیادی برای دانلود شدن نیاز دارند. به عبارت دیگر، رایانش ابری برای اتصالات با سرعت پایین مناسب نیست.
میتواند کند باشد
حتی در حالت استفاده از یک اتصال سریع، برنامههای تحت وب ممکن است در برخی موارد کندتر از دسترسی به نمونه مشابه آن در یک رایانه رومیزی باشند. علت این موضوع به خود برنامه می گردد که هر چه در ارتباط با آن است، از واسط برنامه گرفته تا سندی که با آن کار میکنید می بایست بین رایانه شما و ابر جابجا شود. اگر سرورهای ابری در آن لحظه در حال تهیه کپی پشتیبان باشند، یا اینکه سرعت اینترنت در آن روز کند باشد، شما دسترسی سریع به اسناد و برنامهها نخواهید داشت.
ویژگیها ممکن است محدود باشد
این اشکال خاص در حال تغییر است اما امروزه بسیاری از برنامههای تحت وب به اندازه برنامههای رومیزی قوی نیستند. مثلا مجموعه ویژگیهای Google Presentation نسبت به Microsoft PowerPoint بسیار کمتر است. ویژگیهای پایه در هر دو یکسان است اما بسیاری از ویژگیهای پیشرفته در برنامههای تحت وب موجود نیست.
بنابراین اگر شما یک کاربر پیشرفته هستید، شما ممکن است نخواهید فعلا از چنین برنامههایی استفاده کنید. گفته میشود که بسیاری از برنامههای تحت وب در طی زمان ویژگیهای پیشرفته بیشتری را اضافه میکنند. مثلا Google Docs و Spreadsheets در حال حاضر بسیاری از ویژگیهای خاصی که در Microsoft Word و Excel وجود دارد، شامل شدهاند. اما هنوز لازم است که قبلا از استفاده از آنها ویژگیهایشان را بررسی کنید و مطمئن شوید که برنامههای تحت وب میتوانند هر چیزی که نیاز دارید انجام میدهند.
دادههای ذخیره شده ممکن است امن نباشند
در رایانش ابری، همه دادهها در ابر ذخیره میشود. این خوب است اما چقدر داخل ابر امن است؟ آیا یک کاربر غیرمجاز میتواند به دادههای محرمانه دسترسی داشته باشد؟ اینها همه سئوالات مهمی است و نیاز به بررسی بیشتر دارد. به همین دلیل این موضوع را بطور جداگانه در بخش بعدی "امنیت آگاهانه" بحث خواهیم کرد.
اگر دادههای شما در ابر از دست برود!
از نظر تئوری، دادههای ذخیره شده در ابر بطور فوق العاده امن است و بین چندین ماشین تکرار میشود. اما اگر از روی بدشانسی آن دادهها از دست برود، شما کپی پشتیبان محلی یا فیزیکی نخواهید داشت (مگر اینکه بطور منظم همه اسناد خود را از روی ابر بر روی رایانه رومیزی دانلود کنید).
همانطور که مشاهده شد، رایانش ابری برای همه مناسب نیست. حال باید ببینیم چه کاربرانی برای استفاده از آن مناسب هستند و چه کاربرانی مناسب نیستند.
کاربرانی که با هم مشارکتی کار میکنند
اگر شما معمولا با دیگران روی یک پروژه گروهی کار میکنید، یک کاندیدای مناسب برای رایانش ابری است. توانایی به اشتراکگذاری و ویرایش اسناد بصورت بلادرنگ بین چند کاربر یکی از مزایای اصلی برنامههای تحت وب میباشد. مثلا کار بر روی یک ارائه بصورت مشترک توسط برنامه Google Presentation این امکان را فراهم میکند که همه از آخرین تغییرات مطلع باشند. یا اینکه افراد میتوانند در برنامه Google Calendar برنامههای زمانی همدیگر را به اشتراک بگذارند و به خوبی به تنظیم وقت و برنامههای خود بپردازند. به طور مشابه، گروهها و تیم های ورزشی میتوانند از تقویم های تحت وب برای اطلاع دادن به اعضای خود در خصوص رویدادها و فعالیت های پیش رو اطلاع دهند. اگر اعضای مجاز گروه یا تیم بتوانند آیتم های مورد نظر خود را به تقویم اضافه کنند، این امکان برای کل گروه وجود خواهد داشت که برنامهریزی ها را بدون تداخل زمانی انجام دهند.
کاربرانی که زیاد در رفت و آمد هستند
گروه دیگر که برای رایانش ابری مناسب هستند،کسانی هستند که زیاد در رفت و آمد هستند. وقتی شما امروز در اداره کار میکند، روز بعد در منزل کار میکنید، و روز بعد در شهر دیگری هستید، لازم است که بتوانید همه اسناد و برنامههای خود را پیگیری کنید. بنابراین شما میتوانید به یک نگارش واحد از اسنادتان از هر مکانی دسترسی داشته باشید. با استفاده از رایانش ابری، شما مجبور نیستید که یک کپی از سند خود را با خود به همراه داشته باشید. شما حتی نگران این نخواهید بود آیا یک برنامه خاص در همه رایانههای شما نصب هست یا نه.
کاربرانی که هزینهها برایشان مهم است
دیگر گروه از کاربران که باید به سمت رایانش ابری جذب شوند آنهایی هستند که هزینهها برایشان مهم است. با رایانش ابری شما میتوانید در هزینههای سختافزار و نرمافزار صرفهجویی کنید. در خصوص سختافزار، نیازی نیست که روی دیسک های زیاد یا CPU های بسیار سریع سرمایه گذاری کنید زیرا هر چیزی در وب ذخیره میشود و اجرا میشود. شما میتوانید یک رایانه با امکانات کمتر و قیمت پایین تر خریداری کنید بدون اینکه نگران کارآیی آن باشید. به همین اندازه میتوانید در نرمافزار نیز صرفهجویی کنید. بسیاری از نرمافزارهای تحت وب نظیر Google Docs، Spreadsheets و Presentation رایگان هستند.
وقتی بودجه شما محدود است، رایگان بودن محصولات خیلی بهتر از هزینه صدها یا هزاران دلار خواهد بود. این علتی است که بسیاری از دانشگاه ها در حال ترک مایکروسافت هستند و در عوض به محصولات و برنامههای گوگل روی میآورند. هزینه همیشه در دانشکده ها محدود است. در حالی که بسیاری از برنامههای تحت وب بسیاری از کارهایی که برنامههای سنتی انجام میدهد، چرا نباید از یک راهحل رایگان استفاده کرد؟
بخشهای IT که هزینه برایشان مهم است
بسیاری از بخشهای IT در حال علاقهمند شدن به مدل رایانش ابری هستند. اگرچه آنها ممکن است از صرفهجویی قیمت ها بطوریکه پیش از این بحث کردیم تقدیر کنند، ولی برای آنها صرفهجویی اصلی در خرید سرورهای مرکزی کمتر میباشد.
در شبکه شرکتها ملاحظه میشود که بیشتر محاسبات در سرورهای مرکزی قرار داده شده در شبکه سازمانها انجام میشود. وقتی کاربران نیاز به توان محاسباتی بیشتر داشته باشند، نیاز است که سرورهای بیشتری خریداری شود.
نیاز برای توان محاسباتی بیشتر، در زمانی که سازمان از رایانش ابری استفاده کند، دیگر موضوع مهمی نخواهد بود. بجای خرید یک سرور جدید، پرسنل IT فقط تقاضای محاسبات را به سمت ابر میفرستند. سرورهایی که در ابر قرار دارند، به اندازه کافی ظرفیت دارند تا بتوانند نیاز فزاینده سازمانها را مدیریت کنند.
کاربران با نیازهای فزاینده
صرفهجویی در هزینههای سختافزاری در مورد کاربران نهایی نیز صادق است. مثلا نیاز به فضای دیسک بیشتر برای ذخیرهسازی تصاویر دیجیتال و فایلهای MP3. شما میتوانید یک دیسک سخت جانبی خریداری کنید یا در عوض از فضاهای ذخیرهسازی با هزینه کم و یا اغلب رایگان رایانش ابری استفاده کنید. و یا به عنوان مثال دیگر ممکن است نیاز به اجرای آخرین نسخه از یک برنامه مورد علاقه خود را داشته باشید که نیاز به توان زیادی دارد و میتوانید از یک برنامه تحت وب با توان کمتری بجای آن استفاده کنید. یا اینکه ممکن است که نیاز به محاسبات زیاد برای حل یک مساله پیچیده خاص را داشته باشید که میتوانید از توان ابر برای انجام محاسبات به کمک هزاران رایانه موجود در آن استفاده کنید.
حالا بیایید آن طرف سکه را ببینیم. اگر رایانش ابری برای همه مناسب نیست، برای چه گروههایی قابل استفاده نیست؟
کاربرانی که اتصال اینترنتی مناسب ندارند
به دلیل اینکه رایانش ابری مبتنی بر ابر اینترنت است و وابسته به دسترسی اینترنتی است، اگر شما دسترسی به اینترنت نداشته باشید، بدشانس خواهید بود. بدون دسترسی به اینترنت، شما نمیتوانید یک برنامه تحت وب را اجرا کنید یا سندی را که در وب ذخیره شده است باز کنید. به این ترتیب کاربران بدون دسترسی به اینترنت، نمیتوانند از برنامههای مبتنی بر رایانش ابری استفاده کنند. همچنین اگر شما یک اتصال اینترنتی کند مانند dial-up داشته باشید نیز با مشکل مشابه مواجه خواهید شد. یک اتصال کند بهتر از این است که هیچ اتصالی نداشته باشید ولی با این حال زمان زیادی برای بارگذاری برنامهها و اسناد زمان نیاز دارد.
کسانی که بصورت Offline کار میکنند
هر کس که بطور دائم در یک محیط بدون اینترنت بصورت Offline کار میکند، شاید کاندیدای مناسبی برای رایانش ابری نباشد. مثلا کسانی که در محل کار یا منزل به اینترنت دسترسی ندارند یا اینکه در زمان مسافرت هیچ تضمینی برای دسترسی آنها به اینترنت وجود نداشته باشد نمیتوانند از این خدمات استفاده کنند.
کاربرانی که امنیت برایشان مهم است
امروز، ما فکر میکنیم که رایانش ابری امن است، اما نمیتوانیم آنرا ضمانت کنیم. یقینا ممکن است که سیستمهای ابری بتوانند هک شوند و اسناد مبتنی بر ابر توسط کاربران غیرمجاز مورد دسترسی قرار گیرد. همچنین ممکن است که دادههای شما در زمان ارسال بین رایانه و ابر با مشکل مواجه شوند. شاید بعید باشد، اما میتواند اتفاق بیفتد.
اگر اسناد شما محرمانه هستند، شما شاید نخواهید که به رایانش ابری اعتماد کنید. یا اینکه اگر نخواهید اسناد محرمانه خود را از یک شبکه عمومی، نظیر Wi-Fi منتقل کنید، شما نباید اسناد خود را در ابر قرار دهید. وقتی موضوعات امنیتی وجود داشته باشد، ریسک نکنید.
کسانی که نمیتوانند از نرمافزارهای موجود جدا بشوند
این موضوع شاید مهمترین دلیل برای عدم استفاده از برنامههای تحت وب باشد. شما از برنامه Microsoft Office استفاده میکنید. بسیاری از برنامههای تحت وب کاملا با فرمت ها فایل مایکروسافت سازگار نیستند. معنای آن این است که اگر نتوان فایل ورد یا اکسل خود را با برنامه تحت وب باز کرد یا برعکس، کار سخت خواهد شد.
یک موضوع دیگر نیز وجود دارد در زمانی که شما اسنادی را با دیگران به اشتراک بگذارید که از نرمافزار مایکروسافت استفاده میکنند. اگر شما از یک برنامه آنلاین استفاده کنید، آیا میتوانید سند خود را بصورت فرمت مایکروسافت برای دوستان و همکاران خود ارسال کنید؟ بنابراین قبل استفاده از محصولات ابری آنها را آزمایش کنید. اگر برنامههای شما کاملا با هم سازگار نیستند، بهتر است که از رایانش ابری استفاده نکنید.
همانطور که در این بخش بحث شد، رایانش ابری یک سری معایب دارد. این معایب مانع بزرگی در مقابل گسترش پذیرش رایانش ابری هستند. این موانع را میتوان به چند گروه کلی طبقه بندی کرد:
- مسائل فنی: راه اندازی یک سیستم رایانش ابری یک چالش فنی است. صدها یا هزاران رایانه شخصی یا سرور باید به هم متصل شوند و مدیریت شوند. علاوه بر این، نرمافزارهای غنی تحت وب باید توسعه داده شود و برای ارائه خدمت به کاربران 7/24 آماده باشند. همه این ها منابع زیادی نیاز دارند که شرکتهای کوچک ممکن است نتوانند از آن بر بیایند.
- مسائل مدل تجاری: چگونه شرکتها از ارائه خدمات رایانش ابری درآمد کسب میکنند؟ در حال حاضر گوگل خدمات خود را رایگان عرضه میکند که یک راه مشکل برای کسب درآمد است. حتی اگر یک شرکت برای خدمات ابری و منابع ذخیرهسازی خود هزینهای دریافت کند، چگونه آنها را قیمت گذاری میکند؟ نحوه کسب در آمد از هر تکنولوژی جدید یک مساله است.
- موضوعات اینترنتی: بدلیل اینکه رایانش ابری تنها وقتی مناسب است که کاربران دسترسی پایدار و با سرعت بالا به اینترنت داشته باشند.
- موضوعات امنیتی: چقدر ذخیرهسازی در ابر امن است؟ اگر شما سند مبتنی بر وب خود را در سیستم ابری ذخیره کنید، آیا تضمینی وجود دارد که سند شما همیشه آنجا باقی بماند؟ و کاربران غیرمجاز نمیتوانند به آن دسترسی داشته باشند؟
- موضوعات سازگاری: اگر هر کس در شرکت شما از برنامه مایکروسافت ورد استفاده کند، شما نیز از همان برنامه استفاده خواهید کرد. سوئیچ کردن بین پلتفرم واقعاً مشکل است و اگر برنامهها تحت وب کاملا با فایلهای موجود مایکروسافت سازگار نباشد، این جابجایی صورت نخواهد گرفت.
- موضوعات اجتماعی: اینکه برنامهها و اسناد ما بصورت فیزیکی در رایانه خودمان قرار داشته باشد و ما بتوانیم با دستانمان آن ها را لمس کنیم بسیار متفاوت است با اینکه اسناد در جایی دیگر در ابر ذخیره شود. خیلی کاربران ممکن است به چیزی که نبینند یا نتوانند لمس کنند اعتماد نمیکنند. این تغییر تقریبا مشابه زمانی است که در 1980 کاربران از برنامههای کلاینت/سرور به برنامه رومیزی سوئیچ کردند.
رایانش ابری یک فناوری متحول کننده است. خیلی کاربران و سازمانها به کندی تغییر میکنند. اما جالب است که مایکروسافت نیز نهایتا به سراغ رایانش ابری رفت و Live Mesh شروع آن بود. البته در دنیایی که مایکروسافت مالک سیستمهای رومیزی است، تضمینی وجود ندارد که مالک ابر نیز باشد که این میتواند دلیل کافی برای رقبای مایکروسافت باشد که به سمت این تکنولوژی جدید حرکت کنند.
دیدگاه بسیاری از افراد به رایانش ابری از دید کاربر نهایی است که بر روی برنامههای تحت وبی که در ابر قرار دارد تمرکز دارد. اما رایانش ابری از دیدگاه توسعهدهندگان نرمافزار نیز قابل بررسی است. اکنون آنها میتوانند برنامههای تحت وبی طراحی کنند که از مزایای قدرت رایانش ابری منتفع باشند.
برای این منظور، بسیاری از شرکتهای مشهور نظیر آمازون و گوگل درحال تخصیص منابع بسیار زیاد برای توسعه ابزارهای رایانش ابری هستند که در ادامه در این خصوص بیشتر صحبت شده است.
نیازهای معمولی بخشهای IT به گونه ای است که آنها باید توان پردازشی و ذخیرهسازی داده را برای همه کاربران داخل شرکت فراهم کنند. این کار باید با توجه به بودجه تعیین شده انجام شود. نیازهای مربوط به مدیریت اوج مصرف و اوج ترافیک استفاده از خدمات یا افزودن ظرفیت به کاربران موجود معمولا باعث میشود که هزینههای IT بالا برود. برای بیشتر شرکتها، مقرون به صرفه نیست که به ظرفیتی که تنها در برخی زمانهای محدود و خاص مورد نیاز اضافه کنند. چیزی که آنها نیاز دارند راهی است که بتوانند ظرفیت و توانایی را بدون سرمایه گذاری بر روی سرورهای جدید یا خرید مجوز های بیشتر استفاده از نرمافزارها، افزایش دهد.
سرویسهای ابری به شکل برنامههای تحت وب متمرکز، از مواردی هستند که توجه حرفه ای های IT را به خود جلب میکند. مدیریت یک نمونه از برنامه قرار داده شده در ابر، ارزانتر و آسانتر از کپیهای مجزای نرمافزارهای مشابه نصب شده روی هر یک از رایانههای رومیزی کاربران است. ارتقای یک برنامه تحت وب تنها یک بار انجام میشود، در حالی که ارتقای برنامههای معمولی باید برای هر یک از رایانههایی که نرمافزار در آنها نصب است انجام شود.
مزایای توسعه سرویسهای ابری خصوصا برای شرکتهای کوچک قابل توجه است که بودجه یا منابع کافی یا توسعه برنامههای بزرگ ندارند. با میزبانی برنامههای تحت وب توسعه داده شده در داخل ابر، شرکتهای کوچک از هزینه خرید سختافزارهای گران برای میزبانی نرمافزارهای مشابه اجتناب خواهند کرد. اکثر شرکتهای کوچک، کارمند، منابع، سختافزار یا بودجه ای برای توسعه و نگهداری برنامههایشان را ندارند یا اینکه از عهده بسیاری از مسائل امنیتی بر نمیآیند.
چرا باید شما توسعه برنامههای جدید خود را با استفاده از مدل سرویسها ابری توسعه دهید؟ چندین دلیل خوب برای انجام این کار وجود دارد و البته چندین دلیل هم هست که نیاز به کمی توجه بیشتر دارد.
یکی از مزایای توسعه ابر، مقیاسپذیری اقتصادی آن است. با استفاده از مزیت زیرساخت فراهم شده توسط رایانش ابری، یک توسعه دهنده میتواند برنامههای مطمئن تر، ارزان تر و بهتری را ایجاد کند. این برنامه میتواند در صورت نیاز از کل منابع ابر بهره برداری کند بدون اینکه لازم باشد شرکت بر روی منابع فیزیکی معادل آن سرمایه گذاری کند.
ما از هزینه صحبت کردیم، زیرا سرویسهای ابری از مدل یک به چند پیروی میکنند، بطوریکه هزینه به طور بسیاری زیادی نسبت به ارائه هر برنامه رومیزی کاهش پیدا میکند. بجای خرید یا دریافت مجوز استفاده از نسخه های مختلف برنامه نرمافزاری (یک مجوز بازای هر رایانه)، هزینه برنامههای ابری معمولا بر اساس هر کاربر قیمت گذاری میشود. این بیش از یک مدل عضویت است که در آن یک مورد خاص برای دوره ای مشخص خریداری میشود و نیازمند سرمایه گذاری از قبل و پیش بینی جریان هزینهها بطور ماهیانه میباشد.
بخشهای IT به این علت تمایل به برنامههای ابری دارند، زیرا همه فعالیت های مدیریتی بجای چندین سایت یا ایستگاهکاری، از یک مکان مرکزی مدیریت میشود. این باعث میشود که پرسنل IT به برنامه از راه دور و از طریق وب دسترسی داشته باشند. همچنین این موضوع قابلیت مقیاسپذیری را نیز بالا میبرد. مثلا اگر کاربران به منابع ذخیرهسازی بیشتر یا پهنای باند بیشتر نیاز داشته باشند، شرکتها فقط کافیست که یک سرور مجازی دیگر را از ابر اضافه کنند. این خیلی راحت تر از خرید، نصب و پیکربندی یک سرور جدید میباشد.
برای توسعهدهندگان نیز ارتقای برنامههای ابری راحت تر از برنامههای معمولی رومیزی است. بجای اینکه بطور دستی هر برنامه ای که روی هر یک از رایانههای سازمان قرار دارد بهروزرسانی شود، ویژگیهای برنامههای کاربردی میتواند به سرعت و به آسانی با ارتقای نسخه متمرکز، بهروزرسانی گردد. با یک سرویس ابری، یک تغییر کوچک روی برنامه ای که هر یک از کاربران در حال اجرا دارد، اعمال خواهد شد که به این ترتیب بار کاری توسعهدهندگان بسیار کاهش پیدا خواهد کرد.
شاید بزرگترین اشکال توسعه برنامههای ابری مربوط به امنیت آن باشد. برنامههای بصورت بالقوه برای مدت های طولانی دارای ریسکهای امنیتی بودهاند. به همین دلیل، بسیاری از شرکتها ترجیح میدهند که برنامهها، دادهها و فعالیت های IT تحت کنترل خودشان انجام شود.
تا کنون نمونه های اندکی از خرابی داده و گم شدن آن در برنامههای تحت وب و ذخیرهسازی ابری دیده شده است. حتی میتوان گفت که عملیات یک میزبان ابری بزرگ نسبت به یک سازمان متوسط، دارای امنیت داده بیشتر و ابزارهای افزونگی بهتری است.
دیگر اشکال بالقوه این است که اگر میزان ابری از شبکه خارج شد چه اتفاقی می افتد. اگرچه اکثر شرکتها میگویند که این غیرممکن است، اما این اتفاق افتاده است. برای مثال سرویس EC2 آمازون در 15 فوریه 2008 بطور گسترده ای قطع شد و باعث شد که دادههای برخی مشتریان از بین برود. این موضوع بخاطر توسعه نرمافزاری بود که دارای مشکل نرمافزاری بود. به این ترتیب اگر یک شرکت به پلتفرم ابری یک شرکت دیگر برای میزبانی دادههای خود اعتماد کند، بدون اینکه کپی پشتیبان فیزیکی دیگری نداشته باشد، آن داده در خطر قرار دارد.
مفهوم توسعه سرویسهای ابری شامل چندین نوع توسعه میشود. بیایید انواع مختلف راه هایی که یک شرکت از رایانش ابری برای توسعه برنامههای کاربردی کسب و کار خود استفاده میکند بررسی کنیم.
نرمافزار به عنوان سرویس یا SaaS شاید رایج ترین نوع از توسعه سرویسهای وب. با SaaS یک برنامه واحد به هزاران کاربر تحویل داده میشود. مشتریان برای مالکیت نرمافزار هزینهای را پرداخت نمیکنند، در عوض آنها هزینه استفاده از آن را پرداخت میکنند. کاربران به برنامه از طریق یک API62 که از طریق وب در دسترس است، متصل میشوند. سرورهای فروشندگان بطور مجازی تقسیمبندی شده است. به این ترتیب هر سازمان با یک نمونه از یک برنامه مجازی سفارشی شده کار میکند.
برای مشتریان، SaaS نیاز به سرمایه گذاری از قبل در سرورها یا مجوز نرمافزار ندارد. برای توسعهدهندگان نیز تنها یک برنامه وجود دارد که کار نگهداری آن را برای چندین مشتری انجام میدهند.
بسیاری از شرکتها در حال توسعه برنامهها با استفاده از مدل SaaS هستند. شاید از شناخته شده ترین برنامههای SaaS بتوان برنامههای Google را نام برد.
در این مدل، سکو یا پلتفرم، محیط توسعه ای است که به عنوان یک سرویس فراهم میشود. توسعهدهندگان با استفاده از اجزای فراهم شده توسط فروشندگان محیطهای توسعه، برنامههای سفارشی خود را ایجاد میکنند. این یک نوع از ایجاد برنامه با استفاده از لگو است. ایجاد یک برنامه به این ترتیب با استفاده از این کدها و اجزای از پیش آماده شده، بسیار آسانتر خواهد شد، اگر چه معمولا برنامه ای که ساخته میشود به اجزای از پیش آماده شده تا حدی محدود شده است.
یک سرویس وب، برنامه ای است که در یک شبکه (و عموماً اینترنت)کار میکند. وب سرویس در حالت عمومی یک API است که میتوان به آن از طریق اینترنت دسترسی داشت. این سرویس سپس روی سیستم راه دور که میزبان سرویس بوده است اجرا میشود.
این نوع از API های وب به توسعهدهندگان این امکان را میدهد که بجای توسعه برنامهها از اول، از قابلیت ها و وظایف به اشتراک گذاشته شده در اینترنت استفاده کنند. نتیجه این کار یک برنامه تحت وب سفارشی شده است که بخشهای بزرگی از آن توسط گروهها و بخشهای ثالث ارائه میشود. بنابراین توسعه برنامه ساده میشود و برنامه سفارشی به پهنای باند کمتری نیاز خواهد داشت.
یک مثال خوب از سرویسهای وب، mashups است که توسط کاربران Google Maps API ایجاد شده است. با این برنامههای سفارشی، دادههایی که به نقشه داده میشود توسط توسعهدهندگان فراهم میشود در حالی که موتور ایجاد نقشه توسط گوگل فراهم شده است. به این ترتیب توسعه دهنده لازم نیست که کد یا سرور برنامه نقشه را خودش داشته باشد. همه چیزی که او باید انجام دهد این است که از API وب فراهم شده توسط گوگل استفاده کند.
به این ترتیب مزایای وب سرویس شامل توسعه سریعتر برنامه، سبک تر شدن برنامه و کاهش فضای مورد نیاز برای ذخیرهسازی و پهنای باند کمتر میباشد. وب سرویسها باعث شدهاند که توسعهدهندگان مجبور نباشند برای توسعه هر برنامه جدید، دوباره چرخ را اختراع کنند.
همانطور که از نام آن پیداست، محاسبات بر حسب تقاضا، منابع رایانه را بستهبندی میکند (پردازنده، حافظه و ...) و از آنها بعنوان واحد اندازه گیری استفاده از سرویس همانند سایر خدمات عمومی نظیر برق و آب و تلفن استفاده میکنند. در این مدل، مشتریان تنها برای مقداری از منابع که استفاده کردهاند، حتی اگر خیلی کم باشد، پرداخت انجام میدهند.
شرکتهایی که دوره های اوج مصرف معدودی دارند و حالت های استفاده عادی آنها خیلی بیشتر است، میتوانند از این مدل که به آن utility computing نیز گفته میشود منتفع شوند. به این ترتیب شرکت تنها برای زمان اوج مصرف کمی بیشتر پرداخت انجام میدهد.
به این ترتیب مشتریان یک سرویس محاسباتی، بجای سرمایه گذاری بر روی زیرساخت فیزیکی خود، بر اساس مدل pay-as-you-go از خدمات یک سرویس دهنده ابری استفاده میکنند. محاسبات برحسب تقاضا به خودی خود یک مفهوم جدید نیست، اما با ظهور رایانش ابری شکل جدیدی به خود گرفته است. در سالهای قبل، محاسبات بر حسب تقاضا توسط یک سرور و بصورت نوعی ترتیب اشتراک زمانی فراهم می شد. اما امروزه، این سرویس مبتنی بر شبکه ای بزرگ از رایانهها است که بصورت یک ابر واحد عمل میکنند.
رایانش ابری در مراحل اولیه توسعه خود است. این موضوع از مشاهده بسیاری از شرکتهای کوچک و بزرگی که شروع به توسعه و ارائه سرویسهای ابری کردهاند، قابل درک است. در صنعت هایی که جا افتاده هستند، فعالان کوچکتر سرانجام بخاطر شرکتهای بزرگتری که در عرصه وجود دارند، شکست می خورند. در حال حاضر خدمات و ابزارهای توسعه سرویسهای ابری توسط شرکتهای مختلف کوچک و بزرگ ارائه میشود. در سادهترین حالت، میزبانی مبتنی بر ابری را میتوان نام برد که برای استقرار سایر برنامههای توسعه داده شده بکار میرود. نمونه های غنی تر شامل ابزارهایی برای توسعه و برنامههای از پیش ساخته شده نیز هستند که توسعهدهندگان میتوانند از آنها به عنوان اجزای سازنده برای توسعه برنامههای جدید خود استفاده کنند.
آمازون یکی از بزرگترین خرده فروشان اینترنتی است. همچنین یکی از فراهم کنندگان اصلی سرویسهای توسعه ابری است. آمازون زمان و هزینه زیادی را صرف راه اندازی تعداد زیادی سرور جهت ارائه خدمات در سایتهای خود کرده است و در حال حاضر این منابع گسترده سختافزاری را در اختیار توسعهدهندگان نیز قرار داده است تا مورد استفاده قرار دهند.
سرویس ارائه شده توسط آمازون Elastic Compute Cloud یا EC2 نامیده میشود که یک سرویس وب تجاری است که به واسطه آن توسعهدهندگان و شرکتها میتوانند ظرفیت محاسباتی سرورهای ابری آمازون را که در حال حاضر یکی از بزرگترین مجموعه سرورها را در دنیا دارد، کرایه کنند. سرویس EC2 امکان توسعه برنامهها بصورت مقیاسپذیر فراهم میکند به این ترتیب که مشتریان تعداد ماشینهای مجازی مورد نیاز خود را درخواست میکنند و سپس میتوانند هر برنامه ای را که بخواهند در آنها بارگذاری کنند. در نتیجه مشتریان میتوانند نمونههای سرور مجازی در اختیار خود را بر حسب تقاضا ایجاد و اجرا کنند یا به کار آنها خاتمه دهند که حقیقتاً میتوان گفت که این یک عملیات قابل انعطاف (elastic) است.
سرویس آمازون به مشتریان اجازه میدهد که سه نوع سرور مجازی را انتخاب کنند:
کوچک، که معادل با یک سیستم یا 1.7 گیگابایت حافظه، 160 گیگابایت دیسک سخت و یک پردازنده 32 بیتی میباشد.
بزرگ، که معادل با یک سیستم با 7.5 گیگابایت حافظه، 850 گیگابایت دیسک سخت و دو پردازنده 64 بیتی است.
خیلی بزرگ، که معادل با یک سیستم با 15 گیگابایت حافظه، 1.7 ترابایت دیسک سخت و چهار پردازنده 64 بیتی است.
به عبارت دیگر، شما اندازه و توان مورد نظر خود را انتخاب میکنید و بقیه کارها را آمازون انجام میدهد.
سرویس EC2 بخشی از مجموعه سرویسهای وب آمازون (AWS) 64 است که برای توسعهدهندگان امکان دسترسی مستقیم به نرمافزار ها و ماشینهای آمازون را فراهم میکنند. به این ترتیب با استفاده از توان محاسباتی فراهم شده توسط آمازون، توسعهدهندگان میتوانند برنامههای تحت وب قوی، قابل اطمینان و با هزینه کم تولید کنند.
AWS شاید محبوب ترین سرویس رایانش ابری تا به امروز باشد. آمازون ادعا میکند که بازاری با بیش از 330000 مشتری (شامل توسعهدهندگان و شرکتهای دیگر) دارد.
گوگل پیشروی برنامههای تحت وب میباشد بنابراین جای تعجب نیست که این شرکت سرویسهای توسعه ابری را نیز ارائه دهد. این سرویسها در شکل Google App Engine ارائه میشود که امکان ایجاد برنامههای دلخواه توسعهدهندگان را با بهره برداری از زیرساختی با قدرت مشابه آنچه که برای دیگر برنامههای گوگل استفاده میشود، فراهم می آورد.
Google App Engine یک محیط توسعه برنامههای کاربردی کامل است. با استفاده از ابزارهای توسعه و ابر محاسباتی، ایجاد برنامهها در App Engine بسیار ساده است و همچنین نگهداری و توسعه آنها نیز ساده خواهد بود. تمام کاری که باید انجام دهید این است که برنامه خود را با استفاده از API های گوگل (که به زمان برنامهنویسی Python میباشد) ایجاد کنید و آن را در ابر App Engine قرار دهید. از آنجا به بعد، آن برنامه آماده استفاده توسط کاربران است65.
محیط توسعه ای که گوگل ارائه کرده است، شامل ویژگیهای زیر میباشد:
ارائه خدمات وب پویا
پشتیبانی کامل از همه تکنولوژیهای وب رایج
ذخیرهسازی پایگاهدادهای با پرسوجوها، مرتبسازی و تراکنشها
تعدیل بار خودکار و مقیاسپذیر
API هایی برای احراز هویت کاربران و ارسال ایمیل با استفاده از حساب های گوگل
علاوه بر این، گوگل یک محیط توسعه محلی با امکانات کامل فراهم کرده است که میتواند Google App Engine را در یک رایانه رومیزی نیز شبیهسازی کند.
برخلاف دیگر میزبانیهای توسعه ابری، سرویس Google App Engine در یک سطح پایه کاملا رایگان است. یک حساب App Engine رایگان حدود 500 مگابایت فضای ذخیرهسازی دارد و به اندازه کافی CPU و پهنای باند دارد که بتواند ماهیانه حدود 5 میلیون مشاهده از صفحه را جوابگو باشد. اگر شما فضا یا ظرفیت بیشتری نیاز دارید، با پرداخت هزینه آن میتوانید آنها را بدست آورید.
IBM شرکتی است که در زمینه سختافزار رایانه در سطح سازمانی راهحلهایی ارائه داشته است. این شرکت کسب و کارهای کوچک و متوسط را با مجموعه از سرویسهای بر حسب تقاضای ابری با استفاده از محصول Blue Cloud خود مورد هدف قرار داده است.
Blue Cloud مجموعه از ای سرویسهای ابری میباشد که امکان توزیع نیازهای محاسباتی یک سازمان را در یک شبکه از منابع که بطور سراسری در دسترس هستند، فراهم میکند. یکی از این محصولات مجموعه Express Advantage است که شامل تهیه کپی پشتیبان و بازیابی دادهها، ایمیل و آرشیو، و ویژگیهای امنیت داده میباشد که اینها عمده کارهای مربوط به داده در بخشهای IT میباشد.
IBM برای مدیریت سختافزار ابری خود، نرمافزار زمان بندی بار کاری Hadoop را بصورت کد متن باز ارائه کرده است که بر اساس مدل برنامهنویسی MapReduce میباشد. همچنین از ابزارهای مجازیسازی PowerVM و Xen به همراه نرمافزار مدیریت مرکز داده Tivoli خود استفاده کرد است66.
شرکت salesforce.com شناخته شده ترین شرکت در نرمافزارهای مدیریت فروش میباشد و یکی از پیشتازان در توسعه رایانش ابری نیز میباشد. معماری رایانش ابری این شرکت Force.com نامیده شده است. پلتفرم فراهم شده توسط شرکت کاملا بر حسب تقاضا است و بر روی اینترنت اجرا میشود. همچنین API های Force.com و مجموعه ابزارهای مورد نیاز برای برنامهنویسی و توسعه را نیز فراهم کرده است. مدل قیمت گذاری آن بر اساس تعداد log-in است. مکمل Force.com، AppExchange است که یک فهرست از برنامههای تحت وب میباشد. توسعهدهندگان میتوانند از برنامههای AppExchange که توسط دیگر کاربران قرار داده شده است استفاده کنند، برنامههای خود را به اشتراک بگذارند، یا برنامههای خصوصی خود را منتشر کنند بطوریکه فقط برای شرکتها و مشتریان مجاز در دسترس باشد. بسیاری از برنامهها در کتابخانه AppExchange رایگان هستند و بقیه را میتوان با خرید یا دریافت مجوز از توسعه دهنده اصلی تهیه کرد.
اکثر برنامههای موجود در AppExchange ابزارهای مرتبط با فروش هستند که شامل ابزارهای تحلیلی، سیستمهای بازاریابی از طریق ایمیل، برنامههای تحلیل مالی و ... میشود. اما شرکتها میتوانند از پلتفرم Force.com برای توسعه هر نوع برنامه ای استفاده کنند. در آوریل 2008 مقاله ای در مجله PC World منتشر شده بود از شخصی بنام Snyder که نوشته بود: ما شرکت خود را 10 کارمند تاسیس کردیم اما منابع کافی برای خرید سرورها و انجام همه کارها از اول را نداریم، و در این حالت Force.com برای ما یک شروع خیلی خوب بود.
آمازون، گوگل، IBM و Salesforce.com تنها شرکتهایی نیستند که ابزارهایی برای توسعهدهندگان سرویسهای ابری فراهم کردهاند. تعداد شرکتهای کوچک نیز هستند که در این حوزه فعالیت میکنند. این شرکتها شامل موارد زیر میشود:
3tera (www.3tera.com) سیستم عامل AppLogic و معماری Cloudware را برای محاسبات بر حسب تقاضا ارائه کرده است.
10gen (www.10gen.com) پلتفرمی برای توسعهدهندگان جهت ایجاد برنامههای کاربردی مقیاسپذیر ارائه کرده است.
Cohesive Flexible Technologies (www.cohesiveft.com) پلتفرم سرور مجازی Elastic Server On-Demand را ارائه کرده است.
Joyent (www.joyent.com) زیرساخت برحسب تقاضا و مقیاسپذیری را بنام Accelerator برای توسعهدهندگان برنامههای تحت وب ارائه کرده است. همچنین مجموعه Connector برای که شامل یک سری برنامه تحت وب برای شرکتهای کوچک است ارائه کرد است.
Mosso (www.mosso.com) یک سرویس میزبانی ابری در سطح سازمانی را با مقیاسپذیری خودکار فراهم کرده است.
Nirvanix (www.nirvanix.com) یک سکوی ذخیرهسازی ابری برای توسعهدهندگان فراهم کرده است. همچنین Nirvanix Web Services را که یک سرویس مدیریت فایل است را از طریق مجموعهای از API های استاندارد فراهم کرده است.
Skytap (www.skytap.com) یک آزمایشگاه مجازی تحت وب بر حسب تقاضا است که برای توسعهدهندگان امکان ایجاد و پیکربندی محیطهای آزمایشگاهی را با استفاده از ماشینهای مجازی از پیش پیکربندی شده فراهم کرده است.
StrikeIron (www.strikiron.com) یک پلتفرم ابری برای ارائه سرویسهای وب، به همراه انواع سرویسهای Live Data برای یکپارچه شدن در برنامههایی که توسعهدهندگان خودشان ایجاد کردهاند، فراهم کرده است.
علاوه براین، شرکت Sun یک پروژه R&D دارد که Project Caroline نامیده شده است (www.projectcaroline.com). این پروژه شامل یک پلتفرم میزبان کد متن باز است که برای توسعه و ارائه برنامههای تحت ارائه شده است. دسترسی به پروژه برای همه آزاد است.
شناخت بهتر علت اینکه ما برنامههای تحت وب را سرویسها ابری مینامیم، به تکامل نرمافزارهای میزبان برمیگردد. مایکروسافت در این خصوص چهار سطح تکاملی را تعریف کرده است:
سطح اول از تکامل شامل مدل ارائه نرمافزار سرویس دهنده های برنامههای سنتی (ASP) میباشد که به 1990مربوط میشود. در این سطح، هر کاربر برنامه میزبانی سفارشی شده خودش را داشت و برنامههای دلخواه خود را در سرور میزان اجرا میکرد.
سطح دوم تکامل زمانی اتفاق افتاد که فروشنده یک نمونه مجزا از برنامه را برای هر مشتری میزبانی میکرد. در این سطح، همه نمونه ها پیادهسازی یکسانی داشتند. کد آن برای هر کاربر سفارشی نشده بود در عوض امکان شخصی سازی در جزئیات و گزینههای پیکربندی در داخل خود برنامه فراهم بود.
سطح سوم تکامل، یک تغییر بزرگ در چگونگی میزبانی برنامهها بود. در این سطح، فروشنده یک نمونه واحد از برنامه را اجرا میکرد که به همه کاربران سرویس می داد. برای هر کاربر متادیتا های قابل پیکربندی فراهم شده بود و سیاستهای امنیتی و احراز هویت برای جدا نگاهداشتن دادههای کاربران از همدیگر بکار گرفته میشد.
در نهایت در سطح چهارم تکامل، فروشنده چندین کاربر را روی مجموعه از نمونه های مشخص بصورت load-balanced میزبانی میکند. بدلیل اینکه تعداد سرورها (و نمونه ها) میتواند در صورت نیاز افزایش یا کاهش داده شود تا با تقاضا منطبق شود، این نوع از سیستم مقیاسپذیری در حد تعداد زیادی کاربر را دارد. علاوه براین، بسته های بهروزرسانی میتواند برای مجموعه همه کاربرها به سادگی اعمال شود. در این سطح است که سرویسهای ابری در آن جهت حرکت میکند.
تا اینجا رایانش ابری را تا حدی شناختهاید. بیایید ببینیم که چگونه شما میتوانید از رایانش ابری برای کارهای خود استفاده کنید. در اینجا ما مثالهایی از نمونه های واقعی استفاده از مزایای رایانش ابری توسط کاربران را ارائه خواهیم کرد.
ما مثال خود را به این ترتیب شروع میکنیم که چگونه یک خانواده میتواند از برنامههای مختلف تحت وب برای اهداف گوناگون استفاده کند. همانطور که خواهید دید که چگونه محاسبات در ابر میتواند به یک خانواده در برقراری ارتباطات و همکاری کمک کند و اعضای خانواده را نزدیک هم نگاهدارد.
محاسبات در ابر میتواند به خانواده ها کمک کند تا مهارت های ارتباطی خود را بهبود ببخشند. نکته کلیدی در اینجا دسترسی در هر زمان و هر وقت به ایمیل است. از سرویسهای ایمیل مبتنی بر ابر در حال حاضر میتوان به Gmail، Live Hotmail و Yahoo! Mail نام برد. این سرویسها صندوق پستی شما را در ابر قرار میدهند. شما میتوانید به آن از طریق هر رایانه متصل به اینترنت دسترسی داشته باشید. به این ترتیب پیغام های شما در ابر قرار میگیرد و دیگر به رایانههایی که از آنها استفاده میکنید وابسته نخواهند بود67.
به این ترتیب شما میتوانید هر جا که باشید در تماس با همه اعضای خانواده خود باشید. همسر شما میتواند برای شما ایمیل ارسال کند، بدون اینکه نیاز باشد بداند شما دقیقا کجا هستید. شما هم میتوانید صندوق پستی خود را در همه جا بررسی کنید. چه در محل کار باشید، چه در جاده و .... فقط کافیست مطمئن شوید که به اینترنت متصل هستید.
در ارتباطات بسیاری از خانواده ها زمان بندی اهمیت دارد. مثلا آیا ما در جمعه وقتمان آزاد است؟ بازی فوتبال بعدی یکی از اعضای خانواده چه موقع است؟ عوض دیگر خانواده چه موقع با دندانپزشک قرار گذاشته است؟ تعمیرکار ماشین لباسشویی چه موقع میآید؟ آیا همه ما برای تعطیلات تابستان وقتمان آزاد است؟
هرچه خانواده بزرگتر باشد، مشغله بیشتر است و مشکل است که بتوان برنامهها را تنظیم کرد. تقویم مبتنی بر وب یک راهحل مناسب برای برنامهریزی است بطوریکه بتوان به راحتی آن را به روز نگه داشت و همه از هر جایی در تکمیل آن مشارکت داشته باشند. برای مثال Google Calendar (calendar.google.com) یا Yahoo! Calendar (calendar.yahoo.com) چنین سرویسی ارائه میدهند. نه تنها چنین تقویمی برای هر کس، در هر جا و در هر زمان از طریق وب در دسترس است، بلکه میتواند بگونهای پیکربندی شود که هر کس در خانواده شما بتواند رویداد دلخواه خود را نیز به آن اضافه کند. مثلا وقتی همسر شما برنامه ای را در تقویم اضافه کند، آن برنامه بطور خودکار در تقویم شما نیز اضافه خواهد شد و دیگر اعضای خانواده نیز به همین ترتیب میتوانند آن را مشاهده کنند.
تنها کاری که باید انجام دهید این است که یک تقویم عمومی ایجاد کنید و اجازه دسترسی را برای همه اعضای خانواده به آن بدهید. سپس وقتی آنها در سایت تقویم وارد شوند، همه رویدادهای زمان بندی شده جاری را مشاهده خواهند کرد و میتوانند رویدادهای جدید خود را نیز اضافه کنند. و به همین ترتیب وقتی شما یک رویداد را اضافه میکنید، سریع خواهید دید که آیا آن روز یا زمان خالی است یا پر است.
نکته دیگری که در خصوص تقویم تحت وب وجود دارد این است که شما میتوانید به آن از هر جایی دسترسی داشته باشید. مثلا در سر کار هستید و می خواهید بدانید که آیا میتوانید شب پنجشنبه تا دیروقت کار کنید یا نه؟ وقت کافیست تقویم خود را مشاهده کنید و ببینید آیا آن زمان خالی است یا نه68. به این ترتیب هر تغییری بسیار سریع اعمال میشود و همه اعضای خانواده به آخرین نسخه برنامه شما دسترسی خواهند داشت.
در اینجا موردی وجود دارد که ممکن است حتی نتوانید فکر آن را بکنید. اگر شما عضوی از یک خانواده پر مشغله باشید، ممکن است نتوانید بطور دستی روی لیست خرید هماهنگ کنید. همسر شما ممکن است شامپو نیاز داشته باشد، اما اگر قبل از اینکه شما سرکار بروید، نتواند به شما بگوید، شما ممکن است در مغازه همه چیز بخرید، ولی نیاز همسرتان را ندانید.
راهحلی که در این جا وجود دارد استفاده از یک برنامه واژهپرداز تحت وب است که لیست خرید شما را مدیریت کند. میتوانید از برنامه ای شبیه Google Docs (docs.google.com) برای ایجاد یک سند استفاده کنید و اجازه دسترسی به آن را برای هر دو نفر تنظیم کنید. سپس لیست آیتم های مورد نیاز به در آن وارد کنید. به این ترتیب هر در طول هفته هر بار چیزی نیاز داشتید، مرورگر خود را باز کنید و آن را به لیست اضافه کنید. آخر هفته که خواستید به خرید بروید، به اینترنت متصل شده و لیست خرید خود را چاپ کنید...
یک لیست خرید، نوع از لیست انجام وظایف است. اگر شما تعداد زیادی کارهای روزمره دارید که باید انجام دهید، بنابراین لیست انجام وظایف طولانی ای خواهید داشت.
شما و همسرتان میتوانید بر روی لیست وظایف با استفاده از یک برنامه پردازش متن تحت وب به همان صورت که قبل از این شرح دادیم، همکاری داشته باشید. البته برنامههای مختص برنامهریزی بصورت آنلاین هم وجود دارد. بعنوان نمونه ای از این برنامهها میتوان Zoho Planner (planner.zhoho.com) را نام برد که به شما امکان ایجاد انواع لیست های وظایف را در وب میدهد. حتی شما میتوانید ایمیل یادآور نیز برای رویدادها تنظیم کنید69.
اگر این برنامهها برای نیاز شما خیلی پیشرفته هستند، میتوانید از نمونه های سادهتر نیز استفاده کنید. مثلا Remember the Milk (www.rememberthemilk.com) و یا Ta-da List (www.tadalist.com) برنامههای بسیار ساده ای شبیه برنامه یادداشت ویندوز هستند. برخی از آنها به شما امکان افزودن وظایف از طریق ایمیل و دسترسی به آنها از طریق تلفن همراه را هم میدهند.
کنترل جریان مالی در برخی خانواده ها بسیار اهمیت دارد. مثلا بسیار مفید است که بدانید چه هزینههایی را باید چه موقع پرداخت نمایید. مشکل وقتی رخ میدهد که مثلا همسر شما هزینه زیادی میکند که شما خبر ندارید و برای آن برنامهریزی نکردهاید.
شما میتوانید این نوع از مشکلات را با مشارکت در هزینههای خانواده به حداقل برساند. برای اینکار میتوان به سادگی از یک برنامه صفحه گسترده تحت وب نظیر Google Spreadsheets که بخشی از مجموعه Google Docs (docs.google.com) است استفاده کنید تا شرح هزینههای خود را ایجاد کنید. شما و همسرتان میتوانید آیتم های هزینه را بطور جداگانه هر وقت که خواستید وارد کنید.
مثلا وقتی یک هزینه پیش رو را در حالی شما در یک جلسه در سرکار هستید بیاد می آورید فقط کافیست آن را بصورت آنلاین در لیست هزینههای خود وارد کنید. یا اینکه تلویزیون شما نیاز به تعمیر دارد و آن را به راحتی به لیست اضافه میکنید. به این ترتیب وقتی شما لیست خود را همیشه و همه جا به روز نگهداری میکنید، کنترل هزینه ها بسیار ساده میشود.
همکاری در هزینه میتواند بصورت تعاملی انجام شود. شاید شما خرید یک تلویزیون را در لیست قرار دهید و همسر شما در خصوص اهمیت یا هزینه آن مخالف باشد، او به راحتی میتواند هزینه آن را کاهش دهد و یا اینکه آن را از لیست حذف کند! 70
مدیریت لیست تماسهای خانواده همیشه ساده نیست. بله شما تماسهای مهم خود را مثلا در Microsoft Outlook یا برنامههایی شبیه آن نگهداری میکنید، اما آن لیست فقط در رایانه شما قرار دارد. تماسهای شما در رایانه خودتان است و تماسهای همسرتان در رایانه خودش است و لیست تماسهای کاری شما هم احتمالا در رایانه شرکت قرار دارد. شما چگونه میتوانید همه این نام ها را با هم ادغام کنید و مثلا برای یک روز تعطیل کارت تبریک برای همه ارسال کنید؟ یک راهحل خوب برای مدیریت تماسهای اعضای مختلف خانواده استفاده از برنامه تحت وب است. برای این کار چند راه مختلف وجود دارد.
اول اینکه شما از برنامه ایمیل تحت وب (Gmail، Yahoo! Mail و ...) بعنوان برنامه مدیریت تماس استفاده کنید. همه این برنامهها به شما امکان ایجاد و ذخیره کردن اطلاعات کامل در خصوص تماسها را فراهم می آورد (آدرس ایمیل، آدرس پستی، تلفن و ...). تنها مشکل استفاده از آن ها این است که امکان مدیریت آن بصورت مشارکتی وجود ندارد. یک راهحل دیگر استفاده از یک برنامه مخصوص مدیریت تماس است. بعضی از این برنامهها نظیر MyEvents (www.myevents.com) برای کاربران خانگی مناسب است و برای ارسال کارت تبریک بسیار ایدهعال است. دیگر برنامهها نظیر Highrise (www.highrisehq.com) دارای امکانات پیشرفته تر نظیر ویژگیهای مدیریت ارتباط با مشتری نیز هستند. هر برنامه ای که مورد استفاده قرار بدهید (حتی ممکن است یک برنامه صفحه گسترده باشد) می بایست برای تمامی اعضای مجاز، در آن حق دسترسی تعریف کنید. به این ترتیب همه میتوانند لیست تماسهای خود را به آن اضافه کنند و یا اینکه مثلا از برنامه Microsoft Outlook به آن وارد کنند71.
فرض کنید که فرزندی دارید که به مدرسه میرود و پروژه های زیادی را باید در مدرسه انجام دهد. بسیاری از این پروژه ها بصورت پروژه گروهی هستند و راه آسانتر برای مشارکت روی پروژه گروهی بجز برنامههای تحت وب وجود ندارد.
فرض کنید که فرزند شما در گروهی قرار دارد که قرار است یک ارائه آماده کنند. امروزه بسیاری از دانشآموزان نحوه استفاده از Microsoft PowerPoint را یاد دارند. بنابراین بچه ها میتوانند از خانه و از طریق وب بر روی ایجاد ارائه مشارکت کنند. یکی از بهترین برنامههایی که در حال حاضر برای ایجاد ارائه وجود دارد Google Presentation است که بخشی از مجموعه Google Docs (docs.google.com) است. با استفاده از این ابزار ایجاد و ویرایش اسلایدها برای هر یک از اعضای گروه بسیار ساده خواهد بود. وقتی یکی از اعضا اسلاید جدیدی اضافه میکند، دیگر اعضای تیم میتوانند آن را به سرعت در صفحه نمایش خود مشاهده کنند.
برای تسهیل ارتباطات در طول پروژه، فرزند شما میتواند از برنامههای ایمیل تحت وب نظیر Gmail برای تبادل پیام نیز استفاده کند. حتی بهتر از آن این است که از یک برنامه پیغام رسان نظیر Google Talk یا Yahoo! Messenger برای تبادل پیغام متنی بصورت بلادرنگ استفاده کند.
اگر پروژه پیچیده باشد، امکان هماهنگ کردن برنامهها برای همه اجزای پروژه نیز وجود خواهد داشت. سادهترین شکل مدیریت پروژه میتواند توسط برنامه تقویم تحت وب نظیر Google Calendar یا یک نرمافزار برنامهریزی ساده نظیر Zoho Planner (planner.zoho.com) انجام شود. برای پروژه های پیچیدهتر با وظایف بیشتر، میتوان از یک برنامه اختصاصی مدیریت پروژه نظیر Basecamp (www.basecamphq.com) استفاده کرد. هر برنامه ای که استفاده کنند، این امکان وجود دارد که پروژه را به بخشهای کوچکتر شکست و هر بخش را به یک نفر اختصاص داد تا در زمان مشخص انجام دهد.
البته بیشتر پروژه ها علاوه بر تهیه ارائه نیاز به نوشتن گزارش نیز دارند. برای این کار میتوان از برنامههای پردازش متن تحت وب نظیر Google Docs استفاده کرد. به این ترتیب هر یک از دانش آموزان میتواند بخشهای مربوط به خود را بصورت آنلاین بنویسد و سند نهایی بطور اتوماتیک و فوری به روز رسانی میشود. فقط باید در پایان کار نسخه نهایی را چاپ کنید.
وقتی که تهیه ارائه تمام شد، چندین گزینه وجود دارد. اگر در کلاس اتصال اینترنتی خوب وجود دارد میتواند از Google Presentation برای ارائه نهایی استفاده کرد. اگر چنین اتصالی وجود نداشت، میتوان خروجی برنامه را بصورت PPT دریافت کرد و آن را بصورت آفلاین در کلاس نمایش داد.
چیزی که در اکثر خانواده ها زیاد وجود دارد، تصاویر خانوادگی است. در دنیای دیجیتال امروز، تصاویر نیز دیجیتالی شدهاند بگونهای که میتوان آن ها را از طریق ایمیل یا وب به اشتراک گذاشت.
وقتی شما تصاویری دارید که میخواهید آنها را با خانواده و دوستان به اشتراک بگذارید، بهترین کار استفاده از سرویسهای اشتراک تصویر تحت وب است. در حال حاضر تعداد زیادی از این سایتها موجود است که در این بین از سایتهای غیرتجاری نظیر Flicker (www.flicker.com) تا سایتهایی نظیر Shutterfly (www.shutterfly) که به شما امکان پرینت گرفتن هم میدهند میتوان نام برد. هر کدام از این سایتها به شما امکان ایجاد آلبومهای دلخواه و قرار دادن تصاویر دیجیتالی در آن آلبومها را میدهند. سپس شما میتوانید آدرس آلبوم خود را برای دوستان و خانواده بفرستید و آنها میتوانند تصاویر شما را بصورت آنلاین مشاهده کنند. بسیاری از این سایتها به بازدیدکنندگان خود امکان چاپ تصاویر را هم میدهند.72
اگرچه بسیاری از سایتهای اشتراک تصویر به شما امکان ویرایش عکس را هم میدهند، اما بهتر است برای ویرایش تصاویر خود از برنامههای تحت وب مخصوص این کار نظیر Adobe Photoshop Express (www.photoshop.com/express) استفاده کنید. استفاده از این برنامهها بسیاری ساده است و علاوه بر این به شما در مدیریت تصاویر موجود در رایانه تان نیز کمک میکنند. مهمترین اینکه آنها مبتنی بر ابر و اغلب رایگان هستند و میتوانید از هر رایانه متصل به اینترنت از آنها استفاده کنید.
رایانش ابری فقط برای کاربران خانگی نیست. فواید زیادی از آن برای کل جامعه وجود دارد، از تیم های ورزشی گرفته تا مدارس. هر زمان که گروهی از افراد نیاز به ارتباطات و همکاری داشته باشند، برنامههای تحت وب راهی برای اینکار خواهند بود. در این بخش نگاهی به برخی کاربردهای رایانش ابری برای گروهها و انجمن ها می اندازیم.
ارتباطات یکی از اجزای هر گروه است. این کار به همین سادگی که گفته میشود نیست زیرا بسیاری از فعالیت های گروه که توسط افراد انجام میشود در زمان فراغت آنها صورت میگیرد. یعنی جدای از فعالیت های معمولی زندگی و کار آن است. بنابراین آنها ممکن است در زمان کار یا در منزل یا در هر زمان دیگری که وقت آزادی پیدا کنند، به کارهای گروه یا انجمن بپردازند.
بهترین راهحل برای ارتباطات در یک گروه استفاده از یک برنامه ایمیل تحت وب نظیر Gmail (mail.google.com) یا Windows Live Hotmail (mail.live.com) یا Yahoo! Mail (mail.yahoo.com) میباشد. این برنامهها میتوانند از هر رایانه متصل به اینترنت مورد استفاده قرار بگیرند. هر چیزی که ارسال کنید یا دریافت کنید در ابر ذخیره میشود و از آن در هر جا و هر زمان در دسترس خواهد بود.
وقتی که میخواهیم چندین شخص یا خانواده را برای فعالیت های گروه هماهنگ کنیم، کاری بسیار مشکل خواهد بود. چه برنامه تیم ورزشی باشد، یا یک برنامه در مدرسه یا ... اینکه ببینیم چه کسی وقتش آزاد است و چه کسی نیست، بسیار زمان می برد مگر اینکه از ابزارهای زمان بندی تحت وب استفاده کنیم.
بهترین ابزارهایی که میتوان برای این کار استفاده کرد، تقویم تحت وب Google Calendar (calendar.google.com)، یا Yahoo! Calendar (calendar.yahoo.com) یا CalendarHub (www.calendarhub.com) میباشد. فقط کافیست که یک تقویم عمومی ایجاد کنید آدرس آن را به همه اعضای گروه یا تیم بدهید. بعد از آن همه فعالیت های گروه را به تقویم اضافه کنید. اعضای تیم به راحتی میتوانند برنامهها و تغییرات آن را مشاهده کنند.
البته برای بعضی از گروهها مثلا تیم های ورزشی برنامههای سایت ساز مخصوصی وجود دارد که دارای ابزارهایی مخصوص فعالیت های تیم های ورزشی میباشند. مثلا برای زمان بندی، پروفایلها و ... . همچنین میتوان طرح سایت را متناسب با رنگ و آرم تیم ورزشی تغییر داد. نمونه های زیادی از چنین برنامههای تحت وبی برای طراحی سایت وجود دارد. مثلا www.eteemz.com، www.leagueathletics.com، www.leaguelineup.com و www.teamsnap.com. در شکل نمونه ای از بکارگیری سایت ساز Athletics را برای یک تیم بیسبال مشاهده میکنید.

تقویم های تحت وب برای پیگیری برنامههای مختلف مدرسه نیز کاربرد دارد. چه مربوط به تکالیف یک درس خاص باشد و چه مربوط به رویدادهای کلی مدرسه. برای یک معلم ساده است که یک برنامه را در تقویم تحت وب مدرسه پست کند.
شما میتوانید از تقویم های تحت وب برای پست کردن و یا جستجوی تاریخ ها و برنامههای یک رویداد عمومی خاص استفاده کنید. برای مثال Zvents (zvents.com) یک موتور جستجوی برای رویدادهای محلی است. برنامه رویدادهای خود را در پایگاهداده Zvents قرار دهید و سپس هر کس در محدوده شما میتواند از آن با خبر شود. شکل یک نمونه صفحه Zvents را نشان میدهد. کاربران میتوانند رویدادها را بر اساس نوع، مکان و تاریخ جستجو کنند.
برنامههای دیگری برای مدیریت رویدادها وجود دارد. برای مثال برنامه ServiceU (www.serviceu.com) شامل یک مجموعه از برنامهها برای ارائه رویدادها، منابع و تسهیل در برنامهریزی برای سازمانهای کوچک و بزرگ است.
در بسیاری از گروهها و پروژه های گروهی کارهای بسیاری است که باید انجام شود. هر کس مسئولیتی دارد که باید به موقع انجام دهد. اینکه چگونه همه این فعالیت ها را مدیریت کنیم در دنیای رایانش ابری به کمک برنامههای تحت وب به راحتی امکانپذیر است.
سادهترین شکل مدیریت وظایف، استفاده از یک لیست وظایف (To-Do List) میباشد. این لیست ها میتواند توسط اعضای مختلف گروه به صورت آنلاین و از طریق مرورگر وب در دسترس قرار بگیرد. وظایف در آن وارد شده و وقتی انجام شدند تیک می خورند.
بعضی از برنامههای لیست وظایف آنلاین شامل Bla-Bla List (www.blablalist.com)، Ta-da List (www.tadalist.com)، Tudu List (www.tudulist.com)، Voo2Do (www.voo2do.com) و Remember the Milk (www.rememberthemilk) میباشد. کار کردن با همه این برنامهها بسیار ساده است. برخی از آنها حتی به شما امکان اضافه کردن وظایف را با استفاده از ایمیل آدرس نیز میدهند و یا اینکه میتوانید از طریق تلفن همراه به لیست وظایف دسترسی داشته باشید.
برای مدیریت وظایف پیچیده، یک برنامه لیست وظایف شاید کافی نباشد. در عوض میتوان از برنامههای تحت وب مدیریت وظایف استفاده کرد که به شما امکان شکستن پروژه به بخشهای کوچکتر و مدیریت آنها را میدهند.
مدیریت وظایف در حالت پایه میتواند توسط برنامههایی نظیر HiTask (www.hitask.com) و Zoho Planner (planner.zoho.com) انجام شود. برای پروژه های پیچیدهتر میتوان از برنامههای مختص این کار نظیر Basecamp (www.basecamphq.com) با Goplan (www.goplan.com) استفاده کرد. در هر کدام از این برنامهها شما میتوانید پروژه را به بخشهای کوچک بشکنید، زمان انجام هر بخش را مشخص کنید و هر وظیفه را به یکی از اعضای گروه اختصاص دهید. اعضای گروه میتوانند بصورت آنلاین به برنامه دسترسی داشته باشند و وضعیت پیشرفت خود را در برنامه وارد کنند.
وقتی که رویداد بسیاری مهمی نظیر کنسرت یا کنفرانس پیش رو دارید، با مسائل جدیدی روبرو خواهید شد. نه تنها باید کارهای مربوط به آن رویداد را مدیریت کنید، بلکه باید بتوانید ثبت نام شرکت کنندگان، تبلیغ، فروش بلیط و ... را نیز مدیریت کنید. این های کارهای بسیاری زیاد و وقت گیری هستند که میتوانند توسط ابزارهای مدیریت رویداد تحت وب تا حدی آسانتر انجام شوند. با برنامههای مدیریت رویداد تحت وب، میزبانهای ابری میتوانند هر چیزی که نیاز داشته باشید، از زمان بندی و تبلیغات رویداد گرفته تا ثبت نام، پرداخت و دیگر کارهای مهم را میزبانی کنند. برای مثال شما میتوانید یک تقویم رویداد آنلاین ایجاد کنید بطوریکه شرکت کنندگان بتوانند برای کسب اطلاعات بیشتر یا رویدادهای آتی از طریق وب در آن عضو شوند، بخشهای ثبت نام و پرداخت تحت وب داشته باشید، درخواست های رزرو هتل، بلیط هواپیما و کرایه اتومبیل را مدیریت کنید. بعنوان مثالی از بعضی برنامههای رایجی که میتوانند چنین کارهایی را انجام دهند میتوان از Cvent (www.cvent.com)، RegOnline (www.regonline.com) و ViewCentral (www.rmkr.com/viewcentral) نام برد. برخلاف برخی از برنامههای تحت وب، این برنامهها رایگان نیستند و برای استفاده از آنها و مدیریت جزئیات یک رویداد خاص باید هزینه پرداخت نمایید.
بسیاری از برنامههای مدیریت رویدادها امکان تبلیغ رویداد در حال ساده را فراهم میکنند. اما وقتی نیاز به تبلیغ رویدادهای یک گروه می رسد، ممکن است تبلیغات ساده برای شما کافی نباشد. برای مثال شاید بخواهید بروشور یا آگهی کاغذی برای اعلان رویداد ایجاد کنید. این کار در دنیای ابری توسط برنامههایی نظیر Google Docs (docs.google.com) قابل انجام است. به کمک آن میتوانید آگهی یا دیگر آیتم را ایجاد کنید و آن را بصورت آنلاین در اختیار همه قرار دهید تا بتوانند آن را ببینند و حتی در صورت تمایل نظر خود را نیز بر روی آن بیان کنند. البته دقت کنید که در این موارد برای افراد غیرمجاز امکان دسترس فقط خواندن را قرار دهید زیرا شاید مناسب نباشد که شخصی خارج از گروه بصورت آنلاین بتواند کارهای شما را تغییر دهد.
طبیعتاً شما میتوانید از سایتهای جستجوی محلی نظیر Zvents (www.zvents.com) نیز برای ارسال آگهی های مربوط به رویداد های گروه خود استفاده کنید. حتی میتوانید از سایتهای رسانه های اجتماعی یا شبکه های اجتماعی مبتنی بر ابر نظیر Facebook و MySpace نیز برای تبلیغات آنلاین رویداد خود استفاده کنید. نهایتا اینکه بعد از برگزاری رویداد میتوانید تصاویر مربوط به آن را در سایت اشتراک تصویر گروه خود نظیر Flickr (www.flickr.com) قرار دهید. همه این کارها بخاطر وجود ابر امکانپذیر است!
هر رویداد، کوچک و بزرگ، هزینههای خودش را دارد. در خصوص رویدادهای مربوط به یک گروه، آن هزینه اغلب توسط اعضای گروه مدیریت میشود و هر کس مسئول بخشی از کارهای گروه میباشد. برای رویداد های ساده شما میتوانید با استفاده از برنامه صفحه گسترده ساده تحت وب، نظیر Google Spreadsheetsروی هزینهها مشارکت داشته باشید. فقط کافیست که یک سند صفحه گسترده ساده ایجاد کنید و حق دسترسی به آن را برای هر یک از اعضای گروه که مسئولیت هزینهها را بر عهده دارند فعال نمایید و سپس دادهها را بصورت آنلاین اضافه کنید به این ترتیب هر یک از اعضا میتواند آیتم های هزینه مربوط به خود را وارد کند.
برای رویدادهای پیچیدهتر و بزرگتر، شما میتوانید از ویژگیهای موجود در اکثر برنامههای مدیریت رویدادها استفاده کنید. همچنین برنامههای حسابداری نیز وجود دارد که بعنوان مثالی از آنها میتوان به AppExchange (www.salesforce.com/appexchange/) اشاره کرد. بعضی از این برنامههای تحت وب نسبتاً ارزان هستند و برای بسیاری از گروهها و انجمن ها مناسب هستند.
بنگاه های تجاری اولین گروههایی بودند که از رایانش ابری استفاده کردند. شرکتهای بزرگ و کوچک اهمیت صرفهجویی و بهبود کارآیی را با استفاده از ابزارهای تحت وب برای مدیریت پروژه ها، همکاری و مشارکت در اسناد و ارائه ها، مدیریت تماسها و زمان بندی در سطح سازمان، و ... درک کردهاند. رایانش ابری به شرکتها این امکان را میدهد که با بودجه محدود کارهای زیادی انجام دهند. علاوه بر این، مزیت برنامههای تحت وب برای کاربران سیار حرکت ثابت شده است. بجای وابستگی اسناد و برنامهها به رایانه محل کار، قادر خواهند بود از هر جایی که باشند و لازم بود، در محل کار یا منزل یا جاده دسترسی داشته باشند. در این بخش بسیاری از راه هایی که شرکتها و کارمندانشان میتوانند از رایانش ابری استفاده کنند را مورد بررسی قرار میدهیم.
اگر شما در یک شرکت بزرگ کار کرده باشید، خواهید دانست که حتی زمان بندی یک جلسه ساده چقدر مشکل است. یک نفر در سه شنبه ساعت 9 وقت آزاد دارد، یکی دیگر بیرون از اداره است و نفر بعدی از قبل برای یک جلسه دیگر برنامهریزی کرده است. علاوه بر این شما حتی مطمئن نیستید که کدام یک از اتاق های جلسه در آن زمان خالی است. نهایتاً چندبار ایمیل ردوبدل میکنید تا بتوانید زمانی پیدا کنید که همه آزاد باشند. اما برای اینکار راه بهتری نیز وجود دارد که آن استفاده از برنامههای زمان بندی تحت وب است. برنامه مبتنی بر ابر بهترین زمان برای همه افراد دیگر در جلسه را پیدا میکند. بنابراین نیاز به ایمیل یا تماس تلفنی نخواهد بود و همه چیز بطور خودکار در ابر انجام میشود. بسیاری از زمان بندی ها توسط برنامههای تقویم ساده تحت وب انجام میشود. مثلا Google Calendar (calendar.google.com) و Yahoo! Calendar (calendar.yahoo.com) نمونه هایی از برنامههای تقویم هستند. اما برای استفاده از ویژگیهای زمان بندی خودکار، نیاز به برنامههای زمان بندی با قدرت بیشتری میباشد. از این نمونه برنامهها میتوان hitAppoint (www.hitappoint.com)، AppointmenrQuest (www.appointmentquest.com) و Schedulebook (www.schedulebook.com) را نام برد. طبیعتاً این برنامههای در سطح سازمانی رایگان نبوده و دارای هزینههایی هستند.
فروشندگان مجبورند با تماسهای بسیار زیادی سروکار داشته باشند. نه تنها دفترچه آدرس آنها پر است، بلکه لازم است بدانند که چه موقع لازم است با یک مشتری خاص تماس بگیرند، چه موقع پیگیری تماسها لازم است و .... این کار با برنامههای مدیریت تماس رومیزی ساده نظیر Microsoft Outlook بسیار مشکل است. زیرا صرفاً مانند یک انبار از نام ها و تماسها میباشد. همچنین مشکل است که وقتی در جاده قرار دارید بتوانید به آنها دسترسی داشته باشید.
راهحل این کار یک برنامه مدیریت تماس تحت وب یا برنامه مدیریت ارتباط با مشتری (CRM) است. این برنامهها متناسب با نیازهای یک فروشنده پرمشغله هستند و دارای ویژگیهای کاملی در خصوص زمان بندی فعالیت ها، یادآور ملاقات های حضوری، الگوهای پست الکترونیکی و ... میباشند. از جمله رایج ترین این برنامهها BigContacts (www.bigcontacts.com)، Highrise (www.highrisehq.com) و Salesforce.com (www.salesforce.com) میباشند. بسیاری از این برنامهها شامل قابلیتهای اضافه دیگری برای استفاده توسط سازمانهای فروش بزرگ، نظیر مدیریت حساب ها، گزارشها فروش و ویژگیهای مختلف مدیریت تیمی میباشند.
بعنوان یک فروشنده، یک روز کاری عادی را فرض کنید که در مسافرت هستید. شما صبح در هتل از خواب بیدار میشوید و رایانه همراه خود را روشن میکنید و با استفاده از اتصال اینترنتی بیسیم هتل وارد سایت CRM می شوید و به لیست وظایف امروز نگاه میکنید. سپس به لیست تلفنهایی که باید امروز تماس بگیرید نگاه میکنید. اگر اطلاعات بیشتری در مورد یک مشتری خاص داشتید، تنها کافیست روی لینک مربوط به آن مشتری کلیک کنید. هر چیزی که درباره یک مشتری وارد کنید، ذخیره خواهد شد و بصورت آنلاین و فوری در دسترس خواهد بود. حتی میتوانید روی لینک دیگری کلیک کنید تا اطلاعات مربوط به محل مشتری را روی نقشه مشاهده کنید.73
طبیعتاً هرچه اطلاعات جزئی تری نیاز داشته باشید، برنامه ای که استفاده میکنید باید ویژگیهای بیشتری داشته باشد. نکته مهم این است که همه چیز در ابر ذخیره میشود و در آن مدیریت میشود و شما میتوانید به اطلاعات تماس از هر جا و هر زمان دسترسی داشته باشید. تنها چیزی که نیاز دارید یک اتصال اینترنتی میباشد.
در بسیاری از شرکتها پروژه هایی اجرا میشود که چندین نفر کارمند در چندین بخش مختلف و شاید چندین مکان مختلف در آن درگیر هستند. چنین پروژه هایی پیگیری همه وظایف اشخاص بسیار مشکل و وقت گیر است. انجام چنین کاری با استفاده از برنامه مدیریت پروژه تحت وب ساده خواهد بود. اعضای پروژه میتوانند از هر جایی به فایل اصلی پروژه دسترسی داشته باشند. آنها میتوانند وظایف را ایجاد یا حذف کنند، کارهایی که تمام شدهاند را مشخص کنند، جزئیات اطلاعات صورت حساب برای کارهای خاص را وارد کنند و ... و به دلیل اینکه همه چیز در ابر میزبانی میشود، هر عضو تیم میتواند نمودار گانت یا PERT را مشاهده کند و چنانچه ویرایشی انجام شود، به روز رسانی فوراً انجام میشود.
بسیاری از برنامههای مدیریت پروژه برای پروژه های گروهی شامل ویژگیهای مناسب بیشتری نیز هستند. این ویژگیها شامل لیست های To-Do، امکان اشتراک فایل تحت وب، صفحه پیغام ها، پیگیری زمان و هزینه و ... میشود. نمونه های قویتر امکان مدیریت چندین پروژه را بطور همزمان فراهم میکنند که به این ترتیب کاربران قادر خواند بود زمان خود را چندین پروژه مدیریت کنند و مطمئن شوند که بطور همزمان دو کار را انجام نمیدهند.
همانطور که به نظر میرسد، این ها برنامههای ساده ای نیستند. بنابراین هزینه استفاده از آنها زیاد است و اغلب یاد گرفتن آنها نیز مشکل است. رایج ترین این برنامه AceProject (www.aceproject.com)، Basecamp (www.basecamphq.com)، onProject (www.onproject.com) و Project Insight (www.projectinsight.com) میباشد.
وقتی که شما در شرکتهای بزرگ کار میکنید، گزارشهای زیادی وجود دارد که باید تهیه کنید. بسیاری از این گزارشها اغلب باید با مشارکت دیگر همکاران تهیه شود. برای مثال، شاید لازم باشد یک گزارش پیشرفت ماهیانه تهیه کنید که باید ورودیهایی را از بخشهای بازاریابی، فروش و مالی دریافت کنید. یا شاید در حال آماده کردن یک طرح تجاری باشید که شامل قسمتهای زیادی از همه بخشهای شرکت باشد. خلاصه اینکه نیاز به روشی خواهید داشت که با دیگر همکاران در زمان نوشتن گزارش مشارکت داشته باشید.
خوشبختانه، مشارکت آنلاین یکی از مزایای اصلی رایانش ابری است. بجای ارسال فایلهای ورد از طریق ایمیل در شرکت، میتوان از برنامههایی نظیر Google Docs (docs.google.com) یا Zoho Writer (writer.zoho.com) استفاده کرد. با یکی از این برنامهها، هر کسی که در گزارش همکاری میکند، میتواند به نسخه اصلی و یکسانی از سند بصورت آنلاین و بطور بلادرنگ دسترسی داشته باشد. وقتی کسی در سازمان مربوط به خود، بخشی را به سند اضافه میکند، همه کارمندان دیگر نسخه به روز شده را به سرعت مشاهده میکنند.
مشارکت روی یک سند مبتنی بر وب بسیار آسان است. اکثر پروژه توسط سرگروه تیم و با ایجاد یک سند آنلاین و مناسب کردن ظاهر آن (معمولا با افزودن محتوا و الگو) شروع میشوند. سپس سرگروه بخشهای مختلف گزارش را به افراد اختصاص میدهد و آدرس سند را در اختیار آنها قرار میدهد. این افراد سپس میتوانند با ورود به سند اصلی، روی بخش مربوط به خود کار کنند. وقتی همه بخشها کامل شد، سرگروه به کل سند نگاه میکند، در صورت نیاز برای ایجاد یکپارچگی آن را ویرایش میکند.
اکثر برنامههای واژه پردازی آنلاین امکان افزودن تصویر و دیگر اشیاء گرافیکی را نیز فراهم میکنند. شما میتوانید از فایلهای صفحه گسترده نیز بعنوان بخشی از سند اصلی استفاده کنید. نتیجه آن یک سند با کیفیت خواهد بود که بیانگر ماهیت واقعی کار مشارکتی بر روی پروژه میباشد.
بازاریابی و تبلیغات نیز میتوانند از فواید مشارکت مبتنی بر استفاده کنند. مثلا برای جمع آوری یک کاتالوگ که نیاز به اطلاعات مختلف از بخشهای مختلف سازمان دارد. وقتی می خواهیم منابع بازاریابی را ایجاد کنیم، بهترین رویکرد بکارگیری ترکیبی از برنامههای تحت وب میباشد. طبیعتاً، ایمیل تحت وب ارتباطات بین بخشهای مختلف سازمان را ساده میکند. شما میتوانید از برنامههای مدیریت پروژه تحت وب برای هماهنگ کردن کارهای مختلف نیز استفاده کنید. خود منابع بازاریابی میتوانند با استفاده از یک برنامه واژه پردازی ایجاد شوند. این کار نسخه اولیه آنها را در وب برای همه اعضای تیم ایجاد میکند تا بتوانند آن ها را مشاهده کنند و نظر بدهند. بعد از نهایی شدن کار، میتوان آن را برای انتشار چاپ کرد یا در سایت قرار داد.
اگر شما پول شرکت را خرج میکنید، مسئول آن خواهید بود. به همین علت باید برای هزینههای خود بتوانید گزارش تهیه کنید. تهیه یک گزارش از هزینهها با استفاده از برنامههای صفحه گسترده کار مشکلی نیست اما همیشه این بهترین راه نیست. گزارشهای الکترونیکی یا کاغذی در شرکت شما ممکن است در سطوح مختلفی جابجا شود: رئیس شما، رئیس رئیس شما، بخش حسابداری و ... تا نهایتا با شما تصفیه حساب شود.
یک راهحل بهتر برای خیلی از شرکتها این است که این کار گزارشدهی را در وب انجام دهند. کارمندان از مکانهای مختلف میتوانند به سایت دسترسی پیدا کرده و هزینهها را در آن وارد کنند. این کار میتواند حتی در حین سفر نیز انجام شود. سپس گزارش هزینهها بصورت الکترونیکی بین افرادی که باید آن را تایید کنند به گردش در میآید یا اینکه میتواند بجای آن یک ایمیل ارسال شود که حاوی لینکی به صفحه شامل گزارش باشد. در نهایت، بعد از تأیید نهایی، بخش حسابداری مطلع شده و چک شما صادر میشود. به این ترتیب هیچ کاغذی جابجا نمیشود و تاخیر به حداقل خود می رسد.
دیگر مزیت مدیریت هزینهها از طریق وب این است که میتوان به راحتی مطمئن شد که همه کارمندان از قوانین شرکت پیروی میکنند. فقط کافیست واسط مدیریت مبتنی بر قواعد خود را ایجاد کرده و کارمندان از طریق آن اطلاعات هزینهها را وارد کنند.
بعضی از مشهورترین برنامههای گزارشدهی هزینههای تحت وب در سطح سازمانی شامل ، ExpensAble (www.expensable.com)، ExpensePoint (www.expensepoint.com)، Concur (www.concur.com) و TimeConsultant (www.timeconsultant.com) میباشند. بسیاری از برنامههای مدیریت اداری و مدیریت جریان کار، شامل ماژول گزارشهای هزینه نیز هستند
وقتی در مورد پول صحبت میشود، پروژه ای بزرگ تر تنظیم بودجه سال بعد در بسیاری از شرکتها وجود ندارد. در بسیاری از سازمانها مدیران هر بخش باید بودجه ها کامل بخش خود را مشخص کنند. مجموعهاین بودجه ها سپس توسط بخش مالی جمع آوری میشود ولی به ندرت به این شکل اولیه قبول میشود. به این ترتیب پس از اصلاح دوباره به بخشها فرستاده میشود تا آنها نیز اصلاحات مورد نیاز خود را انجام دهند و بودجه خود را دوباره ثبت کنند که در نهایت بودجه کل شرکت تدوین میشود و این کار یک فرآیند طولانی است.
بطور سنتی هر سازمان روی فایل صفحه گسترده مربوط به بودجه خود کار میکند که سپس این فایل برای یکپارچه شدن با فایل بخشهای دیگر به بخش مالی ایمیل میشود. اگر چه این کار بهتر از ارسال برگه های کاغذ در اداره است اما میتواند بهتر از این هم انجام شود.
رایانش ابری رویکرد بهتری است که بجای کار روی فایلهای صفحه گسترده جداگانه که بعدا قرار است ترکیب شوند، شما میتوانید از برنامه تحت وب برای ایجاد یک سند واحد برای همه بخش استفاده کنید. رئیس هر بخش دادههای مربوط به خود را وارد میکند. به این ترتیب تجمیع اینها همه بصورت بلادرنگ انجام میشود. به این ترتیب هر اصلاحاتی که چه از سطوح پایین و چه از سطوح بالای مدیریت انجام شود، به سرعت قابل مشاهده است.
این نوع از تنظیم بودجه بصورت آنلاین میتواند توسط یک برنامه صفحه گسترده ساده نظیر Google Spreadsheets (spreadsheets.google.com) یا با یک برنامه مخصوص نظیر Host Budget (www.hostanalytics.com/budgeting-planning-software.html) انجام شود. علاوه براین بسیاری از برنامههای مدیریت پروژه و اتوماسیون نیز این ماژول را در بر دارند.
امروزه در شرکتها از ارائه های PowerPoint زیاد استفاده میشود. برای معرفی یک محصول جدید، برای بحث در خصوص وضعیت استخدام نیروی کار، برای ارائه وضعیت مالی یک ماهه اخیر به مدیران، و ... که در همه اینها شما نیاز دارید که اسلایدهایی را آماده کنید و از طریق یک لپ تاپ یا رایانه رومیزی نمایش دهید.
مشکل تهیه ارائه های طولانی و بزرگ این است که شما اغلب نیاز دارید اطلاعاتی را از بیش از یک نفر، یک بخش یا یک اداره دریافت کنید. مثلا اگر مسئول بخش فروش هستید، باید اطلاعات محصولات را از بخشهای مختلف جمع آوری کنید. در چنین مواردی با استفاده از رایانش ابری میتوان یک سند واحد ایجاد کرد و سپس هر کسی که همکاری میکند میتواند مستقیماً سند اصلی را از هر جایی ویرایش کند. رهبر پروژه میتواند ظاهر ارائه را کنترل کند و با اعمال یک قالب کلی، فایل نهایی را آماده کند.
پرکاربردترین برنامههای تهیه ارائه در حال حاضر Google Presentation است که بخشی از مجموعه Google Docs (docs.google.com) میباشد. این برنامه شامل بسیاری از ویژگیهای برنامه PowerPoint است و حتی میتوان فایلهای با فرمت PowerPoint را با آن وارد کرد یا از آن با همین فرمت خروجی گرفت. برنامههای دیگری نیز برای تهیه ارائه آنلاین وجود دارد که میتوان به Preezo (www.preezo.com) و Zoho Show (show.zoho.com) اشاره کرد.
یکی از امکاناتی که رایانش ابری برای ما فراهم کرده است این است که شما میتوانید فایلهای ارائه خود در هر جا در اختیار داشته باشید بدون اینکه نیاز باشد آنها را همراه خود ببرید. تنها کافیست وقتی به مقصد رسیدید، رایانه همراه خود را به اینترنت متصل کنید، ارائه تحت وب خود را باز کنید و ارائه را بصورت زنده به مخاطبان ارائه دهید. در حقیقت حتی لازم نیست که رایانه همراه را نیز با خود ببرید. شما میتوانید از هر رایانهای که در محل وجود دارد برای دسترسی به ارائه های خود و نمایش آنها استفاده کنید.
بسیاری از برنامههای ارائه تحت وب به شما امکان ارائه بدون نیاز به حضور فیزیکی را هم میدهند. به عبارت دیگر شما میتوانید ارائه را از راه دور انجام دهید. کافیست به فایلها خود برای افرادی که در سمینار شرکت میکنند، دسترسی فقط خواندنی (read-only) بدهید تا همه آنها نیز بتوانند بطور همزمان اسلایدهای شما را مشاهده کنند. به این ترتیب همه شرکت کنندگان از هر مکانی میتوانند یک ارائه یکسان را باهمدیگر مشاهه کنند.
بعضی از این برنامه ویژگیهای بیشتری نیز برای ارائه راه دور دارند. برای مثال Zoho Show امکان یکپارچه شدن با Zoho Chat را برای تعامل متنی بصورت همزمان با ارائه با مخاطبین فراهم میکند. شرکت کنندگان در طول ارائه میتوانند سئوال بپرسند و شما نیز میتوانید همزمان جواب بدهید.
برنامههای تحت وب دیگری نظیر Cisco's WebEx (www.webex.com) و Microsoft Offile Live Meeting (office.microsoft.com/en-us/livemeeting) نیز وجود دارند. این برنامهها امکان برگزاری جلسات و ارائه های زنده را بصورت کنفرانس تحت وب در اینترنت فراهم میکنند. همه اعضای گروه میتوانند پس از ورود به سایت مربوطه، بطور بلادرنگ با صوت و ویدئو با هم گفتگو کنند.
| پرسشهای مروری فصل 4 |
|
| تحقیق و پژوهشی فصل 4 |
|
مراجع
Michael Miller, "Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online," Que Publishing, 2009
Ivanka Menken, Gerard Blokdijk, "SaaS and Web Applications Specialist Level Complete Certification Kit," Emereo Pty Ltd, 2009
وایت بورد جایی است که یک یا چند کاربر میتوانند روی یک تخته مجازی که توسط همه اعضای گروه قابل مشاهده است، ترسیم کنند.↩︎
Cloud Storage↩︎
Cloud Service↩︎
یک API یک واسط است که امکان برقراری ارتباط از راه دور را با یک برنامه فراهم میکند تا بتوان از منابع یا دیگر سرویس های آن استفاده کرد.↩︎
محاسبه بر حسب تقاضا، تحت عنوان utility computing هم شناخته میشود. شرکت هایی چون Amazon، IBM، Sun و ... چنین خدماتی ارائه میدهند.↩︎
برای کسب اطلاع در خصوص سرویسهای وب آمازون میتوانید به aws.amazon.com مراجعه کنید.↩︎
برای کسب اطلاعات بیشتر در مورد Google App Engine به سایت code.google.com/appengine مراجعه نمایید.↩︎
برای کسب اطلاعات بیشتر در مورد IBM Blue Cloud به www.ibm.com مراجعه نمایید.↩︎
در خصوص استفاده از برنامه های ایمیل تحت وب در بخش همکاری از طریق ابزارهای ارتباطی تحت وب بیشتر صحبت خواهیم کرد.↩︎
در خصوص استفاده از برنامه های تقویم تحت وب در بخش همکاری بر روی تقویم، زمان بندی و مدیریت وظایف بیشتر صحبت خواهیم کرد.↩︎
در خصوص برنامه های برنامهریزی تحت وب در بخش های بعد صحبت خواهیم کرد.↩︎
در بخش های بعدی در خصوص برنامه های صفحه گسترده تحت وب بیشتر صحبت خواهیم کرد.↩︎
در مورد برنامه های مدیریت تماس در بخش "مشارکت در مدیریت تماسها" بیشتر صحبت خواهیم کرد.↩︎
درباره برنامه های اشتراک تصویر و ویرایش تصویر در بخش "اشتراک تصاویر دیجیتالی" بیشتر صحبت می کنیم.↩︎
در مورد برنامه های مدیریت تماس و مدیریت ارتباط با مشتری در بخش همکاری بر روی مدیریت تماسها بیشتر صحبت خواهیم کرد.↩︎
در این بخش از کتاب نگاهی به انواع مختلف کارهای محاسباتی تجاری و شخصی و برنامههای تحت وبی که بتوانند آنها را تسهیل کنند می اندازیم. از جهتی این فصل میتوانند بعنوان یک کاتالوگ از بهترین نمونه های سیستمهای در رایانش ابری در نظر گرفت. کاربردی که دنبال آن باشید، این شانس وجود دارد که بتوانید چیزی در ابر پیدا کنید که آن کار را برای شما انجام دهد.
ما ارزیابی این سرویسهای ابری را با برنامههایی که برای برنامهریزی و سازماندهی وظایف (نظیر تقویم، زمان بندی، مدیریت وظایف و...) هستند شروع میکنیم.
اکثر کاربران، برنامهریزی و پیگیری کارهایشان را در رایانههای خود انجام میدهند. اگرچه هنوز روش سنتی استفاده از تقویم دیواری هنوز وجود دارد، اما به نظر می رسد پیگیری ملاقات ها و رویدادها بصورت الکترونیکی بسیار سادهتر میباشد. مشکل استفاده از برنامههای نرمافزاری نظیر Microsoft Outlook و Windows Calendar این است که همه ملاقات ها و رویدادها در یک رایانه قرار دارد. اگر یک تقویم شخصی در رایانه منزل داشته باشید، نمیتوانید در محل کار یا در حین مسافرت به آن مراجعه کنید. این محدودیت باعث میشود که برنامههای تقویم تا حدودی بدون کاربرد باقی بمانند. و این علتی است که بسیاری از کاربران بجای استفاده از برنامههای تقویم که به یک رایانه وابسته باشند، در حال حرکت به سمت استفاده از تقویم های تحت وب هستند. یک سرویس تقویم تحت وب میتواند تقویم های شما را در اینترنت ذخیره کند، بطوریکه بتوانید از هر جایی که اتصال اینترنتی فراهم باشد بتوانید به آنها دسترسی داشته باشید. این کار به شما کمک میکند که مثلا هنگامیکه در جاده هستید بتوانید برنامه زمانی خود را چک کنید. حتی اگر دستیار شما در اداره یا همسرتان در خانه آیتم جدیدی را به آن اضافه کرده باشد، بتوانید آنها را مشاهده کنید. استفاده از تقویم های تحت وب و به اشتراک گذاشتن آنها با دیگر کاربران بی نهایت آسان است به همین علت ابزارها مناسبی برای پروژه های مشارکتی میباشند.
ما در اینجا بعضی از معروف ترین تقویم های آنلاین را بررسی میکنیم. اگرچه نمونه هایی وجود دارد که استفاده از آنها مستلزم هزینه است، اما نمونه های رایگان نیز وجود دارد. یکی از بهترین نمونه های موجود Google Calendar و Yahoo Calendar است. همچنین تقویم جدید Apple به نام MobileMe نیز جدیدا بسیار مورد توجه قرار گرفته است. 74
مشهورترین تقویم تحت وب در حال حاضر Google Calendar (calendar.google.com) میباشد که یک برنامه رایگان با ویژگیهای بسیار است و استفاده از آن نیز آسان میباشد. این برنامه به شما امکان ایجاد تقویم های شخصی و اشتراکی را میدهد که برای پیگیری زمان بندی در گروههای تجاری، خانوادگی یا اجتماعی مناسب میباشد.
همانطور که در شکل 5-30 مشاهده میکنید، Google Calendar بسیار شبیه هر تقویم دیگری است که تا کنون مشاهده کردهاید. شما قرار ملاقات خود را که در رویداد (event) نامیده میشود مستقیماً در تقویم وارد میکنید. نمای تقویم میتواند بصورت روزانه، هفتگی یا ماهانه نمایش داده شود. همچنین میتوانید در صورت تمایل خلاصه برنامه هفتگی خود را روی یک صفحه نیز مشاهده کنید.

شبیه همه تقویم های تحت وب، همه رویداد های شما در ابر ذخیره میشود (در این نمونه، توده ابر توسط شبکه سرورهای گوگل ایجاد شده است)، نه در رایانه شما. این به این معناسب که شما میتوانید به تقویم خود از هر رایانه در هر جای دنیا دسترسی داشته باشید. همچنین بدلیل اینکه تقویم گوگل تحت وب است، شما نه تنها میتواند از آن برای ایجاد یک تقویم خصوصی برای خود استفاده کنید، بلکه میتوانید تقویم های عمومی برای کارهای شرکت یا سازمان و ... نیز داشته باشید. یک تقویم عمومی ایجاد کنید و همه کارمندان و دعوت شدگان میتوانند به آن از طریق وب دسترسی داشته باشند. علاوه بر این، ویژگی دعوت برای رویداد خاص، امکان دعوت کردن دیگران را به یک رویداد –خصوصی یا عمومی- به سادگی فراهم کرده است. انواع تقویم هایی که میتوان با Google Calendar ساخت به این ترتیب میباشد:
تقویم شخصی: که شبیه به تقویم پیش فرض شما است.
تقویم عمومی: که دیگران بتوانند به آن از طریق وب دسترسی داشته باشند.
تقویم دوستان: که بتوانید تقویم دوستان خود را نیز مشاهده کنید.
تقویم روزهای تعطیل: که تعطیلی های ملی را به تقویم عادی اضافه میکند.
نکته قابل توجه اینکه تقویم گوگل با سرویس پست الکترونیکی گوگل یکپارچه است. توسط تقویم گوگل میتوانید پیغام های ایمیل خود را که دارای تاریخ و زمان هستند به طور خودکار پیمایش کنید و رویدادهایی را که در محتوای پیغام های شما است را به تقویم خود اضافه کنید. همچنین وقتی شما یکی ایمیل را در Gmail مطالعه میکنید که دارای اطلاعاتی در خصوص یک رویداد خاص است، میتوانید از منوی More Action گزینه Create Event را انتخاب کنید. این کار یک پنجره رویداد جدید باز میکند. حال شما میتوانید اطلاعات مورد نیاز را در آن وارد کنید و دکمه Save Changes را کلیک کنید تا رویداد به تقویم شما اضافه شود.
یکی از رقبای اصلی تقویم گوگل، Yahoo! Calendar (calendar.yahoo.com) است. ظاهر این تقویم و عملکرد آن کاملا شبیه به تقویم گوگل است و استفاده از آن نیز برای همه رایگان است. شباهت تقویم یاهو نسبت به تقویم گوگل را میتوانید در شکل 5-31 مشاهده کنید. در واقع اکثر تقویم های تحت وب از نظر ظاهر شبیه هم هستند. یک تفاوت در تقویم یاهو، وجود دکمه Add Task است که نشان میدهد تقویم یاهو علاوه بر افزودن رویدادها، امکان افزودن وظایف را نیز پشتیبانی میکند. شما میتوانید وظایف را هم بصورت برنامهریزی روزانه و هم بصورت برنامهریزی های درازمدت انجام دهید.
امکان به اشتراکگذاری تقویم های یاهو با دیگر کاربران بصورت مشارکتی نیز وجود دارد. در حال حاضر، تقویم یاهو تنها امکان افزودن یک تقویم را میدهد. تمام رویدادها، چه خصوصی و چه عمومی باید در همین یک تقویم ذخیره شوند و امکان ایجاد تقویم های متنوع برای کاربردهای مختلف وجود ندارد.

تقویم های گوگل و یاهو هر دو مبتنی بر وب هستند. سومین رقیب بعد یعنی مایکروسافت نیز سرویس Windwos Live Calendar (mail.live.com/mail/calendar.aspx) خود را مبتنی بر وب و بعنوان بخشی از سرویس پست الکترونیکی Windwos Live Hotmail عرضه کرده است. ظاهر تقویم مایکروسافت نیز شبیه هر دو رقیب قبلی است. در این تقویم هم امکان افزودن وظایف و هم امکان زمان بندی جلسات با دیگر کاربران فراهم است (شکل 5-32). طبیعتاً شما میتوانید تقویم های خود را نیز با کاربران مجاز برای مشارکت گروهی به اشتراک بگذارید.

Apple's MobileMe (www.me.com) یک رقیب جدید در بازار برنامههای تحت وب است که شامل پست الکترونیکی آنلاین، تماسها و تقویم و نیز امانات گالری تصویر آنلاین و ذخیرهسازی فایل میباشد. ما دیگر اجزای این محصول را در جای خود بحث میکنیم اما الان روی بخش تقویم MobileMe تمرکز میکنیم.
MobileMe Calendar نیز یک تقویم تحت وب است که میتواند از هر رایانه متصل به اینترنت در دسترس باشد. اما چیزی که آنرا متفاوت و پرکاربرد کرده است، امکان دسترسی به آن از طریق Apple's iPhone میباشد که آن را در حقیقت یک تقویم سیار نموده است. همانند تقویم های رقیب، شما میتوانید MobileMe را بصورت نمایش روزانه، هفتگی یا ماهیانه تنظیم کنید. همانطور که در شکل 5-33 نیز نشان داده شده است، MobileMe به شما امکان ایجاد چندین تقویم و نمایش همه آنها در یک صفحه یکسان با استفاده از رنگ های مختلف برای هر تقویم میدهد. شما میتوانید تقویم های MobileMe خود را با تقویم های Apple's iCal و Microsoft Outlook نیز همزمان کنید. اگرچه تقویم MobileMe نوآوری های زیادی ندارد، ولی متعلق به یکی از رقبای اصلی در بازار برنامههای آنلاین، خصوصاً برای کاربران غیر تجاری میباشد.

هر یک از کاربران AOL میتواند به AOL Calendar (calendar.aol.com) دسترسی داشته باشد. این محصول هم با سرویس پیغام رسان (AIM) و هم با سرویس پست الکترونیکی AOL یکپارچه است. همانند دیگر رقبا، تقویم AOL نیز امکان به اشتراکگذاری تقویم ها با کاربران مجاز یا ایجاد تقویم های خصوصی و عمومی را فراهم کرده است.
بجز شرکتهای گوگل، یاهو و اپل و ...، بسیاری از سایتهای مستقب نیز تقویم های تحت وب با ویژگیهای بسیار زیاد عرضه میکنند. شاید قابل توجه ترین این سایتها، CalendarHub (www.calendarhub.com) باشد که در شکل 5-34 نشان داده شده است.
CalendarHub همه ویژگیهایی که در تقویم های قبلی اشاره کردیم دارد (تقویم های خصوصی و عمومی، به اشتراکگذاری، ایجاد چند تقویم، لیست وظایف و ...). علاوه براین به شما امکان انتشار تقویم هایتان را در وبلاگ یا وبسایت فراهم میکند که برای ایجاد سایتهای گروهها، تیم ها ورزشی و ... بسیار مناسب است. دیگر کاربران نیز میتوانند ثبت نام کنند تا ایمیل های اطلاع رسانی در خصوص رویدادهای جدید را دریافت کنند یا اینکه در خبررسان RSS هر نمای دلخواهی از تقویم عضو شوند. لازم به ذکر است که تمام این خدمات رایگان است.

Hunt Calendars (www.huntcal.com) نیز از سایتهایی است که تقویم های تحت وب مبتنی بر رویداد ارائه میکند. ویژگیهای مفید آن شامل ایمیل های یادآور، اطلاع رسانی در خصوص رویدادهای متداخل، اطلاع رسانی در خصوص رویدادهای به روز شده یا جدید و ... موارد دیگر شبیه این میباشد.
این سایت به شما امکان افزودن لینک های وب و تصاویر را به رویدادهای تقویم میدهد که به این ترتیب آن را از دیگر تقویم ها متفاوت میکند. همچنین امکان سفارشی سازی رنگ ها، الگوی سایت و گرافیک آن نیز وجود دارد تا بتوانید ظاهر آن را متناسب با سازمان خود بکنید (شکل 5-35). این ویژگی باعث شده است که این تقویم برای گروهها و کسب و کارها جذاب تر باشد.

اگر شما زمان بندی یک گروه یا انجمن را بر عهده دارید، بد نیست که نگاهی هم به Famundo (www.famundo.com) بیندازید. این سایت یک تقویم تحت وب رایگان مناسب برای مدارس، کلیساها، تیم های ورزشی و نظایر اینها با نام Famundo for Organizations ارائه میدهد. مثلا در شکل 5-36 یک تقویم نمونه برای مدرسه نشان داده شده است. این شرکت همچنین سرویس Famundo for Families را ارائه میدهد که یک نگارش شخصی از تقویم سازمانی آنها است. این نگارش شامل یک دفترچه آدرس خانوادگی و صفحه پیغام میباشد.

eStudio Calendar (www.same-page.com/calendar-software.html) بطور خاص برای استفاده های تجاری طراحی شده است. شما سه نوع تقویم را در یک واسط خواهید داشت:
Member Event: برای کمک به کاربران در مدیریت زمان پرسنل آنها و پیگیری جلسات با دیگران و ...
Team Event: برای زمان بندی فعالیت های یک گروه.
Supervisor: برای ارائه گزارش به مدیران درباره فعالیت های شرکت و برنامهها
علاوه بر این،شما میتوانید از eStudio Calendart برای ارسال گسترده اطلاعات فعالیت های گروه از طریق ایمیل و زمان بندی جلسات استفاده کنید. اطلاعات رویدادهای شرکت میتواند بطور خودکار در وب سایت شما نیز منتشر شود.
نام 30Boxes (www.30boxes.com) به 30 کادر نمایش داده شده در یک تقویم ماهیانه اشاره دارد. خود سایت یک ظاهر ساده برای افزودن رویدادها دارد (شکل 5-37). همه رویدادهای شما میتواند با دیگر کاربران به اشتراک گذاشته شود به اضافه اینکه شما یک لیست وظایف، یک لینک به Gmail و دیگر ویژگیهای مفید دیگر خواهید داشت.

Trumba (www.trumba.com) یک تقویم تحت وب مناسب برای سازمانها، انجمن ها، مدارس و دیگر موارد عمومی مشابه ارائه کرده است.

در اینجا شما امکان افزودن اشیاء شخصی (بنام spuds) نظیر آنچه که در شکل 5-38 مشاهده میکنید در وب سایت خود خواهید داشت. این اشیاء به کاربران امکان مشاهده کل تقویم، افزودن رویداد، دریافت ایمیل اطلاع رسانی و ... را میدهد.
Calendars Net (www.calendars.net) یک تقویم تحت وب رایگان برای شرکتها و اشخاصی است که می خواهند یک تقویم تعاملی با وب سایت خود داشته باشند. یک تقویم معمولی آن میتواند به راحتی در یک فریم از سایت شما قرار بگیرد. این سایت امکان میزبانی تقویم شخصی را در ابر فراهم میکند. شما میتوانید در خصوص اینکه کاربران مختلف چگونه بتوانند تقویم را مشاهده کنند، چهار سطح مختلف از امنیت را بکاربگیرید، رویدادها را اضافه یا ویرایش کنید و یا حتی تنظیمات عمومی تقویم را تغییر دهید.
این مورد نیز یکی دیگر از تقویم های تحت وب است که میتواند به یک سایت اضافه شود. Jotlet (www.jotlet.com) یک API جاوا اسکریپت است و کتابخانه ای غنی دارد که میتوانید برای ایجاد قابلیت تقویم در صفحه وب خود بکاربگیرید. اگر شما در HTML مهارت داشته باشید، این گزینه خوبی خواهد بود که بتوانید صفحه مبتنی بر تقویم ایجاد کنید. استفاده از Jotlet API برای کاربردهای غیرتجاری رایگان است و برای سایتهای تجاری بصورت آزاد قابل دسترس است.
همانطور که هر کس در یک اداره بزرگ می دارند، زمان بندی یک جلسه میتواند کاری خسته کننده باشد. نه تنها شما باید زمان زمان آزا همه افراد را داشته باشید، بلکه باید مطمئن شوید که اتاق جلسه مناسب نیز در زمان مشخص شده در دسترس است. با استفاده از برنامههای تحت وب میتوانید این مشکلات را کاهش دهید. در حالت عمومی این برنامهها نیازمند آن هستند که همه کاربران برنامههای خود را تقویم های شخصی خود از قبل وارد کرده باشند. وقتی شما یک جلسه را زمان بندی میکنید، اولین زمان خالی همه شرکت کنندگان توسط خود برنامه بطور خودکار پیدا میشود. سپس بطور خودکار ایمیلی را برای آگاه کردن آنها از درخواست جلسه ارسال میکند و تاییدیه آنها را نیز در صورت پذیرش دعوت نامه پیگیری میکند.
افراد مشاغل مختلفی که قرار ملاقاتشان را با مشتریان خود تنظیم میکنند، با مشکل زمان بندی مشابه این مواجه هستند. برای این منظور نیز، برنامههای زمان بندی مجزایی بصورت تحت وب وجود دارند که تمرکز بیشتری روی ملاقات حضوری با مشتری دارند.
بیایید نگاهی به راهحلهای تحت وب برای زمان بندی جلسات بپردازیم. اولین برنامه ای که معرفی میکنیم Jiffle (www.jifflenow.com) است که میتوان برای زمان بندی جلسات و تنظیم قرار ملاقات در محیطهای سازمانی استفاده شود. برای پیگیری وقت آزاد کارمندان، این برنامه میتواند بطور یکپارچه با Microsoft Outlook و Google Calendar همزمان شود.
Jiffle به کاربر شروع کننده این امکان را میدهد که بازه های زمانی مناسب را در تقویم خودش مشخص کند (شکل 5-39) سپس آن را با شرکت کنندگان مورد نظر از طریق یک ایمیل حاوی دعوت نامه که توسط خود Jiffle تولید شده است، به اشتراک بگذارد. شرکت کنندگان دعوت نامه را مشاهده میکنند و وارد سایت Jiffle میشوند و سپس بازه زمان مورد نظر خود را از زمان های در نظر گرفته شده انتخاب میکنند. بر اساس پاسخ ها، Jiffle بهترین زمان را برای جلسه انتخاب کرده و به صورت خودکار با ایمیل به اطلاع همه شرکت کنندگان می رساند.

برای شرکتهای کوچکتر، Jiffle برای 10 جلسه در ماه رایگان است. برای شرکتهای بزرگتر، طرح های Jiffle Plus و Jiffle Pro و Jiffle Corporate ارائه شده است.
برخلاف Jiffle، برنامه Presdo (www.presdo.com) ابزاری است که محدود به یک شرکت نیست. Presdo به شما امکان زمان بندی جلسات و رویداد ها با هرکسی که آدرس ایمیل داشته باشد فراهم کرده است. همانطور که در شکل 5-40 مشاهده میکنید، افزودن یک رویداد به سادگی وارد کردن توضیحات در یک کادر متنی است. سپس شما آدرس ایمیل دیگر شرکت کنندگان را وارد میکنید و Presdo ایمیل های حاوی دعوتنامه را ارسال میکند. وقتی شرکت کنندگان پاسخ دادند، بطور اتوماتیک به لیست مهمان های رویداد اضافه خواهند شد و برای راحتی همه شرکت کنندگان یک دکمه وجود دارد که بتوانند رویداد اخیر را در Microsoft Outlook ، Google Calendar ، Yahoo! Calendar یا تقویم Apple iCal خود وارد کنند.

Diarised (www.diarised.com) شبیه Presdo یک برنامه ایجاد کننده جلسات تحت وب است که کاربران از شرکتهای مختلف میتوانند از آن استفاده کنند. این برنامه به شما کمک می میکند که بهترین زمان برای یک جلسه را با ارسال ایمیل به دعوت شوندگان و اینکه آنها بتوانند بهترین زمان های خود را انتخاب کنند فراهم میکند، سپس خلاصه ای از بهترین زمان های آنها برای شما ارسال میشود و شما زمان نهایی را انتخاب خواهید کرد. سپس این برنامه از طریق ایمیل به همه اطلاع میدهد.
Windwos Live Events (home.services.spaces.live.com/events) یک نگارش سفارشی شده از Live Spaces است. این برنامه به کاربران Live Spaces امکان سازماندهی رویدادها و به اشتراک گذاشتن فعالیت ها بین شرکت کنندگان را میدهد.
برای زمان بندی یک رویداد، شما لیستی از مدعوین تهیه میکنید و سپس ایمیلی که حاوی لینکی به سایت Live Event شما است ارسال میشود. (همه جزئیات رویداد بصورت خبرخوان RSS نیز موجود است.) اطلاعات درباره رویداد در سایت قرار میگیرد و فضایی به آن اختصاص داده میشود که بعدا شرکت کنندگان بتوانند تصاویر، فیلم ها و یادداشت های درباره آن رویداد را در آن به اشتراک بگذارند.
علی رغم ویژگیهای کاربرپسندی که در Live Events وجود دارد، ولی این برنامه به اندازه کافی برای اکثر کاربران تجاری مناسب نیست و برای کارهای شخصی و غیررسمی مناسب است.
Schedulebook (www.schedulebook.com) چندین نوع مختلف از سرویسهای زمان بندی تحت وب ارائه میدهد. بسته به کاربرد، شما میتوانید از Schedulebook برای زمان بندی رویدادهای مربوط به کارمندان، مشتریان یا دیگر گروههای مورد علاقه استفاده کنید. این شرکت سه نوع پیشنهاد ارائه میدهد:
Schedulebook Professionals که یک برنامه برای زمان بندی/تقویم/برنامهریزی با رویکرد تجاری است.
Schedulebook Office که امکان زمان بندی استفاده از هر منبع به اشتراک گذاشته ای را فراهم میکند. (نظیر اتاق های جلسه)
Schedulebook Aviation که توسط صنعت هوایی برای زمان بندی پرواز هواپیما، آموزش پرواز و سرویسهای مشابه دیگر استفاده میشود.
اگر شما صاحب یک بنگاه تجاری هستید که نیاز به زمان بندی قرار ملاقات با مشتریان است، Acuity Scheduling(www.acuityscheduling.com) میتواند به شما در تسهیل این کار کمک کند. Acuity Scheduling به مشتریان شما اجازه میدهد که زمان ملاقات خود را بصورت 7/24 از طریق یک واسط وب انتخاب کنند و دیگر نیازی نیست که شما بصورت دستی قرار ملاقاتی را تنظیم کنید.

شما میتوانید کارهای زمان بندی را به صورت ساده یا به هر پیچیدگی که بخواهید ایجاد کنید. برای مثال بعضی از بنگاه ها ممکن است فرم اطلاعات مشتری جدید را بعنوان بخشی از فرآیند زمان بندی آنلاین در نظر بگیرند. لازم به ذکر است که این برنامه از تداخل زمان ها نیز جلوگیری میکنید و آن را برای زمان بندی کارها شما مناسب می سازد.
برنامه AppointmentQuest (www.appointmentquest.com)، مشابه برنامه Acuity Scheduling برای حل مشکلات زمان بندی افراد حرفه ای و پر مشغله طراحی شده است. این برنامه نه تنها امکان ثبت زمان از طرف مشتری و تایید از طرف شما را فراهم میکند، بلکه به شما امکان مدیریت کارمندان، زمان ها و دیگر آیتم های مرتبط با تقویم را نیز میدهد.
آخرین برنامه زمان بندی که معرفی میکنیم hitAppoint (www.hitppoint.com) است که امکان رزرو از طرف مشتری را نیز فراهم کرده است. مانند برنامههای قبل، این برنامه نیز برای بنگاه های تجاری که نیاز به تعیین قرار ملاقات از طرف مشتری دارند –سلمانی، پزشکان و دندان پزشکان، مشاوران، تعمیرکار اتوموبیل، تکنسین رایانه و ...- بسیار مناسب است.
ابزارهای برنامهریزی و مدیریت وظایف به شما امکان مدیریت هرچیزی را از وظایف ساده گرفته تا وظایف گروهی پیچیده شامل میشوند که همه این کارها از طریق اینترنت و با مشارکت دیگر کاربران امکانپذیر است.
اشتراکگذاری لیست وظایف برای خانواده ها، گروهها و کسب و کارها مهم است. لیست شما ممکن است به سادگی لیست خرید یا به پیچیدگی لیست فعالیت ها برای یک برنامه گروهی یا پروژه تجاری باشد. در هر صورت، برنامه iPrioritize (www.iprioritize.com) یک مدیر ساده خوب است. همانطور که در شکل 5-42 دیده میشود، کاربران مجاز میتوانند یک لیست وظایف ایجاد کنند و آیتم ها را به آن لیست اضافه کنند، سپس اولویت وظایف را با جابجا کردن آن به بالا و پایین لیست مشخص کنید. هر کاری که تمام شد کافیست آن را در لیست علامت بزنید.
در این برنامه وقتی شما یک لیست داشته باشید، میتوانید آن را چاپ کنید، برای شخص دیگری ایمیل کنید، برای آگاهی از تغییرات آن در خبرخوان RSS عضو شوید و حتی لیست را از طریق تلفن همراه خود مشاهده کنید.

Bla-Bla List (www.blablalist.com) یکی دیگر از برنامههای ساده مدیریت وظایف از طریق وب است. به کمک این برنامه شما میتوانید لیست های خود را بصورت RSS منتشر کنید بطوری که خانواده و همکاران بتوانند به اصلاحات سریع دسترسی داشته باشند.
Hiveminder (www.hiveminder.com) شبیه به همه لیست های قبلی است اما نکته جالبی که در باره آن وجود دارد این است که شما میتوانید آیتم های لیست را به هر شکل دلخواهی وارد کنید و برنامه به شما در ایجاد و اولویت بندی لیست بر اساس تخیلات شما کمک میکند.
شما وقتی به برنامه Remember the Milk (www.rememberthemilk.com) نیاز دارید که در یک فروشگاه خواروبار فروشی باشید. وقتی شما یک لیست را در این برنامه ایجاد میکنید، میتوانید یادآورهای آن را که میتواند بصورت ایمیل، پیغام رسان، یا پیغام متنی به تلفن همراه باشد، تنظیم کنید.
Ta-da List (www.tadalist.com) یکی دیگر از برنامههای مدیریت لیست وظایف است که به شما امکان ایجاد همه نوع لیستی را میدهد. شما میتوانید لیست ها را با دوستان، خانواده و همکاران به اشتراک بگذارید.
Tudu List (www.tudulist.com) کمی از دیگر برنامههای لیست وظایف متفاوت است. این برنامه دارای یک تقویم تحت وب نیز میباشد. آیتم های هم به لیست وظایف، و هم در تقویم برای روزی که باید انجام شوند قرار میگیرند.
برنامه TaskTHIS (taskthis.darthapo.com) شبیه به برنامههای قبلی است اما قابلیت افزودن یادداشت های اضافه را به هر یک وظایف دارد. شما میتوانید وظایف را بصورت RSS منتشر کنید یا با دیگران از طریق وب به اشتراک بگذارید.
شبیه دیگر لیست ها، VitaList (www.vitalist.com) نیز میتواند همه نوع وظایف و پروژه هایی را سازماندهی کند. این برنامه از جهتی منحصربفرد است زیرا از یک متدولوژی جریان کار بنام GTD یا Getting Things Done استفاده میکند.
Trackslifr (www.trackslife.com) یک برنامه مدیریت وظایف پایگاهدادهای است که در آن هر track یک پایگاهداده جداگانه است. این برنامه میتواند یادآورهای مربوط به رویدادهای حساس را از طریق ایمیل یا RSS ارسال کند.
Voo2Do (www.voo2do.com) از یک برنامه مدیریت وظایف ساده فراتر رفته است و تبدیل به یک برنامه مدیریت پیچیده شده است. این برنامه تحت وب به شما امکان ایجاد انواع مختلف پروژه، سازماندهی وظایف پروژه، پیگیری زمان صرف شده و باقی مانده در خصوص یک وظیفه خاص از پروژه، انتشار لیست وظایف و حتی افزودن وظایف از طریق ایمیل را فراهم میکند.
همانطور که در شکل 5-43 دیده میشود، Voo2Do امکان پیگیری وظایف کامل شده یا در حال انتظار را از طریق یک صفحه گزارش ساده فراهم میکند.
مدیریت وظایف در HiTask (www.hitask.com) میتواند پیچیدهتر از برنامههای قبل باشد. این برنامه دارای رویکرد تجاری است. وظایف میتوانند با برچسب های رنگی به تقویم اضافه شوند. برنامه مدیریت وظایف و زمان بندی، در زمان جابجا کردن و ویرایش بکار گرفته میشوند و شما میتوانید تخصیص وظایف و پروژه را به گروهی از افراد به راحتی از طریق وب انجام دهید.

Zoho Planner (planner.zoho.com) شاید پیچیدهترین برنامه مدیریت وظایف باشد که تا کنون ارزیابی شده است. ویژگیها و تواناییهای آن تا حدی پیش رفته است که به برنامههای مدیریت پروژه نزدیک شده است.

با Zoho Planner شما میتوانید یک صفحه جدید برای هر پروژه ای که روی آن کار میکنید ایجاد کنید (مانند شکل 5-44). سپس برای آن پروژه میتوانید لیست هایی با آیتم های وظایف مخصوص به خود ایجاد کنید. هر آیتم لیست میتواند شامل توضیحات بیشتر و یا تصویر نیز باشد. شما میتوانید هر صفحه پروژه را با کاربران به اشتراک بگذارید. علاوه بر این هر آیتم وظیفه در تقویم مرکزی نیز نمایش داده میشود.
Zoho Planner برای هرکسی که پروژه های کوچک تا متوسط را مدیریت میکند مناسب است. البته شاید کارهای آن برای موارد ساده بیش از حد نیاز باشد که در عوض در این موارد بهتر است از برنامههای iPrioritize یا Remember the Milk استفاده کنید. همچنین این برنامه برای پروژه های شرکتی بزرگ نیز به اندازه کافی قوی نیست. اما برای پروژه های در حد متوسط یک ابزار ایده عال است و به اندازه کافی تطبیق پذیر هست که بتواند انواع مختلف پروژه را مدیریت کند و برای کاربران غیرفنی نیز خیلی پیچیده نیست.
زمان بندی جلسات شرکت یک مسئله است، انجام یک رویداد بزرگ نظیر کنفرانس یا سمینار یا نمایش تجاری یک مسئله دیگر است. انجام چنین کارهایی مستلزم بیش از خالی کردن زمان و کسب اطمینان از خالی بودن اتاق کنفرانس برای یک زمان خاص است. یک رویداد بزرگ مانند یک پروژه بزرگ با کارهای بسیار است.
برای موفق شدن در چنین رویدادهایی شما باید آن را به شرکت کنندگان معرفی و تبلیغ کنید، از آنها ثبت نام کرده و هزینه پرداخت آن را دریافت کنید، مطئن شوید که مکان و اتاق های کنفرانس به خوبی زمان بندی شدهاند، برنامههای هتل را تنظیم کنید، کارهای پذیرش شرکت کنندگان را در زمان ورودشان انجام دهید، دیگر پرسنل را مدیریت کنید و مطمئن شوید همه چیز در طول برگزاری رویداد به موقع و سروقت انجام میشود.
چندین شرکت برنامههای مدیریت رویداد تحت وب ارائه داده اند. چیزی که در خصوص میزبانی این برنامهها در ابر جالب است این است که شما میتوانید در هر حالت، چه در اداره قبل از رویداد و چه پشت میزپذیرش در زمان برگزاری رویداد قرار داشته باشید، روی یک پایگاهداده یکسان و اصلی کار کنید و برای این کار میتوانید از یک رایانه همراه متصل به اینترنت نیز استفاده کنید. هرچیزی که نیاز داشته باشید و از آن استفاده کنید در ابر میزبانی شده است و شما میتوانید همه جا به آن دسترسی داشته باشید.
یک برنامه مدیریت رویداد دقیقاً چه کاری انجام میدهد؟ برنامههای با پیچیدگی کمتر روی یک یا چند کار نظیر تسهیل ثبت نام یا فروش بلیط تمرکز کردهاند. برنامههای با پیچیدگی بیشتر و کاملتر شامل مدیریت هرچیزی از پیش از رویداد گرفته تا تحلیلهای بعد از رویداد را شامل میشوند. ابتدا ببینیم چه چیزهایی نیاز داریم.
اکثر برنامههای مدیریت رویداد شامل ماژول های برنامهریزی وظایف هستند که مشابه برنامههای مدیریت وظایف یا برنامههای مدیریت پروژه میباشند. شما نه تنها می بایست بتوانید هر کار با بصورت یک لیست از وظایف پیگیری کنید، بلکه همچنین باید بتوانید جریان کارها را نیز مدیریت کنید. یعنی اینکه شما نیاز دارید بدانید چه کارهایی باید قبل از اینکه یک کار دیگر شروع شود، تمام شده باشند. شما باید بدانید که چه کسی، چه کاری را انجام میدهد. به عبارت دیگر شما نیاز به قابلیت مدیریت جریان کار و برنامهریزی دارید بطوریکه بتوانید افراد را بشکل موثرتری مدیریت کنید.
بسیاری از برنامههای مدیریت رویداد شامل ماژول هایی هستند تا به شما در تبلیغ رویدادتان کمک کنند. برای مثال بسیاری از برنامههای تحت وب روش های تبلیغ با ایمیل را ارائه میدهند. بعضی دیگر از برنامهها به شما امکان ایجاد وب سایت اختصاصی برای رویداد مورد نظر را میدهند که به معرفی رویدادتان کمک میکند.
بخش دیگری از تبلیغ رویداد در تقویم ترکیب شده است. تقویم آنلاین به شما کمک میکند که برنامههای مختلف در طول رویداد را به راحتی نمایش دهید. این قابلیت وقتی مفید است که کنفرانس یا نمایش تجاری شده شامل تعداد زیادی پانل، جلسه یا برنامه مختلف باشد. شما متیوانید به آسانی هر برنامه را به تقویم اصلی رویداد ارسال کنید تا توسط شرکت کنندگان از طریق یک مرورگر در دسترس باشد.
اگر در رویداد خود نیاز به استفاده از اتاق ها و سالنهای زیادی دارید، باید بتوانید که این اتاق ها را برای بخشهای مختلف رویداد زمان بندی کنید. وقتی یک شرکت کننده یا گروه تقاضای اتاق داشته باشد، باید بتوانید ببینید که کدام ها در چه زمانی در دسترس هستند. برای این منظور، اکثر برنامههای مدیریت رویداد یک ماژول زمان بندی نیز دارند و برای شما امکان زمان بندی اتاق ها و سالن ها را فراهم میکنند.
اکثر رویداد های بزرگتر نیاز به پیش ثبت نام شرکت کنندگان دارند. بدین منظور میتوان ماژول ثبت نام تحت وب را نیز در اکثر برنامههای مدیریت رویداد مشاهده کرد که توسط آن شرکت کنندگان میتوانند ثبت نام کرده و در صورت نیاز هزینه آن را نیز بپردازند. اطلاعات شرکت کننده نیز در داخل فرم وب وارد شده و سپس در سرورهای ابری ذخیره میشوند. شما نیز میتوانید در هر زمان از رایانه خود به آن اطلاعات دسترسی داشته باشید.
بعضی از ماژول های ثبت نام پیچیدهتر، قابلیتهای بیشتری نیز دارند. برای مثال شاید مخواهید اطلاعات خاصی را در مورد شرکت کننده دریافت کنید و سپس از آن اطلاعات برای برنامهریزی جهت بعضی برنامههای خاص رویداد استفاده کنید یا اینکه ماژول ثبت نام با ماژول رزرو هتل یکپارچه شده باشد تا افرادی که نیاز دارند بتوانند بطور خودکار هتل را نیز رزرو کنند.
جمع آوری اطلاعات پرداخت برای ثبت نام نیز یکی از بخشهای کلیدی است. لازم است که برنامه مدیریت رویداد، بتواند بخش فرآیند پرداخت را نیز بطور یکپارچه با فرآیند ثبت نام بطور یکپارچه ارائه کند. این فرآیند نیز ممکن است از روش های مختلفی برای پرداخت پشتیبانی کند، مثلا کارت اعتباری، PayPal یا دیگر روشهای پرداختی که مورد قبول شما باشد.
سرویسهای مسافرت نیز از جمله خدماتی میباشد که در برخی رویدادها مورد نیاز است. این کار میتواند بصورت خیلی ساده نظیر فراهم آوردن سرویس جابجایی زمینی (تاکسی، اتوبوس و ...) بین فرودگاه محلی و هتل محل برگزاری رویداد باشد، یا بصورت پیشرفته نظیر اتصال به سایت مسافرت آنلاین یا سیستم رزرو هوایپا برای رزرو بلیط باشد. به هر حال بسیاری از برنامههای مدیریت رویداد چنین قابلیتی را ندارند.
یکی دیگر از ماژول های مورد نیاز این است که بتوانید شرکت کنندگان را در اتاق های موجود در هتل محل برگزاری رویداد اسکان دهید. بسیاری از شرکت کنندگان ترجیح میدهند که میزبان رویداد، رزرو هتل آنها را نیز برعهده بگیرد بطوریکه در نهایت شما بتوانید تمام نیازهای شرکت کنندگان را برطرف کنید. بهترین برنامههای مدیریت رویداد لینک مستقیمی از بخش ثبت نام و پرداخت به سیستم رزرو هتل دارند و به شما امکان تایید نهایی اتاق ها را میدهند.
شرکت کنندگان معمولا از قبل ثبت نام میکنند، اما وقتی در محل حضور پیدا کردند، شما لازم است که آنها را پذیرش کنید، بسته خوش آمدگویی را برایشان فراهم کنید و ... همه این کارها میتوانند توسط ماژول ثبت نام در محل برنامه مدیریت رویداد، مدیریت شوند.
این سرویسی است که بسیاری از برنامههای مدیریت رویداد برای شرکت کنندگان فراهم میآورند. با استفاده از پایگاهداده اصلی، شما میتوانید سرویس مدیریت تماس را برای کمک به شرکت کنندگان برای در تماس بودن با همدیگر فراهم کنید. در نهایت، برنامه مدیریت رویداد شما باید امکان چاپ یا نمایش آنلاین یک فهرست اصلی از شرکت کنندگان را داشته باشد که بعنوان بخشی از بسته خوش آمدگویی ارائه شود.
همانطور که گفته شد برگزاری یک رویداد، کاری پیچیده است. بودجه کلی شما شامل صدها آیتم هزینهای است. بدین منظور برنامه مدیریت رویداد شما باید دارای ماژول مدیریت بودجه و حسابداری نیز باشد تا بتواند هزینهها و درآمد های شما را دنبال کند.
وقتی رویداد تمام شد، کار شما هنوز تمام نشده است. نه تنها شما باید دفاتر خود را تراز کند، بلکه باید بتوانید نگاهی به کل رویداد بیندازید و ببنید که چقدر موفق بوده است. این علتی است که برنامههای مدیریت رویداد دارای ابزارهای تحلیل و گزارشگیری نیز هستند. بعضی از برنامهها حتی به شما امکان ارسال و پردازش نظرسنجی شرکت کنندگان را میدهند که بازخورد با ارزشی از آنهایی خواهد بود که حضور داشتند.
الان شما علت استفاده از برنامههای مدیریت رویداد را میدانید. بنابراین بیایید به محبوب ترین این برنامههای تحت وب نگاهی بیندازیم.
شرکت 123 Signup (www.123signup.com) چهار برنامه کاربردی مختلف ارائه میدهد: Event Manager، Association Manager، Training Manager، Member Directory. از بین اینها، برنامه ای که مورد نظر ما است Event Manager است.75
123 Event Manager برنامه ای مقیاسپذیر است بگونهای که میتواند برای هم رویدادهای کوچک (مانند جلسات) و هم برای رویدادهای بزرگتر (مانند نمایش های تجاری، کنفرانس ها و...) بکارگرفته شود.
این برنامه ترکیبی از وظایف front-office و back-office را انجام میدهد. وظایف front-office شامل معرفی و تبلیغ رویداد میباشد که صفحات وب اطلاعاتی و فرم های ثبت نام را بطور خودکار تولید میکند و تبلیغ رویداد را از طریق ایمیل انجام میدهد. وظایف back office شامل ثبت رویداد، چاپ برچسب ، جمع آوری پرداخت و مدیریت پایگاهداده میباشد. برنامه رویداد میتواند گزارشهای بلادرنگ از وضعیت ثبت نام، شرکت کنندگان، هزینههای جمع آوری شده و فاکتورهای کلیدی دیگر ارائه دهد.
شکل 5-45 یک صفحه ثبت نام آغازی را نشان میدهد. شرکت کنندگان بالقوه اطلاعات مربوط به رویداد، یک لینک به نقشه و نیز لینکی جهت افزودن رویداد به تقویم Microsoft Outlook را مشاهده میکنند. برای شروع فرآیند ثبت نام، کافیست روی آیکن Register کلیک کنید، سپس از شما نام و اطلاعات تماس و نیز روش پرداخت سئوال خواهد شد.

Acteva (www.acteva.com) سایتی است که امکانات ثبت نام و پرداخت آنلاین فراهم میکند. با استفاده از Acteva میتوانید ثبت نام در رویداد، فروش بلیط و پرداخت از طریق انواع مختلف کارت های اعتباری را بطور مستقیم از طریق سایت خود انجام دهید. شما با ایجاد یک Active Page برای رویداد خود شروع میکنید که یک صفحه وب ساده با امکان پردازش داده و انجام پرداخت است. بعد از ایجاد و انتشار صفحه رویداد خود، شما میتوانید از سرویس EventMail برای مطلع شدن از شرکت کنندگان در رویداد خود استفاده کنید. هر کسی که از طریق Active Page شما ثبت نام کرده و هزینه را پرداخت کند، پردازش و تایید ثبت نام توسط Acteva انجام میشود و در نهایت یک ایمیل جهت اطلاع شما بازای هر شرکت کننده ارسال خواهد شد. شما میتوانید از ابزار مدیریت رویداد Acteva برای تولید لیست تماسهای آتی، لیست غذاها، برچسب های اسامی و موارد مشابه دیگر استفاده کنید.
سایت Conference.com (www.conference.com) یک از کامل ترین برنامههای مدیریت رویدادی است که تا کنون وجود داشته است. با استفاده از سرورهای ابری Conference.com، انواع رویدادهای کوچک و بزرگ قابل مدیریت خواهند بود. دادههای شما در سرورهای امن Conference.com میزبانی شده و از هرجایی که اتصال اینترنتی وجود داشته باشد قابل دسترسی هستند.
این شرکت ویژگیهای کاملی برای رویدادهای بزرگ و کوچک ارائه میدهد. شما میتوانید رویداد خود را با استفاده از یک wizard ایجاد کنید، صحت کارت اعتباری را بصورت بلادرنگ بررسی کنید، صفحات و فرمهای سفارشی داشته باشید و .... وقتی یک شرکت کننده در رویداد، ثبت نام خود را از طریق فرم وب سفارشی شده انجام میدهد، برنامه بطور خودکار پایگاهداده را در سرورهای conference.com به روز رسانی میکند بطوریکه اطلاعات شما همیشه به روز باقی بماند.
برنامه Event Manager Systems یک مجموعه از ماژول های به هم متصل است که در نمودار شکل 5-46 نمایش داده شده است. این ماژول ها به این ترتیب میباشند:
Appointment Manager، یک برنامه زمان بندی جلسات بصورت آنلاین میباشد. این ماژول به شرکت کنندگان اجازه میدهد که جلسات یک به یک را با دیگر شرکت کنندگان در رویداد به دلخواه خود تنظیم کنند. البته این کار را در بازه های زمانی ای قابل انجام است که شما از قبل تعیین میکنید.
Credit Card Manager، یک ماژول بررسی صحت کارت اعتباری بصورت بلادرنگ است که در فرآیند ثبت نام یکپارچه میشود.
Email Manager، یک ابزار ارسال گسترده ایمیل است که بطور اسامی را از اطلاعات ثبت نام استخراج میکند.

Export Manager، یک ابزار export/import است که به شما امکان کپی کردن داده از دیگر رویدادها را به پایگاهداده خود یا از آن به دیگر رویدادها میدهد.
Hotel Manager، یک ابزار مدیریت اتاق حرفه ای است که با ماژول مدیریت ثبت نام شرکت یکپارچه شده است. سیستم میتواند هر یک از اجزای اتاق را مدیریت کند. هر نوع اتاق میتوند با قیمت و توضیحات تعیین شود. وقتی اتاقی فروخته شد، Nightly inventory برای آن نوع از تاق بطور خودکار تنظیم میشود.
Lead Track Manager، از تکنولوژی بارکد برای بررسی حضور در جلسات استفاده میکند و امکان پیگیری خدمات به ارائه دهندگان را فراهم می آورد.
Profile Manager پایگاهدادههای اعضا، مشتریان، کارمندان و شرکت کنندگان را با فرآیند ثبت نام کنفرانس شما متصل میکند بطوریکه شرکت کنندگان بتوانند در صفحه ورود به سایت احراز هویت شوند.
Registration Manager یک ماژول مهم در سیستم Event Manager است که شامل موتور حسابداری، موتور گزارش گیری و کتابخانه گزارشهای گرافیکی و دیگر قابلیتهایی است که با دیگر ماژول های این مجموعه یکپارچه شده است.
Survey Manager به شما امکان ایجاد نظرسنجی های با ظاهر حرفه ای را میدهد. همچنین برای شما امکان ارسال ایمیل های دعوت نامه حاوی لینکی به فرم نظر سنجی را نیز فراهم کرده است.
Travel Manager، که به شما در مدیریت سرویسهای جابجایی زمینی بین فرودگاه ها و هتل محل برگزاری رویداد را فراهم می آورد.
روی هم رفته این مجموعه از ماژول ها یک برنامه مدیریت رویداد کامل را ایجاد کردهاند که میتواند نیاز هر نوع رویدادی را با هر اندازه ای مرتفع کند.
Cvent (www.cvent.com) یکی از رقبای Conference.com در سیستم مدیریت رویداد است. به طور مشابه Cvent نیز مجموعهای از ابزارهای مرتبط به هم است که شامل موارد زیر میشود:
Event Registration، شامل ثبت نام آنلاین، وب سایت، جمع آوری داده، و تولید برچسب اسامی و برچسب پستی است.
Email Marketing، مربوط به ارسال دعوت نامه اتوماتیک، یادآور شرکت در رویداد، دریافت تاییدیه و ارسال پیغام تشکر است.
Secure Online Payment Processing، امکانپذیرش همه نوع کارت اعتباری و نیز ارائه تخفیف برای آنهایی که زودتر ثبت نام میکنند فراهم میکند.
Housing and Travel Management، فرآیند یک مرحله ثبت نام، پرداخت، رزرو اتاق و بلیط هواپیما و دریافت همه ارتباطات پیگیری مرتبط میباشد.
Contact Management، یک فهرست از اطلاعات همه شرکت کنندگان در رویداد ایجاد میکند.
Budget Management، به شما در ایجاد، پیگیری و تحلیل بودجه رویداد کمک میکند.
Custom Event Websites، به شما در ایجاد یک سایت سفارشی برای رویدادتان کمک میکند.
Event Workflow Management، به شما در مدیریت کل فرآیند برنامهریزی رویداد از شروع تا پایان کمک میکند.
Event Calendar، یک تقویم تحت وب که همه رویدادها جهت ثبت نام را نمایش میدهد.
On-Site Functionality، به شما امکان بررسی شرکت کنندگان در زمان ورود آنها، کیوسک های ثبت نام، پرینت لیست شرکت کنندگان در یک جلسه، ایجاد برچسب اسامی بارکد دار و پرداخت با استفاده از کارت اعتباری را میدهد.
Event Reporting، به شما امکان دسترسی به اطلاعات رویداد بصورت بلادرنگ از طریق یک کتابخانه از گزارشات استاندارد و سفارشی را میدهد.
قابلیت Cvent ممکن است حتی از Conference.com هم بیشتر باشد، اگر قرار است یک رویداد بزرگ و پیچیده را مدیریت کنید، باید این دو را به طور دقیق تری مقایسه کنید.
Event Wax (www.eventwax.com) یک برنامه مدیریت رویداد مانند نمونه های دیگری که بررسی شد نیست. درحقیقت این برنامه واقعاً برای مدیریت رویدادهای بزرگی چون نمایش های تجاری و کنفرانس ها طراحی نشده است، بلکه در عوض Event Was برای رویدادهای با مقیاس کوچک داخلی نظیر جلسات شرکت، مهمانی ها و ... میباشد.

Event Wax بسیاری از کارهای مشابه با برنامههای قبل را انجام میدهد. شما میتوانید چندین رویداد را زمان بندی کنید، ایمیل دعوت نامه ارسال کنید، صفحات وب ایجاد کنید، امکان ثبت نام را برای شرکت کنندگان فراهم کنید و کارهای مشابه دیگر. شما میتوانید انواع مختلف بلیط با قیمت های مختلف را هم برای رویداد خود بفروشید (شکل 5-47).
دیگر برنامه مدیریت رویداد eventsbot (www.eventsbot.com) است که امکان ثبت نام و فروش بلیط آنلاین را فراهم کرده است. شما میتوانید از eventsbot برای برنامهریزی و مدیریت رویداد خود استفاده کنید، بلیط را بر اساس واحد پولی دلخواه خود بفروشید، پرداخت های کارت اعتباری را دریافت کنید و حتی رویداد خود را در موتورهای جستجوی بزرگ و فهرستها ثبت و معرفی کنید.

ایجاد یک رویداد در eventsbot به آسانی پر کردن چند فرم وب است. با این کار یک وبسایت مبتنی بر برای رویداد شما ایجاد میشود (شکل 5-48). سپس شما میتوانید بخش فروش بلیط را فعال کنید. از این به بعد Eventsbot مدیریت بلیط ها و شرکت کنندگان رویداد شما را بر عهده خواهد گرفت.
شبیه eventsbot، برنامه RegOnline (www.regonline.com) نیز امکان ثبت نام پرداخت و پرداخت آنلاین را فراهم کرده است. با استفاده از RegOnline یک وبسایت برای رویداد خود ایجاد میکنید، سپس میتوانید فرم های ثبت نام را ایجاد کنید، پرداخت ها را مدیریت کنید، یادآوردهای ایمیل و تاییده بصورت خودکار ارسال کنید، و همه نوع گزارش دلخواهی تهیه کنید. این برنامه کار رزرو اتاق های هتل را نیز میتواند انجام دهد.
در شکل 5-49 نشان داده شده است که شروع کار با RegOnline چقدر ساده است. این صفحه ساز شما را در مراحل ایجاد رویداد با استفاده از یک سری فرم راهنمایی میکند. اطلاعات مربوطه را تکمیل کنید تا یک صفحه وب با قابلیتهای مورد نظر برای رویداد شما ایجاد شود.

Setdot (www.setdot.com) به شما امکان استفاده از الگوهای مختلف را برای ایجاد سایت رویدادتان فراهم کرده است. حتی میتوانید از نقشه و راهنما نیز استفاده کنید. البته این سایت عمدتاً برای رویدادهای کوچک قابل استفاده است.
Tendenci (www.tendenci.com) ابزار جدید دیگری برای مدیریت رویداد است که یک برنامه تقویم تحت وب را با فرآیند ثبت نام و پرداخت ترکیب کرده است. شما میتوایند یک تقویم برای رویداد ایجاد کنید (شکل ....) که میتواند در سایت شما قرار داده شود. وقتی شخصی روی لینک رویداد کلیک کرد، به صفحه مخصوص همان رویداد منتقل خواهد شد و در آن اطلاعات بیشتر را مشاهده کرده و میتواند بصورت آنلاین ثبت نام کند. کارهای دیگر نظیر مدیریت شرکت کنندگان و چاپ برچسب های اسامی و ... نیز از طریق آن امکانپذیر است.

اکثر افراد، اطلاعات مربوط به دوستان، خانواده، تماسهای کاری و ... را در نوعی دفترچه تلفنهای رایانهای نگهداری میکنند. شاید در Address Book ویندوز باشد، و شاید در Microsoft Outlook، اما در هر حالت، تمام اطلاعات تماسهای ما در یک فایل در رایانه مان قرار دارد. مشکل این است که وقتی ما به شماره خاص نیاز داشته باشیم، به رایانه خود دسترسی نداشته باشیم. مثلا سرکار باشیم و به تلفن یکی از اعضای خانواده نیاز داشته باشیم یا شاید در خانه باشیم و آدرس یا تلفن یکی از همکاران خود را بخواهیم. یک ایده خوب برای رفع این مشکل قرار دادن اطلاعات تماس در ابر میباشد تا بتوانیم به همه اطلاعات از هرجایی دسترسی داشته باشیم. این حالت وقتی اهمیت خود را نشان میدهد که کار شما به اطلاعات تماس خیلی وابسته باشد. در این حالت میتوانید نوعی مدیریت ارتباط با مشتری (CRM) را تصور کنید که یک نمونه برنامه مناسب برای قرار گرفتن در رایانش ابری است. این بخش برنامههای مدیریت تماس و CRM های تحت وب را مورد بررسی قرار میدهد.
هرچیزی که در این بخش صحبت میشود بر اساس مفهوم مدیریت تماس میباشد. چه ما یک برنامه ساده دفترچه تلفن داشته باشیم و چه یک برنامه پیچیده اتوماسیون فروش، همه آن ها در خصوص چگونگی استفاده از اطلاعات کاربران برای کاربردهای مختلف است که به طور کلی مدیریت تماس نامیده میشود.
مدیریت تماس عمل ذخیرهسازی اطلاعات در مورد دوستان، خانواده و همکاران است برای اینکه بتوان بعداً به راحتی به این اطلاعات دسترسی داشت. این اطلاعات میتواند شامل نام، آدرس پستی، آدرس ایمیل، شماره تلفنها و مواردی از این قبیل باشد. نمونه های بهتر مدیریت تماس میتواند به شما در ذخیرهسازی جزئیات بیشتری از دوستانتان کمک کند. این جزئیات میتواند شامل اطلاعات شخصی بیشتر (نظیر تاریخ تولد، نام همسر، نام فرزندان، رستوان مورد علاقه و ...) ، اطلاعات تجاری (سازمان، مسئولیت، و...) و موارد دیگر باشد. این سیستمهای مدیریت تماس معمولاً میتوانند اطلاعات شخصی و کاری را با اجزای دیگری نظیر تقویم و مدیریت وظایف ترکیب کنند.
بسیاری از شرکتها نیاز به استفاده عملی تری از اطلاعات تماس دارند. برای آنها لازم است که اطلاعات تماس بتواند در فرآیند های مختلف و خودکار بکاربرده شود تا روابط موثرتری را با مشتریان داشته باشند. این فرآیندها میتوانند نیازها، خواسته ها و الگوهای خرید مشتریان را مدیریت کند که به آن مدیریت ارتباط با مشتری (CRM) گفته میشود. CRM به شرکتها کمک میکند که نیازهای فعلی و آینده مشتریان را درک کنند و پیش بینی کنند. این یک ابزار قوی برای ایجاد ارتباطات قوی با مشتری است.
نرمافزار CRM نه تنها اطلاعات تماس مشتری را ذخیره میکند، بلکه همه اطلاعات مربوط به یک مشتری خاص را میتواند جمع آوری و تحلیل کند و سپس از آنها برای تعیین اینکه چگونه با مشتری بهتر ارتباط برقرار کنیم استفاده میکند. برای مثال شما میتوانید از برنامه CRM برای کشف مشتریانی که بیشتر از همه از شرکت خرید کردهاند استفاده نموده و سپس بطور منظم برای تماس تلفنی با آنها یا ارسال ایمیل به آنها شما را مطلع کند. یا اینکه میتوانید از CRM برای پیدا کردن مشتریانی که با بخش پشتیانی فنی شما بیشتر در تماس بودهاند استفاده کنید و سپس نیاز به تماسهای پشتیبانی آتی را با فراهم آوردن اطلاعات فنی و یا برگزاری سمینارهای فنی برای آنها مرتفع کنید.
وقتی CRM توسط بخش فروش استفاده میشود، شما زیرمجموعهای از CRM را که اتوماسیون بخش فروش نامیده میشود (SFA) خواهید داشت. برنامههای SFA همه کارهای مرتبط با مشتری را که از یک برنامه CRM انتظار میرود انجام میدهد اما با رویکرد خاص فروش. برای مثال شما میتوانید از برنامه SFA برای پیگیری زمانی که باید تماس فروش را پیگیری کنید یا برای فراهم آوردن اطلاعات بیشتر در خصوص مشتریهای کلیدی استفاده کنید.
برنامههای CRM و SFA مدتهاست که وجود داشته اند. اما اخیراً به داخل ابر منتقل شدهاند. همانطور که میتوانید تصور کنید، تبدیل CRM و SFA به شکل مبتنی بر وب، باعث میشود که اطلاعات کلیدی تماس و فرآیند های اتوماتیک همیشه و همه جا برای ما و مشتریان در دسترس باشد.
تفاوت بین برنامههای مدیریت تماس، CRM و SFA آن قدر مشخص نیست که بتوان آن ها را به راحتی از هم جدا کرد. بدین منظور ما همه این سه نوع برنامه را با هم بررسی میکنیم و در ابتدا با Salesforce.com که یکی از پیشگام ها در عرضه این محصولات میباشد شروع میکنیم.
مشهورترین برنامه مدیریت تماس / CRM موجود در حال حاضر salesforce.com میباشد. این شرکت چندین نوع مختلف از سرویسهای ابری را ارائه می هد:
Salesforce.com، یک برنامه CRM از نوع SaaS است که برای فروش، بازاریابی،خدمات مشتری و استفاده های دیگر طراحی شده است.
Force.com، یک سکو برای توسعهدهندگانی است که می خواهند برنامههای سفارشی خود را تولید کنند.
AppExchange.com، یک فروشگاه آنلاین از نرمافزارهای افزودنی برای Salesforce.com است که توسط شرکتهای مستقل توسعه داده شده است.
همه این سرویسهای ابری توسط یک گروه پشتیبانی مشتمل بر انجمن ها، بلاگ ها، برنامههای آموزشی و موارد مشابه دیگر پشتیبانی میشوند. برنامه اصلی شرکت salesforce.com نامیده شده است و در عین حال شرکت مجموعهای از برنامههای تجاری بر حسب تقاضا را نیز میزبانی میکند که شامل موارد زیر میباشد:
Sales Force Automation، که شامل فعالیت مدیریت، مدیریت منطقه، پیش بینی، دسترسی سیار، الگوهای ایمیل، تحلیل بلادرنگ و ... است که به شرکتها در بهبود فروش و کسب درآمد بیشتر کمک میکند.
Service & Support، یک سرویس مشتری است برای مرکز تماس سازمانها
Partners، یک برنامه مدیریت ارتباط با شرکای تجاری است که امکان مشارکت و همکاری را با شرکای خود فراهم می آورد.
Marketing، شامل ابزارهایی برای اجرا، مدیریت و تحلیل برنامههای تجاری چندکاناله است.
Content، شرکتها را قادر می سازد که اسناد و دیگر محتواها را در سازمان به اشتراک بگذارند.
Ideas، به شرکت کمک میکند که یک جامعه آنلاین با مشتریان، شرکا و کارمندان ایجاد کند.
Analytics، امکان گزارشگیری و محاسبات بلادرنگ را برای کمک به فرآیند تصمیم گیری و اختصاص منبع فراهم می آورد.

علاوه بر این Salesforce.com مشتریان را قادر می سازد که برنامه هیا سفارشی خود را ایجاد کنند. شرکت نیز محدوده ای از برنامههای از پیش ساخته شده را کهبتواند در معماری اصلی برنامهها بکارگرفته شود فراهم آورده است.
Salesforce برنامههای مناسب دیگری را نیز پیشنهاد میکند که مرور سریع همه آنها مشکل است، اما بعنوان یک مثال از انواع برنامههای فراهم شده، بیایید نگاهی سریع به بخش Activity Management از ماژول Sales Force Automation بیندازیم. برنامههای خاص پیشنهاد شده در این بخش شامل پیگیری و همکاری (برای پیگیری وظایف، زمان بندی جلسات و ایجاد الگوهای اتوماتیک برای کارهای تکراری)، زمان بندی فعالیت (شامل انتشار تقویم برای منابع به اشتراک گذاشته و تعیین یادآور برای قرارهای ملاقات)، گزارشهای فعالیت فروش، کارهای مدیریت تیمی (تخصیص و مدیریت یک تیم برای مسئولیت های بزرگ که وظایف هر عضو تیم را مشخص میکند) میباشد. همه این وظایف به فروشندگان و مدیران فروش در مدیریت روابط پیچیده مربوط به مشتری کمک میکنند.
اکثر کارهای Salesforce میتواند با استفاده از گزارشهای dashboard سفارشی شده مدیریت شود. هر dashboard شامل یک نمایش تصویری از متریک های کلیدی فروش میباشد. شما میتوانید داشبوردهای سفارشی برای اندازه گیری آن فعالیت ها که اهمیت بیشتری برای شرکت یا بخش شما دارند ایجاد کنید. برای مثال، داشبورد نشان داده شده در شکل 5-51 یک سری از متریک های کلیدی را نشان میدهد.
اگرچه Salesforce.com بسیار معروف است، اما برنامههای تحت وب دیگری نیز برای CRM موجود هستند. bConnections (www.bconnections.com) یک برنامه مدیریت تماس است که دارای وظایف مهم CRM برای شرکتهای کوچک و متوسط میباشد.

برنامه bConnections با لیستی از شرکتهایی که شما با آنها کار میکنید و لیست تماسهای مربوط به آن شرکتها شروع میشود. در شکل 5-52 یک نمونه از صفحه ورود اطلاعات تماس را مشاهده کنید. برنامه شامل یک تقویم تحت وب است که مدیریت فروش میتواند از آن برای مدیریت فعالیت ها استفاده کنند. به کمک میتوان فرصت های فروش و موارد مختلف را پیگیری کرد و به پیش بینی بهتر فروش نیز کمک میکند. همه فعالیت ها در داشبود Executive Summary برنامه بطور خلاصه گزارش میشوند.
BigContacts (www.bigcontacts.com) یک برنامه مدیریت تماس تحت وب است که برای گروههای کاری کوچک از دو نفر گرفته تا گروهها بزرگ در حدود 2000 نفر قابل استفاده است. ویژگیهای آن شامل دفترچه آدرس، تقویم گروهی، مدیریت وظایف و لیست های وظایف to-do میباشد. قابلیت CRM آن شامل پیگیری فروش، گزارش فعالیت ها، مدیریت تیم و دسترسی سیار میباشد. سیستم قیمت گذاری آن به ازار هر کاربر میباشد.
برای مدیریت تماس سادهتر، میتوانید برنامه eStudio Contact Manager (www.same-page.com/contact-management.html) را مشاهده نمایید. این برنامه یک دفترچه آدرس آنلاین است که بطور خاص برای تماسهای تجاری طراحی شده است. دفترچه آدرس میتواند توسط کاربران مختلف مورد دسترسی قرار گیرد و برای مدیریت تماس بلادرنگ توسط تیم فروش، پروژه های گروهی و شرکتهای کوچک مناسب است.
همانطور که در شکل 5-53 مشاهده میکنید، تماسها میتوانند در پوشه های سلسله مراتبی سازماندهی شوند. تماسهای خاص میتوانند با مرور در پوشه ها، با مرور الفبایی، یا با جستجو پیدا شوند. شما میتوانید هر پارامتری را نظیر نام، سازمان، عنوان، تلفن و ... را مورد جستجو قرار دهید.

سایت Highrise (www.highrisehq) یک برنامه مدیریت تماس بسیار پیچیده است. هر رکورد تماس میتواند شامل اطلاعات پایه (نام، آدرس، ایمیل و ...)، یادداشت، فایلهای ضمیمه، تصاویر، لینک به فایلهای صوتی و تصویری، ایمیل ها و ... باشد. شما میتوانید حتی وظایفی را که باید در ارتباط با هر شخص (تماس، ایمیل، ارسال یادداشت تشکر و ...) انجام شود را نیز اضافه کنید. این وظایف در صفحه تماس هر شخص و نیز لیست وظایف اصلی شما نشان داده میشود.
اطلاعات تماس (شامل یادداشت ها و ایمیل های هر شخص) میتوانند توسط شرکت روی صفحات خاصی شبیه آنچه در شکل 5-54 نمایش داده شده است مجتمع شوند. اطلاعات کلیدی در صفحه داشبورد شخصی شما خلاصه شدهاند و نمایی از آخرین وظایفی که باید انجام دهید را ارائه میدهد.

ما در خصوص تقویم MobileMe قبلا در بخش مشارکت در تقویم، زمان بندی و مدیریت وظایف صحبت کردیم. برنامه MobileMe Contacts یک برنامه مدیریت تماس مبتنی بر وب جدید از Apple است که توسط سیستم عامل های ویندوز یا مکینتاش یا هر کسی که iPhone داشته باشد میتواند مورد استفاده قرار گیرد (شکل 5-55).

برنامه MobileMe Contacts (www.me.com) در خصوص برنامههای مدیریت تماس یک قدم به جلو محسوب میشود. این برنامه یک دفترچه آدرس است که در ابر Apple قرار گرفته استو با هر وسیله ای که از آن استفاده کنید همزمان میشود. همچنین میتواند با برنامههای Apple's Address Book ، Microsoft Outlook، Outlook Express و Windows Contacts همزمان گردد. همچنین نکته جالب قابلیت یکپارچه شدن آن با Google Maps است که برای پیدا کردن مکانها و مسیرها استفاده میشود.
برنامه MyEvents (www.myevents.com) ترکیبی از مدیر تماس، تقویم تحت وب، مدیر وظایف و سازنده گروههای مباحثه آنلاین میباشد. تقویم برای هم رویدادهای شخصی و هم گروهی از طریق تقویم های عمومی مناسب است. علاوه بر این که شما فضایی برای ذخیرهسازی و به اشتراکگذاری فایل فراهم میکند، میتوانید آلبومهای تصاویر دیجیتال، صفحات وب، گروههای مباحثه و اتاق های گفتگو نیز داشته باشید.
Plaxo (www.plaxo.com) یک دفترچه آدرس آنلاین است. وقتی اطلاعات یک تماس خاص توسط یک کاربر به روز رسانی شد، آن اطلاعات به روز شده بطور خودکار در کتاب آدرس تمام کاربران دیگر که آن شخص را در لیست خود اضافه کردهاند، به روز رسانی میشود. در شکل 5-56 نمونه ای از صفحه تماس یک شخص را در Plaxo مشاهده میکنید. اخیراً، Plaxo به سرویسهای خود امکانات شبکه های اجتماعی و تقویم تحت وب را نیز اضافه کرده است.

People Matrix (www.wolfereiter.com/peoplematrix.aspx) یک برنامه ساده مدیریت تماس تحت وب است که بیشتر بعنوان منابع انسانی مورد استفاده قرار میگیرد و دادههای تقاضای کار را در بر میگیرد. به این ترتیب به کاربران امکان میدهد که در خصوص شغل های پست شده بصورت انبوه ایمیل ارسال کنند. شما میتوانید از این برنامه برای پس کردن اطلاعیه های شعلی به شرکتهای موجود در سایت استفاده کنید، درخواست های شغلی را بصورت آنلاین بپذیرید و تاریخچه ارتباطات خود با هر یک تماسها پیگیری کنید.
PipelineDeals (www.pipelinedeals.com) یک برنامه CRM تحت وب ساده است. این برنامه به شما امکان پیگیری تماسها، معاملات وضعیت های مهم و دیگر دادههای کلیدی را فراهم میکند. همانطور که نام آن نشان میدهد، تمرکز برنامه بیشتر بر روی معامله است. شما میتوانید همه دادهها و فایلها (ورد، اکسل و ...) را در خصوص هر یک از معامله های جاری در حال انتظار به یک صفحه خاص ضمیمه کنید. یکی از ویژگیهای مهم گزارش گیری در آن Deal Home Page است که یک داشبود شامل تصویری سریع از وضعیت معامله و فعالیت های پیش رو است. رویدادها و فعالیت ها همچنین در تقویم برنامه نیز نمایش داده میشود.
SalesBoom (www.salesboom.com) یک CRM تحت وب است که در نسخه های مختلف و برای شرکتهای با اندازه های مختلف ارائه میشود:
Enterprise Edition برای سازمانهای بزرگ، شامل مدیریت موجودی، مدیریت محصول، حسابداری و مدیریت منابع انسانی
Professional Edition برای شرکتهای متوسط شامل اتوماسیون بازاریابی، اتوماسیون فروش، خدمات مشتری و پشتیبانی
Team Edition برای شرکتهای کوچک، شامل اتوماسیون فروش، مدیریت تماس، خدمات مشتری و پشتیبانی
همه راهحلهای اتوماسیون فروش SalesBoom شامل مدیریت مشتری، مدیریت تماس، مدیریت حساب، مدیریت فرصت ها و قابلیتهای پیش بینی میشوند. در نگارش Enterprise مدیریت پیشنهاد (quote)، مدیریت قرار داد، مدیریت کمیسیون ها و یک پایگاهداده محصول نیز وجود دارد.
SalesJunction.com یک برناه CRM و SFA تحت وب است که بر اساس مدل قیمت گذاری بازای هر کاربر کار میکند. ویژگیهای منحصر بفرد آن شامل مدیریت موردهای خدمت، ایمیل انبوه برای فرصت های فروش و خطوط فروش (sales pipelines) میباشد. در شکل 5-57 یک گزارش Sales Funnel را مشاهده میکنید که یک نمونه شکستن فعالیت را در یک خط فروش نشان میدهد.
نگارش حرفه ای شرکت شامل ویژگیهای مدیریت منطقه است که به شرکتها امکان ایجاد، تخصیص و کار با مشتریان در یک منطقه خاص را میدهد. هر کاربر میتواند به مناطق مختلف اختصاص داده شود و مدیران نیز میتوانند برای مدیریت مناطق مختلف منسوب شوند.

برنامه مدیریت تماس تحت وب بعدی SalesNexus (www.salesnexus.com) است که برای مدیریت هرچه که مورد نیاز یک فروشنده، مدیر فروش و بازاریاب است طراحی شده است.
ویژگیهای SalesNexus شامل توانایی ایجاد و ذخیرهسازی طرح های پیشنهادی، تخمین ها، پیشنهادهای قیمت، برگه های فروش، خط فروش سفارشی شده و گزارشهای فعالیت، مدیریت اتوماتیک فرصت های تبلیغات ایمیلی و ... میباشد.
پایگاهداده تماسهای SalesNexus میتواند واسطی برای سیستم ایمیل شرکت شما باشد بطوریکه همه ایمیل ورودی و خروجی بین یک فرد (تماس) و هرکسی در سازمان شما بطور اتوماتیک به رکورد آن فرد پیوست میشود. همچنین این برنامه میتواند از تلفن همراه و دستگاه های دیجیتال دستی نیز پشتیبانی میکند و با میتواند با بخش تماسها، تقویم و وظایف Microsoft Outlook همزمان شود.
آخرین برنامه مدیریت تماس و CRM برنامه Zoho CRM است که در سه نگارش مختلف موجود است. نگارش رایگان که تا سه کاربر را پشتیبانی میکند، نگارش حرفه ای و نگارش سازمانی. این برنامه شامل ماژول های زیر میباشد:
Sales and Marketing که فروش ها، فرصتها، مشتریان، خط فروش و پیش بینی ها را بطور یکپارچه دربرگرفته است.
Inventory Management که یک سیستم مدیریت موجودی یکپارچه است.

Customer Support and Service که موردها و راهحلهایی را برای یکپارچهسازی فرآیند پشتیبانی مشتری با دادههای فروش بکار گرفته است.
Reports and Dashboards که به شما در تحلیل فروش، روند های بازاریابی و متریک های کلیدی کمک میکند.
این برنامه شامل یک افزودنی برای برنامه Outlook است که امکان همزمان کردن آن را با تماسها، وظایف، تقویم و ایمیل ها در Zoho CRM فراهم میکند.
بخش Sales and Marketing یک برنامه CRM/SFA کامل است که شامل مدیریت مشتری، مدیریت فرصت، مدیریت حساب، مدیریت تماس، مدیریت فعالیت، مدیریت فروش و ... میباشد. مثلاً در شکل 5-58 برگه Potentials نشان داده شده است که فرصت های فروش را پیگیری میکند.
مدیریت یک پروژه بزرگ میتوانید کاری با جزئیات فراوان باشد. حتی کوچک ترین پروژه ها دارای بخشهای بسیار زیادی هستند که باید با ترتیب صحیح و بر طبق جدول زمانی، به موقع و با هزینه تعیین شده انجام شوند. اگر یکی از بخشها از قلم بیفتد، ممکن است کل پروژه با مشکل مواجه شود.
فرآیند مدیریت پروژه وقتی که شرکت کنندگان در آن از مکانهای مختلف باشند، از این هم پیچیدهتر است. چگونه وظایفی که باید توسط یک نفر انجام شود را وقتی که آن شخص در جای دیگری است، پیگیری میکنید؟ یا چه بخشهایی باید توسط تامین کنندگان بیرون انجام شود؟
رایانش ابری میتوانند به شما در کاهش مشکلات ناشی از این نوع پیچیدگی های مدیریت پروژه کمک کند. وقتی شما یک برنامه مدیریت پروژه تحت وب را بکار میگیرید، میتوانید به راحتی همه بخشهای پروژه را مدیریت کنید. مهم این نیست که سایر اعضا کجا هستند، زیرا پروژه شما در یک پایگاهداده متمرکز و واحد در ابر میزبانی میشود که توسط همه قابل دسترس است.
مدیریت پروژه به معنای برنامهریزی، سازمان دهی و مدیریت منابع برای انجام یک پروژه مشخص است. خود پروژه میتواند هر چیزی باشد، از تولید بروشور یک محصول جدید گرفته تا راه اندازی خط تولید یک محصول جدید. چیزی که همه پروژه ها بطور مشترک دارند، این است که آنها یک نقطه شروع و یک نقطه پایان مشترک دارند و شما تا آن نقطه پایانی باید پروژه را مدیریت کنید.
مسئله این است که بتوان پروژه را در تاریخ مقرر و با بودجه تعیین شده به اتمام برسانید. کلید این کار در مدیریت قوی هر یک از وظایف موجود در پروژه است. اگر همه کارها سروقت و یا بودجه مشخص تمام شود، کل پروژه نیز همانطور که برنامهریزی شده است تمام میشود. اگر یک یا چند وظیفه از قلم بیفتد و شما نتوانید آن را به موقع جبران کنید، در پروژه تاخیر خواهد افتاد.
برای مدیریت هر وظیفه در پروژه، باید بتوان مجموعهای از منابع مشتمل بر افراد، پول، مواد، فضا و ... را مدیریت کرد. مدیریت منابع برای اطمینان از موفقیت نهایی پروژه مهم است.
کلید مدیریت موثر پروژه استفاده از همه ابزارها و تکنیک هایی است که تیم پروژه را قادر بسازد تا کار خود را سازماندهی کنند و بر محدودیتهای پروژه فایق آیند76. یکی از این ابزارها، برنامههای مدیریت پروژه تحت وب است.
نرمافزار مدیریت پروژه به مدیران پروژه و اعضای تیم در سازماندهی و پیگیری انواع وظایف موجود در پروژه کمک میکند. برای این کار، یک نرمافزار معمولا شامل زمان بندی، مدیریت بودجه و تخصیص منابع میباشد. برنامههای مدیریت پروژه تحت همه این کارها را بصورت آنلاین انجام میدهند و امکان دسترسی متمرکز به فایل پروژه را برای همه اعضای تیم فراهم میکند.
بخش زمان بندی برنامه مدیریت پروژه به مدیر در زمان بندی مجموعه رویدادهای موجود در کل پروژه کمک میکند. این کار باید شامل لیست وابستگی ها (کارهایی که باید قبل از شروع یک کار دیگر، تمام شده باشند) نیز باشد. برنامه مدیریت پروژه باید بتواند مسیر بحرانی پروژه را محاسبه کند. این مسیر شامل آن رویدادهایی است که طول کل پروژه را تعیین میکنند.
بعد از برنامهریزی پروژه، نوبت به اجرا می رسد. برنامه مدیریت پروژه این کار را با ایجاد لیست وظایف برای اعضای تیم، زمان بندی منابع پروژه، مرور اطلاعات برای مدیر تیم و صدور هشدارهای لازم در حین پیشرفت پروژه، انجام میدهد. اکثر برنامههای تحت وب مدیریت پروژه بطور مشابهی کار میکنند. در ادامه مهمترین آنها را بررسی میکنیم.
برنامه مدیریت پروژه @task (www.attask.com) بسیاری از ویژگیهای مدیریت پروژه سنتی را در بر دارد. این برنامه شامل یک نمودار گانت77 تعاملی (شکل 5-59)، تحلیل مسیر بحرانی، نمایش milestone های پروژه، زمان بندی منابع، مدیریت مسائل و تقویم نمایش وظایف میباشد. وظایف میتوانند از راه دور از طریق wideget نرمافزاری ویژه Apple's iPhone قابل دسترسی و مدیریت هستند.

AceProject (www.aceproject.com) یک برنامه مدیریت تحت وب با استفاده آسان است. این برنامه امکان مدیریت همزمان چندین پروژه با منابع مشترک را فراهم میکند. وظایف میتواند از طریق فیلترهای مختلف پیگیری شوند. این برنامه توانایی ارائه انواع مختلف پزارش ها و آمار ها را دارد. همچنین دارای قابلیت ارسال ایمیل جهت اطلاع رسانی از موعد انجام وظایف و تقویم ماهیانه میباشد که زمان شروع و پایان هر کار به ترتیب با رنگ های سبز و قرمز در آن نشان داده شده است (شکل 5-60).

Basecamp (www.basecamphq.com) یکی از معروف ترین برنامههای مدیریت پروژه میباشد. ماهیت تحت وب آن سبب شده است برای پروژه های مختلف مناسب باشد. مدیریت پروژه توسط آن با استفاده از داشبود های ویژه (شکل 5-61) فراهم میشود. این داشبوردها همه پروژه ها و مشتری ها را در یک صفحه واحد نمایش میدهد.

علاوه بر این، دارای امکانات استاندارد مدیریت پروژه نظیر پیگیری زمان ها و مقاطع مهم، لیست وظایف، امکان به اشتراکگذاری فایل، صفحه پیغام ها، اسناد wiki، و دیگر ویژگیهای همکاری گروهی میباشد. همه صفحات وب ایجاد شده توسط این برنامه به طور کامل قابل سفارشی شدن هستند.
یکی از موضوعات Basecamp که آن را جذاب کرده است، قیمت آن است. این شرکت سه برنامه مختلف در این خصوص دارد (Basic، Plus، و Max) که از قیمت ثابت 24دلار در ماه تا 149دلار در ماه قیمت گذاری شدهاند. این روش قیمت گذاری متفاوت با برنامههای مشابه که مبتنی بر هر کاربر هستند، میباشد. قیمت های ثابت Basecamp باعث شده است که برای سازمانهای با هر اندازه ای مناسب باشد. فقط باید تعداد پروژه های همزمان و فضای مورد نیاز را در انتخاب نوع محصول در نظر گرفت.
Copper Project (www.copperproject.com) برنامه ای است که میتواند هم در سرورهای شرکت و هم در سرورهای خود شما میزبانی شود. هر دو نگارش دارای قابلیت مشارکت تحت وب هستند.
Copper شامل ویژگیهای مناسبی نظیر drag-and-drop زمانها بصورت هفتگی یا ماهیانه، مدیریت منابع، ایمیل های هشدار دهنده، گزارشهای آماری، و ابزار مدیریت زمان شخصی منحصر به فرد میباشد. نماش Springboard برنامه به شما امکان مشاهده چندین پروژه را در یک صفحه میدهد. شما میتوانید بر اساس نوع مشتری یا پروژه وارد جزئیات بشوید.
برنامه TaskTracker (www.same-page.com/online-project-management-07.html) یک برنامه مدیریت پروژه آنلاین با استفاده بسیار آسان است. این برنامه شامل امکاناتی نظیر لیست وظایف (شکل 5-62) گزارش کار، مدیریت مسائل، وابستگی های وظایف خودکار، قابلیتهای زیرپروژه، پیگیری هزینه و بودجه، نمودار گانت و انواع گزارشهای مدیریتی میباشد.

یکی دیگر از برنامههای آنلاین مدیریت پروژه OnProject (www.onproject.com) است. سرویس myonProject این شرکت بصورت عضویت قابل استفاده است. فضای کاری برنامه امکان دسترسی به همه کارهای کلیدی را در یک صفحه فراهم میکند. دیگر ویژگیهای مفید شامل نمودار گانت، پیگیری زمان و هزینه، پیگیری مسائل، تقویم وظایف تحت وب، مدیریت تماس و گزارش گیری پروژه است. مدل قیمت گذاری آن مبتنی بر هر کاربر است.
برنامه Project Drive (www.project-drive.net) علاوه بر قابلیت مدیریت پروژه، شامل ویژگیهای ارتباطات و همکاری میباشد. کاربران به یک داشبود خلاصه قابل سفاشی سازی، الگوهایی برای اجرای سریع پروژه، نمودار گانت، مدیریت وظایف، اختصاص منابع، مدیریت و به اشتراکگذاری اسناد، ابزارهای ارتباطات خودکار، تقویم گروهی، تحلیل هزینه و بودجه، و انواع گزارشات مدیریتی دسترسی دارند.
برنامه Vertabase (www.vertabase.com) یک برنامه مدیریت پروژه تحت وب است. این برنامه یک داشبورد خلاصه اجرایی، چندین نمای زمانبندی، نمونه کارهای پروژه، نمودار گانت بین پروژه ای، برنامهریزی منابع، کمترل هزینه، پیگیری مسائل و زمان بندی جزئیات پروژه فراهم می آورد.
Wrike (www.wrike.com) یک برنامه مدیریت پروژه است که روشی متفاوت و جدید برای ایجاد وظایف پروژه ارائه کرده است. این برنامه مبتنی بر ایمیل است. ایمیل های ارسال شده از اعضای پروژه بطور خودکار به وظایف پروژه مرتبط اضافه میشود. Wrike بطور خودکار به کارمندان در خصوص وظایف معوقه اطلاع میدهد، کارهای هر شخص را زمان بندی میکند و نمودار گانت هر پروژه را ایجاد میکند.
آخرین برنامه مدیریت پروژه که بررسی میکنیم Zoho Projects (projects.zoho.com) است. این برنامه نیز شامل ابزارهای استاندارد مدیریت پروژه میباشد. لیست وظایف آن در شکل 5-63 نمایش داده شده است. همچنین دارای قابلیت به اشتراکگذاری فایلها نیز میباشد.
Zoho چندین نگارش از این برنامه را ارائه داده است. نگارش یک پروژه ای آن رایگان است و نگارش Enterprise آن به شما امکان مدیریت تعداد نامحدودی پروژه را میدهد و تا 80 دلار در ماه می رسد.

معمولا هرکسی که از رایانه استفاده میکند، با برنامههای واژه پردازی نظیر ورد نیز کار کرده است. شما از برنامههای واژه پردازی برای نوشتن گزارش، نامه، یادداشت، فاکس، خبرنامه و ... استفاده میکنید. به این تریب واژه پرداز یک بخش جدایی ناپذیر از زندگی محاسباتی ماست.
اما چه میکنید اگر برنامه واژه پرداز شما همراهتان نباشد؟ یا اینکه سیستمی که با آن می خواهید کار کنید برنامه واژه پرداز نداشته باشد؟ یا اینکه در مسافرت باشید و رایانه همراهتان را با خود نبرده باشید و لازم باشد که خیلی فوری مثلاً یک نامه اداری بنویسید؟ یا اینکه دانش آموز باشید و بخواهید تکالیف خود را دانشکده انجام دهید در حالی که رایانه خود را در خوابگاه گذاشته باشید؟
خلاصه اینکه راهحل اینکار در استفاده از برنامههای واژه پردازی مبتنی بر ابر نهفته است. تعداد زیادی برنامه واژه پرداز مبتنی بر ابر وجود دارد. همه این برنامه به شما امکان نوشتن نامه و گزارش را بدون اینکه نیاز باشد برنامه ای را نصب کنید فراهم میکنند. هر سندی که ایجاد میکنید در ابر میزبانی میشود.
برنامه ورد، نرمافزاری است که در رایانه شما و بر روی دیسک سخت نصب میشود. در مقابل،برنامههای تحت وب در ابر میزبانی میشود نه در دیسک سخت رایانه شما. به همین ترتیب اسنادی که با این برنامهها ایجاد میکنید نیز به همین ترتیب هستند. این برنامههای تحت وب از ویژگیهای Microsoft Word تقلید کردهاند.
مهمترین مزیت استفاده از سرویسهای ابری، این است که شما میتواند به اسناد خود از هر جایی و در هر زمان توسط هر رایانهای دسترسی داشته باشید. دیگر انیکه میتوانید اسناد خود را به سادگی با دیگران به اشتراک بگذارید. این کار امکان مشارکت گروهی بلادرنگ را از هر جای دنیا فراهم میکند. این مزایایی است که با استفاده از برنامههای رومیزی مانند Microsoft Word امکانپذیر نمیباشد.
دیگر مزایای تحت وب بودن این است که شما –از نظر تئوری- کارهای خود را هیچ وقت از دست نمی دهید. بعد از اینکه نام فایلی را که روی آن کار میکنید مشخص کردید، واژه پرداز تحت وب فایل شما را در توده ابری خودش ذخیره میکند. از آن به بعد هر تغییری که روی سندتان انجام می دهید، بطور خودکار روی سرورهای ابری ذخیره میشود. اگر مرورگرتان را ببندید یا به یک سایت دیگر بروید، یا حتی رایانه خود را خاموش کنید، چیزی را از دست نمی دهید.
بهتر از همه اینکه، برخلا مجموعه Microsoft Office که قیمت آن مدام افزایش پیدا مکند، اکثر این برنامههای تحت وب رایگان هستند. این برنامه تقریباً تمام کارهای اصلی ورد را انجام میدهند و به این ترتیب برای محیطهای تجاری کوچک بسیار مناسب هستند.
قبل از اینکه از این برنامههای تحت وب استفاده کنید، باید بدانید که آیا آنها مناسب کار شما هستند یا نه. در ادامه دلایلی که کاربران ممکن است از چنین برنامههایی استفاده کنند، آورده شده است.
کاربران تازه کار. اگر شما تازه می خواهید از واژه پردازها استفاده کنید جایی بهتری از برنامههای تحت وب برای شروع وجود ندارد. قابلیتهای تقریباً محدود این برنامههای ابری، برای یادگیری کاربران تازه کار مناسب است. زیرا با قابلیت ها و گزینههای پیشرفته سردرگم نخواهید شد. بعلاوه اینکه استفاده از اکثر این واژه پردازهای تحت وب بینهایت ساده است.
استفاده های موقتی. یک واژه پرداز تحت وب برای کسانی که بطور موقت از چنین برنامههایی برای نوشتن مثلاً یک نامه استفاده میکنند مناسب است.
هر کسی که میخواهید به اسناد خودش از چندین جا دسترسی داشته باشد. اگر شما روی دادههای یکسانی در خانه و شرکت (یا در مسافرت) کار میکنید، خواهید دانست که جابجا کردن داده از یک رایانه به یک رایانه دیگر و همزمان نگه داشتن آنها چقدر خسته کننده است. یک واژه پرداز تحت وب این مشکل را حل میکند. هرجا که باشید (خانه، اداره، در جاده) همیشه به نسخه یکسانی از سند خود که در ابر ذخیره شده است، دسترسی خواهید داشت. در این حالت مشکل همزمان کردن نیز نخواهید داشت و هر جا بروید روی یک فایل یکسان کار میکنید.
هر کسی که می خواهد فایلی را با دیگران به اشتراک بگذارد. بعضی اوقات نیاز دارید که دیگران نیز کار شما را مشاهده کنند. مثلا روی فایل هزینه خانواده کار میکنید و شما و همسرتان لازم است با هم آن را ببینید. شاید فایل زمان بندی یک تیم ورزشی را دارید و دیگران نیز لازم است که آن را ببینند. چیزی که در این حالت نیاز دارید، یک واژه پرداز تحت وب است که به شما امکان به اشتراکگذاری سند را با هرکسی که بخواهید در اینترنت فراهم کند.
هرکسی که بخواهد اسنادش را در یک محیط مشارکتی ویرایش کند. به اشتراکگذاری یک چیز است، ویرایش مشارکتی یک چیز دیگر است. اگر لازم باشد که چندین کاربر با هم به دادههای یک سند دسترسی داشته باشند و با هم ویرایش کنند، یک واژه پرداز تحت وب میتواند به شما اجازه بدهد که چنین کارهایی انجام دهید در حالی که با Microsoft Word امکانپذیر نیست.
علی رغم همه این موارد، واژه پرداز تحت وب برای همه مناسب نیست. بیایید ببینیم که چه کسانی نباید از این برنامهها استفاده کنند.
کاربران پیشرفته. اگر شما سندها و الگوهای سفارشی خود را در برنامه Microsoft Word ایجاد کردهاید، خصوصاً اینکه از ماکروها و مواردی نظیر آن استفاده کرده باشید، یک واژه پرداز تحت وب برای شما مناسب نیست. اکثر برنامههای تحت وب از ویژگیهای پیشرفته Word پشتیبانی نمیکند.
هر کسی که می خواهد کارهای چاپی پیچیده انجام دهد. اکثر واژه پردازهای تحت وب امروزی از برخی از ویژگیهای فرمت بندی پیچیده پشتیبانی نمیکنند. بنابراین اگر بخواهید کارهای چاپی پیشرفته انجام دهید، احتمالاً از استفاده از برنامههای تحت وب ناامید خواهید شد.
هرکسی که روی یک سند حساس کار میکند. اگر شرکت شما اسناد محرمانه ای دارد که میخواهد محرمانه باقی بمانند، برنامههای تحت وب (و سند های ذخیره شده در وب) ابزارهای خوبی نیستند. بعضی سازمانها نیز ممکن است کارمندان خود را از کار کردن روی اسنادی که روی سرورهای امن خودشان قرار ندارد، منع کنند.
هر کسی که لازم است با اسناد خود وقتی که به اینترنت متصل نیست کار کند. کاملا واضح است که اگر شما به اینترنت متصل نباشید، نمیتوانید با برنامه تحت وب خود کار کنید. در حالت آفلاین نیاز دارید که از برنامههای دسکتاپ معمولی نظیر Microsoft Word استفاده کنید.
امروزه برنامههای تحت وب بسیار خوبی وجود دارد که پیشتاز آنها Google Docs است و ما بررسی خود را با این برنامه شروع میکنیم.
Google Docs (docs.google.com) مشهور ترین برنامه واژه پرداز در حال حاضر است. Docs در حقیقت مجموعهای از برنامهها است که شامل برنامههای Google Spreadsheets و Google Presentation نیز میباشد. خود برنامه Docs در این مجموعه، برنامه واژة پرداز است. شبیه همه برنامههای Google، واسط Google Docs نیز تمیز و ساده است. قالب بندی های ساده به اندازه کافی ساده هستند و فضای ذخیرهسازی برای اسناد شما نیز زیاد است و کنترل نگارش سند جهت همکاری و به اشتراکگذاری نیز فوری انجام میشود.
وقتی شما وارد Google Docs می شوید، یک صفحه نظیر شکل 5-64 مشاهده میکنید. این صفحه خانگی همه برنامههای Google Docs میباشد (شامل فایلهای واژه پردازی، صفحه گسترده و ارائه). همه اسنادی که قبلا ایجاد کردهاید در این صفحه لیست میشود.

قسمت سمت چپ به شما در سازماندهی فایلهایتان کمک میکند. شما میتوانید فایلها را در پوشه ها ذخیره کنید، سندها را بر اساس نوع مشاهده کنید، و سند های به اشتراک گذاشته شده با افراد خاص را نمایش دهید.
اسناد موجود در پوشه یا فیلتر انتخاب شده در قسمت اصلی پنجره نمایش داده میشوند. همانطور که مشاهد میکنید، هر نوع سند، با آیکن متناظر با آن نمایش داده شده است. برای باز کردن هر سند کافیست روی عنوان آن کلیک کنید. به این ترتیب سند در یک پنجره جدید باز میشود. برای حذف یک آیتم، آن را انتخاب کید و سپس روی دکمه Delete کلیک کنید.
برای ایجاد یک سند متنی جدید، روی دکمه New کلیک کنید و Document را انتخاب کنید. سند جدید در یک پنجره جدید باز میشود (شکل 5-65) . سند شما شبیه یک فضای سفید بزرگ در پنجره مرورگر است و یک نوار منو و نوار ابزار در بالای آن وجود دارد.

همانند همه واژه پردازهای تحت وب، وقتی شما یک سند جدید را با Google Docs ایجاد میکنید، در حقیقت یک فایل HTML را باز کردهاید (دقیقاً مانند یک صفحه وب). همه انواع فرمت بندی HTML در سند شما از طریق واسط Google Docs موجود است. خود سند نیز با فرمت HTML ذخیره میشود. ولی در هر صورت شما میتوانید آن را به فرمت های مختلف نظیر Doc یا PDF دانلود کنید.
یکی از مفیدترین ویژگیهای Google Docs توانایی به اشتراک گذری یک سند با دیگر کاربران است. چه برای مشاهده و چه برای ویرایش مشارکتی. برای به اشتراکگذاری یک سند کافیست روی دکمه Share کلیک کنید و سپس Share with others را انتخاب کنید. این صفحه در شکل 5-66 نشان داده شده است.78

در کار Invite People آدرس ایمیل افرادی که میخواهید سند را با آنها به اشتراک بگذارید وارد کنید (آدرس ها را با علامت کاما از هم جدا کنید). اگر می خواهید که دیگران فقط بتوانند سند را مشاهده کنند و امکان ویرایش آن را نداشته باشند، گزینه As Viewers را انتخاب کنید. اگر میخواهید آنها نیز بتوانند سند را ویرایش کنند، گزینه As Collaborators را انتخاب کنید. سپس روی دکمه Invite کلیک کنید تا دعوت نامه ها ارسال شود. به این ترتیب کاربران مورد نظر دعوت نامه ای را از طریق ایمیل دریافت خواهند کرد. این دعوت نامه ها شامل یک لینک به سند اشتراکی میباشد. با کلیک بر روی آن لینک، سند در یک پنجره جدید باز خواهد شد. افرادی که بعنوان Viewer دعوت شدهاند میتوانند فایل را مشاهده کنند و در صورت تمایل آن را در Google Docs خود ذخیره کرده یا دانلود کنند. افرادی که بعنوان Collaborator دعوت شدهاند، میتوانند همزمان روی فایل کار ویرایشی انجام بدهند. دقیقاً مثل این است که شما کنار همدیگر نشسته اید و همه با یک صفحه کلید یکسان بطور همزمان کار میکنید!
نهایتاً اینکه ویژگی نسبتاً جدیدی در Google Docs وجود دارد که برخی کاربران ممکن است برایشان مفید باشد. این ویژگی توانایی کار بصورت آفلاین بدون اتصال به اینترنت است. برای استفاده از Google Docs بصورت آفلاین باید روی لینک Offline در بالای صفحه کلیک کنید تا برنامه Google Gears در رایانه شما نصب شود. این برنامه ابزاری است که برنامههای آنلاین گوگل را به برنامههای رومیزی معمولی تبدیل میکند و امکان همزمان سازی بین نگارشهای آنلاین و آفلاین را بطور خودکار فراهم میکند. 79
Buzzword (buzzword.acrobat.com) برنامه ای است که توسط شرکت Adobe وارد بازار واژه پردازها شده است. برخلاف Google Docs، برنامه Buzzword تحت فلش کار میکند که ممکن است برای کاربرانی که دارای اتصال اینترنتی کندی باشند مشکل ایجاد کند. ولی با این حال پیادهسازی فلش سبب شده است که Buzzword یک واسط بسیار جالب با ویژگیهای پیشرفته ویرایشی و قالب بندی داشته باشد.
همانطور که در شکل 5-67 نشان داده شده است، واسط Buzzword یک سروگردن از Google Docs در مطلوبیت واسط آن بالاتر است. علاوه بر این، Buzzword به شما امکان قالب بندی کامل پاراگراف و متن، سربرگ ها و پابرگ ها، شماره گذاری صفحه، پاورقی و کلیدهای میانبر را فراهم کرده است که در حال حاضر هیچ کدام از آنها در Google Docs وجود ندارد. شما همچنین یک word count و غلط یاب دارید که در حین کار با متن فعال هستند. توانایی درج توضیح و ایجاد تاریخچه ویرایش های انجام شده در یک فایل دیگر ویژگیهایی هستند که برای حرفه ای ها مناسب است.

Buzzword در زمان کار با تصاویر نیز بسیار جالب است. شما میتوانید تصاویر JPG، GIF و PNG را در سند Buzzword وارد کنید و سپس اندازه و محل آن تصاویر را مشخص کنید. Buzzword متن را دور تصویر قرار داده شده به خوبی قرار میدهد (حتی بهتر از ورد).
موقعی که با دیگر کاربران بصورت مشارکتی کار میکنید، کنترل بسیار دقیقی روی هر کاری که دیگران میتوانند انجام دهند داشته باشید. اینکه بتوانند فقط بخوانند، فقط بررسی کنند یا در نوشتن مشارکت داشته باشند. ساختار درج توضیحات برای مشارکت کنندگان نیز خیلی جالب است. تنها کاری که باید انجام دهید این است که بخش مورد نظر از متن را انتخاب کنید و سپس یک یادداشت دیجیتالی را در حاشیه درج کنید.
برخلاف اکثر برنامههای واژه پردازی تحت وب، ajaxWrite (www.ajaxwrite.com) با IE کار نمیکند. در عوض شما باید از Firefox استفاده کنید. ظاهر ساده ajaxWrite و فضای کاری تمیز آن سبب شده است بسیاری از کاربران آن را دوست داشته باشند. همانطور که در شکل 5-68 مشاهده میکنید، ajaxWrite بسیار شبیه برنامه Microsoft Word است. سند های جدید کاملا به همان صورت که در ورد وجود داشت، در پنجره خودشان باز میشوند.

چیز دیگری که در اینجا وجود ندارد، قابلیت کار گروهی است. برخلاف برنامههای دیگری که پیش از این صحبت کردیم، در ajaxWrite امکان کار مشارکتی یا به اشتراکگذاری را ندارد و کاملا تک کاربره است.
Docly (www.docly.com) یک برنامه جالب است که خصوصاً برای حرفه ای ها طراحی شده است. چیزی که Docly را از دیگر برنامههای تحت وب جدا کرده است، تمرکز آن بر روی مدیریت حق کپی است. این کار به این معناسب که نه تنها فقط شما حق به اشتراک گذاشتن و انتشار اسناد خود را دارید، بلکه حتی میتوانید آنها را بفروشید.
همانطور که در شکل 5-69 مشاهده میکنید، Docly یک رویکرد حداقل به ویرایش و فرمت بندی دارد. پنجره ویرایشی خودش نسبتاً کوچک است. ظاهر آن خیلی زیبا نیست، اما برای کارهای پایه مناسب است.

Glide Write (www.glidedigital.com) بخشی از مجموعه برنامههای تحت وب Glide Business است. Glide Write خودش یک برنامه واژه پرداز زیباست که با دیگر برنامههای مجموعه نظیر email ئ chat بصورت یکپارچه کار میکند. علاوه بر این، Glide documents میتواند روی تعدادی از تلفنهای همراه نظیر iPhone نیز کار کند.
همانطور که در شکل 5-70 مشاهده میکنید، یک سند Glide Write در پنجره جدید باز میشود. شما نوار ابزار معمولی و قابلیتهای فرمت بندی و ویرایش را در بالا دارید. در کنار سه برگه برای ایمیل، به اشتراکگذاری و گفتگو وجود دارد. با کلیک بر روی برگه به اشتراکگذاری، یک پنجره ظاهر میشود که در آن میتوانید مشخص کنید سند را با چه کسانی می خواهید به اشتراک بگذارید. آنها سپس ایمیل دریافت میکنند که شامل لینکی به سند تحت وب است.

برنامه iNetWord (www.inetword.com) واژه پردازی با امکانات کامل است. همانطور که در شکل 5-71 مشاهده میکنید، ویژگیهای iNetWord شامل یک واسط است که هر سند با برگه مخصوص به خودش مشخص میشود. شما میتوانید از پس زمینه صفحه، حاشیه، شماره گذاری صفحات، جداول، تصاویر و ... استفاده کنید. حتی دارای تعدادی الگوی از پیش آماده شده برای اسناد میباشد.
برای کار گروهی، iNetWord به شما امکان به اشتراکگذاری یک سند یا کل یک پوشه را میدهد. تغییرات ایجاد شده توسط دیگر کاربران در صفحه نشان داده میشود و امکان بازگرداندن به نگارشهای قبلی نیز وجود دارد.

همانطور که در شکل 5-72 نشان داده شده است، برنامه KBdocs (www.kbdocs.com) یک برنامه واژه پرداز بسیار ساده است. در اینجا تنها تعداد کمی گزینه فرمت بندی وجود دارد و حتی ویژگیهای به اشتراکگذاری و همکاری در آن وجود ندارد. به نظر می رسد که آن سادهترین برنامه واژه پرداز تحت وب باشد، خصوصاً برای تازه کارها. فقط کافیست یک نام کاربری و کلمه عبور داشته باشید.

برنامه Peepel WebWriter (www.peepel.com) بخشی از مجموعه برنامههای تحت وب شبیه office است. در شکل 5-73 واسط آن نشان داده شده است که تا حدودی غیرمعمول است. هر سند پنجره خودش را دارد. در صفحه پنجره اصلی نوار ابزار و برگه هایی برای ویرایش و فرمت بندی سند وجود دارد. ویژگیهای جالبی در Peeple وجود دارد که برای مثال میتوان به امکان ویرایش سند بصورت آفلاین اشاره کرد.

امکان مشارکت گروهی نیز وجود دارد. پس از اینکه سند خود را ذخیره کردید، روی برگه Sharing کلیک کنید تا همه گزینههای به اشترک گذاری را مشاهده کنید و حق دسترسی خواندن و نوشتن را به کاربران مختلف بدهید.
برنامه ThinkFree Write (www.thinkfree.com) یک واژه پرداز آنلاین مبتنی بر جاوا است. این برنامه ظاهر Word 2003 را تقلید کرده است (شکل 5-74). هر سند جدیدی در پنجره خودش باز میشود. نوار ابزارهای قالب بندی و ویرایشی نیز کاملاً شبیه ورد است و امکان تعیین سبک، نشانه های ویرایشی، فیلدها، تصحیح خودکار و ... را دارد.

برنامه WriteBoard (www.writeboard.com) یک برنامه مناسب برای کار مشارکتی است. این برنامه اکثر ویژگیهای یک واژه پرداز را ندارد اما مشارکت بین افراد را بطور قابل توجهی ساده کرده است. همانطور که در شکل 5-75 مشاهده میکنید، واسط WriteBoard واقعاً ساده است. کدهای قالب بندی باید در کادر متنی وارد شوند (شبیه برنامه WordStar در 25 سال پیش). اما ایجاد سندهای زیبا هدف WriteBoard نیست. در حقیقت این برنامه یک ویرایشگر متنی گروهی با سبک Wiki است. بعد از اینکه شما یک سند را ایجاد کرده و با دیگران به اشتراک گذاشتید، میتوانید به سادگی نگارشهای مختلف سند را مقایسه کنید. هر زمان شما یا شخص دیگری تغییراتی را اعمال و ذخیره کرد، یک نگارش جدید از سند ایجاد میشود و به نوار کناری لینک میشود. شما حتی میتوانید عضو خبرخوان RSS سندتان شوید و بطور خودکار از تغییرات مطلع شوید.

برنامه Zoho Writer (writer.zoho.com) در حال مسابقه با Google Docs میباشد. همانطور که در شکل 5-76 نمایش داده شده است، چندین سند در یک پنجره نمایش داده شده است و ظاهر آن مبتنی بر برگه میباشد. شما همه ویژگیهای قالب بندی و فرمت بندی استاندارد نظیر شماره گذاری صفحات، سربرگ و پابرگ، پاورقی، فهرست و دیگر ویژگیهای پیشرفته ای را که ممکن است در دیگر برنامههای واژه پرداز تحت وب پیدا نشود.

طبیعتاً برنامه Zoho Writer ویژگیهای همکاری و به اشتراکگذاری را نیز ارائه کرده است. شما میتوانید یک سند را با هر کس یا گروهی بصورت فقط خواندنی یا نوشتنی به اشتراک گذاشت. به اشتراکگذاری به سادگی کلیک کردن بر روی برگه Share است. این موضوع در شکل 5-77 نشان داده شده است. تنها کافیست آدرس ایمیل دیگران یا نام گروه آن ها را وارد کنید و سطح دسترسی را تعیین کنید، سپس روی دکمه Share کلیک کنید.

در بخش قبل، ما برنامههای واژه پرداز تحت وب را بررسی کردیم. بسیاری از آنها بخشی از مجموعه بزرگتر office بودند. اگر واژه پرداز بیشترین استفاده را در بین برنامههای office داشته باشد، صفحه گسترده دومین برنامه مهم است. از برنامههای صفحه گسترده برای تهیه برنامههای بودجه و مالی، ایجاد گزارشهای هزینه، انجام تحلیلهای "what if" و دیگر کارهایی که با اعداد سروکار دارند، استفاده میشود. وقتی این برنامهها را در ابر قرار بدهیم، قادر خواهیم بود که اعداد را با دیگر کاربران در اینترنت به اشتراک بگذاریم. همه مزایای واژه پردازهای تحت وب برای برنامههای صفحه گسترده نیز عنوان میشود که از جمله آنها میتوان به قابلیت کار گروهی و مشارکتی، دسترسی از هرجا و هر زمان، قابلیت حمل و ... اشاره کرد.
اگر همیشه با اعداد کار میکنید، با برنامه Excel آشنا خواهید بود. Excel نرمافزاری است که به شما امکان کار با عداد را میدهد. شما اعداد را بصورت مرتب در ردیف ها و ستون ها، وارد هر یک از سلولها میکنید و سپس از فرمول ها و توابع برای انجام محاسبات بر روی آن اعداد استفاده میکنید.
برنامههای صفحه گسترده تحت وب میتوانند اکثر ویژگیهای پرکاربرد برنامه Microsoft Excel نظیر استفاده از انواع توابع، نمودار و ... را انجام دهند. بنابراین اگر شما نحوه استفاده از Excel را بدانید، در استفاده از نمونه های تحت وب آن مشکلی نخواهید داشت.
یک برنامه صفحه گسترده تحت وب میتواند مزایای زیر را در بر داشته باشد:
صفحات شما میتواند از هر رایانهای که دارای اتصال اینترنتی باشد مورد دسترسی قرار بگیرد.
اگر برای رایانه شما یا هارد دیسک رایانه تان مشکلی پیش بیاید، فایلهای شما هنوز هم در دسترس خواهند بود.
شما میتوانید به آسانی صفحات گسترده خود را با دیگران به اشتراک بگذارید و به این ترتیب امکان کار گروهی با کاربران از مکانهای مختلف امکانپذیر خواهد بود.
علاوه براین، اکثر صفحات گسترده تحت وب امروز رایگان است. این موضوع برای شرکتهایی که صرفهجویی در هزینهها برای آنها بسیار مهم است، میتواند بسیار مفید باشد.
یک برنامه صفحه گسترده تحت وب برای همه مفید نیست. خصوصاً آنهایی که نیازمندی های پیچیده ای دارند. بنابراین باید ببینیم که چه موقع استفاده از چنین برنامههایی مفید است.
کاربران تازه کار. اگر شما تازه می خواهید از صفحات گسترده استفاده کنید جایی بهتری از برنامههای تحت وب برای شروع وجود ندارد. قابلیتهای تقریباً محدود این برنامههای ابری، نسبت به برنامه Excel برای یادگیری کاربران تازه کار مناسب است. زیرا با قابلیت ها و گزینههای پیشرفته سردرگم نخواهید شد. بعلاوه اینکه استفاده از اکثر این صفحه گسترده های تحت وب بینهایت ساده است.
استفاده های موقتی. یک صفحه گسترده تحت وب برای کسانی که بطور موقت از چنین برنامههایی برای محاسبه مثلاً جمع یک سری اعداد یا ایجاد یک یا چند لیست بودجه ساده استفاده میکنند مناسب است.
هر کسی که میخواهید به اسناد خودش از چندین جا دسترسی داشته باشد. اگر شما روی دادههای یکسانی در خانه و شرکت (یا در مسافرت) کار میکنید، خواهید دانست که جابجا کردن داده از یک رایانه به یک رایانه دیگر و همزمان نگه داشتن آنها چقدر خسته کننده است. یک صفحه گسترده تحت وب این مشکل را حل میکند. هرجا که باشید (خانه، اداره، در جاده) همیشه به نسخه یکسانی از صفحات خود که در ابر ذخیره شده است، دسترسی خواهید داشت. در این حالت مشکل همزمان کردن نیز نخواهید داشت و هر جا بروید روی یک فایل یکسان کار میکنید.
هر کسی که می خواهد فایلی را با دیگران به اشتراک بگذارد. بعضی اوقات نیاز دارید که دیگران نیز کار شما را مشاهده کنند. چیزی که در این حالت نیاز دارید، یک صفحه گسترده تحت وب است که به شما امکان به اشتراکگذاری صفحه را با هرکسی که بخواهید در اینترنت فراهم کند.
هرکسی که بخواهد اسنادش را در یک محیط مشارکتی ویرایش کند. وقتی که روی یک پروژه گروهی کار میکنید، معمولاً لازم است که چندین کاربر با هم به دادههای صفحه گسترده دسترسی داشته باشند و با هم ویرایش کنند، یک صفحه گسترده تحت وب میتواند به شما اجازه بدهد که چنین کارهایی انجام دهید.
علی رغم همه این موارد، صفحه گسترده تحت وب برای همه مناسب نیست. بیایید ببینیم که چه کسانی نباید از این برنامهها استفاده کنند.
کاربران پیشرفته. اگر شما صفحات سفارشی خود را در برنامه Microsoft Excel ایجاد کردهاید، خصوصاً اینکه از ماکروها و مواردی نظیر آن استفاده کرده باشید، یک صفحه گسترده تحت وب برای شما مناسب نیست. اکثر برنامههای تحت وب از ویژگیهای پیشرفته Excel پشتیبانی نمیکند.
هر کسی که می خواهد کارهای چاپی پیچیده انجام دهد. اکثر صفحه گسترده های تحت وب امروزی از برخی از ویژگیهای فرمت بندی پیچیده پشتیبانی نمیکنند. بنابراین اگر بخواهید کارهای چاپی پیشرفته انجام دهید، احتمالاً از استفاده از برنامههای تحت وب ناامید خواهید شد.
هرکسی که روی یک سند حساس کار میکند. اگر شرکت شما اسناد، و اعداد و ارقام و محاسباتی محرمانه ای دارد که میخواهد محرمانه باقی بمانند، برنامههای تحت وب (و صفحه های ذخیره شده در وب) ابزارهای خوبی نیستند. بعضی سازمانها نیز ممکن است کارمندان خود را از کار کردن روی صفحاتی که روی سرورهای امن خودشان قرار ندارد، منع کنند.
هر کسی که لازم است با اسناد خود وقتی که به اینترنت متصل نیست کار کند. کاملا واضح است که اگر شما به اینترنت متصل نباشید، نمیتوانید با برنامه تحت وب خود کار کنید. در حالت آفلاین نیاز دارید که از برنامههای دسکتاپ معمولی نظیر Microsoft Excel استفاده کنید.
چندین برنامه صفحه گسترده تحت وب وجود دارد که رقیب Microsoft Excel بحساب میآیند. مهمترین آنها Google Spreadsheets است که ابتدا آن را بررسی میکنیم. اما برنامههای قابل توجه دیگری نیز وجود دارد که اگر شما واقعاً علاقه دارید که اعداد و تحلیل آنها را به داخل ابر منتقل کنید، این برنامهها را بررسی کنید.
Google Spreadsheets اولین برنامه از مجموعه آفیس گوگل بود که در ابر قرار گرفت. این مجموعه در ابتدا Google Docs & Spreadsheets نامیده شده بود ولی الان فقط Google Docs نام دارد. این همچنین تنها برنامه ای است که توسط گوگل بصورت داخلی توسعه داده شده است. Google Spreadsheets از پیچیدهترین برنامههای تحت وب است.
شما میتوانید از طریق صفحه اصلی Google Docs (docs.google.com) به اسناد موجود خود دسترسی پیدا کنید یا صفحه گسترده جدیدی ایجاد کنید. برای ایجاد یک صفحه گسترده جدید، روی دکمه New کلیک کنید و Spreadsheet را انتخاب کنید. صفحه گسترده جدیدی در یک پنجره جدید باز میشود (شکل 5-78). فضای Google Spreadsheets بسیار شبیه هر برنامه صفحه گسترده دیگری است که تا حالا استفاده کردهاید.

Google Spreadsheets شامل اکثر قابلیتهای Excel نظیر فرمول نویسی و توابع میباشد و به شما امکان ایجاد چندین برگه در یک سند را هم میدهد. البته بعضی قابلیتهای Excel نظیر ماکروها، pivot table ها بطور مستقیم در Google Spreadsheets وجود ندارد ولی میتوان از طریق gadgets هایی که توسط دیگران توسعه داده شده است، برخی از این قابلیت ها نظیر pivot tables را نیز در اختیار داشت.
در Google Spreadsheets امکان رسم نمودار از روی دادهها نیز وجود دارد. برای ایجاد نمودار میتوانید دادههای مورد نظر خود را انتخاب کرده و سپس از منوی Insert دستور Chart را انتخاب کنید. به این ترتیب پنجره Create Chart را مشاهده خواهید کرد (شکل 5-79). سپس نوع نمودار مورد نظر خود را انتخاب کنید و مشخصات آن را وارد کنید. با کلیک بر روی دکمه Save Shart نمودار ایجاد خواهد شد. نتیجه آن را در شکل 5-80 مشاهده میکنید. در این جا میتوانید اندازه و مکان نمودار را نیز تغییر دهید.


البته یکی از دلایل استفاده از برنامه صفحه گسترده تحت وب این است که بتوان صفحات را با دیگر کاربران به اشتراک گذاشت (برای مشاهده یا برای ویرایش مشارکتی). این کار با Google Spreadsheets به آسانی امکانپذیر است. فقط کافیست روی دکمه Share در گوشه بالا سمت راست صفحه کلیک کنید و اطلاعات درخواست شده برای به اشتراکگذاری صفحه را وارد کنید. صفحه را هم میتوان بصورت فقط خواندنی و (As Viewers) هم بصورت قابل ویرایش (As Collaboratoes) یا بصورت فرم (To Fill Out a Form) به اشتراک بگذارید. یکی از قابلیتهای بسیار مفید در Google Spreadsheets این است که برنامه نویسان میتوانند برنامههای دلخواه خود را ایجاد کنند. این برنامهها تحت عنوان gadget شناخته میشوند و میتوانند در صفحات مورد استفاده قرار بگیرند80. برای مثال گدجت Gantt Chart به شما امکان رسم نموداری ساده بر اساس اعدادی که وارد کردهاید میدهد. همچنین میتوانید از گدجت های pivot tables برای ایجاد نقشه هایی از دادههای خود و رسم انواع نمودارها استفاده کنید. برای مشاهده گدجت های قابل استفاده از منوی Insert دستور Gadget را انتخاب کنید.
نهایتاً اینکه برنامه Google Spreadsheets یکی از کامل ترین برنامههای صفحه گسترده در حال حاضر است و برای هم کاربران تازه کار و هم کاربران حرفه ای مناسب است.
اگر شما با نگارشهای قبلی برنامه اکسل آشنا باشید، خواهید دید که EditGrid (www.editgrid.com) بسیار شبیه نگارشهای قبل از 2007 برنامه اکسل میباشد (شکل 5-81). در این برنامه شما بیش از 50 کلید میانبر را که قبلا در اکسل استفاده میکردید را نیز میتوانید مورد استفاده قرار دهید.

برنامه EditGrid ویژگیهایی دارد که در نسخه رومیزی اکسل وجود ندارد. این برنامه علاوه بر امکان به اشتراکگذاری و همکاری گروهی، امکان گفتگوی زنده را نیز فراهم کرده است. در این برنامه میتوان صفحات و کاربران مختلف را در محیطهای کاری سازماندهی کرد و میتوانید صفحات گسترده خود را بصورت بلادرنگ و از راه دور با استفاده از دادههای وب به روز رسانی کنید (مثلا نرخ ارز، قیمت سهام یا مواردی از این قبیل). نتیجه آن یک صفحه گسترده قوی است که برای کاربران عادی کاملاً رایگان است.
صفحه گسترده eXpresso (www.expressocorp.om) که در شکل 5-82 نشان داده شده است، ویژگیهای ساده و اولیه صفحه گسترده به همراه ابزارهای پیشرفته مشارکتی را در بر دارد. خود صفحه گسترده ویژگیهای زیای ندارد. امکان استفاده از نمودارها یا فرمت بندی پشرفته ندارد. اما ویژگهای مشارکتی آن شامل درج یادداشت، ارسال ایمیل، گفتگوی آنلاین و ویژگیهای پیچیده به اشتراکگذاری میباشد. بهترین کاربردی این برنامه شاید این باشد که فایلهای صفحه گسترده برنامه اکسل را در آن وارد کرده و سپس آن ها را از طریق ابزار های مشارکتی این برنامه به اشتراک بگذارید.

برنامه Glide Crunch (www.glidedigital.com) مشابه واژه پرداز Glide Write بخشی از مجموعه برنامههای تحت وب Glide Business است. خود Glide Crunch تحت وب نیست بلکه یک برنامه رومیزی است که روی رایانه نصب میشود. وقتی به اینترنت متصل شوید، Crunch قابلیتهای تحت وب را بدست می آورد و بطور خودکار با Glide Webtop همزمان میشود. این برنامه با iPhone و دیگر دستگاههای سیار نیز میتواند کار کند.
واسط برنامه را همانطور که در شکل 5-83 مشاهده میکنید بسیار شبیه Microsoft Excel 2007 است که یک ریبون از دکمه ها و ابزارها در بالای آن قرار دارد. Crunch بسیاری از امکانات اکسل و نیز ویژگی pivot table آن را ارائه کرده است.

توانایی ایجاد صفحات گسترده بصورت آفلاین امکان بسیار خوبی است برای کاربرانی که همیشه دسترسی به اینترنت ندارند. به این ترتیب وقتی شما به وب متصل می شوید، همه مزایای برنامه تحت وب نظیر به اشتراکگذاری، مشارکت و همزمانی فایل را خواهید داشت.
Num Sum (www.numsum.com) یک برنامه صفحه گسترده ساده است. همانطور که در شکل 5-84 مشاهده میکنید، ظاهر آن بسیار ساده است. این برنامه به شما امکان به اشتراکگذاری و مشارکت روی صفحات گسترده را فراهم کرده است ولی با این حال به علت ویژگهای محدودی که دارد برای کاربران پیشرفته مناسب نیست.

در بخش واژه پردازها ما در مورد برنامه Peepel WebWriter صحبت کردیم که عضوی از مجموعه Peepel Online Office (www.peepel.com) بود. صفحه گسترده بخش دیگری از این مجموعه است که Peepel WebSheet نامیده شده است.
همانطور که در شکل 5-85 مشاهده میکنید، ظاهر آن بسیار شبیه Peepel WebWriter است. هر صفحه گسترده در پنجره خودش نمایش داده میشود و نوار ابزار و برگه ها در صفحه اصلی قرار دارد.

برنامه Peepel WebSheet مجموعهای از توابع و گزینههای فرمت بندی جالبی دارد ولی امکان درج جدول در آن وجود ندارد. امکان به اشتراکگذاری و مشارکت بر روی صفحات گسترده را نیز برای شما فراهم کرده است.
برنامه Sheetster (www.sheetster.com) یک صفحه گسترده تحت وب است که با جاوا اسکریپت نوشته شده است. محیط این برنامه را در شکل 5-86 مشاهده میکنید. این برنامه اگرچه از ویژگیهای به اشتراکگذاری و کار مشارکتی پشتیبانی میکند و امکان استفاده از خبرخوان RSS نیز در آن وجود دارد، ولی بسیار ساده است و فاقد بسیاری از ویژگیهای اولیه است و ممکن است کاربران را ناامید کند.

برنامه ThinkFre Calc (www.thinkfree.com) نیز مشابه ThinkFree Write یک برنامه آنلاین مبتنی بر جاوا است. این برنامه تقریباً مشابه نگارشهای قبل از 2007 برنامه اکسل است (شکل 5-87) و هر صفحه گسترده در پنجره خودش باز میشود.
برخلاف برخی از برنامههای قبلی، ThinkFree Calc یک برنامه صفحه گسترده با قابلیتهای کامل است. شما به اکثر توابع (بیش از 300)، تمام ویژگیهای قالب بندی و انواع مختلف نمودارها و تصاویر دسترسی دارید. این برنامه درست مثل Excel است بجز اینکه در وب قرار دارد.

به اشتراکگذاری در این برنامه از طریق My Office Webtop انجام میشود که در شکل 5-88 نشان داده شده است. فقط کافیست از منوی پایین افتادنی که در کنار نام فایل قرار دارد، گزینه Share را انتخاب کنید. سپس میتوانید اسامی کسانی که بیننده یا ویرایشگر قصد دارید دعوت کنید را وارد نمایید. البته این افراد نیز باید از کاربران ThinkFree باشند.

برنامه Zoho Sheet (sheet.zoho.com) برنامه صفحه گسترده تحت وب Zoho است. شبیه همه برنامههای Zoho این برنامه نیز دارای ویژگیهای کامل به همراه قابلیتهای به اشتراکگذاری و مشارکت گروهی است.
همانطور که در شکل 5-89 مشاهده میکنید، این برنامه بسیار شبیه Excel است. میتوان چندین برگه در یک فایل داشت. انواع توابع، اکثر تصاویر گرافیکی و همه گزینههای فرمت بندی که نیاز دارید در این برنامه موجود است. کادر سمت چپ همه فایلهای شما نشان میدهد. شما میتوانید صفحات را بصورت فقط خواندنی و یا بصورت قابل ویرایش با دیگر کاربران به اشتراک بگذارید. همچنین میتوانید به راحتی و بطور مستقیم یک صفحه را با گروهی از کاربران به اشتراک بگذارید.
Zoho Sheet به شما امکان خارج کردن صفحات گسترده بصورت فایلهای XLS اکسل و نیز انواع مختلف فرمت ها را میدهد. همچنین شما میتوانید به آسانی صفحات خود را در وب یا در سایت یا وبلاگ خود منتشر کنید. این کار با یک دکمه به راحتی انجام میشود.

سومین برنامه مهم در مجموعههای آفیس، بعد از واژه پرداز و صفحه گسترده، پایگاهداده است. البته پایگاهداده جزء سه برنامه مهم قرار بگیرد بستگی به این دارد که شما از برنامههای ارائه و ایمیل چقدر استفاده بکنید. در گذشته، یک پایگاهداده بزرگ باید بصورت داخلی و معمولاً روی یک سرور بزرگ میزبانی می شد. این کار دسترسی به پایگاهداده را برای کاربرانی که بیرون از شرکت بودند محدود میکرد. این محدودیت طبیعتاً باعث میشد دادههای موجود در پایگاهداده در بعضی موارد بدون کاربرد باقی بماند.
امروزه، با کمک رایانش ابری دادههای موجود در پایگاهداده میتواند بجای اینکه در یک مکان فیزیکی واحد باشد، در ابر ذخیره شود (در مجموعهای از سرورهای وب). این کار باعث میشود که کاربران داخل و خارج از شرکت بتوانند در هر لحظه از شبانه روز، به داده یکسانی دسترسی داشته باشند.
قبل از اینکه ما برنامههای مدیریت پایگاهداده تحت وب را مورد بررسی قرار بدهیم، بهتر است کمی در مورد خود پایگاهداده بیشتر بدانیم. پایگاهداده را میتوان به سادگی مانند یک مجموعه از داده در نظر گرفت. البته پایگاهداده چیزی بیشتر از این تعریف ساده است.
یک پایگاهداده بسیاری از کارها را مشابه یک صفحه گسترده انجام میدهد اما این کارها را به شیوه متفاوتی انجام میدهد. در حقیقت بسیاری از شرکتهای کوچک از صفحات گسترده برای کارهایی شبیه پایگاهداده استفاده میکنند.
میتوانید اینگونه فرض کنید، اگر یک صفحه گسترده یک لیست بزرگ است، پایگاهداده یک کمد بایگانی بزرگ است. هر کمد بایگانی مانند یک فایل پایگاهداده است که میتواند شامل چندین لیست (جدول) باشد. هر جدول شامل ردیف هایی است که رکورد نامیده میشوند. در هر رکورد، آیتم های اطلاعاتی در داخل فیلد های آن رکورد وارد میشوند.
شما میتوانید از برنامه پایگاهداده برای ایجاد و ذخیرهسازی هر چیزی که شامل مقدار زیادی داده میشود استفاده کنید. برای مثال میتوانید یک پایگاهدادهایجاد کنید که شامل اطلاعات مجموعههای صوتی یا تصویری یا سی دی های مورد علاقه شما میباشد. برای کارهای تجاری، پایگاههای داده شامل حجم بیشتری از دادههای اطلاعاتی مربوط به مشتریان، کارمندان و اطلاعات فروش میباشد. یک برنامه مدیریت پایگاهداده نه تنها این دادهها را ذخیره میکند بلکه ورود،بازیابی و تحلیل داده را نیز بطور خودکار انجام میدهد. بسیاری از شرکتها برنامههای سفارشی خود را برای پایگاهدادههایشان ایجاد کردهاند بطوریکه خود پایگاهداده تا حدی پنهان شده است. کاربران تنها واسط نهایی را که اطلاعات را از طریق آن وارد میکنند یا میخوانند را مشاهده میکنند.
در یک پایگاهداده محلی تنها دادههای مربوط به یک شرکت ذخیره میشود. در مورد پایگاهدادههای متصل به یک شبکه، دادهها در داخل رایانهها یا سرورهای متصل به آن شبکه ذخیره میشوند و توسط هم رایانههای متصل به آن شبکه قابل دسترسی میباشد. نهایتاً اینکه در مورد یک پایگاهداده آنلاین یا تحت وب، دادهها در داخل ابری از سرورهایی که جایی در اینترنت قرار دارند ذخیره میشوند که توسط هر کاربر مجاز که به اینترنت متصل باشد قابل دسترسی است.
مزیت اصلی پایگاهداده تحت وب این است که داده به آسانی با تعداد زیادی از کاربران به اشتراک گذاشته میشود و مهم نیست که آنها کجا هستند. بدلیل اینکه خود داده در ابر ذخیره شده است، وقتی کسی از یک جا رکوردی را تغییر میدهد، هر کسی میتواند داده جدید را مشاهده کند.
در دنیای محاسبات رومیزی، از جمله برنامههای رومیزی پیش روی در زمینه پایگاهداده در حال حاضر Microsoft Access است. در سازمانهای بزرگتر که با حالت های پیچیدهتری مواجه هستند از برنامههای دیگری نظیر Microsoft SQL یا Oracle استفاده میشود.
هیچ کدام از این برنامههای پایگاهداده متعلق به شرکتهای معروف، بصورت تحت وب نیستند. بسیاری از چنین برنامههایی توسط شرکتهای دیگر ایجاد شدهاند.
یکی از تازه واردین به بازار پایگاه داه تحت وب، Blist (www.blist.com) است. Blist برنامه نسبتاً ساده ای است که برای تاجرین غیرفنی طراحی شده است. در حقیقت، شرکت برنامه ای حدواسط صفحه گستره و پایگاهداده طراحی کرده است. همانطور که در شکل 5-90 مشاهده میکنید واسط آن شبیه به یک صفحه گسترده است. شما میتوانید در زمان ورود داده به واسط مبتنی بر فرم آن نیز سوئیچ کنید(شکل 5-91).


Blist برخی امکانات قوی گزارشدهی و مدیریت پایگاهداده را نیز فراهم کرده است. شما میتوانید پایگاهداده خود را بطور کامل یا با افراد خاص به اشتراک بگذارید. پایگاههای داده میتوانند فقط خواندنی باشند یا اینکه کاربران بتوانند اطلاعات جدید به آن اضافه نموده و یا اطلاعات قبلی را حذف کنند.
برنامه Cebase (www.cebase.com) به شما امکان ایجاد پایگاهداده جدید با چند کلیک ماوس را میدهد. تمام کاری که باید انجام دهید این است که اندکی تنظیم جزئی انجام دهید. ورود داده از طریق فرم های آن انجام میشود و سپس دادههای شما در صفحه گسترده نمایش داده میشود. مشا میتوانید از امکانات مرتبسازی، فیلترینگ و گروه بندی داده به هر شکل که بخواهید استفاده کنید(شکل 5-92).

به اشتراکگذاری با کلیک بر روی، لینک Share در بالای هر صفحه داده امکانپذیر است. پس از تعیین ایمیل کاربرانی که باید برای آن ها لینک اشتراکی ارسال شود، میتوانید سطح دسترسی آنها را نیز تعیین کنید.
برنامه Dabble DB (www.dabbledb.com) نیز شبیه به Cebase است و میتوان از آن به سادگی برای ایجاد پایگاه و وارد کردن داده استفاده کرد. دادههای شما میتوانند در نماهای مختلف نظیر صفحه گسترده (شکل 5-93) نمایش داده شوند. همچنین میتواند از قابلیتهای مرتبسازی، گروه بندی و فیلتر کردن داده نیز استفاده کنید، انواع گزارشها را ایجاد کنید، از روی دادههای خود نمودار، تقویم و یا نقشه ترسیم کنید.
Dabble DB سه روش به اشتراکگذاری داده به شما میدهد. گزینه Pages به شما امکان جمع آوری اطلاعات را از دیگران کاربران بدون دسترسی به پایگاهداده را میدهد. گزینه Users به کاربران دیگر امکان دسترسی به دادههای خام پایگاهداده را میدهد. گزینه Schema با استفاده از Dabble DB JavaScript به دیگران امکان تعامل دیگران با دادههای شما در دیگران سایتها را میدهد.

برنامه Lazybase (www.lazybase.com) یک پایگاهداده آنلاین ساده است که برای کاربردهای شخصی مناسب است. ایجاد یک پایگاهداده جدید در آن به آسانی پر کردن یک فرم است (شکل 5-94). افزودن رکورد جدید نیز در آن نیز به همان اندازه آسان است. دادههای شما در صفحات وب قابل نمایش هستند. سهولت ورود و نمایش داده توسط Lazybase آن به اندازه کافی برای اکثر کاربران خانگی مناسب است.

یکی از ویژگیهای خوب Lazybase این است که پایگاههای داده ساده ای که ایجاد میکنید را میتوانید با هرکسی که بخواهید به اشتراک بگذارید. همچنین شما میتوانید آنها را در هر صفحه وبی وارد کنید و یا اینکه از خبرخوان های RSS استفاده کنید تا چنانچه از هر صفحه وبی اطلاعاتی در پایگاهداده شما ذخیره شد، مطلع شوید.
برنامه myWebDB (hu.onetramtech.com/mywebdb.html) یک برنامه همه کاره پایگاهداده در وب2 است. شبیه دیگر برنامههای پایگاهداده که صحبت کردیم، myWebDB به شما امکان ایجاد برنامههای قوی را با استفاده از Builder Wizard بدون نیاز به کدنویسی فراهم میکند.
به کمک myWebDB میتوان یک برنامه متناسب با نیاز دادهها طراحی نمود. برنامههای تولید شده توسط myWebDB دارای ظاهرهای مناسبی هستند و امکان افزودن منوهای پیمایش، دیتاگریدهای قابل ویرایش و صفحه های ورود داده نظیر آنچه در شکل 5-95شکل 5-94 مشاهده میکنید، را فراهم میکند.

برنامه QuickBase (quickbase.intuit.com) یکی از قدیمی ترین و کاملترین برنامههای پایگاهداده است. همچنین یکی از قابل اطمینان ترین برنامههای تحت وبی هست که میتوانید پیدا کنید.
این برنامه بسیار پیچیده است. در حقیقت این برنامه نه تنها یک برنامه مدیریت پایگاهداده است، بلکه سایتی است که به شما امکان انتخاب، سفارشی سازی و به اشتراکگذاری برنامههای workgroup آنلاین را به سرعت و سهولت فراهم میکند تا بتوانید با اعضای تیم خود کار کنید. یک برنامه workgroup، راهحل تحت وب برای سازماندهی تیم، پیگیری و به اشتراکگذاری اطلاعات است که به نوبه خود بهرهوری تیم را افزایش میدهد. با استفاده از QuickBase میتوانید برنامه پایگاهداده خود را طراحی کنید.
شروع استفاده از QuickBase با انتخاب یکی از برنامههای از پیش آماده آن استفاده کنید و سپس برنامه را متناسب با مشخصات مورد نیاز خود سفارشی کنید. اگر برنامههای موجود مناسب شما نبودند، میتوانید برنامه خود را از ابتدا ایجاد کنید.
هر برنامه دارای نماهای جدولی و فرم های مخصوص به خود است. شما میتوانید گزارشهای مورد نیاز خود را تولید کنید یا دادهها را با دیگر کاربران به اشتراک بگذارید. حتی میتوانید برای هر برنامه، داشبوردهای قابل سفارشی سازی مانند شکل 5-96 ایجاد کنید تا بتوانید نمای اجمالی بهتری از دادههای کلیدی خود داشته باشید.

اگرچه تواناییهای QuickBase یک سروگردن از بقیه برنامههای پایگاهداده تحت وب بالاتر است، اما استفاده از آن برخلاف بسیاری از دیگر برنامههای ابری رایگان نیست. قیمت گذاری آن بر مبنای کاربر است و از 249 دلار در ماه برای 10 کاربر شروع میشود.
برنامه TeamDesk (www.teamdesk.net) مشابه QuickBase یک برنامه مدیریت پایگاه قدرتمند است که توسعه برنامههای پیچیده را تسهیل کرده است. شما میتوانید با برنامههای از پیش ساخته برای بسیاری از کارهای تجاری استفاده کنید و یا اینکه برنامههای سفارشی دلخواه خود را ایجاد کنید.
کتابخانه برنامه TeamDesk شامل برنامههایی برای مدیریت پروژه، بازاریابی، فروش، پشتیبانی مشتری، منابع انسانی، صدور صورتحساب و دیگر کارهای تجاری است. برای مثال در شکل 5-97 یک برنامه پیگیری قراردادهای فروش را مشاهده میکنید که دادههای موجود در آن بصورت جدولی نمایش داده شده است.

برنامه Trackvia (www.trackvia.com) شبیه به TeamDesk به شما امکان ایجاد پایگاهداده با توجه به مجموعهای از برنامههای نمونه یا ایجاد آن از اول را فراهم میکند. همچنین شما میتوانید برای هر پایگاهداده از گزارشهای از پیش تعریف شده استفاده کنید یا گزارشهای سفارشی دلخواه خود را بسازید. برای ایجاد یک گزارش سفارشی شما میتوانید از صفحه وب نمایش داده شده در شکل 5-98 استفاده کنید. فقط کافیست ستونهایی که می خواهید در گزارش شما باشد انتخاب کنید.

برنامه Trackvia به شما امکان ایجاد فرم هایی که می خواهید در وب سایت خود نمایش دهید را میدهد و بنابراین کاربران شما، میتوانند دادههای خود را از آن طریق وارد کنند. همچنین میتوانید پایگاههای داده خود را با کاربران مورد نظر به اشتراک بگذارید. امکان استفاده از سطوح دسترسی مختلف نیز وجود دارد.
Zoho دو محصول پایگاهدادهای مختلف ارائه میدهد: Zoho Creator و Zoho DB & Reports. از این دو Zoho Creator برای استفاده آسان تر است.
Zoho Creator (creator.zoho.com) یک انباره داده متنوع است که در آن از فرم های ورود داده و نماهای صفحه گسترده استفاده میشود. این برنامه هم ساده است و هم به اندازه کافی قوی هست که بتواند برنامههای پایگاهداده ساده شما را نیز ایجاد کند. برای ایجاد پایگاهداده میتوانید از ابتدا شروع کنید یا از الگوهای پیش ساخته استفاده کنید. شما میتوانید دادهها را در فرم های وب وارد کنید (شکل 5-99). نمایش دادهها در نماهای مختلف صفحه گسترده، جدولی و خلاصه امکانپذیر است. شما میتوانید فرمهای ورود داده را در سایت یا وبلاگ خود نیز استفاده کنید.

اگر پایگاهداده قوی تری نیاز داشته باشید، میتوانید به سراغ Zoho DB & Reports (db.zoho.com) بروید. Zoho DB امکان ایجاد گزارشهای بسیار قوی تری از Zoho Creator دارد که شامل نمودار، Pivot Tables و دیگر انواع گزارشها میشود. شکل 5-100 یک نمونه از نمودار تولید شده توسط Zoho DB را نشان میدهد. علاوه بر این Zoho DB از API های وب برای استفاده در برنامههای شما و نیز از SQL برای ایجاد پرسوجوهای قوی تر پشتیبانی میکند.
Zoho DB هم شبیه Zoho Creator میتواند از هر جایی مورد دسترسی قرار بگیرد. شما میتوانید دادهها و گزارشها را برای توسعه همکاری، تحلیل یا قرار دادن گزارشها در سایت خود، به اشتراک بگذارید. خلاصه اینکه اگر نیاز به یک برنامه ساده دارید از Zoho Creator و اگر نیاز به یک برنامه پیچیدهتر دارید یا به برنامههایی نظیر Access، SQL Server و مشابه آنها عادت کردهاید، از Zoho DB & Report استفاده کنید.

یکی از دیگر اجزای مهم و پر استفاده در مجموعه Office که به ابر منتقل شده است، برنامه ارائه است. برنامه Microsoft Powerpoint در این زمینه برنامههای رومیزی را به خود اختصاص داده است و واضح است که به سختی میتوان مزایای رقابتی خاصی را در برنامههای تحت وب ارائه کرد. ضمن اینکه اسلاید های با گرافیک بزرگ به کندی ارسال یا دریافت میشوند. از بازیگران مهمی که در این زمینه فعالیت میکنند، Zoho و Google هستند. چند برنامه دیگر نیز وجود دارد که ارزش بررسی کردن را دارند. به کمک این برنامهها شما میتوانید ارائه خود را همیشه همراه خود داشته باشید و یا در هر جایی به ایجاد یا ویرایش آنها بپردازید.
کار با یک برنامه آنلاین ارائه با کار با دیگر برنامههای تحت وب تفاوتی ندارد. کاربران از مکانهای مختلف میتوانند مستقیماً به ارائه دسترسی داشته باشند و امکان ایجاد ارائه را از طریق همکاری گروهی را تسهیل کرده است. این ویژگی اصلی برنامههای ارائه تحت وب است که ارائه های شرکتها میتواند توسط افراد مختلف از بخشها و سازمانهای مختلف ایجاد شود. برای مثال شاید نیاز باشد که قسمتی از ارائه توسط بخش بازاریابی ایجاد شود، قسمت دیگر آن توسط بخش حسابداری یا مالی و قسمت دیگر توسط بخش فروش تکمیل شود. با یک برنامه رومیزی نظیر PowerPoint این کار با ارسال فایل (مثلا از طریق ایمیل) و همزمان کردن یک یا چند فایل مختلف در یک پروسه زمان بر انجام می شد. اما با یک برنامه تحت وب، هر بخش میتواند کار خود را روی فایل اصلی بطور همزمان انجام دهد.
دیگر مزیت برنامه ارائه تحت وب این است که وقتی به یک جلسه می روید، شما نیاز نیست نگران این باشید که فایل ارائه حتما از طریق رایانه همراه شما نمایش داده شود. بلکه میتوانید از هر رایانهای که اتصال اینترنتی داشته باشد، برای دسترسی به ارائه خود و نمایش آن استفاده کنید.
اکثر برنامههای ارائه تحت وب حتی امکان میزبانی فایلهای ارائه موجود در رایانه تان را نیز دارند. به این ترتیب میتوانید از این پس به فایلهای قبلی خود نیز از طریق وب دسترسی داشته باشید. تنها مشکل برخی برنامهها ارائه تحت وب این است که امکانات گرافیکی و نمایشی که آنها برای شما فراهم میکند بسیار کمتر از PowerPoint است. بنابراین باید مطمئن شوید که قبل از استفاده از هر یک از این برنامهها، گزینههای مورد نیاز شما در برنامه موجود است.
برخلاف برخی از برنامههای دیگر، پیشتاز شاخصی در عرصه برنامههای ارائه وجود ندارد. بعضی از کاربران برنامه Google Presentations و برخی دیگر Zoho Show را دوست دارند. برخی دیگر علاقهمندی های دیگری دارند. بنابراین به برنامههایی که در ادامه معرفی میشود به خوبی دقت کنید تا بتوانید ویژگیهای مورد نیاز خود را انتخاب کنید.
برنامه BrinkPad (www.brinkpad.com) یک برنامه جاوا است که در هر مرورگر وبی کار میکند. این برنامه به شما امکان انتشار ارائه ها و نمایش های اسلاید را در وب میدهد. همچنین امکان به اشتراکگذاری و مشارکت در ارائه را فراهم کرده است.
واسط BrinkPad که در شکل 5-101 مشاهده میکنید، نسبتاً خلاقانه است. اما الگوهای از پیش آماده زیادی ندارد و امکان اعمال افکت بین اسلایدها و نیز استفاده از ابزارهای رسم جدول و نمودار در آن وجود ندارد. شما تنها تعدادی ابزار ترسیم ساده دارید که امکان ترکیب شکل ها، متن و تصاویر دیجیتالی را میدهند. بنابراین BrinkPad تواناییهای محدودی دارد و هنوز نمیتواند جانشین خوبی برای PowerPoint باشد.

برنامه Empressr (www.empresse.com) تواناییهای بیشتری نسبت به BrinkPad و برنامههای مشابه دیگر دارد. واسط این برنامه به PowerPoint شبیه تر است. شما میتوانید متن، شکل، جدول، نمودار در اسلاید خود قرار دهید. حتی میتوانید تصاویر پس زمینه سفارشی ایجاد کنید.
همانطور که در شکل 5-102 مشاهده میکنید، Empressr برخلاف بسیاری از برنامههای ارائه تحت وب، به شما امکان ایجاد نمودار و نیز استفاده از انواع افکت بین اسلایدها را میدهد. این ویژگیها باعث شده است که Empressr گزینه خوبی برای کاربران PowerPoint باشد که می خواهند به برنامههای تحت وب سوئیچ کنند.

اگر پیشتازی در بازار برنامههای ارائه آنلاین وجود داشته باشد، شاید بتوان Google Presentations را نام برد. علت آن تسلط گوگل بر دیگر برنامههای تحت وب office است. Google Presentations یکی از برنامههای دیگر در مجموعه Google Docs است. کاربران میتوانند ارائه های جدید ایجاد کنند و یا ارائه های موجود را از صفحه اصلی Google Docs (docs.google.com) باز کنند. باز کردن یک ارائه با کلیک بر روی عنوان یا آیکن آن انجام میشود. ایجاد یک ارائه جدید با انتخاب دکمه New و سپس گزینه Presentation امکانپذیر است. ارائه شده به این ترتیب در یک پنجره جدید باز میشود.
همانطور که در شکل 5-103 مشاهده میکنید، واسط Google Presentations بسیار شبیه نگارشهای قبلی PowerPoint است اما فاقد برخی ویژگیها است. در این برنامه امکان استفاده از متن، تصویر و شکل در یک اسلاید وجود دارد اما قابلیت درج نمودار را ندارد. همچنین از انیمیشن ها نیز پشتیبانی نمیکند.

در این برنامه، یک صفحه مرتب کننده اسلاید شبیه آنچه که در PowerPoint وجود داشت، و مجموعهای از الگوهای از پیش طراحی شده (شکل 5-104) فراهم شده است. توانایی انتشار فایل در وب یا دانلود آن بصورت PPT یا PDF و امکان به اشتراکگذاری و همکاری به سرعت و سادگی، شبیه دیگر برنامههای تحت وب Google از ویژگیهای دیگر آن است.

اگر شما از دیگربرنامههای Google Docs استفاده میکنید، Google Presentations انتخاب طبیعی شما خواهد بود. اما فقدان ویژگیهای ارائه پیشرفته ممکن است باعث شود کاربران حرفه ای دنبال برنامه دیگری برای ارائه های آنلاین خود بگردند.
اگر دنبال برنامه ای هستید که ویژگیهای آن کمی از Google Presentations بیشتر باشد، میتوانید Preezo (www.preezo.com) را امتحان کنید. اگرچه Preezo شبیه Google Presentations امکان افزودن Chart ندارد، اما امکان افزودن افکت های بین اسلاید در آن اضافه شده است.
همانطور که در شکل 5-105 مشاهده میکنید، Preezo بسیار شبیه Google Presentations است. کادر Slide Sorter را در سمت چپ، و همه گزینههای ویرایشی و قالب بندی را در نوار ابزار و منوها در اختیار دارید. افکت های اسلایدها شامل Wipes، Flades، Splits و Pushes میباشد.

برنامه Presentation Engine (www.presentationengine.com) یک برنامه ارائه پیشرفته است که در آن استفاده از تصاویر و افکت های تعویض اسلاید نیز در نظر گرفته شده است. سطح پیچیدگی گرافیکی ارائه شده در این برنامه در هیچ یک از برنامههای رقیب دیده نمیشود.
شما کار خود ر انتخاب یک سبک طراحی از لیست نمایش داده شده در شکل 5-106 شروع میکنید. سپس میتوانید موسیقی زمینه و رنگ الگوی ارائه خود را انتخاب کنید و سپس شروع به افزودن متن اسلایدها بنمایید. نتیجه یک ارائه چندرسانه شبیه شکل 5-107 است که میتواند بصورت یک فایل اجرایی در وب اجرا شود و یا در رایانه خود دانلود نمایید.


البته در Prsentation Engine شما انعطاف پذیری زیادی ندارید. مثلا امکان افزودن نمودار در آن وجود ندارد. اما مشخصات بصری آن شاید برای بسیاری از کاربران مناسب باشد.
برنامه PreZentit (www.prezentit.com) یک برنامه با ظاهر جذاب است که ویژگیهای جدیدی در آن میتوان یافت. شما یک کتابخانه از تصاویر گرافیکی دارید که میتوانید در زمینه اسلایدها استفاده کنید. گروهی از افکت های تعویض اسلاید (شکل 5-108) در آن وجود دارد و امکان به اشتراکگذاری و مشارکت با کاربران مجاز در آن وجود دارد. البته در آن نیز مانند برنامههای دیگر امکان ایجاد نمودار وجود ندارد.

ارائه هایی که با PreZentit ایجاد میکنید را میتوانید با فرمت HTML ذخیره کنید. نمایش ارائه ها هم در وب و هم بصورت آفلاین از روی رایانه قابل انجام است.
SlideRocket (www.sliderocket.com) یکی از جدیدترین برنامههای ارائه تحت وب است. همانطور که در شکل 5-109 مشاهده میکنید، SlideRocket یک واسط جذاب با ویژگیهای پیشرفته بسیار دارد.
بسیاری از ویژگیهایی که در SlideRocket بدست می آورید در برنامههای دیگر وجود ندارد. SlideRocket الگوهای ثابت و متحرک و افکت های از پیش طراحی شده، افکت های سه بعدی و امکان افزودن صدا و ویدئو و انیمیشن به اسلایدهای شما را ارائه است. همچنین برنامه ایجاد نمودار قوی و امکان کار مشارکتی گروهی در ایجاد ارائه در آن فراهم شده است. اگر شما یک کاربر حرفه ای PowerPoint هستید یا نیازهای پیشرفته ای دارید، SlideRocket برای شما ارزش امتحان کردن را دارد.

برنامه ThinkFree Show (www.thinkfree.com) یکی از اجزای مجموعه ThinkFree است. همانطور که درشکل 5-110 مشاهده میکنید، ظاهر آن بسیار شبیه نگارش قبل از 2007 برنامه PowerPoint است و البته قابلیت رسم نمودار نیز در آن وجود ندارد. در این برنامه هم میتوانید از افکت های بین اسلاید و نیز انیمیشن برای متن و اشیاء موجود در یک اسلاید موجود دارد. همچنین میتوان شکل ها و جداول مختلف را رسم نمود.

به اشتراکگذاری از طریق ThinkFree's My Office Webtop انجام میشود که در آن میتوانید دیگران اسناد ThinkFree را نیز به اشتراک بگذارید. شما میتوانید ارائه را برای فقط برای نمایش یا برای ویرایش گروهی به اشتراک بگذارید.
برنامه Thumbstacks (www.thumbstacks.com) یک برنامه ارائه بسیار ساده است. استفاده از واسط آن همانطور که در شکل 5-111 مشاهده میکنید، بسیار آسان است. در این برنامه شما به افزودن متن ساده محدود خواهید بود. امکان استفاده از افکت، رسم نمودار و یا جدول در آن وجود ندارد.

برنامه Zoho Show (show.zoho.com) که در شکل 5-112 نشان داده شده است، شاید ضعیف ترین برنامه در مجموعه Zoho Office باشد. شبیه Google Presentation و Zoho Show در آن میتوانید اسلایدهای متنی با ظاهر مناسب درست کنید ولی فاقد قابلیتهای رسم نمودار، جدول یا افکت میباشد.
برنامه Zoho Show با دیگر برنامههای تحت وب Zoho یکپارچه است و امکان به اشتراکگذاری و مشارکت را فراهم کرده است. بنابراین اگر می خواهید یک ارائه خوب و ساده با پیچیدگی های کم درست کنید، میتوانید این برنامه را امتحان کنید.

رایانش ابری تنها دسترسی به برنامهها در ابر نیست. ابر میتواند برای ذخیرهسازی اسناد، یا بعنوان یک درایو برای تهیه کپی پشتیبان یا بعنوان منبع اصلی ذخیرهسازی فایلهای شما بکار رود.
علاوه بر این، شما میتوانید از ابر برای ذخیرهسازی و به اشتراکگذاری سایتهای مورد علاقه خود استفاده کنید. چنانچه علاقهمندی های شما بصورت آنلاین باشد، میتوانید آنها را با دیگر دوستان خود نیز به اشتراک بگذارید (در این حالت نیاز به ارسال ایمیل یا استفاده از پیغام رسان نیز نیست). در عین حال، وقتی علاقهمندی های شما در ابر ذخیره شده باشد، میتوانید به آنها از هر رایانه دیگری نیز دسترسی داشته باشید. در این بخش با این دو نوع از ذخیرهسازی ابری بیشتر آشنا خواهیم شد.
اولین شکل از ذخیرهسازی داده تحت وب که بررسی میکنیم، ابرذخیرهسازی (cloud storage) است که دادهها و فایلها در چندین سرور مجازی قرار میگیرد.
سرورهای مورد استفاده برای ذخیرهسازی ابر معمولاً توسط شرکتهایی مدیریت میشود که دارای مراکز داده بزرگی هستند. وقتی شما در یک سرویس ذخیرهسازی ابری عضو میشوید، فضای ذخیرهسازی را از سرویس ذخیرهسازی ابری کرایه کردهاید. سپس شما میتوانید به آن فضا از طریق اینترنت دسترسی داشته باشید.
چیزی که در این حالت شما می بینید، شبیه به یک سرور یا دیسک سخت است، اما این فضا در حقیقت یک سرور مجازی است و دادههای شما ممکن است در چندین سرور که معمولاً در مکانهای مختلف قرار دارند، ذخیره شده باشد. این فضای پراکنده از دید شما یک سرور واحد است. قدرت ذخیرهسازی ابر بسیار زیاد است و میتواند به چندین پتابایت81 برسد.
شناخته شده ترین سرویس ذخیرهسازی ابر در حال حاضر Simple Storage Service (S3) نام دارد که توسط Amazon.com ایجاد شده است. البته ذخیرهسازی ابری توسط بسیاری از شرکتهای دیگر نظیر IBM، Google، EMC و ... نیز ارائه میشود.
ابر ذخیرهسازی سه مزیت اصلی دارد:
مقیاسپذیری: وقتی شما فضای ذخیرهسازی ابری را کرایه میکنید، میتوانید به هر اندازه (چه زیاد و چه کم) فضا نیاز داشته باشید، انتخاب کنید. در این محیط تغییر سرویس و افزایش فضای مورد نیاز در هر لحظه متناسب با نیاز امکانپذیر است. شما نیاز به خرید رایانههای اضافی برای میزبانی دادههای بیشتر ندارید، اما در عوض میتوانید از فضای موجود در ابر استفاده کنید و هر قدر فضا که بخواهید بدست آورید.
قابلیت اطمینان: اگر تا به حال سرورهای شرکت شما از کار افتاده باشند، اهمیت داشتن کپیپشتیبان از دادههای خود را میدانید. ذخیرهسازی ابری میتواند بعنوان یک درایو تهیه کپی پشتیبان آنلاین مورد استفاده قرار گیرد. اگر شما به سرویس ابری برای ذخیرهسازی دادههای اصلی اعتماد کنید، مطمئن خواهید بود که داده شما روی چند سرور تکثیر شده است.
هزینه کمتر: چه مقدار هزینه برای ذخیرهسازی هر ترابایت داده می پردازید؟ حتی با اینکه هزینه دیسک سخت پایین میآید، هنوز استفاده از سرورهای مجازی در ابر ارزانتر است. سرویسهای ذخیرهسازی ابری میتوانند نرخ پایین تری ارائه کنند، زیرا آنها بطور مؤثرتری از فضای سرورهایی که دارند استفاده میکنند و فضا بر حسب تقاضای کاربران، به آنها اختصاص داده میشود. به هر حال خرید فضای اضافه در ابر ارزانتر است از اینکه یک سرور جدید یا دیسک سخت جدید خریداری کنیم.
در خصوص استفاده از سرویسهای ذخیرهسازی ابری، مخاطراتی وجود دارد که بیشتر مورد بحث هستند:
قابلیت اطمینان: بیاد بیاورید که گفتیم ذخیرهسازی ابری قابل اطمینان تر از ذخیرهسازی فیزیکی سنتی است. اما همه موضوع این نست. چه میکنید اگر سرویس دهنده ابری با مشکل فنی مواجه شود یا اینکه آفلاین شود که به این ترتیب نمیتوانید به دادههای خود دسترسی داشته باشید یا حتی ممکن است واقعاً دادههای خود را از دست بدهید. این موضوع قبلا پیش آمده است. در فوریه 2008 برق سرویس ذخیرهسازی ابری آمازون قطع شد. اگر یک سرویس ذخیرهسازی ابری، زیرساخت مناسب نداشته باشد یا چند کپی پشتیبان از دادهها تهیه نکرده باشد، دادهها در خطر خواهند بود.
امنیت: درحالی که همه سرویس دهنده های ذخیرهسازی ابری می گویوند که سیستمهایشان امن است، اما هنوز امکان این وجود دارد که سارقین با تکنولوژی با بتوانند وارد سیستم شوند و دادههای حساس را بربایند. تقریباً همیشه امنیت داده ای که بطور فیزیکی بر آن کنترلی ندارید، پایین تر است.
خطای کاربران: همه بحث قابلیت اطمینان ابر به سرویس دهنده بر نمی گردد. با توجه به اینکه امکان بروز اشتباهات انسانی وجود دارد، فرض کنید بعلت اشتباه مدیر سیستم، کلمه عبور سیستم به سرقت برود یا اشتباه دیگری نظیر این. همین کافیست که دادهها در معرض دسترسی کاربران غیرمجاز قرار گرفته یا بطور کامل حذف شوند.
مشکلات دسترسی: بدلیل اینکه شما به دادههای خود از طریق اینترنت دسترسی پیدا میکند، مشکل اصلی شما وقتی خواهد بود که سرعت آن اتصال پایین بیاید یا با مشکل مواجه شود. تاخیر در دسترسی با داده یک موضوع اساسی در هر اتصال اینترنتی است که حتی برای سریعترین آنها ممکن است اتفاق بیفتد.
با همه این پیش بینی ها، این حس ایجاد میشود که از دادههای خود حداقل در دو مکان کپی پشتیبان داشته باشید و انحصاراً به ابر اعتماد نکنید. بهتر است هرچه را که در ابر ذخیره میکنید، در جای دیگری که دسترسی به آن داشته باشید نیز ذخیره کنید.
چقدر جایی که برای ذخیرهسازی دادههای خود بصورت آنلاین استفاده میکنید، برایتان اهمیت دارد؟ بیایید به بعضی از مشهورترین سرویسهای ذخیرهسازی ابری نگاهی بیندازیم. بسیاری از آنها قابلیت به اشتراکگذاری فایل را نیز فراهم کردهاند.
سرویس Amazon Simple Storae Service (S3) امکان ذخیرهسازی نامحدود را فراهم آورده است. شما میتوانید به دادههای ذخیره شده خود از طریق یک واسط وب ساده دسترسی داشته باشید. S3 در مارس 2006 راه اندازی شد و شاید یکی از مهمترین سرویسهای ذخیرهسازی آنلاین در بازار امروز باشد.
هزینههای Amazon بر اساس مقدار داده ذخیره شده شده و پهنای باند مورد استفاده جهت ارسال و دریافت داده، محاسبه میشود. در ایالات متحده، هزینه آن 0.15 دلار بازای هر گیگابایت به اضافه 0.10 تا 0.17 دلار بازای انتقال هر گیگابایت داده میباشد.
یکی از نکات فروش S3 این است که آن از همان زیرساخت ذخیرهسازی قابل انعطافی استفاده میکند که Amazon.com برای راه اندازی سرویسهای تجارت الکترونیکی جهانی خودش مورد استفاده قرار داده است. شما میتوانید به Amazon S3 از طریق aws.amazon.com دسترسی داشته باشید.
Egnyte (www.egnyte.com) سرویسهای ذخیرهسازی، تهیه کپی پشتیبان و به اشتراکگذاری آنلاین را فراهم آورده است. شما میتوانید به راحتی کاربران مجازی را که می خواهید فایلها و پوشههای خاصی را با آنها به اشتراک بگذارید مشخص کنید و مدیریت نگارش فایلها نیز بطور خودکار انجام میشود.
دسترسی به سرویس Egnyte از طریق واسط ساده ای که در شکل 5-113 مشاهده میکنید امکانپذیر است. شما میتوانید یک فایل سرور آنلاین مجازی راه اندازی کنید و متناسب با نیازهای خود آنرا پیکربندی کنید. همچنین میتوانید فایلها و پوشه های به اشتراک گذاشته شده را با سطوح دسترسی مختلف مشخص کنید. آپلود کردن فایلها به سهولت چند کلیک ساده است.

ElephantDrive (www.elephantdrive.com) یک برنامه آنلاین با ظاهر کاربرپسند است که سرویس ذخیرهسازی آنلاین ارائه میدهد. این سایت سرویس خود را در سه نسخه مختلف ارائه میدهد: نسخه خانگی، نسخه Pro، و نسخه Pro Plus. هر نگارش محدودیت ذخیرهسازی و انتقال متفاوتی دارد. برای کاربران خانگی این قیمت در حدود 9.95 دلار در ماه است.
ما در خصوص Microsoft Office Live Workspace (workspace.office.live.com) در بخشهای قبل صحبت کردیم. به Live Workspave به عنوان یک سرویس ذخیرهسازی ابری خاص فکر کنید. شما میتوانید از برای ذخیرهسازی سندها و فایلهای Office خود استفاده کنید. محدودیت تعداد اسنادی که میتوانید ذخیره کنید، 1000 سند بازای هر کاربر است.
نکته جالبی که در خصوص Offile Live Workspace وجود دارد، رایگان بودن آن است (البته باید مجموعه Office را داشته باشید تا بتوانید اسناد Office خود را ایجاد کنید.) این باعث شده است که این سرویس بسیار مناسبی برای ذخیرهسازی نسخه اصلی یا کپی فایلهای ورد، اکسل و ارائه های شما باشد. شما میتوانید از هر جایی به اسناد خود دسترسی داشته باشید. چه در اداره باشید، چه در خانه و یا در جاده. محدودیت اصلی که وجود دارد این است که شما نمیتوانید اسناد غیر Office را در آن ذخیره کنید.82
سرویس myDataBus (www.mydatabus.com) ترکیبی از ذخیرهسازی ابری و سرویس اشتراکگذاری فایل است. شما میتوانید از myDataBus برای ذخیرهسازی فایلهای شخصی خود یا به اشتراکگذاری تصاویر، فیلم ها و موسیقی ها با دوستان و خانواده خود استفاده کنید. این سرویس همچنین ابزارهای مشارکت گروهی و یکپارچهسازی با Facebook، MySpace، LiveJournal و دیگر سایتهای مشابه را هم فراهم میکند.
اگر به ذخیرهسازی بیشتری نیاز داشته باشید، میتوانید از Nirvanix (www.nirvanix.com) استفاده کنید. Nirvanix یک سکوی ذخیرهسازی ابری است که برای فایلهای بزرگ و مشتریان در سطح سازمانی مناسب است. شبکه Nirvanic Storage Delivery بطور هوشمند تقاضاهای ذخیرهسازی را در بهترین مکان از شبکه انجام میدهد. ذخیرهسازی در این سیستم بر حسب تقاضا و بطور کامل مقیاسپذیر است.
همانطور که در شکل 5-114 مشاهده میکنید، steekR (www.steekr.com) برای مصرف کنندگانی طراحی شده است که می خواهند اسناد و فایلهای چندرسانه ای خود را بصورت آنلاین به اشتراک بگذارند. بعد از اینکه یک فایل خود را آپلود کردید، میتوانید آن را با هر کس دیگری که در لیست تماسهای شما باشد به اشتراک بگذارید. حتی میتوانید تعیین کنید که یک فایل توسط دیگران قابل ویرایش باشد یا اینکه فقط خواندنی باشد.

سرویس پایه steekR با یک گیگابایت رایگان است و سرویسهای پولی آن تا 100 گیگابایت وجود دارد.
سومین سرویس ابری مایکروسافت، Windows Live SkyDrive (skydrive.live.com) نام دارد که با Office Live Online متفاوت است. به کمک این سرویس شما میتوانید هر نوع فایلی را ذخیره کنید. شما 25 گیگابایت فضای رایگان در اختیار دارید و میتوانید به راحتی فایلهای آپلود شده را با دیگر کاربران مجاز با بصورت عمومی به اشتراک بگذارید. پوشه های شخصی نیز برای خصوصی نگهداشتن فایلها قابل استفاده هستند.
همانطور که در شکل 5-115 مشاهده میکنید، ذخیرهسازی و مدیریت فایلها از طریق داشبورد گرافیکی ساده ای انجام میشود. فقط کافیست روی یک پوشه کلیک کنید تا محتوای آن را مشاهده کنید یا یک فایل خاص را باز کنید. این سرویس خیلی ساده است و برای کارهای خانگی و بعضی کاربردهای تجاری کوچک مناسب است.

این نوع از سرویسهای ابری به شما امکان به اشتراکگذاری یادداشت ها و سایتهای مورد علاقه تان را با دوستان و همکاران یا حتی خودتان (در صورتی که از بیش از یک رایانه استفاده میکنید) فراهم میکنند. عملکرد آنها به این صورت است که شما از یک سایت مورد علاقه بازدید میکنید و تصمیم میگیرد که آن را برای خود نشانه گذاری83 کنید یا به شخص دیگری معرفی کنید. بدلیل اینکه نشانه ها فقط در یک رایانه ذخیره میشوند، شما میتوانید آن را به همراه یادداشت در یک سایت نشانه گذاری آنلاین ذخیره کنید. این کار نشانه ها و یادداشت های شما را در ابر ذخیره میکند. سپس میتوانید لینک آن را برای دوستان خود ایمیل کنید یا خودتان بعداً به آن مراجعه داشته باشید. سایتهای دفتریادداشت84 نیز به شکل مشابه عمل میکنند. فقط کافیست یادداشت های خود را در سایت قرار دهید و سپس میتوانید به آنها از طریق وب دسترسی داشته باشید یا به اشتراک بگذارید. در ادامه برخی از این سایتهای نشانه گذاری و یادداشت رایج را بررسی میکنیم.
BlinkList (www.blinklist.com) یک سایت نشانه گذاری بسیاری ساده است. وقتی شما عضو سرویس رایگان آن بشوید، یک افزونه کوچک در مرورگر شما نصب میشود. این اپلت یک لینک Blink This Site به لیست علاقهمندی های مرورگر شما اضافه میکند. وقتی که خواستید سایت مورد علاقه خود را ذخیره کنید، با کلیک بر روی این لینک یک صفحه Blinking نمایش داده میشود(شکل 5-116). یادداشت مورد نظر خود را درباره سایت وارد کنید و سپس روی دکمه Blink کلیک کنید. همچنین میتوانید از این کادر برای ارسال لینک به دوستان و خانواده نیز استفاده کنید. به این ترتیب این سایت به همراه دیگر سایتهای مورد علاقه تان که قبلا آنها را blink کردهاید، در صفحه BlinkList My List شما ظاهر خواهد شد.

ClipClip (www.clipclip.org) بیش از یک سایت نشانه گذاری ساده است. این برنامه به شما امکان انتخاب کردن و ذخیره کردن متن و تصاویر از سایتها و وبلاگ ها را در یک دفتریادداشت آنلاین فراهم میکند. شما میتوانید این یادداشت ها را برای استفاده های آتی، ذخیره کرده و سازماندهی کنید (این کار برای فعالیت های تحقیقی بسیار مناسب است.) یا اینکه با دیگران به اشتراک بگذارید. تنها کافیست تصاویر و متن های مورد نظر را با استفاده از ماوس در مرورگر انتخاب کنید و سپس روی دکمه یا لینک ClipClip کلیک کنید. سپس موارد انتخاب شده در سایت ClipClip ذخیره میشود. در شکل 5-117 مشاهده میکنید که چگونه فطعه های ذخیره شده در ClipClip نمایش داده میشوند.

Clipmarks (www.clipmarks.com) بسیار شبیه ClipClip عمل میکند. شما میتوانید هر نوع محتوایی از صفحات وب را در Clipmarks ذخیره کنید. موارد ذخیره شده بعداً از طریق قابل دسترسی خواهند بود و خواهید توانست آنها را با دیگر کاربران نیز به اشتراک بگذارید.
del.icio.us که آدرس آن نیز به همین نام است، در شکل 5-118 نمایش داده شده است. این سایت خود را یک نوع سایت social bookmarking یا یک نوع سایت نشانه گذاری که بصورت شبکه اجتماعی عمل میکند مطرح کرده است بطوریکه کاربران در آن میتوانند نشانه های سایتها را با همدیگر به اشتراک بگذارند. در حقیقت del.icio.us شاید محبوب ترین این سایتهای نشانه گذاری باشد که بیش از 3 میلیون کاربر و بیش از 100 میلیون نشانه URL دارد. مالکیت این سایت در حال حاضر با شرکت Yahoo! است.

همانند بسیاری از سایتهای مشابه دیگر، del.icio.us به کاربران امکان استفاده از برچسب برای پیداکردن بهتر نشانه ها را فراهم کرده است. وقتی شما یک سایت را نشانه گذاری میکنید (با کلیک بر روی دکمه del.icio.us قرار داده شده در سایت)، میتوانید چند کلمه کلیدی برای تشریح آن سایت وارد کنید. دیگر کاربران با جستجوی آن کلمات کلیدی میتوانند مناسب ترین سایتهای نشانه گذاری شده را که منطبق با نیاز آنها باشد پیدا کنند.
Feedmarker (www.feedmarker.com) یک سایت نشانه گذاری دیگر است. این سایت ویژگی جدیدی دارد و آن این است که میتواند بعنوان خبرخوان RSS و Arom عمل کند و لینک آنها را نیز به نشانه های خود اضافه کنید.
SharedCopy (www.sharedcopy.com) بعنوان سرویس درج توضیحات مشارکتی85 شناخته میشود و به این معناست که شما میتوانید یک کپی از هر صفحه وب را در SharedCopy ذخیره کنید و هر نوع یادداشت و علامت گذاری را در آن صفحه انجام دهید. سپس میتوانید صفحه ای که در آن توضیحات را اضافه کردهاید را با دیگران به اشتراک بگذارید.
Tagseasy (www.tagseasy.com) یک برنامه ترکیبی از نشانه گذاری، یادداشت و سرویس ذخیرهسازی ابری است. شما میتوانید سایتهای دلخواه خود را نشانه گذاری کنید و با دوستان و همکاران به اشتراک بگذارید. حتی میتوانید تا ظرفیت 1 گیگابایت فایل آپلود کرده و به اشتراک بگذارید. این سرویس رایگان است و ارزش امتحان کردن را دارد.
Yahoo! MyWeb (myweb.yahoo.com) یک سرویس نشانه گذاری آنلاین ساده است. شما میتوانید به سادگی هر نشانه ای را در سایت MyWeb ذخیره کنید و سپس به آن از طریق هر رایانهای دسترسی داشته باشید و یا اینکه با دوستان و همکاران به اشتراک بگذارید.
در بخش قبل ما در خصوص سایتهایی که بتوانید از آنها برای ذخیرهسازی و به اشتراکگذاری همه نوع فایلی استفاده کنید، صحبت کردیم. یک نوع خاص از سایتهای اشتراکگذاری فایل که موضوع این بخش است، مربوط به تصاویر است. این سایتها به شما امکان ذخیرهسازی تصاویر دجیتال شما و به اشتراکگذاری آنها با دوستان و خانواده فراهم میکنند.
فراتر از اشتراک تصاویر، سایتهایی نیز هستند که امکان ویرایش تصاویر را هم فراهم کردهاند. مطمئناً قدرت این سایتها هیچ وقت با نرمافزارهای رومیزی نظیر Adobe Photoshop برابری نمیکند، زیرا یک سایت ویرایش تصویر بصورت آنلاین فقط میتواند بستری برای انجام کارهای ویرایشی ساده نظیر تنظیم نور، تنظیم رنگ، برش، ایجاد قاب و مواردی از این قبیل را فراهم کند.
در ابتدا می خواهیم با برنامههایی شروع کنیم که برای ویرایش تصاویر دیجیتال مورد استفاده قرار میگرند. از طریق این برنامهها شما میتوانید تقریباً همه کارهای ساده و اولیه ای که در برنامههای رومیزی وجود دارد، انجام دهید. مثلا تصاویر را برش دهید، بچرخانید، رنگ آنها را تصحیح کنید، مشکل قرمزی چشم را رفع کنید، کنتراست و روشنایی را تنظیم کنید، حتی امکان ترکیب چند تصویر با همدیگر نیز در برخی از آنها وجود دارد.
برای کار با اکثر برنامههای ابری، مجبور هستید که ابتدا تصاویر مورد نظر خود را به سایت ارسال کنید. سپس میتوانید ویرایش های مورد نظر را انجام دهید. پس از آن تصاویر ویرایش شده قابل دانلود میباشند.
اولین برنامه ویرایشگر تصویر تحت وب که بررسی میکنید، میتوان گفت که بهترین آنها نیز هست. Adobe Photoshop Express (www.photoshop.com/express) دارای سابقه زیاد در زمینه تولید نرمافزار ویرایشگر تصویر است. این برنامه نگارشی ساده از برنامه کامل Photoshop CS میباشد که همه کنترلهای ویرایشی ساده آن را که برای رفع اکثر مشکلات تصویر مورد استفاده قرار میگیرد، دربر دارد. از همه مهمتر اینکه این سرویس بطور رایگان عرضه میشود.
برای شروع کار با Photoshop Express تصاویر خود را که قصد ویرایش آنها را دارید به سایت ارسال کنید (شکل 5-119) تا در کتابخانه آنلاین ظاهر شود. سپس بر روی آیکن تصویر در کتابخانه آنلاین دابل کلیک کنید. پنجره ویرایشگر Photoshop Express باز میشود(شکل 5-120).


Adobe به شما امکان ذخیرهسازی تا 2 گیگابایت تصویر را میدهد. شبیه هر برنامه تحت وب ویرایش تصویر دیگری، Photoshop Express با Flickr نیز یکپارچه است بطوری که بتوانید تصاویر ویرایش شده را مستقیماً در سایت Flickr نیز قرار دهید.
FotoFlexer (www.fotoflexer.com) شبیه Photoshop Express یک برنامه رایگان است. این برنامه گزینههای ویرایشی مشابه Photoshop Express فراهم کرده است و البته یکسری ابزارهای بیشتر هم دارد.
همانطور که در شکل 5-121 مشاهده میکنید، پنجره ویرایشی FotoFlexer تصویر ارسال شده فعلی را در یک واسط برگه ای نمایش میدهد. هر برگه برای یک کار خاص طراحی شده است و دارای ابزارهای مخصوص به خود در قسمت بالا میباشد. مثلا در شکل برگه Basic را مشاهده میکنید. برگه های دیگر شامل Effect (افکت های تصویری)، decoration (تزیین تصویر)، animation (متحرک سازی)، و distortion (تغییرشکل) میباشند. برگه Layers به شما امکان کار بر روی تصویر به صورت چندلایه ای جهت ویرایش و اعمال جلوه های تصویری را هم میدهد.

Picnik (www.picnik.com) یکی از سادهترین برنامههای ویرایش تصویر است. همانطور که در شکل 5-122 مشاهده میکنید، این برنامه کارهای ساده ای انجام میدهد. امکان استفاده از جلوه های ویژه نیز با کلیک بر روی برگه Create وجود دارد. جلوه هایی نظیر سیاه سفید، قلم کاری، دانه بندی فیلم، و ... از جمله موارد موجود در آن است. برای اعمال هر کدام کافیست بر روی Apply کلیک کنید.

همانطور که در شکل 5-123 مشاهده میکنید، Picture2Life (www.picture2life.com) ترکیبی از کارهای ویرایشی ساده و جلوه های ویژه را ارائه کرده است. گزینههای ساده آن شامل برش، تغییر اندازه، چرخش، تنظیم روشنایی، کنتراست و رنگ و ... میباشد. جلوه های ویژه آن شامل تار کردن، نرم کردن لبه، emboss، pixelate و ... میباشد. علاوه بر این Picture2Life به شما امکان ایجاد کولاژ و فایلهای متحرکت Gif را با استفاده از تصاویری که دارید میدهد.

Pikifx (www.pikifx.com) شاید سادهترین برنامه آنلاین از نظر سهولت استفاده باشد. همانطور که در شکل 5-124 مشاهده میکنید، بسیاری از گزینههای اولیه ویرایشی در بالای تصویر وجود دارد، اعمال هر جلوه با کلیک بر روی تصویر آن در نوار کناری سمت چپ امکانپذیر است.

Preloadr (www.preloadr.com) به دو دلیل برنامه جالبی است. اول اینکه با Flickr به خوبی یکپارچه است (شکل 5-125) و در حقیقت شما در حساب Flickr خود وارد می شوید تا به بخش ویرایشگر Preloadr دسترسی داشته باشید. دوم اینکه Preloadr ابزارهای ویرایشی حرفه ای متنوعی را ارائه میدهد که در بسیاری از سایتهای دیگر وجود ندارد. نظیر لایه ها، cureves، histogram و ...
بعد از اینکه وارد برنامه شدید، لیستی از همه تصاویر را که قبلا در Flickr قرار داده اید مشاهده خواهید کرد. سپس میتوانید هر کدام از آنها را با استفاده از واسط ساده یا ابزارهای پیچیده ویرایش کنید. بعد از اینکه تصویر را ویرایش کردید، میتوانید آن را با نسخه قبلی در Flickr جایگزین کرده یا تحت عنوان یک نسخه جدید ذخیره کنید.

Phixr (www.phixr.com) یک ویرایشگر تصویر آنلاین با قابلیتهای ساده است. در شکل 5-126 مشاهده میکنید که واسط این برنامه شبیه برنامه فتوشاپ و دیگر برنامههای رایج ویرایش تصویر است. گزینههای ویرایشی از طریق دکمه های واقع در سمت چپ تصویر اصلی امکانپذیر است.

Phixr به شما امکان چرخاندان، برش، و flip کردن تصویر را میدهد. همچنین میتوانید رنگ تصویر را تنظیم کنید، آن را سیاه سفید کنید، متن یا حباب به آن اضافه کنید و یا از جلوه های تصویری بر روی آن استفاده کنید.
برنامه Pixenate (www.pixenate.com) واسط ویرایشی مبتنی بر دکمه ارائه داده است. همانطور که در شکل 5-127 مشاهده میکنید، برای اعمال هر جلوه تصویری باید روی دکمه مربوط به آن در سمت چپ تصویر کلیک کنید. اگر از نتیجه راضی نبودید بر روی Undo کلیک کنید تا به حالت اول برگردد.

برنامه Snipshot (www.snipshot.com) که قبلا تحت عنوان Pixoh شناخته می شد، یک واسط ویرایشی بسیار جالب ارائه داده است. همانطور که در شکل 5-128 مشاهده میکنید، وقتی روی یک دکمه از بالای تصویر کلیک کنید، کنترلهای مربوط به آن در صفحه ظاهر میشود. مثلاً با کلیک بر روی دکمه Effects، کنترل های مربوط به اعمال افکت های تصویری را مشاهده خواهید کرد.
شما همه کنترل های ساده ویرایش تصویر و انواع مختلفی از افکت های تصویری را در اختیار خواهید داشت. برخلاف برخی از سرویسهای دیگر، Snipshot به شما امکان ویرایش تصویر بسیار بزرگ (تا 10 مگابایت با اندازه 5000*5000 پیکسل) را هم میدهد.

ویرایش تصاویر با یک برنامه تحت وب ساده است. شما میتوانید ویرایش تصویر را از هر رایانهای انجام دهید و نیاز به نصب نرمافزاری نیز نمیباشد. حتی راحت از آن توانایی به اشتراکگذاری تصاویر با دیگران از طریق ابر و بواسطه انجمن ها و گروههای به اشتراکگذاری تحت وب است.
همه این سایتهای به اشتراکگذاری تصویر شبیه هم هستند. شما تصاویر خود را برای ارسال به سایت انتخاب میکنید، آنها را در پوشه ها یا آلبومها سازماندهی میکنید و سپس میتوانید شخصی بودن یا عمومی بودن آنها را مشخص کنید. بعضی از سایتها به دوستان شما اجازه دانلود تصاویر را میدهند. بعضی دیگر فقط اجازه مشاهده آنها را میدهند. از طریق بعضی دیگر امکانات چاپ تصویر با دریافت هزینه نیز فراهم شده است. سایتهای قوی تر دارای گروهها و انجمن ها موضوع بندی شده هستند.86
یک بخش جالب از مجموعه برنامههای تحت وب Apple MobileMe، برنامه MobileMe Gallery (www.me.com) است. شما میتوانید تصاویر را از رایانه یا iPhone خود به Mobile Me Gallery ارسال کنید. به این ترتیب این تصاویر بعداً توسط هرکسی که شما دعوت کنید قابل مشاهده خواهد بود. شکل 5-129 به شما نشان میدهد که چگونه MobileMe Gallery تصاویر شما را آلبومهای وب سازماندهی میکند. هزینه کل مجموعه MobileMe سالیانه 99 دلار است و در مجموع 20 گیگابایت فضای ذخیرهسازی فرام میکند.

سایت dotPhoto (www.dotPhoto.com) برای کاربران خانگی رایگان است ولی برای سفارش های چاپ تصویر هزینه دریافت میکند. عکاسان حرفه ای میتوانند از dotPhoto برای میزبانی تصاویری که در وب سایت خود نمایش میدهند استفاده کنند و سپس سفارش های چاپ را از طریق dotPhoto انجام دهند.
DPHOTO (www.dphoto.com) دو سطح از عضویت را فراهم کرده است. نگارش Lite به شما امکان ذخیرهسازی تا 1000 تصویر بازای 3 دلار در ماه را میدهد. نگارش Pro امکان ذخیرهسازی نامحدود را بازای 7 دلار در ماه فراهم کرده است. شبیه بسیاری از سایتهای دیگر، DPHOTO به شما آدرس وب اختصاصی برای تصاویرتان به شکل yourname.dphoto.com میدهد.
نسبت به همه سایتهای اشتراک تصویر، میتوان گفت که مشهورترین آنها Flickr (www.flickr.com) است. شما میتوانید آن را در شکل 5-129 مشاهده کنید. Flickr به هر عکاس یک صفحه خانگی اختصاص میدهد.

بعد از اینکه حساب کاربردی خود را بطور رایگان در Flickr ایجاد کردید، ارسال تصاویر در آن به سادگی چندکلیک است. فقط به صفحه خانگی Flickr بروید و روی لینک Upload Photos کلیک کنید. سپس میتوانید فایل مورد نظر خود را جهت آپلود انتخاب نموده و برچسب ها (تگ ها) و توضیحات مورد نیاز را مشخص کنید. به این ترتیب تصویر در صفحه شخص شما قرار خواهد گرفت و در صورتی که آن را بصورت تصویر خصوصی تنظیم کرده باشید، کاربرهای تعیین شده توسط شما میتوانند آن را مشاهده کنند.
حساب های رایگان Flickr به شما امکان ارسال 100 مگابایت در هر ماه میدهند. اگر نیاز به ارسال تصاویر بیشتری داشتید، یا اینکه بخواهید کنترل بیشتری بر روی نحوه تصاویر خود داشته باشید، میتوانید بازای 24.95 دلار در ماه از حساب Pro استفاده کنید. به این ترتیب امکان ارسال و ذخیرهسازی نامحدود و توانایی سازماندهی تصاویر در مجموعهها را خواهید داشت.
یکی از بهترین موضوعات مربوط به Flickr، انجمن های آن است که امکان درج توضیحات در خصوص تصاویر و بحث و گفتگوی اعضا را فراهم ساخته است. اگر شما به عکاس به عنوان یک سرگرمی یا حرفه علاقه دارید، Flickr انتخاب خوبی برای شما خواهد بود.
Fotki (www.fotki.com) شبیه Flickr هم حساب های رایگان و هم غیررایگان را فراهم آورده است. یک حساب رایگان آن 50 مگابایت فضا فراهم میکند. حساب های غیررایگان آن با 30 دلار در سال امکان ذخیرهسازی نامحدود و بسیاری از ویژگیهای دیگر نظیر فروش تصاویر از طریق سایت Fotki را فراهم میکند.
MyPhotoAlbum (www.myphotoalbum.com) همانطور که نام آن نشان میدهد، روی نمایش تصاویر دیجیتال شما در آلبومهای تصویری آنلاین تمرکز کرده است. شما یک آدرس وب منحصر به فرد برای آلبوم خود خواهد داشت که به این ترتیب به راحتی میتوانید آن را با دوستان و خانواده به اشتراک بگذارید. حتی میتوانید آلبوم خود را با قالب ها و لایه های مختلف سفارشی کنید. مهم تر از همه اینکه همه این خدمات رایگان است.
Photobucket (www.photobucket.com) یک سایت اشتراکگذاری رایگان دیگر است. شما میتوانید آلبومهای تصویری ایجاد کنید که در خود این سایت و یا در صفحات بلاگ یا Facebook یا MySpace شما نمایش داده شود.
Picasa Web Album (picasaweb.google.com) محصول گوگل در بازار اشتراکگذاری تصویر است. خدمات Picasa Web Album با نرمافزار ویرایش تصویرGoogle Picasa یکپارچه است. این خدمات رایگان ارائه میشود و این امکان نیز وجود دارد که بتوانید محلی که هر عکس را گرفتهاید در یک نقشه مشخص کنید.
Pixagogo (www.pixagogo.com) با قیمت 5 دلار در ماه ارائه میشود. با این هزینه میتوانید از فضای ذخیرهسازی تصویر نامحدود آن استفاده کنید. همچنین گالری تصویر شخصی خود را خواهید داشت. امکان سفارش چاپ تصاویر نیز در سایت فراهم شده است.
PictureTrail (www.picturetrail.com) امکان اشتراک تصاویر را با نمایش های آنلاین جذاب و ویرایشگر تصویری آن امکان افزودن تصاویر تفننی را به عکس های شما میدهد. عضویت در این سایت رایگان است.
SmugMug (www.smugmug.com) یک انجمن اشتراکگذاری تصاویر است که با هدف رقابت مستقیم با Flickr ایجاد شده است. SmugMug واسط نسبتاً بهتر و امکان ذخیرهسازی نامحدود با هزینه 39.95 دلار در سال را فراهم کرده است. بعنوان یکی از مزایای رایانش ابری لازم به ذکر است که این سایت سه کپی از تصاویر شما را روی سرورهای خود در نقاط مختلف نگهداری میکند.
WebShots (www.webshots.com) یک انجمن اشتراک تصویر است که بسیاری از ویژگیهای آن مشابه Flickr است. حساب کاربری رایگان آن به شما امکان ذخیره سزای تا 1000 تصویر (به اضافه 100 تصویر بیشتر بازای هر ماه عضویت) را میدهد. حساب های غیر رایگان آن امکان اشتراکگذاری 5000 تصویر (به اضافه 500 تصویر بیشتر برای هر ماه عضویت) با هزینه 2.59 دلار در ماه را فراهم میکند.
Zenfolio (www.zenfolio.com) بعنوان فضایی برای عکاسان حرفه ای به منظور ذخیرهسازی، نمایش و فروش کارهایشان طراحی شده است. این سایت سه طرح میزبانی مختلف دارد. Basic (1 گیگابایت ذخیرهسازی بازای 25 دلار در سال)، Unlimited (ذخیرهسازی نامحدود بازای 40 دلار در سال)، و Premium (ذخیرهسازی نامحدود با حجم فایلهای بزرگتر بازای 100 دلار در سال).
آخرین سایت اشتراک تصویری که معرفی میکنیم Zoto (www.zoto.com) است که امکان ذخیرهسازی نامحدود را بازای 19.95 دلار در سال فراهم می آورد. Zoto به کاربران اجازه ذخیرهسازی و به اشتراکگذاری تصاویر را در انواع مختلف آلبومها میدهد. همچنین شما میتوانید تصاویری را که در Zoto قرار داده اید را در Flickr یا بلاگ خود منتشر کنید.
در بخشهای قبل این فصل، ما همه نمونه های سرویسهای ابری را بررسی کردیم. از تقویم های تحت وب و برنامههای مدیریت تماس گرفته تا واژه پردازها، صفحات گسترده و برنامههای ارائه آنلاین. اما یک گروه دیگر از برنامهها وجود دارد که هنوز بررسی نشده است. این گروه میتواند همه برنامههای قبل را در یک پنجره واحد با همدیگر دربر بگیرد.
این نوع از برنامه در اصل برنامه نیستند. آنها سیستمهای عامل کوچکی هستند که ویژگیهای پایه سیستمهای عامل (نظیر ویندوز، لینوکس و مکینتاش) را ارائه میدهند بعلاوه اینکه ویژگی اصلی آنها این است که یک سرویس ابری هستند. ما در خصوص چیزی صحبت میکنیم که میتوانیم آن را دسکتاپ (میزکار) تحت وب بنامیم.
یک میزکار تحت وب یا webtop در حقیقت شکل مجازی یک دسکتاپ است که در داخل مرورگر نمایش داده میشود. ظاهر گرافیکی آن میتواند شبیه ویندزو، مکینتاش یا دیگر سیستمهای عامل باشد و شامل برنامههای کاربردی نیز باشد. webtop و همه برنامههای آن به همراه تنظیمات شخصی شما (مثلا نحوه نمایش میزکار) در ابر ذخیره میشوند، بطوریکه بتوانید به آن از طریق وب دسترسی داشته باشید.87
میزکار تحت وب در حالت عمومی میتواند شامل مرورگر، برنامه ایمیل، تقویم و شاید برنامه پیغام رسان فوری باشد. در خیلی از حالت، میتوان برنامههای واژه پرداز، صفحه گسترده و حتی برنامههای ارائه را نیز در آنها پیدا کرد. بعبارت دیگر، همه برنامههای مورد نیاز شما میتوانند از طریق یک میزکار تحت وب در همه جا در دسترس شما باشند.
البته، مزیت اصلی میزکار تحت وب این است که شما محیط شخصی محاسباتی خود را خواهید داشت که از یک رایانه به رایانه دیگر تغییر نمیکند و حتی با موبایل ها نیز سازگار است. تمام کاری که باید انجام دهید این است که از طریق مرورگر وارد میزکار خود شوید و هر کاری که انجام دهید، به همراه برنامهها و فایلهای شما آنجا خواهد ماند. تمام محیط میزکار شامل رنگها، تصاویر زمینه و دیگر مشخصه های آن نیز قابل سفارشی کردن خواهد بود.
بعضی از مردم به میزکار تحت وب به عنوان سیستم عامل تحت وب یاد میکنند زیرا قابلیتهای آنها شبیه یک سیستم عامل است که در وب قرار دارد. البته نمیتوان این موضوع را درست دانست، زیرا این سیستم عامل نمیتواند جایگزین سیستم عامل فعلی شما شود، بلکه بر روی سیستم عامل شما و یا بهتر بگوییم در داخل مرورگر شما اجرا میشوند.
بسیاری از میزهای کار تحت وب ظاهری شبیه سیستم عامل ویندوز دارند که در قسمت پایین نوارکار و منوی Start نیز قرار دارد. بعضی دیگر ظاهر متفاوتی ایجاد کردهاند. طبیعتاً شما میتوانید webtop مورد دلخواه خود را انتخاب کنید.
تعداد زیادی میزکار تحت وب وجود دارد که در حال رقابت با هم هستند. برخی از آنها رایگان هستند و برخی دیگر هزینه عضویت دریافت میکنند. در اینجا مشهور ترین آنها را بررسی خواهیم کرد.
یک نمونه میزکار با قابلیتهای کامل ajaxWindows (www.ajaxwindows.com) است که چندین برنامه کلیدی نظیر ajaxWrite، ajaxSketh و ajaxPresent در آن یکپارچه شده است. همانطور که در شکل 5-131 مشاهده میکنید، واسط ajaxWindows بسیار شبیه ویندوز است که بنابراین برای تازه کارها کار کردن با آن بسیار ساده خواهد بود. بسیاری از قابلیتهای استاندارد میزکار ویندوز در آن تکرار شده است (مانند آیکن های میزکار، منوی شروع، نوار وظیفه، نوار widget های کناری). البته شما میتوانید برنامهها دلخواه خود را نیز به میزکار اضافه کنید و تصویر زمینه و الگوی رنگی آن را به دلخواه سفارشی کنید.

ثبت نام در این سایت با تمام قابلیتهای آن (مشتمل بر برنامهها و فضای ذخیرهسازی) رایگان است و بنابراین یک انتخاب خوب برای همه کاربران خواهد بود.
Deskjump (www.deskjump.com) مجموعهای از برنامههای تحت وب را ارائه میدهد. شکل 5-132 صفحه آن را به همراه برخی از برنامههای رایج نشان میدهد. شما یک برنامه ساده واژه پرداز، صفحه گسترده، کلاینت ایمیل، دفترچه آدرس، تقویم تحت وب، نمایشگر تصویر و مدیریت فایل به همراه 1 گیگابایت فضای ذخیرهسازی و وبلاگ و وبسایت شخصی از جمله ویژگیهای آن است. اگرچه برنامههای بسیار پیچیدهتر را ارائه نمیدهد، اما استفاده از آن ساده و رایگان است.

Desktoptwo (www.desktoptwo.com) همانطور که در شکل 5-133 نشان داده شده است، به استثنای پنجره های تبلیغاتی آزاردهنده ای که در آن است، یک میز کار مرتب است. هزینهاین سرویس رایگان است. برنامههایی که در آن وجود دارد به اندازه بعضی از میزکارهای دیگر زیاد نیست. از این بین میتوان به برنامه ایمیل، تقویم، دفترچه آدرس، پیغام رسان، MP3 Player و یک دفترچه یادداشت. اما در حال حاضر برنامه واژه پرداز و صفحه گسترده ندارد.

میزکار eyeOS (www.eyeos.org) شامل مجموعهای از برنامههای پرکاربرد نظیر واژه پرداز، صفحه گسترده، ارائه، ایمیل، مدیریت تماس، تقویم، نمایشگر تصویر و مدیریت فایل است. همه برنامهها با فرمت فایلهای موجود در Microsoft Office سازگار هستند همانطور که در شکل 5-134 مشاهده میکنید، میزکار آن خیلی ساده است و یک صفحه شروع دارد که به کاربران تازه کار کمک میکند.

این برنامه مخفف "globally hosted operating system" است و آدرس سایت نیز به همین صورت است. در اینجا شما 5 گیگابایت فضای ذخیرهسازی فایل و امکان دسترسی بصورت FTP را خواهید داشت و برنامههای دیگری نظیر پیغام رسان، کلاینت ایمیل و مرورگر وب نیز در اختیار شما خواهد بود. برنامه مفید دیگر آن از مجموعه Zoho است که شامل Zoho Writer و Zoho Sheets میباشد. همچنین انواع مختلف widget ها نیز در آن موجود است (شکل 5-135).

ما انواع مختلف برنامههای تحت وب Glide را قبلا بررسی کردیم. ترکیب همه آنها در یک میزکار تحت عنوان Glide OS (www.glidedigital.com) قابل دسترس است. Glid OS را همانطور که در شکل 5-136 مشاهده میکنید، شامل برنامه واژه پرداز (Write)، صفحه گسترده (Crunch)، برنامه ارائه (Present)، ویرایشگر تصویر، تقویم، کلاینت ایمیل، پخش رسانه، دیسک مجازی و ... میباشد.

میزکار Nivio (www.nivio.com) باید برای اکثر کاربران رایانه آشنا باشد. در شکل 5-137 مشاهده میکنید که ظاهر آن بسیار شبیه ویندوز 2000 است که در وب میزبانی شده است و میتوانید با استفاده از مرورگر وب به آن دسترسی داشته باشید. هزینه آن ماهیانه 4.99 دلار است. به این ترتیب شما نگارش تحت وب Nevio Windows 2000 به همراه مجموعه Microsoft Office، برنامه Microsoft Explorer، برنامه Adobe Reader و دیگر برنامههای معروف را در اختیار خواهید داشت. شاید بتوان گفت که Nivio کاملترین میزکار تحت وب باشد.

StartForce (www.startforce.com) یک میزکار شبیه ویندوز فراهم کرده است (شکل 5-138). این میزکار با برنامههای Zoho یکپارچه شده است و همچنین دارای برنامههای پیغام رسان، مرورگر وب، پخش رسانه میباشد و امکان آپلود فایل بصورت انبوه را دارد.

آخرین برنامه میزکار تحت وب که معرفی میکنیم، YouOS است که یک میزکار ساده نسبت به دیگر مواردی است که پیش از این بررسی کردیم. همانطور که در شکل 5-139 مشاهده میکنید، این میزکار شامل یک ویرایشگر متن ساده، برنامه مدیریت فایل، مرورگر وب، برنامه گفتگو / پیغام رسان و یادداشت میباشد. در این محیط امکان سفارشی سازی زیادی وجود ندارد. ارزش این سایت بیشتر از آن جهت است که بعنوان یک انجمن برنامه کاربردی "application community" شناخته میشود بطوریکه برنامه نویسان و توسعهدهندگان میتوانند برنامهها یا widget های خود را در YouOS ایجاد کنند.

در این بخش، می از سرویسهای ابری و ذخیرهسازی ابری فراتر رفته به به سراغ ابزارهای ارتباطی می رویم. اگرچه همه این ابزارها مبتنی بر ابر نیستند (بعضی از آنها در سرورهای اختصاصی بصورت کلاینت/سرور میزبانی میشوند. بعضی دیگر بصورت p2p هستند)، اما همه آنها مبتنی بر وب بوده و به مشارکت گروهی کمک میکنند. این دو ویژگی اصلی برنامههای رایانش ابری است.
سه نوع مختلف از ابزارهای ارتباطی وجود دارد: سرویسهای ایمیل تحت وب، سرویسهای پیغام رسانی فوری، و ابزارهای وب کنفرانس. گروههایی که در هرجای دنیا قرار داشته باشند، میتوانند از این ابزارها برای برقراری ارتباط با دیگر اعضای گروه استفاده کنند.
بعضی افراد از برنامههای کلاینت نظیر Microsoft Outlook برای دریافت و ارسال ایمیل استفاده میکنند که پروتکلهایی نظیر POP3 را برای دریافت ایمیل ها از صندوق پست الکترونیکی بکار میگیرند میکنند. مشکل این برنامهها این است که افراد تا حدی به برنامه ایمیل نصب شده در یک رایانه وابسته میشوند. پیغام های دریافت شده در آن رایانه ذخیره میشود و معمولاً وقتی دور از رایانه خود هستید، ممکن است نوانید به راحتی آنها دسترسی داشته باشید. این برنامهها ویژگی همه جا و همه وقت سرویسهای ابری را ندارند.
راه بهتری که برای مدیریت ایمیل های شما وجود دارد، استفاده از سرویسهای ایمیل تحت وب است. بر خلاف ایمیل های POP3، ایمیل های تحت وب میتوانند از هر رایانهای و با هر مرورگری مورد استفاده قرار گیرند و همه پیغام ها در وب ذخیره میشود. مشابه یک سرویس ابری، نرمافزار اضافه ای مورد نیاز نمیشود. این کار به شما امکان بازیابی و مدیریت ایمیل هایتان را هر جا که باشید فراهم میکند.
نه تنها ایمیل تحت وب، نسبت به برنامههای رومیزی متنوع تر است، بلکه استفاده از آن نیز سادهتر است. همه کاری که باید انجام دهید این است که ID و کلمه رمز خود را بدانید. سپس میتوانید از طریق وب وارد صفحه صندوق پست الکترونیکی خود شوید، پیغام های دریافتی را بخوانید و پاسخ بدهید، پیغام جدید ایجاد کنید و یا پیغام های دریافتی را در پوشه هایی سازماندهی کنید. حتی در برخی موارد میتوانید به سرویس POP3 خود که در سرور دیگری ممکن است قرار داشته باشد، بطور مستقیم از طریق وب دسترسی داشته باشید.
سه سرویس دهنده بزرگ ایمیل تحت وب، Google، Microsoft، و Yahoo! میباشند. علاوه بر این اکثر برنامههای رومیزی که در بخش قبل بررسی کردیم، سرویسهای ایمیل تحت وب اختصاصی خود را دارند.
سرویس ایمیل گوگل Gmail (mail.google.com) نامیده میشود. این سرویس رایگان است و واسط آن همانطور که در شکل 5-140 مشاهده میکنید، بسیار شبیه سایر رقبا میباشد.

اما Gmail ویژگیهای منحصر بفردی نیز دارد که آن را از دیگر سرویس دهنده ها متمایز میکند. اول اینکه Gmail از پوشه ها استفاده نمیکند. با Gmail شما نمیتوانید ایمیل ها را در داخل پوشه ها قرار دهید در صورتیکه این کار در دیگر سرویس دهنده قابل انجام است. در عوض Gmail از ایده جستجو خود برای پیدا کردن پیغام های مورد نظرتان استفاده میکند. در این سیستم میتوانید هر یک از پیغام ها را با استفاده از برچسب ها، یک یا چند نشانه (tag) بگذارید. این کار مانند ایجاد پوشه های مجازی است، و میتوانید پیغام ها را بر اساس برچسب هایشان جستجو کنید یا مرتب کنید.
علاوه بر این، Gmail پیغام های مرتبط به هم را در مجموعهای تحت عنوان conversations کنار هم قرار میدهد. هر conversation معمولا با یک پیغام آغازین شروع میشود و همه پاسخ های ارسال شده و دریافت شده بعدی به آن متصل میشود. یک مکالمه میتواند همه پیغام هایی که روزانه از یک منبع خاص با یک عنوان مشخص میآید را در بر بگیرد.
Gamil رایگان است و از اوایل سال 2008، حدود 6 گیگابایت فضا برای هر یک از کاربران خود فراهم کرده است و البته این به مرور افزایش پیدا کرده است.
Yahoo! Mail (mail.yahoo.com) یکی دیگر از سرویسهای ایمیل تحت وب است که توسط سایت Yahoo! ارائه شده است. نسخه ساده Yahoo! Mail رایپان است اما سرویسهای غیررایگان نیز دارد که Yahoo! Mail Plus نامیده میشود و به شما امکان ارسال ایمیل های بزرگتر و نیز امکان درتسی آفلاین به ایمیل ها با استفاده از کلاینت های POP3 را میدهد.
چه از سرویس رایگان استفاده کنید و چه از سرویس غیررایگان، Yahoo! Mail به شما فضایی نامحدود میدهد که به معنای این است که شما میتوانید از سرویس پستی یاهو بعنوان سیستم کپی پشتیبان یا ذخیرهسازی فایل استفاده کنید. تمام کاری که باید انجام دهید این است که فایلهای مورد نظرتان را که می خواهید ذخیره کنید، به خودتان ایمیل کنید.
همانطور که در شکل 5-141 مشاهده میکنید، واسط کاربری Yahoo! Mail نسبت به Gmail قابلیتهای بیشتری دارد. امکان سازماندهی پیغام ها در ساختار سنتی مبتنی بر پوشه در اینجا فراهم است. در این سرویس پستی از فیلتر یاوه نامه SpamGuard و ویرویس یاب شرکت Norton استفاده میشود.

Hotmail یکی از اولین سرویس دهنده های پست الکترونیکی بود که هنوز هم یکی از بزرگترین آنهاست. اما دیگر Hotmail نامیده نمیشود. مایکروسافت آن را به مجموعه سرویسهای آنلاین Windows Live خود منتقل کرده است . اکنون Windows Live Hotmail نامیده میشود.88
شبیه هر سرویس پست الکترونیکی دیگری، Hotmail نیز میتواند توسط وب و از هر رایانهای بصورت رایگان مورد استفاده قرار بگیرد. حجم ذخیرهسازی آن 5 گیگابیت است. همانطور که در شکل 5-142 مشاهده میکنید، واسط جدید آن بسیار جالب توجه است. این سرویس همچنین با برنامههای مدیریت تماس و تقویم Windows Live یکپارچه شده است.

بعنوان بخشی از مجموعه برنامههای MobileMe، شرکت اپل سرویس MobileMe Mail (www.me.com) را نیز ارائه داده است. چیزی که MobileMe Mail را تا حدی از دیگر سرویسهای پستی متمایز ساخته است، این است که تنها به رایانه کاربران محدود نبوده، بلکه میتوانید از دستگاه های iPhone و iPod و از طریق شبکه موبایل یا بی سیم از سرویس پستی خود استفاده کنید.
MobileMe Mail یک سرویس تحت وب است که میتواند از طریق برنامههای ایمیل تحت ویندوز نظیر Outlook یا سیستم عامل های دیگر مورد استفاده قرار بگیرد. واسط آن را میتوانید در شکل 5-143 مشاهده کنید.

برخلاف دیگر سرویسهای پستی که اینجا بررسی کردیم، MobileMe Mail رایگان نیست بلکه بخشی از مجموعه برنامههای MobileMe است که قیمت استفاده از آنها 99 دلار در سال میباشد.
Gmail، Yahoo! Mail و Windows Live Hotmail سه تا از بزرگترین سرویس دهنده های پست الکترونیکی هستند و البته MobileMe Mail نیز رقیب آنهاست، اما در حقیقت صدها سرویس پست الکترونیکی مستقل دیگر نیز وجود دارد. مثلا شرکت Zoho در مجموعه برنامههای خود سرویس پست الکترونیکی را نیز دارد و یا در اکثر میزکارهای تحت وب نیز میتوان این سرویس را یافت. لیستی از دیگر سرویس دهنده بزرگ پست الکترونیکی را در زیر مشاهده میکنید:
AOL Mail (mail.aol.com)
BigString (www.bigstring.com)
Excite Mail (mail.excite.com)
FlashMail (www.flashmail.com)
GMX Mail (www.gmx.com)
Inbox.com (www.inbox.com)
Lycos Mail (www.mail.com)
Mail.com (www.mail.com)
Zoho Mail (zoho.mail.com)
ایمیل تنها یکی از راه های برقراری ارتباط آنلاین است. برای بسیاری از کاربران، پیغام رسانی فوری89 راه بهتری برای گفتگو و صحبت است. سرویس پیغام رسانی، سریعتر است، زیرا میتوانید متن را بصورت بلادرنگ برای دوستان و همکاران خود بفرستید. نیاز نیست منتظر شوید تا دیگران به ایمیل شما پاسخ دهند، وقتی هر دو طرف همزمان آنلاین هستند، میتوانید با این ابزار یک مکالمه یک به یک داشته باشید.
یکی از برنامههای پیغام رسانی که زیاد استفاده میشود، AOL (www.aim.com) است که AIM نیز نامیده میشود. AOLادعا میکند بیش از 60 میلیون کاربر دارد که به این ترتیب بعد از Yahoo! رتبه دوم در زمینه سرویسهای IM دارد. AIM که در شکل 5-144 نشان داده شده است، همه نوع ویژگیهاییی که در یک پیغام رسان متنی ساده مورد نیاز است دربر دارد. شما میتوانید فایل به اشتراک بگذارید، عضو خبرخوان RSS شوید، بصورت گروهی گفتگو کنید، با استفاده از گوشی موبال پیغام بفرستید یا دریافت کنید، بصورت صوتی یا تصویری گفتگو کنید. همچنین میتوانید با استفاده از انواع مختلف افزودنی ها که توسط کاربران ایجاد شده است، ویژگیهای بیشتری را نیز به AIM بیفزایید.

Google Talk هم نام شبکه پیغام رسانی گوگل است و هم نام برنامه IM آن است. شما میتوانید این برنامه را از سایت talk.google.com دریافت نموده و نصب کنید.
برای استفاده از Google Talk هم میتوانید از گدجت تحت وب Google Talk استفاده کنید، هم یک برنامه کلاینت رومیزی برای آن وجود دارد (شبیه به AIM و Yahoo! Messenger) و هم میتوانید از داخل صندوق پست الکترونیکی گوگل (Gmail) به آن دسترسی داشته باشید. در رقابت با دیگر سیستمهای IM، Google Talk به شما امکان ارسال و دریافت هم متن و هم صدا (VoIP) را میدهد. در صورتی که از گدجت Google Talk استفاده کنید، نیاز به دانلود و نصب نرمافزار ندارید (شکل 5-145). برای اجرای آن به آدرس www.google.com/talk/start.html رفته و دکمه Launch Google Talk را کلیک کنید. همانطور که در تصویر مشاهده میکنید، امکان گفتگوی گروهی نیز در این گدجت وجود دارد.

البته اگر قابلیتهای بیشتری نظیر تبادل فایل داشتید، میتوانید برنامه رومیزی Google Talk را دانلود و نصب کنید. اگر طرف مقابل شما هم نرمافزار Google Talk را نصب کرده باشد، میتوانید با همدیگر به تبادل فایل بپردازید.90 البته در رقابت با دیگر سرویسهای AIM، هنوز از Google Talk بطور گسترده استفاده نمیشود.
پدربزرگ همه برنامههای پیغام رسان ICQ (www.icq.com) است91. ICQ در سال 1996 متولد شد اما در 1998 توسط American Online خریداری شد. در حال حاضر AOL دو برنامه AIM و ICQ را بعنوان دو برنامه جداگانه در اختیار دارد. البته شبکه این دو از هم جدا است و بنابراین کاربران ICQ و AIM نمیتوانند با هم صحبت کنند. شبیه اکثر برنامههای پیغام رسان، ICQ نیز کاملاً رایگان است. در این برنامه امکان مکالمه گروهی، ارسال صدا، مشاهده تصویر و ... وجود دارد.
جای تعجب نیست که مایکروسافت هم در بازار برنامههای پیغام رسان شرکت دارد. برنامه پیغام رسان آن در حال حاضر Windows Live Messenger نام دارد. این برنامه همه کارهای اصلی AIM و Yahoo! Messenger را انجام میدهد بیش از 27 میلیون کاربر دارد. 92
Yahoo! Messenger با بیش از 90 میلیون کاربر، مشهورترین برنامه پیغام رسان در حال حاضر است. در شکل 5-146 میتوانید تصویر آن را مشاهده کنید. این برنامه علاوه بر سرویسهای پیغام رسانی و اتاق های گفتگو، امکان دریافت آخرین قیمت های بورس، تیتر آخرین اخبار، نتایج ورزشی، پیش بینی هوا و اطلاع رسانی در خصوص پیغام های دریافتی جدید در صندوق پستی را نیز فراهم کرده است.

ایمیل برای ارتباطات یک به یک که در آن ها زمان زیاد اهمیت ندارد، مناسب است. پیغام رسان فوری برای ارتباطات یک به یک زنده و بلادرنگ که زمان اهمیت دارد مناسب است. اما این ارتباطات هنوز یک به یک است. وقتی که لازم باشد بیش از دو نفر در ارتباطات حضور داشته باشند یا وقتی می خواهید یک ارائه به گروهی از افراد بدهید که در یک مکان یکسان حضور ندارند، یک ابزار ارتباطی متفاوت دیگر نیاز است. این ابزار جدید web conference نام دارد و راهی برای برگزاری جلسات و ارائه های زنده در اینترنت است.
در یک برنامه کنفرانس وب، هر شرکت کننده پشت رایانه خود نشسته است. رایانه هر شرکت کننده از طریق اینترنت به کنرانس متصل است و هر کدام میتواند ارائه را در صفحه نمایش خود بصورت زنده مشاهده کند.
یک کنفرانس وب میتواند یک طرفه (وقتی که ارائه دهنده، در حال نمایش اسلاید یا فایل PowerPoint است) یا دوطرفه (وقتی که هر شرکت کننده بتواند محتوای مورد نظر خود را نمایش دهد) باشد. ارتباطات بین شرکت کنندگان میتواند فقط صوتی (بصورت جریانی از صدا یا VoIP) یا صوتی تصویری (با استفاده از webcam) باشد.
اکثر سرویسهای کنفرانس وب در سرورهای فروشندگان میزبانی میشوند. معمولاً شما باید از قبل با آنها هماهنگی کنید و آنها بقیه کارها را انجام میدهند. بسته به فروشنده، این کار میتواند یک سرویس پرهزینه باشد که فقط برای سازمانهای بزرگ مناسب است. مطمئن باشید که قبل از هرکاری قیمت ها را بررسی کردهاید.
ویژگیهایی که میتوانید از یک سرویس کنفرانس وب انتظار داشته باشید، به این ترتیب هستند:
به اشتراکگذاری برنامه: بطوری که ارائه دهنده و شرکت کنندگان همه بتوانند از یک برنامه یکسان بصورت بلادرنگ استفاده کنند. این ویژگی برای جلسات گروهی کوچک که همه شرکت کنندگان روی یک پروژه کار میکنند، مناسب است.
به اشتراکگذاری میزکار: شبیه به مورد قبل است اما اینبار کل میزکار توسط شرکت کنندگان قابل مشاهده و در دسترس است.
به اشتراکگذاری فایل: به این ترتیب که بتواند فایل یا سند خاصی را برای همه باز کرد تا ویرایش کنند. این ویژگی نیز برای کارهای گروهی مشارکتی مفید است.
ارائه اسلاید: بخش اصلی هر ارائه ای است بطوریکه ارائه دهنده بتواند فایلهای PowerPoint خود را بصورت زنده با کلیه جزئیات آن (مثلا انیمیشن ها) و با استفاده از صدا ارائه دهد.
یادداشت های ارائه دهنده: به ارائه دهنده اجازه میدهد که درطول درس، یادداشت برداری کند.
توضیحات(Annotation): به ارائه دهنده اجازه میدهد که سند یا ارائه به اشتراک گذاشته شده را با استفاده از ابزارهای ترسیم در صفحه علامت گذاری کند.
تخته سفید: یک صفحه خالی است که ارائه دهنده یا شرکت کنندگان میتوانند در آن ترسیم کنند یا علامت گذاری کنند.
گفتگوی متنی: به شرکت کنندگان اجازه بحث با همدیگر را بصورت زنده میدهد.
کنفرانس صوتی: امکان اضافه کردن فایل صوتی را به ارائه PowerPoint و پخش آن در حین ارائه را میدهد. همچنین همه شرکت کنندگان میتوانند صحب کنند.
کنفرانس تصویری: که تصویر ارائه دهنده در گوشه صفحه کنفرانس نمایش داده میشود که این صفحه معمولا توسط webcam تولید میشود. در صورتی که دو طرفه باشد، تصاویر شرکت کنندگان نیز نمایش داده میشود.
نظرسنجی (رای گیری): به ارائه دهنده امکان پرسیدن سئوال را از حاضرین میدهد.
کوئیز: به شرکت کنندگان امکان پاسخ دادن به سئوالات را میدهد. نتایج معمولا بصورت زنده در یک جدول نمایش داده میشود.
بعضی از سیستمهای کنفرانس وب، همه این ویژگیها را دارند. بعضی دیگر زیرمجموعهای از اینها را دارند. بنابراین پیش از تهیه سرویس، ویژگیهای آن ها را متناسب با نیاز خود بررسی کنید.
برنامه Adobe Acrobat Connect (www.adobe.com/products/acrobatconnect) سرویس اتاق های جلسه را برای سازمانهای بزرگ بازای 39 دلار در ماه (به بالا) فراهم میکند. در این سرویس، کنفرانس صوتی/تصویری، اشتراکگذاری صفحه، تخته سفید و قابلیت گفتگو فراهم شده است.
شکل 5-147 صفحه یک کنفرانس وب برگزار شده با استفاده Acrobat Connect را نشان میدهد. در پنجره اصلی آن یک برنامه به اشتراک گذاشته شده است که میزکار ارائه دهنده است. ارائه دهنده از طریق webcam در گوشه بالا سمت چپ پنجره ظاهر شده است و گفتگوی متنی افراد در پنجره زیر آن نمایش داده میشود.

برنامه Convenos Meeting Center (www.convenos.com) یک سرویس کنفرانس تحت وب است که قیمت آن از 30 دلار در ماه شروع میشود. بازای آن قیمت، شما امکان به اشتراکگذاری فایل و سند، ارائه های آنلاین، تخته سفید و نظرسنجی (رای گیری) خواهید داشت. این سرویس با برنامه کنفرانس صوتی Skype نیز یکپارچه است.
برنامه Genesys Meeting Center (www.genesys.com) ویژگیهای مشابه Convenos را ارائه میکند. Genesys به شما امکان ارائه PowerPoint آنلاین، به اشتراکگذاری فایل و سند، گفتگو، نمایش ویدئویی میزکار، تخته سفید، رای گیری و کوئیز را میدهد. قیمت آن بر اساس درخواست ارائه میشود.
Glance (www.glance.net) یک سرویس کنفرانس تحت وب است که قیمت پایه آن 49.95 دلار در ماه است. تمرکز اصلی آن بر روی به اشتراکگذاری ساده تصویر بدون نیاز به نصب نرمافزار در سمت کلاینت است.
سرویس کنفرانس IBM که Lotus Sametime (www.ibm/com/sametime) نام دارد، در نگارشهای مختلف عرضه میشود. Entry، Standard، Advanced و Unyte. سرویس کنفرانس وب آن دارای ویژگیهای پیغام رسانی فوری، گفتگوی چند طرفه، VoIP و تصویر نقطه به نقطه است و با اکثر برنامههای رومیزی یکپارچه است. قیمت آن با توجه به اندازه شرکت، متفاوت میباشد.
برنامه Microsoft Office Live Meeting (office.microsoft.com/en-us/livemeeting) دو نگارش موجود است (استاندارد و حرفه ای). قابلیتهای کنفرانس صوتی/تصویری، نمایشگر PowerPoint، یکپارچهسازی با Microsoft Outlook، قابلیت به اشتراکگذاری برنامه و میزکار و ... از ویژگیهای آن است. قیمت آن بازای هر کاربر تعیین میشود.
برخلاف دیگر سرویسها، Persony Web Conferencing (www.persony.com) هزینه ماهیانه دریافت نمیکند. در عوض شما یک هزینه اولیه برای نرمافزار (حدود 995 دلار) پرداخت میکنید و دیگر بابت استفاده از آن هزینهای نمیکنید. بعبارتی دیگر Persony کنفرانس وب شما را میزبانی نمیکند. شما نیاز دارید که روی سرورهای شرکت خودتان میزبانی کنفرانس را انجام دهید. امکانات آن شامل اشتراکگذاری صفحه، ارائه، تخته سفید، اشتراکگذاری عکس، VoIP، ارسال فایل و گفتگو میباشد.
Pixion PictureTalk (www.pixion.com) برنامه کنفرانس با چهار طرح مختلف است. طرح دقیقه ای که بازای هر دقیقه استفاده، باید هزینه پرداخت کنید. طرح فردی که بازای هر یک اتاق کنفرانس مجازی 10 نفره، باید هزینه بدهید. طرح حرفه ای آن بر اساس هر نفر شرکت کننده هزینه پرداخت میکنید و طرح سازمانی آن که به شما امکان میزبانی سرویس را در سرورهای سازمان خودتان فراهم میکند. همه طرح ها دارای امکانات به اشتراکگذاری برنامه و میزکار، تخته سفید، رای گیری و کوئیز، گفتگو و VoIP، کنفرانس صوتی و ... هستند.
Cisco WebEx (www.webex.com) شاید پر استفاده ترین برنامه کنفرانس وب در حال حاضر باشد. نگارشهای مختلف و طرح های قیمت گذاری مختلفی از آن برای سازمانهای بزرگ و کوچک موجود است. ویژگیهای آن شامل پشتیبانی از VoIP، صدا و تصویر یکپارچه، اشتراک برنامه، درج توضیحات بلادرنگ، ضبط و پخش جلسه و ... میباشد. در شکل 5-148 یک نمونه ارائه WebEx را مشاهده میکنید. در این مثال، توضیحات بر روی یک ارائه PowerPoint توسط ارائه دهنده ترسیم شده است در حالی که دیگر شرکت کنندگان در حال گفتگو با هم هستند. ارائه دهنده در این حالت میتوانند در حین ارائه یادداشت بردارد. این یادداشت ها در صفحه مربوط به خود در قسمت پایین نمایش داده میشود.

Yugma (www.yugma.com) سه طرح مختلف را ارائه کرده است و بر اساس اینکه چه تعداد شرکت کننده در جلسه حضور پیدا میکنند، قیمت آنها از 199.95 دلار در سال شروع میشود و تا 899.85 دلار در سال می رسد. ویژگیهای آن شامل به اشتراکگذاری میزکار، کنفرانس راه دور، گفتگوی خصوصی و عمومی، درج توضیحات و تخته سفید است.
آخرین برنامه ای که معرفی میکنیم Zoho Meeting (meeting.zoho.com) است که در حال حاضر یک سرویس کنفرانس وب رایگان است. این سرویس شامل ویژگیهای به اشتراکگذاری برنامه و میزکار، گفتگو، یکپارچه شده با Skype و امکان کنترل از راه دور رایانه است.
وقتی نوبت به همکاری با گروهی از افرادی می رسد که ممکن است در مکان فیزیکی یکسانی نباشند، گرایش طبیعی به سمت وب میباشد. وقتی همه اعضای تیم به اینترنت دسترسی داشته باشند، چرا نباید از آن برای متصل کردن اعضای گروه استفاده کرد تا بتوان از این بستر برای برقراری ارتباط، به اشتراکگذاری فایل و کارهایی از قبیل استفاده نمود. در این بخش ما در خصوص ابزارهایی نظیر شبکه های اجتماعی و گروه افزارهای آنلاین که در چنین بستری قابل استفاده است صحبت خواهیم کرد. شبکه های اجتماعی رایگان هستند ولی نسبتاً محدودترند اما گروه افزارها قابلیتهای زیادی دارند و معمولاً قیمت بالاتری نیز دارند.
شاید از قبل با شبکه های اجتماعی نظیر Facebook و MySpace آشنا باشید. شبکه اجتماعی یک سایت است که با هدف تشکیل جامعه ای از کاربران ایجاد شده است. هر کسی میتواند پروفایل شخصی خودش را داشته باشد. هر کاربر میتواند اطلاعاتی را در پروفایل خودش قرار دهد تا کاربران با علایق مشابه بتوانند او را بعنوان دوست در این جامعه انتخاب کنند، و مجموعه دوستانی داشته باشند که در ایجاد یک جامعه شخصی موفق کمک میکنند. صفحات مختلف پروفایل میتواند شامل بلاگ، تالار بحث و فضای گفتگو میباشد بطوریکه دوستان بتوانند با پروفایل شخص ارتباط برقرار کنند. استفاده صحیح از شبکه های اجتماعی میتواند فواید و ارزش زیادی برای خانواده ها، شرکتها و گروهها داشته باشد.
بسیاری از سایتهای شبکه های اجتماعی به شما امکان ایجاد گروهی با عنوان دلخواه شما را فراهم میکنند. در این حالت، یک گروه را مجموعهای از کاربرانی تشکیل میدهد که عقیده مشابهی دارند. اعضای گروه میتوانند از طریق بخش گفتگو با هم ارتباط برقرار کنند، تصاویر و ویدئوها را با هم به اشتراک بگذارند و حتی اسناد را دیگر فایلها را ارسال و یا دریافت کنند. به عبارت دیگر، یک گروه شبکه اجتماعی شبیه یک اتاق جلسه یا انجمن مجازی است. بجای پست کردن اطلاعیه ها در یک بورد اعلانات فیزیکی، شما میتوانید آنها را در یک بورد پیغام مجازی قرار دهید. همچنین بجای تبادل بروشور و کاغذ بصورت دستی، میتوانید تصاویر و اسناد و دیگر فایلها را در سایت ارسال کرده و آنها را برای همه به اشتراک بگذارید. بدلیل اینکه اکثر شبکه های اجتماعی برای استفاده همه رایگان هستند (در قبال آن در صفحات، تبلیغات نمایش داده میشود)، یک راه ارزان برای به روز نگه داشتن و سازمان دادن به اعضای گروه است.
شبکه های اجتماعی بطور خاص برای گروهها، دوستان و خانواده ها مناسب هستند. درآنها قابلیتهای کافی آنقدر فراهم شده است که همه بتوانند با هم دیگر بدون هزینه در تماس باشند. هیچ پشتیبانی IT مورد نیاز نمیباشد و نیاز به کرایه کردن فضای وب نیز نمیباشد. سایت شبکه اجتماعی خودش مسئولیت نگهداری سرورها و تکنولوژیهای مرتبط را برعهده دارد. عضویت در این سایتها و استفاده از آنها نیز بسیار ساده است که بنابراین برای گروههای با اعضای غیرفنی نیز مناسب است.
گروههای شبکه اجتماعی برای شرکتهای بزرگ تر کارآیی کمتری دارند زیرا فاقد ویژگیهای همکاری پیشرفته برای پیگیری پروژه های گروهی هستند. علاوه براین تبلیغات موجود در صفحات نیز برای آنها ناخوشایند (anathema) است. نهایتا اینکه بسیاری از شرکتها تمایلی به انجام کارهای تجاری خود در یک سایت غیرامن که متعلق به گروههای دیگر است ندارند درست هم همین است که این کار انجام نشود، خصوصاً وقتی که راه های امن تری نیز وجود داشته باشد. با در نظر گرفتن همه این مطالب، بیایید نگاهی سریع به دو مورد از مشهور ترین سایتهای شبکه اجتماعی و ویژگیهای آنها بیندازیم.
در بین همه سایتهای شبکه اجتماعی، Facebook (www.facebook.com) از همه در زمینه کارگروهی جدی تر کار کرده است. در مقایسه با MySpace، سایت Facebook بیشتر برای grown-ups مناسب است و MySpace برای جوان ها و preteens مناسب است.
وقتی شما یک گروه در Facebook ایجاد میکنید، یک صفحه گروهی شبیه شکل 5-149 خواهید داشت. گروه Facebook شامل ویژگیهای مشارکتی زیر است:
اخبار جدید
بورد مباحثه
ارسال فیلم ها و تصاویر
امکان پست صفحات وب
دیوار (مشابه صفحه گفتگو)

گروه شما میتوانید باز (عمومی) یا بسته (فقط برای اعضا با درخواست عضویت) یا محرمانه (فقط برای اعضا با ارسال دعوت نامه) باشد. در حال حاضر گروههای Facebook امکان آپلود و به اشتراکگذاری فایل ندارند.
یک گروه در MySpace (www.myspace.com) نسبت به Facebook محدودیتهای بیشتری دارد. در این سایت امکان آپلود فایل وجود ندارد ولی اعضای گروه میتوانند تصاویر گروهی ارسال کنند. در این سایت امکان پست کردن اطلاعیه های گروه و بورد های مباحثه وجود دارد. البته در وسط صفحه گروه خود باید پیغام های تبلیغاتی را تحمل کنید (شکل 5-150).

علاوه بر شبکه های اجتماعی، میتوان در سایتهای دیگر نیز گروه ایجاد کرد. Google Groups (groups.google.com) یک مورد از چنین سایتهایی است. شما یک انجمن مباحثه خواهید داشت و امکان ارسال فایل و به اشتراکگذاری آنها و نیز ایجاد صفحات با موضوع خواص را خواهید داشت. اعضای جدید میتوانند از وقایع جدید با دریافت ایمیل مطلع شوند. یک گروه میتواند عمومی یا محدود باشد.
مشابه Google Groups، سایت Yahoo Groups (groups.yahoo.com) میباشد که امکاناتی نظیر کتابخانه تصاویر، تقویم گروهی و نظر سنجی را نیز دارد. بدلیل امکان آپلود فایل و به اشتراکگذاری، این دو گروه ممکن است از برخی جهات برای کار گروهی از نسبت به Facebook و MySpace مفید تر باشند.
برای بسیاری از شرکتهای بزرگ، شاید یک گروه مبتنی بر شبکه اجتماعی کافی نباشد. چیزی که در این حالت مورد نیاز است یک مجموعه از ابزارهای مشارکتی تحت وب است که به اعضای تیم هم در برقراری ارتباط با یکدیگر و هم در مدیریت پروژه های گروهی کمک کند.
این نوع از ابزارها، گروه افزار93 نام دارند و وقتی در ابر قرار میگیرند، گروه افزار آنلاین نامیده میشوند. به طور خلاصه، گروه افزار یک نرمافزار جهت انجام کارهای مشارکتی در گروههای کاری است. گروه افزار آنلاین محدودیت فیزیکی گروه افزارهای معمولی را از بین می برد، و به اعضای گروه اجازه میدهد که از هر جایی به منابع گروه دسترسی داشته باشند. گروه افزار آنلاین معمولا شامل برخی از ابزارهای زیر یا همه آنها میشود:
ارسال و به اشتراکگذاری فایل و سند
تقویم وب
مدیریت وظیفه / پروژه
تخته پیغام
اتاق گفتگو / پیغام رسانی فوری
صفحات مشارکتی شبیه به ویکی
بلاگ
علت استفاده از گروه افزار آنلاین این است که همه ارتباطات گروه (وفایلها) در یک مکان قرار میگیرد و آن مکان از هر جایی قابل دسترسی است (به شرط آنکه یک اتصال اینترنت وجود داشته باشد). ضمن اینکه گروه افزار ارتباطات را افزایش میدهد و به این ترتیب تعداد جلسات و کنفرانس ها، تماسهای تلفنی و حجم ایمیل ها کاهش می یابد. در نتیجه همه این موارد بهرهوری اعضای تیم را افزایش میدهد.
برای مثال، فرض کنید یک گروه غیر انتفاعی را مدیریت میکنید. شما میتوانید از گروه افزار آنلاین برای اتصال به دیگر مدیران و داوطلبان گروه استفاده کنید. شما میتوانید طرح ها، ایده ها و پیشنهاد ها و دیگر اسناد را با همه به اشتراک بگذارید و از گروه افزار برای درخواست و دریافت صورت حساب از تامین کنندگان استفاده کنید. مهمتر از همه اینکه شما میتوانید همه این کارها را از رایانه خود انجام دهید و به این ترتیب تماسهای تلفنی، جابجایی با اتوموبیل و جلسات غیرضروری کمتری داشته باشید و در وقت و هزینه صرفهجویی کنید. در ادامه برخی از این ابزارها را معرفی میکنیم.
AirSet (www.airset.com) یک وبسایت ابری برای گروه شماست. سایت AirSet شما میتواند شامل اعلانات گروه، یک تقویم وب، لیست تماس، لیست وظایف، پیغام رسانی فوری، ویکی برای انتشارات مشارکتی، بلاگ، ذخیرهسازی و اشتراک فایل، آلبوم تصویر و لیست پخش موسیقی باشد. بعلاوه اینکه وقتی یکی از اعضای گروه تغییری بدهد، همه میتوانند اطلاعات به روز شده را مشاهده کنند.
ContactOffice (www.contactoffice.com) یک سیستم مدیریت داده تحت وب است که به شما امکان به اشتراکگذاری ایمیل ها، تماسها، وظایف، قرارها و اسناد را با دیگر اعضای گروه میدهد. شما میتوانید گروههای داخلی یا بین سازمانی ایجاد کنید. گروههای بین سازمانی میتواند به شما کمک کند تا با مشتری ها، تامین کننده ها و دیگر افرادی که بیرون از اداره شما قرار دارند ارتباط برقرار کنید. شما همچنین یک تقویم، دفتر آدرس، تالار خبری و امکان گفتگوی زنده خواهید داشت. شکل 5-151 به شما صفحه اولیه یک اتاق کار مجازی را درContactOffuce نشان میدهد.

Google Sites (sites.google.com) که قبلا با عنوان Jotspot شناخته می شد، به شما امکان ایجاد صفحه وب گروهی که توسط خود گوگل میزبانی میشود را میدهد. نمونه ای از این صفحات را میتوانید در شکل 5-152 مشاهده میکنید. این صفحه بصورت کامل قابل سفارشی سازی است. ارسال فایل، اعلانات گروهی، مدیریت وظایف/پروژه، لیست پستی، تقویم گروهی و ... از ویژگیهای آن میباشد. Google Sites با دیگر برنامههای آنلاین گوگل نیز یکپارچه است (نظیرGmail، Calendar، Google Docs و Google Talk) و همانند اکثر محصولات گوگل، این سرویس نیز کاملاً رایگان است.

Huddle (www.huddle.com) محیطی است که مشارکت آنلاین، مدیریت پروژه و اشتراکگذاری سند را با ساختار شبکه اجتماعی ترکیب کرده است. شما میتوانید شبکه ای از فضاهای کاری تیمی مشارکتی ایجاد کنید که توسط یک داشبورد متمرکز مدیریت میشود. شما میتوانید از سرویس ذخیرهسازی آنلاین، تقویم پروژه RSS، ایمیل اطلاع رسانی، تخته سفید، ویکی و دیگر ابزارهای مشارکتی Huddle استفاده کنید.
Nexo (www.nexo.com) به شما امکان ایجاد یک سایت گروهی کاملا شخصی شده و رایگان را میدهد. این سایت میتواند شامل تصویر، فیلم، انجمن، صفحه پیغام، تقویم تعاملی، نظرسنجی و رای گیری و لیست های to-do باشد. Nexo سرویس خود را برای خانواده ها، دوستان و گروهها ارائه کرده است. البته برای گروههای تجاری کوچک نیز میتواند مناسب باشد. در شکل 5-153 میتوانید یک نمونه سایت ایجاد شده برای تیم ورزشی بچه ها را مشاهده کنید.94

OpenTeams (www.openteams.com) برای شرکتهای بزرگ تر مناسب است. امکان ایجاد پوشه ای از تیم ها، بلاگ و صفحات ویکی را فراهم میکند که همه توسط یک صفحه Navigator سفارشی قابل مانیتور کردن است. صفحه Navigator را در شکل 5-154 مشاهده میکنید. از این جا شما میتوانید اعضای کلیدی تیم را مدیریت کنید، منابع را نشانه گذاری و سازماندهی کنید، در مباحثه ها شرکت کنید، و محتوای جدید ارسال شده توسط اعضا را مانیتور کنید. مدل قیمت گذاری این سایت بر اساس کاربر و میزان استفاده است که از 0.99 دلار بازای ورود کاربر در هر روز شروع میشود.

ProjectSpaces (www.projectspaces.com) یک فضای کاری آنلاین است که برای گروهها طراحی شده است. شما یک کتابخانه آنلاین سند، لیست مباحثه ایمیلی، مدیریت وظایف، اعلانات گروهی از طریق ایمیل و RSS، تقویم گروهی و اسناد گروهی خواهید داشت.
آخرین برنامه گروه افزار آنلاین ما teamspace (www.teamspace.com) است که با حرف t کوچک شروع میشود. این برنامه مدیریت وظیفه و پروژه، مدیریت تماس، تقویم آنلاین، تالار پیغام، صفحه اطلاعیه، اشتراکگذاری فایل، گفتگوی متنی و امکان همزمانی با Microsoft Outlook را فراهم کرده است. مدل قیمت گذاری آن بر اساس هر عضو، با هزینه اضافی بازای فضای مورد استفاده میباشد.
در همه پروژه های گروهی مشارکت و ارتباطات وجود دارد، بنابراین افراد در این پروژه ها از هر راه ممکنی برای برقراری ارتباط استفاده میکنند. این کار معمولا میتواند از طریق ایمیل، برنامههای گفتگو و پیغام رسان فوری، گروههای شبکه های اجتماعی و گروه افزارها انجام میشود. اما راه های بیشتری نیز برای مدیریت ارتباطات گروهی وجود دارد. دو روش ارتباطی که در این بخش بررسی میشوند، هر دو تحت وب هستند و البته ممکن است همیشه بعنوان رایانش ابری محسوب نشوند. بلاگ ها و ویکی ها، بسته به نوع سرویس، میتوانند هم در سرورهای ابری و هم در سرورهای اختصاصی میزبانی شوند. اما نکته اینجاست که هر دو آنها تحت وب هستند و مشارکت گروهی را تسهیل میکنند. در ادامه این موضوع را بیشتر بررسی میکنیم.
با اصطلاح بلاگ، در اینترنت زیاد مواجه میشویم. یک بلاگ (یا وبلاگ) نوعی ژورنال آنلاین است که نویسنده ها آنها را بطور مداوم با اطلاعات و musings های جدید به روز آوری میکنند.
در اصطلاح سازمانی، یک بلاگ مجموعهای از پیغام ها و پست های شخصی است. پست ها با ترتیب chronological معکوس مرتب میشوند بطوریکه پست های جدید در بالای قبلی ها قرار میگیرد و به این ترتیب پیگیری و دنبال کردن آخرین مطالب ساده میشود. پست های قدیمی تر در آرشیو بلاگ قرار میگیرند و از طریق لینک هایی که معمولاً در نوار کناری بلاگ قرار دارد، قابل دسترسی هستند. در انتهای هر پست یک لینک برای درج توضیحات و نظرات (comments) وجود دارد که با استفاده از آن خوانندگان مطلب میتوانند نظر شخصی خود را درباره هر پست اعلام کنند.
اما چیزی که بلاگ ها را واقعاً قدرتمند کرده است این است که در آنها امکان همکاری بیش از یک نویسنده نیز وجود دارد. این موضوع بلاگ را برای پیگیری پیشرفت یک پروژه گروهی بسیار مناسب کرده است. به این ترتیب که شما میتوانید وبلاگ خود را در سرورهای شرکتتان یا در میزبانهای معروف (نظیر Blogger یا WordPad) ایجاد کنید. همچنین میتوانید آن را بعنوان یک وبلاگ خصوصی مشخص نموده و حق نوشتن را به اعضای تیم خود بدهید. به این ترتیب هر کس در تیم میتواند شروع کننده یک پست باشد و یا در پست دیگران نظر بدهد.
وقتی می خواهیم مطلب مهمی را به گروه بگویید، یک پست جدید در بلاگ ایجاد میکنید. دیگر اعضای تیم میتوانند روی پست شما نظر بدهند. مثلا شما یک پست در خصوص زمان بندی جلسه ایجاد میکنید و دیگران پاسخ میدهند. اعضای گروه شما میتوانند برای دیدن مطالب جدید، یا در صفحه وب پیمایش کنند یا اینکه عضو خبرخوان RSS سایت شوند تا هر زمان که پست جدیدی انجام میشود، مطلع شوند.
حال سئوال این است که بلاگ شما در چه جاهایی میتواند میزبانی شده باشد؟ اگر برای یک شرکت بزرگ کار میکنید، از بخش IT سازمان در خصوص میزبانی بلاگ شما در سرورهای شرکت سئوال کنید. در غیر اینصورت میتوانید از میزبانهایی که در ادامه لیست شده است استفاده کنید. همه آنها به شما اجازه ایجاد بلاگ های گروهی اختصاصی را میدهند.
Blogger (www.blogger.com) یک میزبان بلاگ متعلق به گوگل است و در حال حاضر با میزبانی بیش از 8 میلیون بلاگ در آن یکی از بزرگترین میزبانهای بلاگ در اینترنت محسوب میشود. همه باگ های Blogger رایگان هستند که همین موضوع سبب محبوبیت آن شده است.
داشبورد Blogger که در شکل 5-155 نشان داده شده است، جایی است که شما همه فعالیت های بلاگ را مدیریت کنید. از اینجا شما میتوانید یک پست جدید ایجاد کنید، نظرات مربوط به پست های خود را ویرایش کنید، حساب کاربری و پروفایل خود را مدیریت کنید و به سیستم راهنمای Blogger دسترسی داشته باشید. همچنین از اینجا شما میتوانید یک وبلاگ جدید نیز ایجاد کنید.

ایجاد یک بلاگ جدید در Blogger به آسانی پر کردن یک فرم است. بعد از اینکه روی لینک ایجاد Blog در Blogger Dashboard کلیک کردید، از شما خواسته میشود که عنوان بلاگ و آدرس متناظر با آن را (که بطور پیش فرض یک URL در سایت blogspot.com میباشد) مشخص کنید95. سپس میتوانید الگوی وبلاگ خود را از بین مجموعهای از قالب های از پیش طراحی شده با لایه بندی ها و ترکیب رنگ ها و فونت های متنوع انتخاب کنید. حال بلاگ شما ایجاد شده است و شما میتوانید شروع به ارسال پست کنید.
شکل 5-156 یک نمونه بلاگ را نشان میدهد. شما میتوانید بلاگ خود را با هر شکل دلخواهی و هر نوع قالبی سفارشی کنید. همچنین میتوانید از گدجت ها و دیگر عناصر صفحه وب به آن اضافه کنید.

مورد دیگری که شما در بلاگ میتوانید سفارشی کنید، لیست افرادی است که میتوانند به وبلاگ شما دسترسی داشته باشند. بطور پیش فرض، هر بلاگی که ایجاد میشود بطور کامل عمومی است و هر کسی از طریق اینترنت میتواند آن را بخواند. اما شما میتوانید بلاگ خود را خصوصی کنید بطوریکه فقط افراد مورد نظر شما بتوانند آن را مشاهده کنند. برای اینکار به Blogger Dashboard بروید و روی لینک Manage: Settings کلیک کنید. سپس لینک Permissions را کلیک کنید. در صفحه بعد در بخش Blog Readers میتوانید کسانی که اجازه دسترسی به بلاگ شما را دارند را انتخاب کنید که سه گزینه در اختیار شما میباشد: همه (Anybody)، فقط افراد مشخص شده (Only People I Choose) یا فقط نویسندگان بلاگ (Only Blog Authors). برای یک بلاگ گروهی، میتوانید گزینه سوم را انتخاب کنید. برای مشخص کردن سایر نویسندگان وبلاگ روی دکمه Add Authors کلیک کنید.
TypePad (www.typepad.com) بسیار شبیه Blogger است. شما میتوانید بلاگ خود را با طرح ها و widget های مختلف سفارشی کنید و افراد مختلفی را بعنوان نویسنده همکار خود انتخاب کنید. اما، TypePad رایگان نیست و بسته به ویژگیهایی که انتخاب میکنید، ماهیانه بین 4.95 دلار تا 89.95 دلار هزینه دارد. برای اینکه بتوانید از ویژگی چند نویسنده آن استفاده کنید باید حداقل مدل Pro آن را خریداری کنید که 14.95 دلار در ماه قیمت آن است.
WordPress (www.wordpress.com) یکی دیگر از برنامههای میزبان بلاگ معروف است. این برنامه نیز بسیار شبیه Blogger و TypePad است اما میتوان گفت که قابلیت سفارشی آن تا حدی بیشتر از آن دو است. این سایت برای شما الگوها و قالب های بسیار زیاد به همراه Widget هایی که بتوانید در نوار کناری قرار دهید و گزینههای مخصوص اعضا فراهم کرده است. همچنین میتوانید چندین بلاگ ایجاد کنید و یا از چندین نویسنده استفاده کنید. WordPress نیز مانند Blogger کاملا رایگان است.
ویکی آخرین روش کارهای مشارکتی است که معرفی میکنیم. شاید بدلیل استفاده از Wikipedia که یکی از مشهورترین سایتهای ویکی است، با مفهوم ویکی از قبل آشنا باشید. ویکی پدیا (www.wikipedia.org) یک دایره المعارف بسیار بزرگ آنلاین است. محتوای آن توسط کاربران سایت ایجاد میشود که در نتیجه یکی از بزرگترین نمونه کارهای مشارکتی آنلاین در دنیا بحساب میآید. مقالات ویکی پدیا توسط افراد از همه اقشار مختلف (از دانش آموز گرفته تا متخصصان و محققان حرفه ای) نوشته شده و ویرایش میشود و به معنای واقعی یک کار مشارکتی است.
به این ترتیب میتوان گفت که ویکی به یک مجموعه از صفحات وب گفته میشود که هر کاربری میتواند روی محتوای آن مشارکت داشته باشد یا تغییر دهد. اولین ویکی WikiWikiWeb نام داشت یک در سال 1995 به منظور تسهیل تبادل ایده بین برنامه نویسان رایانهای تاسیس شد. ویکی همه کاربران را قادر می سازد که نه تنها بتوانند یک مقاله جدید بنویسند، بلکه بتواند روی مقالات دیگر نظر بدهند یا آنها را ویرایش کنند. 96
امروزه بسیاری از سازمانها از ویکی ها بعنوان برنامههایی جهت انجام کارهای مشارکتی استفاده میکنند. یک ویکی گروهی میتواند بصورت عمومی (برای همه باز باشد) مانند ویکی پدیا، یا بصورت خصوصی (مناسب برای پروژه های گروهی، بنگاه های تجاری و دیگر سازمانها) باشد.
یکی ویکی خصوصی از همه اعضای گروه برای ایجاد صفحات جدید در سایت ویکی یا ویریش صفحات موجود دعوت میکند. همه نوشتن ها و ویرایش ها از طریق مرورگر انجام میشود و نیاز به نصب نرمافزار اضافی نیست. نتیجه آن مجموعهای از مقالات و سندهایی است که بصورت مشارکی نوشته شده است. نرمافزار ویکی، مقالات را در پشت صحنه سازماندهی و مدیریت میکند و کنترل نگارشهای هر مقاله را انجام میدهد. در ادامه نمونه ای از سرویسهای ویکی معرفی شدهاند.
PBwiki (www.pbwiki.com) سطوح مختلف از میزبانی ویکی را ارائه میدهد. ویکی های کوچک (با یک تا سه کاربر) رایگان هستند. نمونه های بزرگتر از قیمت 4 دلار بازای هر کاربر در ماه شروع میشوند. ایجاد ویکی بسیار ساده است و امکان استفاده از الگوهای متنوع نیز وجود دارد. همچنین میتوانید میتوانید از ذخیرهسازی آنلاین فایل برای سازماندهی بهتر دیگر اسناد خود بعنوان بخشی از ویکی استفاده کنید.
Versionate (www.versionate.com) برای کارهای گروهی و تجاری بسیار مناسب است. امنیت آن توسط SSL فراهم میشود و کنترل کاملی بر روی سطوح دسترسی و کارهای ویرایشی وجود دارد. شما میتوانید فایلهای ورد، اکسل، ارائه و PDF را در داخل ویکی های خود وارد کنید. این شرکت به چندین شکل محصول خود ارائه میدهد. نسخه رایگان آن با 500 مگابایت فضای ذخیرهسازی، نسخه شخصی با 2 گیگابایت فضا (ماهیانه 2 دلار)، نسخه تجاری با فضای نامحدود (ماهیانه 25 دلار) و نسخه سازمان با فضای نامحدود (ماهیانه بازای هر کاربر 2 دلار) میباشند.
سایت wikihost.org امکان میزبانی رایگان ویکی ها را فراهم کرده است. ایجاد ویکی از طریق موتور GeboBebo انجام میشود که یک پایگاهداده محلی، مدیریت کاربران و حقوق دسترسی، خبرخوان RSS، اطلاع رسانی از طریق ایمیل برای مقالات جدید یا به روز شده و امکان ارسال فایل و تصویر را فراهم کرده است.
Wikispaces (www.wikispaces.com) ادعا کرده است که بیش از 450000 ویکی دارد. ویژگیهای استاندارد شامل تصویر، ارسال فایل، widget، استفاده از چندرسانه ای، خبرخوان RSS، اطلاع رسانی از طریق ایمیل، بخشهای مباحثه و امار جزئی از کاربران از ویژگیهای آن میباشد. این سایت طرح های میزبانی مختلفی پیشنهاد میدهد. از ساده (رایگان) گرفته تا طرح هایی با 800 دلار در ماه.
Zoho نیز در کنار سایر برنامههایی که ارائه کرده است، برنامه Zoho Wiki (wiki.zoho.com) را نیز راه اندازی کرده است. آنها سرویس میزبانی ویکی خود را با قابلیت ویرایش WYSIWYG، امکان کنترل نگارشهای هر صفحه، و توانایی عمومی یا خصوصی کردن ویکی بطور رایگان ارائه کردهاند. مدیریت ویکی از طریق صفحه داشبورد شبیه (شکل 5-157) انجام میشود. فقط روی آیکن New Page کلیک کنید تا صفحه جدید به ویکی اضافه شود.

| پرسشهای مروری فصل 5 |
|
| تحقیق و پژوهشی فصل 5 |
|
مراجع
Michael Miller, "Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online," Que Publishing, 2009
Ivanka Menken, Gerard Blokdijk, "SaaS and Web Applications Specialist Level Complete Certification Kit," Emereo Pty Ltd, 2009
Google Docs: http://docs.google.com, accessed April 2010
PreZentit: http://www.prezentit.com, accessed April 2010
Adobe Photoshop Express: http://www.photoshop.com/express, accessed April 2010
FotoFlexer: http://www.fotoflexer.com, accessed April 2010
Picture2Life: http://www.picture2life.com, accessed April 2010
Preloadr: http://www.preloadr.com/about#howitworks, accessed April 2010
Phixr: http://www.phixr.com, accessed April 2010
Cloudy OS: http://www.tinkernut.com/forum, accessed 2009
Tonido - Run your own Personal Cloud: http://www.tonido.com/
برای آگاهی از آخرین اخبار در خصوص تقویم های آنلاین به www.calendarreview.com مراجعه کنید.↩︎
123 Signup ادعا میکند که یکی از بزرگترین برنامه های مدیریت رویداد است که بیش از نیم میلیون نفر در آن ثبت نام کرده اند و بیش از یک میلیون تراکنش را مدیریت می کند.↩︎
این محدودیت ها شامل هدف، زمان و هزینه میباشد که اغلب از آنها به عنوان مثلث مدیریت پروژه نام برده میشود و هر وجه مثلث بیانگر یک محدودیت است.↩︎
نمودار گانت (Gantt Chart) یک نمودار میله ای است که زمان بندی یک پروژه را نمایش می دهد. هر وظیفه بصورت یک نوار مجزا روی نمودار نمایش داده می شود. وظایف وابسته به انتهای وظایف قبلی خود متصل می شوند.↩︎
شما می توانید فایل هایی که قبلا بطور عادی ایجاد کرده اید را نیز در Google Docs مورد استفاده قرار دهید. فقط کافیست روی دکمه Upload کلیک کنید و فایل مورد نظر را انتخاب کنید.↩︎
وقتی روی اسناد Google بصورت آفلاین کار می کنید، بعضی از ویژگی های قالب بندی و نیز ویرایشی که اغلب در حالت گروهی مفید هستند برایتان غیرفعال خواهد شد.↩︎
Gadget (گدجت) یک برنامه تک وظیفه ای است که می تواند در هر صفحه وبی قرار داده شود.↩︎
هر هزار گیگابایت، معادل یک ترابایت و هر هزار ترابایت معادل یک پتابایت است.↩︎
اگر می خواهید اسناد خود را با دیگران به اشتراک بگذارید، سری به Microsoft SharedView بزنید که یک میزکار راه دور و سیستم کنفرانس است که به شما امکان به اشتراک گذاری و نیز گفتگوی زنده را با 15 نفر بطور همزمان می دهد. هر کس برای استفاده از این سیستم، باید نرم افزار SharedView را در رایانه خودش نصب کند. عملکرد این نرم افزار، شبیه به یک برنامه پیغام رسان است و روشی را برای به اشتراک گذاری اسناد فراهم کرده است. (connect.microsoft.com/site/sitehome/aspx?SiteID=94)↩︎
Bookmark↩︎
notebook↩︎
Collaborative annotation↩︎
اکثر این سایت ها امکان عضویت رایگان را فراهم کرده اند که البته اغلب برخی محدودیت ها را لحاظ می کنند. بعضی سایت ها امکان عضویت با دریافت هزینه را به همراه ویژگی های پیشرفته فراهم می کنند. دیگر سایت هزینه های خود را از طریق سرویس های چاپ تصویر یا تبلیغات دریافت می کنند.↩︎
برای اینکه بتوانید با میزکار تحت وب کار کنید، بهتر است که مرورگر خود را در حالت تمام صفحه (fullscreen) قرار دهید.↩︎
Hotmail از 1996 بعنوان یک شرکت مستقل شروع به کار کردن و 1997 توسط ماکروسافت خریداری شد.↩︎
Instant Messaging (IM)↩︎
Google Talk به شبکه پیغام رسانی AOL نیز پیوسته است. بنابراین می توانید از Google Talk برای ارسال پیغام به کاربران AIM نیز استفاده کنید.↩︎
ICQ مخفف عبارت I seek you میباشد.↩︎
Windows Live Messenger قبلا تحت عنوان MSN Messenger و Windows Messenger شناخته می شد.↩︎
groupware↩︎
این سرویس اخیراً توسط Shutterfly خریداری شده است.↩︎
بطور پیش فرض، Blogger میزبان بلاگ شما می شود و یک آدرس URL به آن در blogspot.com اختصاص می دهد. همچنین این امکان وجود دارد که میزبانی بلاگ را در سایت خودتان برعهده بگیرید.↩︎
کلمه ویکی در زبان Hawaiian به معنای سریع میباشد.↩︎
تعاریف زیادی از مجازیسازی وجود دارد. در یک تعریف کلی، مجازیسازی به معنای ایجاد یک سطح انتزاعی از منابع محاسباتی است که در سطوح مختلف یک رایانه قابل اعمال است. سطوح سختافزار، برنامه کاربردی و سیستم عامل برخی از مواردی هستند که ایجاد انتزاع میتواند در آنها انجام شود. آنچه که در اینجا بیشتر مورد بحث است، مجازیسازی سیستم عامل است که از آن تحت عنوان server virtualization نیز یاد میشود. در این حالت مجازیسازی97 به فرآیند ایجاد استقلال یک سیستم عامل از سختافزاری که در آن اجرا میشود گفته میشود. در این حالت ماشین مجازی شامل سیستم عامل، برنامه کاربردی و دادههای مربوط به آن میباشد و لایه ای بنام فوقناظر وظیفه نگاشت منابع سختافزاری فیزیکی (حافظه، دیسک، و...) را به منابع مجازی (حافظه مجازی، دیسک مجازی و ...) بر عهده دارد.

دستیابی به مجازیسازی از جهات مختلف در سیستمهای رایانهای مطرح بوده است که نمونه هایی از آن به این شرح میباشد:
مجازیسازی برنامهها98 با استفاده از تکنولوژیهایی مانند java virtual machine
مجازیسازی صفحه نمایش کاربر99 با استفاده از ابزارهایی مانند VNC
مجازیسازی فضای ذخیرهسازی100 با استفاده از روش های RAID یا logical volumes
مجازیسازی سیستم عامل و مجازیسازی ماشین
مواردی از این نمونه مجازیسازی که در مورد آخر به آن اشاره شده است، Xen Virtual Machine Monitor و VMware ESX server هستند که یک سطح زیر سیستم عامل قرار میگیرد و سیستمهای عامل مهمان101 میتوانند روی آن اجرا شوند. به این سطح زیرین سیستم عامل فوقناظر102 گفته میشود که میتوانید آن را بعنوان هسته اصلی مجازیسازی در نظر بگیرید. فوقناظر به سیستمهای عامل مهمان اجازه میدهد که منابع را به اشتراک بگذارند، ایجاد شوند، حذف شوند یا به دیگر میزبانها103 مهاجرت کنند. مجازیسازی امکان کنترل ریزدانه بیشتری را از چگونگی استفاده از منابع فیزیکی فراهم میکنند. نمونه این موضوع را در شکل 6-159 مشاهده میکنید.

شکل فوق نشان میدهد که چندین سیستم عامل مهمان روی یک سرور یکسان اجرا شدهاند. این نوع ایجاد انتزاع مزایای زیادی را در بر دارد:
کارآیی در استفاده از منابع : دلیلی وجود ندارد که کل یک سرور را برای اجرای یک کار کوچک، مثلا سرویس ایمیل شرکت هدر دهیم. اگر منابع CPU، حافظه یا دیسک اضافه وجود داشته باشد، میتوان آنها را در اختیار دیگر سرویسها قرار دارد بطوری که از منابع استفاده بهتری شود. به همین دلیل، سازمانها از مجازیسازی برای یکپارچه کردن چندین سرور بر روی یک سرور استفاده میکنند(شکل 6-160).

قابلیت حمل و تحمل خطا: وقتی یک میزبان فیزیکی به انتهای ظرفیت خود می رسد، یا دچار مشکل سختافزاری میشود، یک سیستم عامل مهمان (و بار مربوط به آن) میتواند به راحتی روی یک میزبان دیگر منتقل شود.
Sandbox های توسعه: به دلیل اینکه کل سیستم عامل میتواند بدون صدمه زدن به محیط میزبان، ایجاد شود و یا از بین برود، مجازیسازی برای ایجاد چندین محیط توسعه که نیاز به سیستم عامل های مختلف، هسته های سیستم عامل یا پیکربندیهای سیستمی مختلف در آنها احساس میشود، بسیار ایدهآل است. به این ترتیب اگر یک مشکل بزرگ اتفاق بیفتد که بستر تست را از کار بیندازد، مشکلی پیش نخواهد آمد. زیرا میتوان به راحتی آن را دوباره ایجاد کرد.
سربار مدیریت کمتر: مجازیسازی به شما امکان یکپارچه کردن چندین سرور با منابع بیکار را در یک سرور با بهرهوری منابع بیشتر میدهد. این کار سبب مصرف توان کمتر و اشغال فضای فیزیکی کمتر در مرکز داده میشود. دیگر مزیت کاهش سختافزار، کاهش تعداد قطعاتی است که امکان خراب شدن آنها وجود دارد، نظیر دیسک ها، CPU ها و منابع تغذیه (توان). البته، نقطه مقابل این کار این است که یکپارچه کردن سرورها، میتواند باعث افزایش SPOF 104 شود، زیرا تعداد سرویسهای بیشتری وابسته به یک سختافزار فیزیکی هستند. بسته های مجازیسازی برای حل این مشکل بالقوه، امکان مهاجرت ماشینها را از یک سرور به سرور دیگر (برای بازیابی از سوانح و تعدیل بار مجدد) فراهم میکند.
مجازیسازی این شرایط را برای شما فراهم میکند تا بتوانید با سختافزار کمتر، کار بیشتری انجام دهید. البته این مزیت، باعث پیچیدهتر شدن اندازه گیری ها هم میشود. تعیین اینکه کدام منبع مجازی استفاده شده است و کدام منبع فیزیکی میتواند باعث سردرگمیشود، زیرا که لایه انتزاع، سطح دیگری از واحد های اندازه گیری را ارائه میدهد.

بنابراین بطور خلاصه میتوان گفت که بر اساس رویکرد مجازیسازی، ما میتوانیم مرکزدادهای داشته باشیم که کلیه منابع فیزیکی آن دارای یک لایه فوقناظر باشند (شکل 6-161) ، بصورت انتزاعی از یک دید سطح بالاتر مدیریت میشوند و به این ترتیب منابع سختافزاری بشکل مجازی، بصورت سرویس، بر حسب تقاضا و با سهولت بیشتری در اختیار کاربران قرار داده میشوند.
در این قسمت، بعضی از رایج ترین و پر کاربرد ترین تکنولوژیها را بررسی میکنیم. لازم به ذکر است که شرکتهای VMware و Microsoft جای پای بزرگی در تکنولوژیهای مجازیسازی دارند و شاید شناخته شده ترین شرکتها در این حوزه باشند. در هر صورت، با توسعه مجازیسازی و شناخت مزایای مختلف آن، بسیاری از شرکتهای دیگر نیز در این حوزه قدم گذاشته اند که با برخی از آنها نیز آشنا خواهیم شد و محصولات و فناوریهایی که ارائه کرده اند را مورد بررسی قرار میدهیم.
لینوکس یک سیستم عامل مبتنی بر یونیکس است که یکی از شناختهشدهترین توزیعهای رایگان مجموعه برنامههای کدمتن باز بحساب میآید. با توجه به ماهیت کدمتن باز آن، بسیاری از انواع مختلف سیستمهای عامل لینوکس بوجود آمده اند. بعضی از مشهور ترین توزیعهای آن شامل Debian، Red Hat و Ubuntu است. اکثر سیستمهای عامل مبتنی بر لینوکس یا از تکنولوژی Para-virtualization و یا از تکنولوژیهای مجازیسازی سختافزاری استفاده میکنند. علاوه بر این، سیستمهای عامل لینوکس در مقایسه با دیگر سیستمهای عامل، برخی از انواع مختلف تکنولوژیهای مجازیسازی را نیز ارائه میدهند. این تکنولوژیها در ادامه توضیح داده شدهاند:
در گذشته سختافزار x86 از استراتژی های مجازیسازی پشتیبانی نمیکرد. زیرا پردازش های CPU بطور متفاوت بستگی به این داشت که در حالت privileged باشد یا نه و یک پردازنده مجازی شده نمیتوانست در حالت privileged کار کند (زیرا اولویت بالاتر از پردازنده فیزیکی بدست میآورد و باعث یک ریسک امنیتی می شد). به همین علت، نرمافزار مجازیسازی باید با دستورات از ماشین مهمان کار میکرد و آنها را با مجموعه دستورات جدیدی جایگزین میکرد که مطمئن باشد به درستی توسط سختافزار ماشین فیزیکی خوانده میشود. در نتیجه بازنویسی دستورالعملها از پردازنده ماشین مجازی مهمان سربار زیادی را ایجاد میکرد که باعث میشد کارها کند انجام شود. Para-virtualization یک تغییر در سیستم عامل بود (معمولا در سطح هسته) بطوریکه بیشتر شبیه سختافزار واقعی در ماشین فیزیکی شود و کارآیی بیشتری در مجازیسازی بدست بیاید. اگرچه راهحل Para-virtualization کاملا کارآمد است، اما سیستم عامل های کمی از آن پشتیبانی میکنند، که این مشکل اصلی آن است.
این نوع دوم راهحل مجازیسازی است که اکثر سیستم عامل های مبتنی بر لینوکس از آن استفاده میکنند. برای استفاده از این تکنولوژی یا باید پردازنده مجهز به Intel VT یا پردازنده مجهز به AMD-V در اختیار داشت تا بتوان ویژگی مورد نظر را در آنها فعال کرد. با استفاده از این پردازندهها، دستورات میتوانند بدون هیچگونه جایگزینی از ماشین مجازی مهمان خوانده شوند. واضح است که این روش نسبت به حالت جایگزینی دستورالعملها کارآمدتر است و سیستمهای عامل ها بدون تغییر میتوانند روی ماشینهای مجازی نصب شوند، زیرا پردازنده فیزیکی میتواند با دستورالعملهای پردازندههای مجازی کار کند (بجای اینکه با هسته سیستم عامل کار کند). در حال حاضر دو تکنولوژی مبتنی بر لینوکس وجود دارد که هر دوی آنها مجازیسازی کامل سختافزاری را انجام دادهاند. این دو تکنولوژی Xen و KVM نام دارند.
Coopvirt 105 یک شکل از مجازیسازی ترکیبی است که در آن هر دو نوع مجازیسازی Para-virtualization و hardware-assisted full virtualization بکار گرفته شده است. یعنی هم سیستم عامل کارآمد شده است و هم پردازنده بطور موثر بکار گرفته میشود. Coopvirt هنوز در دوره ظهور خود قرار دارد، اما میتواند به شکل قابل توجهی کارآیی مجازیسازی را افزایش دهد.
از این تکنولوژی تحت عنوان مجازیسازی در سطح سیستم عامل نیز نام میبرند و در حقیقت یک راهحل مجازیسازی نیست. Container ها محیطهای کاربر مجزا هستند اما همه در یک هسته واحد اجرا میشوند. به این معنا که آنها بطور کامل از هم مجزا نیستند. اما نکته خوب آنها این است که container ها کمترین سربار را در مقایسه با راهحلهای مجازیسازی تحمیل میکنند، زیرا نیازی نیست که کل هسته، پردازندهها و... را شبیهسازی کنند. توزیعهای مختلف لینوکس میتوانند در container های مختلف نصب شوند که یک مزیت خوب دیگر برای آنهاست.
همانطور که مشاهده کردید، تکنولوژیهای مبتنی بر لینوکس مختلفی وجود دارد. مجازیسازی واقعی بدست نمیآید مگر با روش های سختافزاری. در عین حال container ها هم میتوانند در جای خود برای سازمانهای کوچک یا کاربران خانگی برای ایجاد فضاهای کاری مختلف در ماشین فیزیکی شان، بدون نیاز به سایر روش های مجازیسازی و هدر دادن بخشی از منابع خود استفاده شوند.
مجازیسازی محیط کار (Desktop) در سیستمهای کاربران نهایی انجام میشود. این کار باعث میشود تا مدیران بهتر ماشینهای کاربران نهایی را مدیریت کنند و محیط مربوط هر کاربر را از راه دور سفارشی کنند. امروزه دو نوع از مجازیسازی Desktop وجود دارد. یکی از آنها Client-Hosted Desktop Virtualization است و دیگری VDI 106 نام دارد.
نوعی از مجازیسازی که شامل نصب نرمافزار مجازی (نظیر Microsoft Virtual PC) بر روی ماشین فیزیکی کاربر نهایی میشود. در این ماشین، چندین ماشین مجازی میتوانند برای اهداف مختلف ایجاد شوند. برای مثال یک ماشین مجازی میتواند برای محیط تست یک نرمافزار جدید استفاده شود درحالی که دیگری فقط برای کاربران خاصی قابل دسترسی باشد. مزیت این نوع از مجازیسازی واضح است. برای مثال چندین محیط رومیزی میتواند روی یک ماشین فیزیکی اجرا شوند و همه از هم ایزوله هستند. بهرحال، یک اشکال استفاده از Client-Hosted Desktop Virtualization این است که همه فایلهای ماشینهای مجازی موجود بر روی یک ماشین فیزیکی، برای هر کاربری که از آن ماشین فیزیکی استفاده کند قابل مشاهده است. در محیطی که امنیت بسیار ضروری باشد، این کار میتواند یک ریسک بحساب بیاید، زیرا هر کس که وارد سیستم عامل میزبان شود، میتواند کل ماشینهای مجازی را به یک دیسک قابل حمل کپی کند. راهحل این مشکل استفاده از VDI است.

VDI یک تکنولوژی مجازیسازی نسبتا جدید است که بر اساس مدل thin client میباشد. این روش شامل ذخیرهسازی محیط desktop کاربر نهایی روی یک ماشین مجازی میباشد که بر روی سرور ذخیره شده است. یک کاربر میتواند به محیط کار خود از طریق استفاده از سیستمهای thin client یا رایانههای شخصی دسترسی داشته باشد. VDI شبیه تکنولوژی remote desktop است. تنها تفاوت آن این است که کاربر به یک محیط کاملا مجازی دسترسی پیدا میکند. مزایای بسیاری در استفاده از VDI وجود دارد. مدیران میتوانند بطور متمرکز محیطهای desktop را کنترل و مدیریت کنند. امنیت افزایش مییابد زیرا همه ماشینهای مجازی روی سرورهای متمرکز قرار دارند. تنها عیب کار این است که VDI بار زیادی بر روی سرور تحمیل میکند و بنابراین نیازمند سختافزار سرور قدرتمند میباشد که هم مجازیسازی را انجام دهد و همه درخواستهای ورود به desktop های مجازی را مدیریت کند. در این روش ماشینهای کاربران نهایی هم میتوانند ارزانتر باشند زیرا به توان محاسباتی زیادی نیاز ندارند. بنابراین در دراز مدت صرفهجویی زیادی در هزینهها برای یک کسب و کار در بر دارد به این ترتیب که کمی بیشتر بر روی سرورها هزینه میکند و صرفهجویی زیادی در رایانههای desktop میکند.
همانطور که قبلا اشاره شد، شبیهسازی پردازندههای x86 با توجه به شیوه عملکردشان بسیار مشکل است. هسته یک سیستم عامل میزبان برای انکه بتواند دستورالعملها را به خوبی تفسیر کند، باید بتواند دسترسی مستقیم به سختافزار داشته باشد. در یک محیط مجازی هسته یک سیستم عامل مهمان دسترسی مستقیم به پردازنده فیزیکی ندارد، بنابر این دستورالعملهای خاصی باید تغییر کنند یا جایگزین شود، تا اینکه شناخت صحیحی بین سیستم عامل مهمان و پردازنده فیزیکی بوجود بیاید. این تغییر دستورالعملها قبلا توسط نرمافزار انجام میشدند و خود سیستم عامل نقشی در این کار نداشت. بنابراین محیطهای مجازی خیلی کارآمد نبودند و سربار بسیار زیادی داشتند. این یکی از دلایلی بود که مجازیسازی کند بود و در بسیاری از موارد قابل استفاده نبود. دو راهحل برای این مشکل ارائه شدند که بسیار کارآمدتر بودند: hardware-assisted virtualization و Para-virtualization.

روش Hardware-assisted virtualization همانطور که از نامش پیداست، از سختافزار فیزیکی برای برداشتن حجم کار مجازیسازی از روی نرمافزار و سیستم عامل استفاده میکند. در روش Para-virtualization نیازی به پشتیبانی سختافزاری نیست، در عوض با تغییر هسته سیستم عامل کارآیی آن را افزایش میدهند. به این ترتیب هسته یک سیستم عامل بگونهای تغییر داده میشود که بتواند به خوبی در یک محیط مجازی عمل کند. البته اشکال این روش این است که تنها برخی سیستمهای عامل از این روش پشتیبانی کردهاند. در عوض در Hardware-assisted virtualization نیازی به تغییر نرمافزار وجود ندارد و با همه نوع سیستمهای عامل که از سختافزارهای x86 پشتیبانی کنند سازگار است.
در گذشته امکان پیادهسازی روشهای مجازیسازی نرمافزاری به صورت کارآمد وجود نداشت. مشکل اصلی در عملکرد پردازندههای x86 بود زیرا سربار زیادی در اثر ارتباط بین ماشین مجازی و پردازنده فیزیکی بوجود میآمد. دو راهحل برای رفع این مشکل و کارآمد کردن مجازیسازی وجود آمد. این دو روش شامل Para-virtualization و Hardware virtualization بود. لازم به ذکر است که hardware-assisted virtualization یک تکنولوژی کاملا جدید نیست و قبلا توسط رایانههای mainframe در دهههای گذشته مورد استفاده قرار میگرفت. در سال 2005، Intel و AMD تکنولوژی مجازیسازی سختافزاری را در پردازندههای x86 و AMD خود بکار گرفتند. فناوری مجازیسازی سختافزاری اینتل تحت عنوان Intel VT شناخته میشود و فناوری AMD تحت عنوان AMD-V شناخته میشود. این پردازندهها انجام بخشی از کارهایی که قبلا توسط فوقناظر یا VMM 107 انجام میشد را بر عهده گرفتند. بدلیل اینکه پردازنده بطور مستقیم فرآیند های مهم مجازیسازی را انجام میداد (که در غیر اینصورت باید توسط نرمافزار انجام شده و سپس به سختافزار ارسال میشد)، سربار کمتری به کل فرآیند مجازیسازی تحمیل میشود و بسیار کارآمدتر خواهد بود. یکی از مزایای عمده این روش مجازیسازی، میزان شبیهسازی سختافزاری مورد نیاز است که بسیار زیاد کاهش پیدا میکند، بنابراین کارآیی و عملکرد نیز بهبود پیدا میکند.
بطور سنتی سیستمهای عامل x86 نیاز دارند که به طور مستقیم به منابع سختافزاری دسترسی داشته باشند تا بتوانند بدرستی اجرا شوند. در گذشته راهحلهای مجازیسازی نرمافزار نیاز به شبیهسازی سختافزار بطور کامل داشتند تا مجازیسازی بطور پایدار انجام شود. این کار منابع فیزیکی سختافزاری زیادی را هدر میداد که میتوانستند در جایی دیگر به شکل بهینه مورد استفاده قرار بگیرند. روش Hardware-assisted virtualization بطور عمده مقدار شبیهسازی سختافزاری مورد نیاز را کاهش داد، زیرا اکثر اوقات پردازنده میتواند بطور مستقیم با محیط مجازی تعامل داشته باشد. واضح است که این کار، مجازیسازی را موثرتر انجام میدهد.

نکته جالب در خصوص hardware-assisted virtualization این است که بطور اتوماتیک انجام میشود و نیازی نیست که نرمافزار مجازیسازی خود را به روز رسانی کنید یا در سیستم عامل خود تغییر دهید. تنها کافیست بررسی کنید که پردازنده شما از تکنولوژی مجازیسازی سختافزاری پشتیبانی کند. در این صورت اگر این ویژگی از طریق BIOS فعال شود، پردازنده به طور خودکار به مجازیسازی کمک میکند.
مجازیسازی منابع شامل مجازیسازی یک یا چند منبع سیستمی است. این کار میتواند شامل مجازیسازی یک منبع خاص نظیر ذخیرهسازی یا منابع شبکه باشد با اینکه شامل مجازیسازی کل منابع فیزیکی نظیر سرور ها یا ایستگاه های کاری نهایی باشد.
سازمانها بطور مداوم دنبال راه هایی برای کاهش هزینههای زیرساخت IT خود هستند. مجازیسازی منابع یکی از این راه ها است. با گروهبندی و به اشتراک گذاشتن منابع IT، یک کسب و کار میتواند بطور عمده هزینههای سختافزار و زیرساخت خود را کاهش دهد. مزایای دیگری نیز از طریق مجازیسازی حاصل میشود. برای مثال قابلیت انعطاف کسب و کار افزایش مییابد، زیرا بر روی توان پردازشی کنترل دارند، میتوانند منابع را بین سرورهای مختلف با سهولت جابجا کنند و حتی توان ماشینهایی که در حال استفاده نیستند را پایین بیاورند. برنامههای کاربردی مختلف و منابعی که معمولا با هم در تداخل هستند میتوانند روی ماشین فیزیکی یکسان قرار بگیرند. نهایتا اینکه مجازیسازی منابع مدیریت و کنترل آنها را برای مدیران ساده میکند. برای مثال مدیران میتوانند چندین سرور را از یک ماشین واحد مدیریت و مانیتور کنند یا اینکه میتوانند یک منبع مجازی خاص را به سادگی تکثیر کنند.
مجازیسازی پردازنده همانطور که از نامش پیداست، شامل مجازیسازی یک پردازنده فیزیکی است بطوریکه چندین ماشین مجازی بتوانند روی یک ماشین فیزیکی اجرا شوند.
مجازیسازی پردازنده شبیه فرآیند چندوظیفهای یا تکنولوژی Hyper-Threading نیست. چندوظیفهای فرآیندی است که در آن چندین برنامه میتوانند روی یک پردازنده همزمان اجرا شوند. این کار شاید شبیه مجازیسازی باشد ولی در حقیقت متفاوت است. به این دلیل که برنامههای چندوظیفهای نمیتوانند به محدوده های privileged از سیستم نظیر ورودی و خروجیها دسترسی داشته باشند. فقط هسته سیستم عامل میتواند به این محدوده های سیستم دسترسی داشته باشد. در یک راهحل چند وظیفه تنها یک هسته سیستم عامل در حال اجرا است اما مجازیسازی چندین هسته سیستم عامل را دربر میگیرد و به این معناست که هر ماشین مجازی بطور کامل از دیگری مجزا است، مانند اینکه ماشینهای فیزیکی مجزا هستند.
تکنولوژی Hyper-Threading نیز اگرچه مفهومی مشابه دارد، اما مانند مجازیسازی نیست. در Hyper-Threading یک پردازنده بصورت چند پردازنده معرفی میشود. مانند تقسیمبندی یک دیسک است که در آن یک دیسک بصورت چند دیسک فیزیکی مجزا مشاهده میشود. با این کار، یک پردازنده میتوانند چندین thread (بخشهای مختلف کد برنامه) را همزمان اجرا کند. به این ترتیب Hyper-Threading یک روش مجازیسازی نیست چرا که تنها یک هسته سیستم عامل در حال اجرا وجود دارد. مجازیسازی واقعی شامل رابطه یک به چند بین سختافزار و نرمافزار است. یعنی تعداد زیادی سیستم عامل بتوانند روی یک ماشین واحد اجرا شوند.
امروزه هم Intel و هم AMD ابزارهایی را برای بهبود مجازیسازی در پردازندههای فیزیکی خود بکارگرفته اند. این ابزارها به ترتیب تحت عناوین Intel VT و AMD-V شناخته میشوند. این تکنولوژی مجازیسازی سختافزار (که از 2005 به بعد رخ داد) مجازیسازی را کارآمدتر از قبل ساخته است. علت این است که با استفاده از ابزارهای مجازیسازی پردازنده، یک سیستم عامل بار کمتری را برای شبیهسازی صحیح سختافزار متحمل میشود و میتواند منابع خود را در جای بهتری برای برنامههای کاربر صرف کند.
از آنجایی که توان پردازشی بهبود پیدا کرده است و هزینه پردازندهها هر سال پایین تر میآید، افراد بیشتری ماشینهایی دارند که قادرند از روش های مختلف مجازیسازی استفاده کنند. این کار نهایتا منجر به پذیرش گسترده تکنولوژیهای مجازیسازی در جهان خواهد شد که نه تنها در کسب و کارها بلکه در بین کاربران خانگی نیز رواج خواهد داشت.
مجازیسازی برنامه کاربردی به معنای مجزا کردن یک برنامه نسبت به سیستم عاملی است که بر روی آن نصب میشود. بسیاری اوقات، برنامههای خاص که منابع سیستمی یکسانی را به اشتراک میگذارند با هم تداخل پیدا میکنند. برای مثال برنامهها ممکن است از درایور یکسانی استفاده کنند یا مقدار رجیستری یکسانی را تغییر دهند. معمولا وقتی این اتفاق میافتد، یکی از برنامهها یا هر دوی آنها از کار میافتند یا قفل میکنند.
یک راه برای سازمانها برای اجتناب از مشکل فوق، این است که بطور گسترده برنامهها را تست کنند ولی این کار زمان بر است و گران تمام میشود و منابع سازمان را نیز هدر میدهد. همچنین اگر دو برنامه با هم تداخل داشته باشند، باید آنها را در دو ماشین جداگانه یا دو دیسک مجزا قرار دهند. البته این راه معمولا راه چندان خوبی نیست. مثلا یک کاربر مجبور است بین دو ماشین مختلف یا بین دیسک های مختلف سوئیچ کند تا به برنامههای مختلف دسترسی داشته باشد.
یک روش بهتر استفاده از مجازیسازی برنامه کاربردی است. مجازیسازی برنامه کاربردی با ایجاد کپیهای مجزا از منابع به اشتراک گذاشته شده برای برنامههای مجزا فراهم میشود. برای مثال هر برنامه کاربردی یک کپی از درایورها، رجیستری، DLL ها و دیگر منابعی که معمولا با دیگر برنامهها به اشتراک میگذارد خواهد داشت. وقتی یک برنامه مجازی اجرا میشود، منابع خاص خودش را فراخوانی میکند. بنابراین از تداخل بین برنامهها جلوگیری میشود و میتوانند بطور کامل مجزا از همدیگر اجرا شوند، حتی اگر روی یک سیستم عامل یکسان نصب باشند. محیطهای مجزایی که این برنامههای روی آن اجرا میشوند تحت عنوان virtual bubbles شناخته میشود. مجازیسازی برنامه کاربردی مزایای زیادی برای سازمانها دربر دارد. بعضی از این مزایا به این شرح میباشد:
توانایی اجرای برنامههای غیربومی بر روی سیستم عامل. مثلا اجرا برنامههای ویندوز روی Mac یا برعکس.
امکان ایزوله کردن برنامههای مخرب یا بدافزارها
امکان اجرای برنامههای کاربردی که با همدیگر تداخل دارند
توانایی استقرار سریع و آسان برنامهها روی تعداد زیادی از ماشینها
توانایی مدیریت متمرکز برنامهها با کنترل دسترسی کاربران و مجوزهای اجرا
شاید تنها مشکل مجازیسازی برنامههای کاربردی این است که برنامهها معمولا مجبور هستند تا با نرمافزار مجازیسازی بستهبندی108 شوند، تا بتوانند به درستی در محیط مجازی اجرا شوند. اگر چه شاید این کار در ابتدا اندکی زمان ببرد، اما در کل این کار چندان مشکلی نیست و به اندازه کافی مزایا برای انجام آن وجود دارد.
مجازیسازی نرمافزار نوعی دیگر از مجازیسازی برنامه کاربردی یا برنامههای رایانه است. تفاوت عمده بین مجازیسازی نرمافزار و مجازیسازی برنامه کاربردی این است که در مجازی سازی برنامههای کاربردی، اجرای برنامه مجازی میشود ولی در مجازی سازی نرمافزار منابع مورد استفاده برنامه نیز مجازی میشوند. یکی از رایج ترین این نمونه برنامهها، SVS است که توسط Altiris توسعه داده شده است. این مفهوم مشابه Hardware virtualization است که در آن ماشین فیزیکی بصورت یک ماشین مجازی شبیهسازی میشود. مجازیسازی نرمافزار شامل ایجاد یک لایه مجازی یا فضای دیسک سخت مجازی است که برنامه بتواند در آن نصب شود. از این فضای مجازی، برنامهها میتوانند همانند برنامههای عادی که روی سیستم عامل میزبان نصب شده است، اجرا شوند.
وقتی که یک کاربر استفاده از یک برنامه کاربردی را به پایان رساند، میتواند آن را خاموش کند. وقتی برنامه خاموش است، هر تغییری که در سیستم عامل میزبان داده است، کاملا برگردانده میشود. این تغییر شامل رجیستری و پوشه های نصب میباشد بطوریکه هیچ ردی از برنامه ای که نصب شده بود یا اجرا شده بود باقی نماند.
مجازیسازی نرمافزار مزایای زیادی دارد. برخی از این مزایا به این شرح میباشد:
امکان اجرای برنامههای کاربردی بدون تغییر دائمی رجیستری یا کتابخانه ها
امکان اجرای چندین نسخه از یک برنامه یکسان
امکان نصب برنامههایی که ممکن است با همدیگر تداخل داشته باشند (با ایجاد چندین لایه مجازی)
امکان تست برنامههای جدید در یک محیط ایزوله شده و مجزا
مجازیسازی نرمافزاری مزایای زیادی دارد و به سادگی پیادهسازی میشود. یک مزیت جالب این است که شما میتوانید مجازیسازی نرمافزاری را خودتان با دریافت و نصب برنامه Altiris SVS بطور کاملا رایگان امتحان کنید.
مجازیسازی ذخیرهسازی شامل مجازیسازی تجهیزات ذخیرهسازی فیزیکی است. این تکنیکی است که به کاربران و برنامههای کاربردی مختلف این امکان را میدهد تا بدون در نظر داشتن محل تجهیزات ذخیرهسازی و نوع آنها، بتوانند به آن ها دسترسی داشته باشند. وقتی ذخیرهسازی مجازی میشود، همانند یک حافظه استاندارد و محلی برای ماشینهای میزبان مشاهده میشود، حتی اگر این فضای ذخیرهسازی بصورت توزیع شده در مکانهای مختلف قرار داشته باشد و از انواع مختلف باشد.
بزرگترین مزیت مجازیسازی ذخیرهسازی این است که امکان دسترسی ماشینها و سرورهای مختلف را به تجهیزات ذخیرهسازی توزیع شده فراهم می آورد. به این ترتیب یک ماشین که به آن فضا دسترسی پیدا میکند، آن را مانند یک فضای ذخیرهسازی بسیار بزرگ (همانند یک دیسک واحد بسیار حجیم) میبیند نه به صورت تعدادی دیسک پراکنده.
دیگر مزیت مجازیسازی ذخیرهسازی این است که امکان محدود کردن بخشی از فضا یا درایو ها را برای برخی ماشینهای خاص فراهم میآورد که این ویژگی برای افزایش امنیت و نیز امکان افزودن حجم ذخیرهسازی بصورت بلادرنگ مناسب است. همچنین اگر یک سرور با کمبود فضا مواجه شود، میتوان به سرعت و با چند کلیک فضای آن را افزایش داد.

یکی از نمونه های رایج استقرار این نوع تکنولوژی مجازیسازی، SAN 109 است. همانطور که از نام آن پیداست، یک SAN یک شبکه بزرگ از تجهیزات ذخیرهسازی است. این تجهیزات ذخیرهسازی معمولا در rack نگهداری میشوند و مستقل از هر سرور یا ماشینی هستند و در عوض بطور مستقیم به شبکه سازمان متصل هستند. با استفاده از SAN یک کسب و کار میتواند قابلیت انعطاف را افزایش دهد. برای مثال اندازه یک SAN میتواند به آسانی با افزودن دیسک های جدید افزایش پیدا کند. آنها میتوانند بعنوان راهحلهای مناسب تهیه کپی پشتیبان مورد استفاده قرار بگیرند. مثلاً میتوان کپی پشتیبان از دادهها در یک مکان دور از سازمان تهیه کرد. نهایتا اینکه SAN ها میتوانند بهرهوری بهتری را از فضای ذخیرهسازی فراهم کنند. معنای آن این است که بجای داشتن یک دیسک سخت در هر سرور، یک سرور میتواند دادهها را در چندین دیسک سخت یا درایو پخش کند. این بسیار کارآمدتر از استفاده از هارد دیسک ها است، زیرا چندین دیسک سخت میتوانند بار کاری خود را به اشتراک بگذارند که به این ترتیب طول عمر هر یک از هارد دیسک ها افزایش پیدا میکند.
از آنجایی که ذخیرهسازی داده یکی از نیازمندیهای هر کسب و کار است و حجم این داده به مرور افزایش پیدا میکند، مدیریت آن به مرور مشکل تر میشود. به همین ترتیب به مرور زمان تکنولوژیها و راهحلها زیادی برای غلبه بر این مشکلات توسعه داده شدهاند که در نهایت به گونهای متحول شدند که Data Storage Virtualization نام گرفت. اولین مرحله برای این راهحل، حذف اختلاف بین منابع محلی و شبکه است. با این کار، منابع ذخیرهسازی شبکه شده مانند منابع محلی برای یک ماشین قابل استفاده خواهند بود. سپس این منابع ذخیرهسازی میتوانند بصورت عادی توسط هریک از ماشینها به سادگی مورد دسترسی قرار بگیرند.
مزیت این کار برای شرکتها واضح است. اول اینکه کل فضای ذخیرهسازی داده در یک محل متمرکز نگهداری میشود. این کار مدیریت داده را برای مدیران بسیار سادهتر میکند و همچنین تهیه کپیهای مختلف، تهیه کپی پشتیبانی یا آرشیو داده را نیز سادهتر میکند. دوم این که شبکه ذخیرهسازی (SAN) با حجم بسیار زیادی میتواند ایجاد شود. این شبکه به سازمانها امکان اجرای راهحلهایی که نیاز به فضای ذخیرهسازی زیادی دارند را نیز میدهد. برای مثال، یک سرور میتواند تعدادی دیسک سخت داشته باشد اما نهایتا در تعداد دیسک هایی که میتواند پشتیبانی کند محدودیت وجود دارد. اما SAN ها میتوانند شامل تعدادی rack باشند که در هر کدام تعداد زیادی دیسک وجود دارد و محدودیتی در تعداد rack ها و نیز تعداد دیسک ها وجود نخواهد داشت. تنها محدودیتی که در این حالت برای سازمان وجود دارد، میزان هزینهای است که برای تهیه فضای ذخیرهسازی اختصاص میدهند.
اما اگرچه SAN ها میتوانند خیلی برای سازمانها مفید باشند، اما ضرورتاً کارها را برای کاربران سادهتر نمیکنند. زیرا پروتکل های مختلف برای استفاده از آنها مورد استفاده قرار میگیرد و هنوز باید مکان فیزیکی داده مشخص باشد. اینجاست که مفهوم مجازیسازی فضای ذخیرهسازی میتواند مورد استفاده قرار بگیرد تا کاربران درگیر پروتکل ها و پیکربندیها نشوند. در حقیقت در این روش یک لایه بین فرآیند های فیزیکی و منطقی ذخیرهسازی داده قرار میگیرد و همه چیز را استاندارد میکند بطوریکه از دید منطقی همه فضا بصورت یکپارچه دیده شود. مجازیسازی فضای ذخیرهسازی مزایای زیادی برای کسبوکارها دربر دارد. برخی از مزایای اصلی به این شرح میباشد:
امکان مدیریت سادهتر راهحلهای ذخیرهسازی داده: به کمک این روش پیچیدگی هایی که در برخورد با دادههای با حجم زیاد معمولا پیش میآید بسیار کاهش مییابد و راهحلهای مختلف کار با دادههای حجیم از طریق یک بستر استاندارد به راحتی قابل پیادهسازی خواهند بود.
مستقل از فروشنده شدن تکنولوژیهای ذخیرهسازی: در گذشته SAN ها سختافزارهایی بودند که توسط فروشندگان مختلف با تکنولوژیهای مختلف ارائه میشدند و پیادهسازی آنها خیلی ساده نبود و از پروتکل های مختلفی استفاده میکردند. با مجازیسازی میتوان استفاده از این تکنولوژیها را ساده کرد زیرا در نهایت همه چیز بصورت استاندارد مورد استفاده قرار میگیرد.
امکان صرفهجویی در هزینهها: مدیریت ذخیرهسازی فیزیکی هنوز هم در مراکز داده یک کار خسته کننده است. زمان و مهارت افراد میتواند بصورت مفیدتر بکار گرفته شود. با مجازیسازی داده میتوان بصورت کارآمد نیاز به متخصصین IT را برای انجام کارهای دستی مدیریت ذخیرهسازی فیزیکی برطرف کرد. نکته دیگر این است که سختافزار لازم نیست وابسته به یک فروشنده خاص باشد و میتوان تکنولوژیهای ذخیرهسازی را از فروشندههای مختلف خریداری کرد.
شرکتهای بسیاری از این روش پشتیبانی میکنند: شرکتهای مهم بسیاری درگیر توسعه تکنولوژیهای مجازیسازی فضای ذخیرهسازی شدهاند که میتوان به HP، VMware، EMC و IBM اشاره کرد. برای مثال VMware تکنولوژی مجازیسازی ذخیرهسازی را در برخی از محصولات خود نظیر VMware Workstation بکارگرفته است. EMC راهحل خود را بنام Information Lifecycle Management ارائه کرده است. IBM هم راهحل مجازیسازی داده خود را بنام Total Storage توسعه داده است. آنها یک کنترلر SAN خاص را ارائه کردهاند که میتواند بسیاری از کارهای مدیریت SAN را انجام دهد و بار کاری مدیران مرکز داده را به شدت کاهش میدهد و امکان بهرهوری بیشتر را از نظر زمان و منابع فراهم میآورد.
مجازیسازی سیستم عامل اگرچه شبیه به روش full virtualization است اما در حقیقت کاملا با آن متفاوت است. روش full virtualization شامل مجازیسازی کل سختافزار یک ماشین است. سپس هر محیط مجازی در سیستم عامل خود و هسته مربوط به خود اجرا میشود. اما مجازیسازی در سطح سیستم عامل متفاوت است و در آن محیطهای مجزا، هسته های مجزا ندارند، بلکه همه محیطها (که به آن ها container گفته میشود) در یک هسته واحد اجرا میشوند.
محیط هر container در مجازیسازی سیستم عامل از دیگر container ها ایزوله خواهد بود و مانند یک سرور فیزیکی عمل میکند. در محیط یک container برنامهها میتوانند اجرا شوند. نتیجه نهایی در این سطح از مجازیسازی شبیه full virtualization است، اما روند انجام کار متفاوت است. مجازیسازی سیستم عامل چند نمونه تجربه عملی دارد. این روش مدت ها در محیطهای میزبانی مجازی مورد استفاده قرار میگرفته است. میزبانی مجازی شامل میزبانی بیش از یک نام دامنه بر روی یک ماشین فیزیکی یکسان بوده است. با استفاده از مجازیسازی سیستم عامل، میزبانهای وب میتوانستند محیطهای مجزا و امنی را برای نام های دامنه مختلف ایجاد کنند. این کار واقعا سودمند است زیرا اگر منابع فقط به یک دامنه اختصاص داده شود، بخش عمده آن به هدر میرود.

دیگر مزایای استفاده از مجازیسازی سیستم عامل شامل تفکیک برنامهها با امکان مدیریت آسان منابع است. برای مثال میتوانید یک گروه از برنامهها را در container های مختلف دسته بندی کنید یا جدا کنید. به این ترتیب منابع نرمافزاری نسبت به حالتی که همه برنامهها با هم در یک محیط قرار داشته باشند، بهتر قابل مدیریت خواهند بود. به نظر میرسد که مجازیسازی سیستم عامل بسیار مفید بوده است و شاید جای تعجب داشته باشد که چرا اکثر سازمانها امروزه بجای آن از full virtualization استفاده میکنند. هر دو راهحل اگر چه با هم متفاوتند ولی نتیجه یکسان دارند و هر دو مزایا و معایب خودشان را نیز دارند.
مزیت اصلی مجازیسازی سیستم عامل بر full virtualization این است که سربار بسیار کمتری دارد و در نتیجه بهرهوری آن بسیار بیشتر است زیرا نیاز به شبیهسازی سختافزار ندارد. از طرفی اشکال آن این است که نمیتواند سیستمهای عاملی غیر سیستم عامل میزبان را اجرا کند. اگر بخواهید یک محیط لینوکسی را در سیستم عامل ویندوز اجرا کنید، مجازیسازی سیستم عامل برای شما مناسب نخواهد بود.
محیط Container محدودیتهایی نیز دارد. برای مثال، یک Container نمیتواند هسته خود را مستقیما تغییر دهد. نمیتوان سیستم فایلها را mount یا dismountکرد و نمیتوان دیگر فعالیت های سطح بالا را انجام داد. یک روش full virtualization به کاربر دسترسی بدون محدودیتی را به محیطی که در آن سیستم عامل های مختلف میتواند نصب شود میدهد. بنابر این قابلیت انعطاف full virtualization باعث شده است که به یک راهحل استاندارد برای مجازیسازی تبدیل شود. همراه با تکنولوژیهای دیگر hardware-assisted virtualization و Para-assisted virtualization، این روش کارآیی و بهرهوری در حد مجازیسازی سیستم عامل را بدست آورده است. اما با این حال تکنولوژی مجازیسازی سیستم عامل هنوز بطور گسترده (برای مثال در محیطهای میزبانی وب) مورد استفاده قرار میگیرد و در آینده نیز استفاده خواهد شد.
چگالی مجازیسازی عبارتی است که با تعدادی از تکنولوژیهای مجازیسازی بکار میرود. این عبارت اغلب به تعداد ماشینهای مجازی اشاره میکند که میتوانند در یک ماشین فیزیکی یا rack قرار بگیرند. هرچه تعداد ماشینهای مجازی که یک ماشین فیزیکی بتواند پشتیبانی کند بیشتر باشد، چگالی بیشتری دارد. همچنین گاهی به توانایی یک شرکت برای ایجاد یک زیرساخت شبکه با تعداد ماشینهای فیزیکی کمتر از طریق استفاده از VLAN و تکنولوژیهای مجازیسازی نیز گفته میشود. اصطلاح چگالی مجازیسازی ممکن است برای توصیف تعداد برنامههای کاربردی مجازی شده که بتواند بطور موثر روی یک ماشین اجرا شوند نیز بکار رود.
بطور کلی، وقتی اصطلاح چگالی مجازیسازی استفاده میشود، در حقیقت برای تعداد یک تکنولوژی مجازیسازی خاص (چه ماشین مجازی باشد، چه برنامه کاربردی یا ....) که بتواند بطور موثر در یک محیط خاص اجرا شود، قابل استفاده خواهد بود. هر چه تعداد بیشتر باشد، چگالی محیط بیشتر است.
سطوح مجازیسازی به سطوح مختلفی گفته میشود که میتوانند در زمان مجازیسازی فضای ذخیرهسازی اعمال گردند. این سطوح با همدیگر فرق میکنند و میتوانند شامل مجازیسازی در سطح هارد دیسک (با روش های فوق) تا مجازیسازی کامل در سطح سیستم فایل انجام شود. چهار سطح اصلی وجود دارد که به این شرح میباشد:
این سطح تا حدی خود تعریف است. در این سطح مدیریت هارد دیسک های فیزیکی در محیط سیستم عامل سرور انجام میشود. برای مثال میتواند شامل تقسیمبندی فیزیکی هارد دیسک شود.
این سطح مجازی میتواند شامل تکنیک هایی نظیر data mirroring و data striping باشد. شناخته شده ترین نمونه این سطح از مجازیسازی RAID است. RAID 0 از stripping استفاده میکنند که در این روش دادهها در چندین دیسک نوشته میشوند، اما کاربر نهایی به گونه ای به داده دسترسی پیدا خواهد کرد که به نظر در یک درایو محلی واحد قرار دارند. برخی شکلهای دیگر RAID (مثلا RAID 1) از mirroring استفاده میکنند که در آن داده روی دو دیسک مجزا همزمان نوشته میشود. در برخی انواع RAID از ترکیب striping و mirroringاستفاده میشود که یک روش بسیار موثر در مجازیسازی دستگاه های ذخیرهسازی و روش های تهیه کپی پشتیبانی است.
در این سطح مجازیسازی به دستگاه های ذخیرهسازی اجازه داده میشود که بطور مستقل از سختافزار یا سرور فیزیکی عمل کنند. به این معنا که استخری عظیم از فضاهای ذخیرهسازی ایجاد خواهد شد در حالی که بطور منطقی به صورت یک فضای واحد دیده میشوند. معمولا یک واسط مدیریت برای مدیریت سیستمهای ذخیرهسازی در این سطح مورد نیاز است، زیرا از سرور مدیریتی مستقل هستند. یک کنترلر SAN میتواند مجازیسازی در این سطح را انجام دهد.
این سطح بیشترین مزایا را برای کاربران خواهد داشت زیرا ذخیرهسازی به نهایت حد مجازیسازی خود میرسد. دادهها میتوانند به اشتراک گذاشته شوند، محافظت شوند و ... با استفاده از این سطح از مجازیسازی، اندازه استخر داده مجازی شده میتواند به هر شکل دلخواه مدیریت شود. همچنین مجموعههای مختلف داده میتوانند از یک محل به محل دیگر بصورت درایو های مجازی با سهولت بسیار منتقل شوند.
Ubuntu یکی از سیستم عامل های مبتنی بر لینوکس بسیار محبوب است. نگارشهای مختلفی از Ubuntu نظیر نگارش Desktop و نگارش Server و ... وجود دارد. نکته اصلی آن این است که کاملا کدمتن باز است و تعداد زیادی برنامه از پیش نصب شده و واسط گرافیکی دارد که از دلایل عمده محبوبیت آن است.
در نسخه سرور Ubuntu یک نسخه فوقناظر بنام KVM 110 نیز ارائه شده است. KVM در اصل راهحل مجازیسازی کامل متعلق به لینوکس است. بخاطر ماهیت کدمتن باز لینوکس، بسیاری از توسعهدهندگان روی این تکنولوژی کار کردهاند و آن را بطور مداوم بهینه کرده و بهروزرسانی کردهاند. KVM میتواند هم با تکنولوژیهای مجازیسازی سختافزاری Intel و هم AMD کار کند. مجازیسازی سختافزاری111 در حقیقت یک محیط نرمافزاری مجازی شده است که برای عملکرد بهتر خود از سختافزار (معمولا پردازنده) کمک میگیرد. این کار فرآیند مجازیسازی را کارآمدتر میکند. اکثر پردازندههای x86 جدید در Intel و AMD این تکنولوژی را پشتیبانی میکنند.
فوقناظر LVM میتواند چندین ماشین مجازی را با سیستم عامل های میهمان مختلف اجرا کند. همچنین بدلیل اینکه KVM در هسته سیستم عامل پیادهسازی شده است، کارآیی بیشتری داشته و نیاز به منابع کمی دارد. هسته بخش حیاتی یک سیستم عامل است که ارتباط بین اجزای سختافزاری و نرمافزاری یک ماشین را فراهم میکند. همچنین بعلت اینکه بخشی از سیستم عامل است، میتواند بطور مستقیم با سختافزار ارتباط برقرار کند.
KVM از واسط VirtIO برای تبادل داده بین تکنولوژیهای مجازیسازی و دیسک فیزیکی یا شبکه استفاده میکند. این موضوع سبب کاهش میزان شبیهسازی برای سختافزار میشود. برای مثال، بطور سنتی، یک کارت شبکه مجازی به همراه کل هسته سیستم عامل باید شبیهسازی شود تا بتواند داده را با کارت شبکه فیزیکی مبادله کند. اما با استفاده از VirtIO، کل هسته نیاز به شبیهسازی ندارد، زیر VirtIO یک واسط مشترک برای تبادل فایل بین بسیاری از سیستم عامل ها فراهم کرده است.
Red Hat یک سیستم عامل مبتنی بر لینوکس مشابه Ubuntu است و همانند آن کد متن باز است. اولین نگارش آن در 1994 منتشر شد تا 2003 به انتهای چرخه عمر خود رسید (نگارش 9، آخرین نسخه آن بوده است). سپس با نسخه Red Hat Enterprise جایگزین شد که آخرین نسخه آن 5.2 بود و در می 2008 منتشر شد. همانند اکثر سیستم عامل های مدرن امروز، آخرین نسخه Red Hat Enterprise، پشتیبانی قوی از مجازیسازی را فراهم کرده بود. تکنولوژی آن از سرورهایی با هر اندازه پشتیبانی میکرد و تعداد نامحدود مهمان (فضای مجازی) را فراهم میکرد. همچنین برای کاربران رومیزی، تا چهار فضای مجازی را با انتخاب گزینه Multi-OS ارائه میکرد.
Red Hat از 2 نوع اصلی مهمان مجازی پشتیبانی میکرد: Para-Virtualized و Full-Virtualized
در Para-Virtualized بیشترین نرخ کارآیی فراهم میشد و میتوانست با هر نوع پردازنده ای کار کند. اما این نوع مجازیسازی فقط محدود به نسخه های 4 و 5 Red Hat Enterprise بعنوان سیستم عامل مهمان در ماشینهای مجازی بود و از سیستم عامل های دیگر در حال حاضر پشتیبانی نمیشود.
در Full virtualization از هر نوع سیستم عاملی پشتیبانی میشود. تنها مشکل این نوع این است که نیاز به کمک سختافزار دارد. به عبارت دیگر باید پردازنده از تکنولوژی Intel VT یا AMD-V پشتیبانی کند. البته اکثر پردازندههای امروزی، این تکنولوژی را دارند و مشکل چندان مهمی نیست.
بعضی از ویژگیهای اصلی Red Hat Enterprise به این ترتیب میباشد:
امکان مهاجرت زنده ماشینهای مجازی
امکان تهیه کپی پشتیبان و بازیابی ماشینهای مجازی به آسانی
امکان اجرای ماشینهای 32-bit Para-Virtualized بر روی سختافزارهای 64 بیتی
امکان مدیریت آسان ماشینهای مجازی و سیستم عامل مهمان از طریق ابزارهای گرافیکی
مزایای Red Hat Enterprise مشابه دیگر تکنولوژیهای مجازیسازی است. برای مثال میتواند تعداد ماشینهای فیزیکی یک کسب و کار را کاهش دهد. سیستمهای عامل و برنامههای قدیمی میتوانند روی سختافزار جدید اجرا شوند. منابع با سهولت بیشتری مدیریت میشوند و زمان uptime بسیار افزایش مییابد. نهایتا اینکه برنامهها و دادهها میتوانند در فضاهای مجازی خود ایزوله شوند که این کار امنیت را افزایش میدهد و سبب تسهیل خطا یابی میشود.
ویندوز سرور، سیستم عامل برتر مایکروسافت است. نسخه آخر آن (نسخه 2008) اولین نسخه از ویندوز است که دارای ویژگی مجازیسازی کامل است. این ویژگی تحت عنوان WSV 112 شناخته میشود. علاوه بر نقش هایی که در نگارشهای قبلی سرور قرار داشت، نقش Hyper-V نیز به نگارش سرور 2008 افزوده شده است. انتخاب این نقش به شما امکان ایجاد محیط سرور مجازی شده را میدهد. در این محیط شما میتوانید چندین سرور مجازی ایجاد کنید. Hyper-V بسیار کارآمدتر از سرورهای مجازی مبتنی بر برنامههای کاربردی است، زیرا در داخل خود سیستم عامل یکپارچه شده است.
WSV مزایای مختلفی که از تکنولوژی مجازیسازی انتظار دارید را فراهم میکند. برای مثال از مزایای آن میتوان به استقرار سریع سرور و امکان تهیه تصویر لحظهای برای اهداف کپی پشتیبان اشاره کرد. البته ویژگیهای اضافه دیگری هم وجود دارد. مثلاً میتواند تا 32 گیگابایت حافظه RAM و تا 4 پردازنده به هر سیستم عامل مهمان اختصاص دهد. همچنین از LAN های مجازی در هر دو حالت ماشین مجازی 32 بیتی و 64بیتی پشتیبانی میکند. WSV مزایای زیادی دارد و میتواند بطور قابل انعطاف مدیریت شود.
رقیب اصلی WSV محصول VMware ESX است. هر دوی اینها تکنولوژیهای قوی مجازیسازی هستند و هر دو شرکت جایگاه مهمی بر بازار مجازیسازی بدست آورده اند. مزیت اصلی WSV این است که در حال حاضر از سختافزار بیشتری نسبت به VMware ESX پشتیبانی میکند. به محض اینکه ویندوز سرور 2008 را روی یک ماشین نصب کردید، قادر خواهید بود WSVرا اجرا کنید. البته VMWare ویژگیهای بیشتری نسبت به WSV دارد. رقابت این دو شرکت درآینده در خصوص توسعه تکنولوژیهای مجازیسازی جالب خواهد بود.
Fedora یکی از چندین توزیع سیستم عامل های مبتنی بر لینوکس است. در گذشته، اجرای Fedora (یا دیگر توزیعهای لینوکس) و ویندوز روی یک ماشین، نیاز به تقسیمبندی منطقی دیسک سخت آن ماشین داشت. این کار سبب ایجاد یک حالت راه اندازی دوگانه میشد که در آن میتوانستید یکی از این دو سیستم عامل را در زمان راه اندازی انتخاب کنید. بهرحال، هر دو سیستم عامل نمیتوانستند با همدیگر همزمان اجرا شوند و برای استفاده از محیط دیگر باید سیستم مجددا راه اندازی میشد و وارد سیستم عامل دیگر میشدید.
راهحل این مشکل (برای استفاده همزمان از هر دو سیستم عامل) مجازیسازی بود. با استفاده از مجازیسازی، یک سیستم عامل ویندوز میتوانست بصورت یک برنامه مجزا در داخل Fedora اجرا شود. Fedora از KVM 113 استفاده میکند و از تکنولوژیهای Intel VT و AMD-V نیز بطور کامل پشتیبانی میکند.
برنامه اصلی مجازیسازی اوراکل، Oracle VM نام دارد. این برنامه مجازیسازی از برنامههای مبتنی بر اوراکل و حتی غیر اوراکل پشتیبانی میکند. ارزیابی ها نشان داده است که Oracle VM میتواند تا سه برابر کارآمدتر از دیگر برنامههای مجازیسازی باشد. این برنامه هم از ویندوز و هم از توزیعهای مختلف لینوکس بعنوان سیستم عامل میهمان پشتیبانی میکند و دارای کنسول مدیریت تحت وب است که استفاده از آن را برای مدیریت محیط مجازی بسیار آسان میکند. علاوه بر این، اوراکل الگوهایی را نیز ارائه داده است که شامل تصاویر و برنامههای از پیش نصب شده سازمانی میباشد. این کار تنظیم و پیکربندی ماشینهای جدید را خیلی سادهتر میکند، زیرا فقط باید یک کپی از این تصاویر را که شامل نرمافزار مورد نظر است اجرا کرد.
تکنولوژی مجازیسازی Oracle’s VM مزایای زیادی را فراهم کرده است. نصب و استقرار نرمافزار در ماشینهای جدید بسیار سریعتر و سادهتر است و مهم تر از همه اینکه بصورت رایگان قابل دانلود است.
VMware یکی از شناخته شده ترین شرکتهای مجازیسازی تا کنون است. نام تجاری آن به آسانی با تعداد زیادی از برنامههای مجازیسازی شناخته میشود. محبوبترین برنامههای این شرکت بطور مختصر در ادامه معرفی شده است:
VMware Workstation: در ابتدا در سال 1999، این برنامه معرفی شد و به کاربران اجازه میداد که چندین ماشین مجازی x86 روی یک ماشین فیزیکی ایجاد کنند. تعداد زیادی از سیستم عاملهای میهمان نظیر ویندوز، لینوکس و MAX OS X میتوانستند روی این ماشینهای مجازی نصب شوند.
VMware Fusion: مشابه VMware Workstation است. تنها تفاوت آن این است که VMware Fusion برای کاربران پلتفرم سختافزاری MacIntel طراحی شده است. این برنامه بطور کامل با ماشینهای مجازی ساخته شده با دیگر برنامههای VMware سازگار است.
VMware Player: این برنامه یک نسخه رایگان است که برای کاربرانی که مجوز اجرای VMware Workstation یا VMware Fusionرا ندارند قابل استفاده است. با استفاده از این برنامه نمیتوان ماشین مجازی ایجاد کرد، تنها میتوان ماشینهای ساخته شده را اجرا کرد.
VMware ESX Server: این یک محصول مجازیسازی در سطح سازمانی است که توسط VMware ارائه شده است. این محصول برای نصب نیاز به سیستم عامل میزبان ندارد و خودش مستقیما روی سختافزار سرور نصب میشود. این محصول برخلاف نگارشهای رومیزی است که بصورت یک برنامه کاربردی روی سیستم عامل میزبان خود نصب میشوند. VMware ESX Server بسیار کارآمدتر از دیگر تکنولوژیهای مجازیسازی است زیرا سربار سیستم در آن کمتر است و با سختافزار مستقیما تعامل دارد.
VMware ESXi: این برنامه مشابه VMware ESX Server است. تنها تفاوت آن این است که حافظه کمتری نیاز دارد، زیرا کنسول سرویس آن با یک واسط سادهتر جایگزین شده است و از جولای 2008، VMware ESXi بصورت رایگان در دسترس قرار گرفته است.
VMware Server: این برنامه مجازیسازی سرور رایگان VMware است. این برنامه روی سیستم عامل میزبان (ویندوز یا لینوکس) نصب میشود. لازم به ذکر است که این محصول نسبت به دیگر محصولات VMware server که مستقیما بر روی سختافزار نصب میشود کارآیی ندارد. VMware Server به شما امکان ایجاد چندین ماشین مجازی با سیستم عامل های مختلف را نمیدهد.
همانطور که ملاحظه کردید، VMware انواع مختلفی برنامه مجازیسازی ارائه کرده است. هر کدام بسته به سناریویی که در آن استفاده میشوند، مزایا و معایب خودشان را دارند. VMware Workstation شاید برای محیطهایی که چندین سیستم رومیزی در آنها نیاز است مناسب باشد. این سیستمهای رومیزی میتوانند بصورت مجازی در تعداد کمتری ماشین فیزیکی قرار بگیرند. VMware ESX Server برای ایجاد سرورهای مجازی با کارآیی بالا مناسب است. VMware Server همین کار را بصورت رایگان انجام میدهد اما کارآیی ESX Server را ندارد. ولی هنوز برای استفاده در سرورهایی که اهمیت کمتری دارند مناسب است. اینکه کدام راهحل مجازیسازی برای یک کسب و کار شما مناسب است، بستگی به سناریوی فعلی شما دارد. مثلا اینکه کسبوکار شما چقدر بزرگ است، آیا سرورهای شما وابستگی زیادی به منابع دارند و اینکه هدف های آتی استفاده از آنها چیست. وقتی که در یک کسب و کار، این مسائل مشخص شد، میتوان راهحل مجازیسازی مناسب را انتخاب کرد. اگرچه VMware شرکت غالب برای مجازیسازی است، اما شرکتهای دیگری نیز شروع به تعقیب آنها کردهاند. مایکروسافت نرمافزار جدید Hyper-V خود را ارائه کرده است که رقیب مستقیم ESX Server است. در حال حاضر بررسی ها نشان داده است که عملکرد ESX Server بهتر است، اما شرکتهای زیادی در حال بهبود و توسعه تکنولوژیهای خود هستند و شما میتوانید بسیاری از تکنولوژیهای مجازیسازی کد متن باز را به صورت رایگان دانلود کنید و مورد استفاده قرار دهید.
Altris یک سازمان است که در سال 2007 توسط شرکت Symantec خریداری شده است. آنها بطور خاص روی نرمافزارهایی کار میکنند که برای مدیران شبکه به منظور مدیریت محیطهای IT قابل استفاده باشد. از فعالیت های آنها در زمینه مجازیسازی میتوان به Altiris SVS 114 اشاره کرد که برای استفاده شخصی رایگان است.
SVS به شما امکان نصب برنامههای مختلف را روی ماشین خودتان ولی در یک محدوده مجازی شده میدهد. به این ترتیب میتوان گفت که برنامهها واقعاً روی ماشین فیزیکی شما نصب نشدهاند، بلکه در مکانی مجازی قرار دارند. این مکان مجازی میتواند بر حسب خواست شما فعال یا غیرفعال باشد. این تکنولوژی مزایای زیادی دارد. برای مثال نرمافزارهای تایید نشده میتوانند روی این مکان مجازی تست شوند. همچنین، از تداخل نگارشهای مختلف یک نرمافزار جلوگیری میشود و چندین نگارش میتواند روی یک ماشین فیزیکی نصب شود.
استفاده از SVS بسیار ساده است. اولین باری که از آن استفاده کنید، یک لایه مجازی ایجاد میشود. این لایه مجازی شامل فضای مجازی است که برنامهها روی آن نصب خواهند شد. SVS به شما امکان ایجاد چندین لایه مجازی را روی یک ماشین میدهد. بعد از ایجاد لایه مجازی، تنها کاری که لازم است انجام دهید، این است که فایل نصب برنامه مورد نظر و لایه مجازی مقصد را انتخاب کنید. حال میتوانید این برنامه را فعال یا غیرفعال کنید.
وقتی برنامه ای را فعال میکنید، بگونهای در ماشین شما ظاهر میشود که به نظر میرسد بصورت عادی در حال نصب است. برای مثال، برنامه در منوی شروع ویندوز شما قرار میگیرد، تغییرات رجیستری انجام میشود و ... بهرحال وقتی برنامه را غیرفعال کنید، همه تغییرات مورد نیاز برای غیرفعال کردن انجام خواهد شد و مانند این است که هیچگاه برنامه را نصب نکرده بودید.
این یک ویژگی بسیار عالی است زیرا هیچ تغییری به محیط سیستم عامل میزبان اعمال نمیشود. این ویژگی میتواند به شما در امن تر کردن رایانه تان نیز کمک کند. مثلا اگر یک برنامه که شامل spyware است بطور اتفاقی در رایانه شما نصب شود، ممکن است زمان زیادی ببرد تا بتوانید آن را پیدا کنید و پاک کنید. اما با استفاده از SVS تنها کافیست برنامه را غیرفعال کنید.
Softgrid نرمافزار مجازیسازی متعلق به مایکروسافت است. این محصول در 2006 توسط مایکروسافت خریداری شد و در حال حاضر تحت عنوان App-V شناخته میشود و عملکرد آن شبیه به Altiris SVS است. برای کار با این محصول میتوان یک فضای مجازی در جایی که برنامهها در آن قرار دارند ایجاد کرد. به این فضای مجازی Softgrid SystemGuard گفته میشود. یک SystemGuard سرویسها و عناصری که برنامههای نرمافزاری معمولا مورد استفاده قرار میدهند را مجازی میکند. برای مثال، فایلهای سیستمی خاص، ورودیهای رجیستری، فایلهای ini، فایلهای DLL، سرویسهای سیستم (مثلا ویژگیهای cut و paste) و دادههای پروفایل یک کاربر خاص. با مجازیسازی همه این ویژگیها، هیچ تغییری بصورت دائمی روی سیستم فیزیکی کاربر یا سیستم عامل میزبان انجام نمیشود.

App-V از سه بخش اصلی تشکیل شده است. این بخشها شامل کنسول مدیریتی، کلاینت و sequencer میباشد:
Softgrid Management Console: این کنسول، مشابه کنسول مدیریتی مایکروسافت (MMC) است. از طریق این کنسول، شما میتوانید برنامههای کاربردی را که بصورت مجازی استفاده کنید، مدیریت و کنترل کنید. برای مثال شما میتوانید تنظیمات امنیتی یک برنامه را تغییر دهید، برنامه را به روز رسانی کنید، اطلاعات آماری مخصوص به هر برنامه را مشاهده کنید. این کنسول بصورت موثر، مرکز کنترلی برای برای نصب و استقرار برنامهها فراهم میکند.
Softgrid Client: برنامه کلاینت در داخل ایستگاه های کاری کاربر نهایی نصب میشود. مدیران میتوانند میزان دسترسی کاربران را به برنامه کلاینت کنترل کنند که باعث میشود یک راهحل قوی و ایمیل محسوب شود. علاوه بر واسط گرافیکی، برنامه کلاینت یک واسط خط فرمان (CLI) نیز دارد. CLI نه تنها میتواند بصورت محلی برای پیکربندی برنامه کلاینت مورد استفاده قرار بگیرد، بلکه امکان استفاده از آن از راه دور نیز وجود دارد.
Softgrid Sequencer: برنامه sequencer بصورت کلی به شما امکان کپسوله سازی دادههای نصب یک برنامه را در یک فرمت مخصوص نصب Softgrid فراهم میکند (Softgrid package). وقتی که یک بسته به این صورت ایجاد شود، میتواند به سادگی روی چندین کلاینت نصب و مستقر شود.
محصول App-V مزایای زیادی به این شرح دارد:
برنامهها میتوانند به سرعت و به سهولت روی ایستگاه های کاری مختلف مستقر شوند. این کار در زمان افراد صرفهجویی میکند زیرا نیاز نیست که وقت زیادی برای نصب های تکراری صرف کنند.
به روز رسانی برنامههای کاربردی بسیار سادهتر است. تمام کاری که باید برای ارتقای یک برنامه انجام شود این است که آن را یکبار در کنسول مدیریتی Softgrid ارتقا داد. آنگاه تمام کاربران فورا نسخه به روز شده برنامه را در ایستگاه های کاری مشاهده خواهند کرد.
برخی اوقات، برنامههای مخرب یا قدیمی باید بطور کامل از شبکه یا از رایانهها حذف شوند. بدون استفاده از کنسول مدیریتی Softgrid این کار بسیار زمان بر است. اما با استفاده از Softgrid با چند کلیک ساده انجام میشود و هیچ ردی از برنامه باقی نخواهد ماند.
مجازیسازی نرمافزار مزایای زیادی دارد و تکنولوژی در حال توسعه ای است. همانند مجازیسازی سرور، این تکنولوژی میتواند زیرساخت یک کسب و کار را تغییر دهد و متحول سازد.
Thinstall مجموعه مجازیسازی است که در حال حاضر تحت عنوان VMware ThinApp شناخته میشود و برای مجازی کردن برنامههای کاربردی قابل استفاده است. این مجموعه توسط موسسه Thinstall معرفی شد و در ژانویه 2008 توسط VMware خریداری شد و از آن به بعد نام آن به VMware ThinApp تغییر یافت. هدف اصلی VMware ThinApp مجازیسازی یک برنامه کاربردی عادی بود بطوریکه بصورت قابل حمل باشد و روی هر ماشین یا پلتفرمی اجرا شود.
شبیه دیگر ابزارهای مجازیسازی برنامههای کاربردی، ThinApp به کاربران اجازه اجرای یک برنامه کاربردی را در داخل انواع مختلف سیستمهای عامل و پلتفرمها فراهم میکند بدون اینکه نیاز باشد برنامه در آن نصب شود. توسط این ابزار، برنامه کاربردی به همراه مجموعه منابع مربوط به خود (DLL ها و ورودیهای رجیستری) بستهبندی میشود و بنابراین از استفاده از منابع سیستم عامل میزبان مستقل میشود و میتواند در یک محیط مجزا بدون نیاز به نصب در ماشین فیزیکی اجرا شود.
محیط مجازی که برنامهها در آن اجرا میشوند ترکیبی از منابع فیزیکی و مجازی است. به همین علت برنامهها میتوانند بصورت عادی اجرا شوند و به نظر میرسد که واقعاً در محیط سیستم عامل میزبان اجرا شدهاند، حتی اگر کاملا در یک container مجزا و ایزوله اجرا شده باشند.
برنامه ThinApp مزایای زیادی را برای کاربران فراهم میآورد. برخی از این مزایا مختصرا به این شرح هستند:
کاربران میتوانند برنامهها را در محیطهایی با سیستم عامل دیگر اجرا کنند. مثلا اینکه برنامههای ویندوز را در محیط لینوکس اجرا کنند.
از شیوع ویروس و بد افزارها جلوگیری میشود. بدلیل اینکه برنامهها در محیط container مجازی خود اجرا میشوند، کاملا از بقیه محیط سیستم عامل مجزا هستند و برنامههای مخرب نمیتوانند به سیستم عامل میزبان آسیب برسانند.
برنامههایی که با هم تداخل دارند میتوانند با هم اجرا شوند. در محیطهای مبتنی بر ویندوز، برخی برنامهها هستند که از منابع یکسانی استفاده میکنند (مثلا ورودیهای رجیستری یکسان یا DLL ها مشابه). در چنین مواردی ممکن است بین برنامهها تداخل پیش بیاید و برنامهها نتوانند با هم روی یک ماشین کار کنند. با استفاده از ThinApp میتواند برنامهها را از هم ایزوله کرد و با همدیگر در یک ماشین واحد اجرا کرد و هیچ تداخلی پیش نخواهد آمد.
برنامهها میتوانند روی سختافزارهای قدیمی تر نیز کار کنند. روش های دیگر مجازیسازی نظیر full virtualization به علت استفاده زیاد از منابع، معمولا نمیتوانند روی سختافزارهای قدیمی تر بکار گرفته شوند. این در حالتی است که سختافزارهای قدیمی از hardware-assisted virtualization نیز پشتیبانی نمیکنند. اما مجازیسازی برنامههای کاربردی این امکان را فراهم کرده است که بتوان برنامههای کاربردی را در سختافزارهای قدیمی تر نیز اجرا کرد.
مهاجرت سادهتر بین سیستم عامل ها امکانپذیر است. وقتی که مجبوریم به یک سیستم عامل جدید مهاجرت کنیم، یا اینکه بخواهیم سیستم عامل جدیدی را نصب کنیم، اکثر برنامهها باید دوباره نصب شوند. این کار معمولا زمان بری است. با استفاده از مجازیسازی برنامههای کاربردی نیاز به نصب برنامه ای نخواهد بود. فقط کافیست برنامهها را دوباره کپی کرد و این کار خیلی آسانتر و سریعتر است.
توسعه سریع برنامههای کاربردی امکانپذیر است. مشابه موارد قبل، مدیران نیاز ندارند که وارد فرآیند وقت گیر نصب برنامههای مختلف را روی ماشینهای مختلف بشوند. در عوض تمام کاری که انجام میدهند، کپی کردن برنامه بستهبندی شده است که میتواند بصورت عادی روی ماشینها اجرا شود. حتی شکل کارآمدتر آن این است که این برنامههای بستهبندی شده روی سرورهای متمرکز قرار داشته باشد. به این ترتیب کاربران میتوانند از طریق Thin Client به برنامهها دسترسی داشته باشند.
همانطور که ملاحظه شد، VMware ThinApp مزایای زیادی دارد. اکثر برنامههای تحت ویندوز (بجز برخی موارد استثنا) میتوانند توسط این ابزار مجازی شوند. موارد استثنا به این شرح میباشد:
هر برنامه ای که نیاز به درایور خاصی داشته باشد، هنوز نمیتواند مجازی شود.
هر برنامه ای که با سیستم عامل یکپارچه است (مثلا ماشین حساب یا Paint ویندوز) نمیتواند مجازی شود.
هر برنامه ای که دارای قفل محافظ سختافزاری است نمیتواند مجازی شود.
نرمافزارهایی که در یک محیط خاص معمولا به حالت عادی اجرا نمیشوند، در محیط مجازی نیز ممکن است اجرا نشوند. مثلا اگر برنامه ای داشته باشید که در Xp اجرا شود ولی در ویستا نتواند اجرا شود، در صورتی که مجازی شود نیز نخواهد توانست در ویندوز ویستا اجرا شود.
مجازیسازی Net framework یا Dot Net framework virtualization شامل اجرای برنامههای Dot Net بدون نیاز به نصب dot net framework است. dot net framework یک کتابخانه از کدهای از پیش آماده شده است که میتواند در برنامهها یا مسائل برنامهنویسی مورد استفاده قرار بگیرد. این کتابخانه توسط مایکروسافت ایجاد شده است و در سیستم عامل های خود از آن استفاده میکند. نصب آخرین نسخه از dot net framework در سیستم شما مزایای زیادی برای شما دارد، البته یک سری مشکلات نیز وجود دارد که ممکن است کاربر با آنها مواجه شود. عمده این مشکلات بخاطر تداخل نرمافزاری است.
اولین مشکلی که ممکن است کاربر با آن در زمان نصب یک نسخه جدید از dot net framework مواجه شود این است که برخی از برنامهها ممکن است دیگر کار نکنند. برخی از برنامههای قدیمی تر شاید به نگارشهای پایین تری نیاز داشته باشند. دومین مشکل اینکه که کاربران معمولا نیاز دارند که نگارشهای مختلف dot net framework را همزمان نصب کنند تا همه برنامههایشان کار کند. اجرای بیش از یک نسخه از dot net framework خودش میتواند باعث مشکلاتی شود و پایداری کل سیستم را کاهش دهد. مجازیسازی Dot net framework میتواند این مشکلات را به شکلهای زیر حل کند:
عدم نیاز به نصب: با مجازیسازی dot net framework، دیگر نیازی به نصب آن روی یک ماشین به روش قبل نیست. به این معنا که تغییر در محیط سیستم عامل میزبان رخ نمیدهد و در زمان نیز صرفهجویی میشود.
برطرف شدن تداخل ها: بدلیل اینکه dot net framework در ماشین نصب نمیشود و برنامه در محیط مجزای خودش اجرا میشود، تداخل ها بصورت مجازی رفع میشوند. به عبارت دیگر چندین نسخه از dot net framework میتوانند روی یک ماشین بدون مشکل اجرا شوند.
استقرار سریع و آسان: مجازیسازی برنامه کاربردی معمولا شامل بستهبندی کل برنامهها در داخل یک فایل قابل اجرا است. این کار نیاز به نصب را از بین میبرد و میتوان از روی چهارچوبهای مختلف چندین کپی بر روی سیستمهای مختلف تهیه کرد یا اینکه به شیوه ای سادهتر همه بسته ها را در یک سرور مرکزی قرار داد و کاربران میتوانند از این چهارچوبها در thin client های خود استفاده کنند.
با استفاده از تکنولوژی مجازیسازی، dot net framework میتواند بسیار موثرتر بکار گرفته شود. تداخل ها حذف شود و برنامههای قدیمی و جدید روی یک ماشین یا یک سیستم عامل بدون مشکل کار کنند.
تکنولوژی مجازیسازی اینتل (Intel VT) راهحل سختافزاری برای کمک به مجازیسازی است. در گذشته مجازیسازی بصورت سنتی کاملا توسط نرمافزار انجام میشد که فشار زیادی به منابع سختافزاری وارد میکرد. امروزه، اکثر پردازندهها دارای تکنولوژی مجازیسازی هستند. این ویژگی فشار کمتری به سیستم فیزیکی وارد میکند، زیرا سختافزار به ارائه بهتر مجازیسازی نرمافزاری کمک میکند.
تکنولوژی مجازیسازی اینتل منابع سختافزاری یک ماشین نظیر پردازنده، chipset و BIOS را به شکل بهینه بکار میگیرد تا بخشی از بار کاری مجازیسازی نرمافزاری به سختافزار منتقل شود. این نوع از تکنولوژی میتواند نرخ کارآیی نزدیک به حالت واقعی را دربر داشته باشد، زیرا مجازیسازی بطور مستقیم توسط خود سختافزار انجام میشود و تنها به نرمافزار وابسته نیست.

مزایای Intel VT شبیه به مزایای دیگر روش های مجازیسازی است. برای مثال، به کمک آن میتوان چندین ماشین مجازی را روی یک ماشین واحد مستقر کرد. امکان مجزا سازی ماشینها را از همدیگر فراهم میکند و .... تنها تفاوت آن این است که Intel VT نسبت به حالت عادی استفاده از مجازیسازی نرمافزاری بر روی آن، بسیار کارآمدتر است. دیگر نکته مهم در مورد Intel VT این است که بطور یکپارچه با تکنولوژیهای مجازیسازی نرمافزاری موجود کار میکند و اعمال هیچگونه تغییری در ماشینهای مجازی لازم نیست و Intel VT بطور اتوماتیک کار میکند. این تکنولوژی به شما امکان اجرا سیستمهای عامل میهمان 64 بیتی را روی بر روی ماشینهای فیزیکی 32 بیتی میدهد و بخاطر تفکیک بهتر ماشینهای مجازی، امنیتی بیشتری را فراهم میکند. تنها کاری که در خصوص استفاده از این تکنولوژی لازم است انجام دهید، این است که مطمئن شوید ویژگی Intel VT در قسمت BIOS سیستم شما فعال شده باشد.
تکنولوژی مجازیسازی اینتل بطور خاص اشاره به راهحل مجازیسازی سختافزاری115 آن اشاره دارد که تحت عنوان Intel VT شناخته میشود. میتوان گفت که مجازیسازی Hardware-assisted از دیگر اشکال مجازیسازی بسیار موثرتر است زیرا پردازنده فیزیکی حجم زیادی از بار کاری هسته سیستم عامل میزبان و نرمافزار مجازیسازی را بر عهده دارد.
تکنولوژی Intel VT میزبان، شبیهسازی نرمافزاری را نیز کاهش میدهد، زیرا بسیاری از کارها بصورت عادی و بدون نیاز به شبیهسازی قابل انجام است. مزایایی که مجازیسازی Intel ارائه کرده است به این ترتیب میباشد:
کاهش تعداد ماشینهای فیزیکی سازمان
مدیریت سادهتر محیط و زیرساخت کسب و کار
بهبود در دسترس پذیری کسب و کار و قابلیت اطمینان ضمن کاهش downtime
بهبود بهرهوری منابع و کاهش هزینههای عملیاتی نظیر توان، سرمایش و هزینههای مدیریتی
و ...
با توجه به اینکه Intel VT بسیاری از حجم کارهای نرمافزاری را بر عهده دارد، توانایی اجرای انواع مختلف سیستم عامل های مجازی شده با اندازه های بسیار بزرگتر و تنوع بیشتر را خواهد داشت. حتی میتواند سیستم عامل هایی را پشتیبانی کند که پیش از این بدون اعمال تغییرات در محیط مجازی بطور موثر کار نمیکردند(مشابه روش Para-virtualization). Intel VT بگونهای طراحی شده است که به آسانی قابل استفاده باشد و بطور خودکار با نرمافزارهای مجازیسازی کار کند و کاربران مجبور به انجام پیکربندی خاصی برای استفاده از آن نباشند. تنها کاری که لازم است انجام دهند این است که Intel VT را در BIOS سیستم خود فعال کنند و بقیه کارها خودش انجام میشود. بدلیل سهولت استفاده، Intel VT نه تنها در پردازنده سرورها، بلکه در پردازنده رایانههای رومیزی هم قرار گرفته است. به این معنا که حتی کاربران خانگی نیز میتوانند از مزایای تکنولوژی مجازیسازی اینتل استفاده کنند. در حقیقت Intel VT یکی از دلایلی است که بسیاری از کاربران خانگی به سمت اجرای ماشینهای مجازی در رایانههای خود سوق پیدا کردهاند و میتوانند در اغلب اوقات کارآیی در حد نزدیک به حالت واقعی را دریافت کنند.
مجازیسازی ذخیرهسازی در سادهترین شکل خود شامل گروه بندی چندین دستگاه ذخیرهسازی فیزیکی با همدیگر است (مهم نیست که از نظر فیزیکی این دستگاه ها کجا قرار دارند)، بنابراین بعنوان یک واحد ذخیرهسازی بزرگ به نظر خواهند رسید. تکنولوژیهای مجازیسازی زیادی در این خصوص وجود دارد. NAS 116، SAN 117 و iSCSI 118 نمونه هایی از آن هستند.
یک NAS یک سرور است که به سرویس اشتراک فایل اختصاص داده شده است. این سرویس در ارتباط با دیگر سرویسها نظیر e-mail یا اشتراک چاپگر نیست و تنها مخصوص اشتراکگذاری فایل است. تکنولوژی NAS مزایای زیادی برای کاربران دارد. برای مثال ظرفیت ذخیرهسازی بیشتر را به شبکه میافزاید بدون اینکه نیاز باشد سرورهای موجود خاموش شوند، بنابراین زمان دسترسی دادهها و uptime افزایش مییابد. در زمان استفاده از تکنولوژی NAS، فضای ذخیرهسازی نیازی نیست که بخشی فیزیکی از یک سرور باشد. یک سرور هنوز همه درخواست های داده ای که دریافت میکند پردازش خواهد کرد، اما نهایتا دستگاه NAS است که داده را به کاربر تحویل میدهد. دستگاه NAS میتواند هرجایی در یک شبکه LAN قرار داشته باشد، یعنی میتوان آن را به دلخواه متمرکز یا توزیع شده در شبکه مستقر کرد. یک NAS میتواند خودش از تعداد زیادی دستگاه های NAS تشکیل شده باشد. بعبارت دیگر میتوان یک استخر119 حجیم از فضای ذخیرهسازی ایجاد کرد.
یک SAN زیر مجموعهای از یک شبکه است که تنها شامل دستگاه های ذخیرهسازی است. این دستگاه ها میتوانند هم متشکل از سرورهایی با تعداد دیسک زیاد باشند و هم rack هایی که در آنها تعداد زیادی دیسک قرار داشته باشد. SAN ها بگونهای طراحی شدهاند که توسط همه سرور در شبکه محلی سازمان و نیز WAN سازمان قابل دسترسی باشند. وقتی فضای بیشتر به SAN افزوده میشود، فوراً توسط دیگر سرورها در کل سازمان قابل دسترسی خواهد بود. سرورها مانند یک gateway بین SAN ها و کاربران نهایی عمل میکنند. همچنین در هدایت ترافیک نیز کمک میکنند. SAN ها برای سازمان مزایای زیادی دارند. یک مزیت آن امکان استفاده بهینه تر از منابع سرورها است. زیرا یک سرور نیاز نیست که خودش درگیر ذخیرهسازی داده شود و تنها ترافیک را به سمت دیگری هدایت میکند و بنابراین توان پردازشی زیادی آزاد میشود. در نهایت اینکه با استفاده از تکنولوژی SAN، کاربران نهایی بجای دسترسی به بخش کوچکی از منابع ذخیرهسازی که بصورت عادی در یک سرور موجود است، به کل منابع ذخیرهسازی سازمان خود دسترسی خواهند داشت. در نتیجه کاربران توانایی ذخیرهسازی بیشتری خواهند داشت که بدون SAN این کار غیر ممکن بود.
واژه iSCSI مخفف Internet Small Computer System Interface است. SCSI یک واسط است که برای اتصال دستگاه های جانبی (نظیر هارد دیسک) به رایانه مورد استفاده قرار میگیرد. این واسط مانند یک کنترلر عمل میکند و نیاز به نرمافزاری برای پردازش درخواست های داده ندارد و خودش به تنهایی عمل میکند.

مزیت استفاده از SCSI بجای IDE 120 برای اتصال هارد دیسک به رایانه این است که SCSI نرخ تبادل داده سریعتری دارد. خصوصاً اینکه در یک محیط مبتنی بر سرور که چندین کاربر همزمان درخواست دسترسی به درایوها را دارند، SCSI بازدهی بهتری نسبت به IDE دارد. همچنین SCSI به شما امکان اتصال همزمان چندین دستگاه جانبی را بصورت زنجیره وار به یک واسط SCSI میدهد. یعنی میتوان تعداد زیادی دیسک را به یک ماشین متصل کرد که بیشتر از تعدادی است که توسط IDE امکانپذیر است. ISCSI یک توسعه بر روی تکنولوژی SCSI است که در آن از تکنولوژی IP استفاده میکند. ISCSI میتواند از شبکه Gigabit Ethernet استفاده کند و قادر است که به تجهیزات شبکه نظیر سوئیچها و روترهایی که واسط iSCSI داشته باشند متصل شود. در این حالت دستگاه های ذخیرهسازی iSCSI میتوانند به سرعت در شبکه مورد دسترسی قرار بگیرند.
همانطور که مشاهده شد، تکنولوژیهای مجازیسازی فضای ذخیرهسازی مزایای زیادی برای سازمانها فراهم میکنند. وقتی که چندین فضای ذخیرهسازی فیزیکی بصورت یک فضای واحد به نظر میرسد یا اینکه چندین فضای توزیع شده مانند فضای محلی قابل دسترسی هستند، راهحلهای ذخیرهسازی میتوانند با انعطاف بیشتر و یا قدرت مدیریت بیشتری نسبت به قبل بکار گرفته شوند.
نرمافزار مجازیسازی به هر نوع نرمافزاری گفته میشود که در ارتباط با شبیهسازی سختافزار و تقسیم کردن منابع سختافزاری و نرمافزاری است. بعضی از اکثر نرمافزار های مجازیسازی سیستمهای فیزیکی121 شامل VMware ESX server و Windows Server Hyper-V میباشد. برنامههای مجازیسازی سیستمهای فیزیکی مستقیما بر روی سختافزار فیزیکی همانند یک سیستم عامل معمولی نصب میشوند. سپس سیستمهای عامل میهمان میتوانند روی آن نصب شوند.
نقطه مقابل برنامه مجازیسازی سختافزار فیزیکی، مجازیسازی مبتنی بر برنامه کاربردی است. این برنامه مستقیما روی سیستم عامل میزبان نصب میشود و شبیه هر برنامه کاربردی دیگری مورد استفاده قرار میگیرد. سپس در داخل این برنامه میتوان تعدادی سیستم عامل میهمان با سیستم عامل های مختلف نصب کرد.
روش دوم مجازیسازی که مبتنی بر برنامه کاربردی است به اندازه مجازیسازی سختافزار فیزیکی کارآیی ندارد، زیرا یک برنامه کاربردی نمیتواند مستقیما با سختافزار صحبت کند و با سیستم عامل میزبان خود ارتباط برقرار میکند. بعضی از برنامههای کاربردی مجازیسازی که امروز موجود هستند شامل VMware workstation و Microsoft Virtual PC میباشند. دیگر نرمافزارهای مجازیسازی شامل نرمافزارهای مجازیسازی برنامههای کاربردی هستند. در این نرمافزارها سعی میشود که یک محیط مجازی مجزا ایجاد شود تا در داخل آن برنامه کاربردی اجرا شود. این محیطها کاملا از هم ایزوله هستند بطوریکه تداخل نرمافزاری بوجود نخواهد آمد و مهم تر اینکه تغییرات اعمال شده در این محیطها بر روی سیستم شما دائمی نخواهند بود. برنامههای مشهوری که در این دسته قرار میگیرند شامل Symantec’s Altiris SVS و Microsoft’s Softgrid میباشد. در ادامه لیستی از نرمافزارهای مجازیسازی که امروزه موجود هستند آورده شده است:
EasyVZ: یک برنامه کد متن باز در لینوکس با واسط گرافیکی برای مدیریت سرورهای مجازی خصوصی شان
Fabric Server: نرمافزاری برای مجازیسازی برنامههای کاربردی. به کمک آن میتوان یک برنامه کاربردی را از سیستم عامل حذف کرد و در داخل یک محیط مجزا قرار داد.
FluidVM: یک برنامه مدیریت مجازیسازی که از چندین روش مختلف مجازیسازی پشتیبانی میکند.
GridServer: یک برنامه مجازیسازی که توسط DataSynapse ارائه شده است. به کمک آن میتوان برنامهها را مجازی کرد و از سیستم سختافزاری و منابع سیستم عامل مجزا کرد.
HP Integrity Virtual Machines: یک نرمافزار مجازیسازی مبتنی بر برنامه کاربردی که توسط HP ارائه شده است. به کمک آن میتواند چندین ماشین مجازی ایجاد کرد که بر روی هر سرور مبتنی بر پردازنده Itanium که سیستم عامل آن HP-UX اجرا شود. پردازنده Itanium متعلق به اینتل و 64 بیتی است و تفاوت عمده ای با معماری استاندارد x86 دارد.
Hercules Emulator: یک شبیه ساز کدمتن باز که میتواند روی ویندوز، لینوکس و MAX OS X اجرا شود و به شما امکان اجرای برنامههای طراحی شده در mainframe های IBM را در سیستمهای PC میدهد.
Hyper-V (Windows Server Virtualization): این نرمافزار اصلی مجازیسازی مایکروسافت است که در دو نگارش موجود است. هم در Windows Server 2008 موجود است و هم میتوان آن را بصورت مستقل بر روی سختافزار فیزیکی نصب کرد.
HyperVM: یک برنامه مدیریت مجازیسازی محصول مایکروسافت است. این برنامه تعداد از تکنولوژیهای مجازیسازی را با پلتفرمهای مختلف و ماشینهای مختلف پشتیبانی میکند.

Leostorm P>V direct : یک ابزار برای تبدیل ماشین فیزیکی به مجازی. این برنامه میتواند ماشینهای فیزیکی مایکروسافت را به ماشینهای مجازی VMware یا سرورهای مجازی Microsoft تبدیل کند.
Leostorm Virtual Desktop Connection Broker: یک برنامه مجازیسازی که میتواند برای مانیتور کردن و کنترل تعدادی از ماشینهای مجازی که تحت یک برنامه یکسان اجرا شدهاند مورد استفاده قرار بگیرد. مثلا اگر از Microsoft Virtual PC استفاده میکنید، میتوانید با استفاده از این برنامه همه ماشینهای مجازی آن را مانیتور و کنترل کنید.
LivePC: به کمک این برنامه میتوان PC های مجازی ایجاد کرد و به اشتراک گذاشت.
Mac-on-Linux: این یک برنامه مبتنی بر لینوکس است که به کمک آن میتوان ماشینهای مبتنی بر Mac را روی سیستم عامل لینوکس اجرا کرد.
Mac-on-Mac (MoM): یک برنامه برای اجرای انواع مختلف سیستمهای عامل Mac و لینوکس در داخل ویندوز یا Mac.
Microsoft Virtual PC: یک نرمافزاری مجازیسازی مبتنی بر برنامه کاربردی که تنها میتوان سیستمهای عامل ویندوز را در آن اجرا کرد. البته امکان اجرای برخی لینوکس ها هم وجود دارد، اما بطور رسمی پشتیبانی نمیشوند و تضمینی برای سازگاری آنها نیست.
Microsoft Virtual Server: شبیه Microsoft Virtual PC برای استفاده از سختافزارهای سرور که در آن سیستمهای عامل بیشتری (از جمله لینوکس Red Hat و Suse) پشتیبانی میشود.
MojoPac: یک برنامه مجازیسازی که به شما امکان اجرای PC های مجازی را روی هارد دیسک، فلش دیسک، iPod و حتی تلفنهای همراه میدهد. توسط آن میتوان هر کاری که یک PC عادی اجرا میکند را انجام داد (مثلا انجام بازی های با پردازش بالا). نکته جالب در مورد آن قابلیت حمل برنامه است.
MokaFive (Moka5) Live PC Engine: یک برنامه مدیریت مجازیسازی که با تکنولوژی LivePC کار میکند. موتور LivePC به کاربر امکان ایجاد، اجرا و به اشتراکگذاری LivePC های مجازی را میدهد.
Oracle VM: نرمافزار مجازیسازی شرکت اوراکل است که از هر دو سیستم عامل ویندوز و لینوکس پشتیبانی میکند و کنسول مدیریت تحت وب مخصوص به خودش را دارد.
Parallels Desktops for MAC: یک برنامه full virtualization مبتنی بر Mac که توسط موسسه Parallels ایجاد شده است. این برنامه از تعدادی از سیستم عامل های 32 بیتی x86 نظیر توزیعهای مختلف لینوکس، ویندوز، Solaris و ... پشتیبانی میکند. البته در حال حاضر 64 بیتی ها را پشتیبانی نمیکند.
Parallels Server for MAC: مشابه Parallels Desktop برای برنامههای Mac است که در سرورها اجرا میشود و تعداد زیادی از سیستم عامل ها (32 بیتی و 64 بیتی) را پشتیبانی میکند.
Parallels Workstation: همانند Parallels Desktops است، با این استثنا که برای اجرا در محیطهای ویندوز یا لینوکس طراحی شده است. از طریق آن میتوان چندین ماشین مجازی x86 را هم زمان اجرا کرد.
PearPC: برنامه مجازیسازی مبتنی بر PowerPC است که هم در لینوکس و هم در ویندوز قابل استفاده است و میتوان سیستم عاملهای Mac OS X، سیستم عامل های مبتنی بر یونیکس و توزیعهای مختلف لینوکس را در آن اجرا کرد.
Q: این یک برنامه کدمتن باز مبتنی بر برنامه شبیه ساز پردازنده QEMU است که بطور رایگان قابل دسترس است و در محیطهای مکینتاش اجرا میشود. با استفاده از آن میتوان ویندوز یا هر کدام از سیستم عامل های x86 را در Mac اجرا کرد. Q نسبت به QEMU کاربرپسند تر است زیرا یک واسط گرافیکی برای مدیریت و پیکربندی کنسول آن وجود دارد ولی QEMU فقط واسط خط فرمان دارد.
QEMU: شبیه ساز اصلی پردازنده است که ابزارهایی برای اجرای سیستم عامل های مختلف را فراهم میکند. بنابراین هم یک شبیه ساز است و هم یک روش مجازیسازی. دیگر نکته جالب در خصوص QEMU قابلیت حمل آن است. محیط QEMU میتواند روی هر PC یا حتی ماشینهایی که کاربر بر روی آنها محدودیت دارد اجرا شود.
Quick Transit: برنامه ای است که توسط شرکت Transitive توسعه داده شده است و امکان اجرا نرمافزارهای خاص یک پردازنده یا پلتفرم را در دیگر پلتفرمهای نرمافزاری فراهم میآورد. این برنامه مبتنی بر لینوکس است اما برای دیگر محیطها نظیر Apple نیز توسعه داده شده است که در آن به این تکنولوژی Rosetta گفته میشود.
SIMH: این یک برنامه مجازیسازی است که روی بسیاری از سیستم عامل ها از جمله ویندوز، لینوکس، Mac OS X، OpenBSD و ... اجرا میشود.
SVISTA (Serenity Virtual System): یک برنامه مجازیسازی ساخته شده توسط Serenity Systems International که روی انواع مختلف ماشینهای فیزیکی x86 اجرا میشود و میتواند ماشینهای مختلف مبتنی بر x86 را ایجاد کند. ماشینهای مجازی SVISTA میتوانند شامل سیستم عامل های ویندوز، لینوکس و BSD باشند.
Sun VDI software: یک برنامه مجازیسازی رومیزی که توسط Sun Microsystems ایجاد شده است. این برنامه سرویسهای desktop virtualization را با جایگزینی چندین میزکار فیزیکی با میزکارهای مجازی که در سرورهای راه دور ذخیره شدهاند فراهم میکند. کاربران میتوانند به میزکارهای مجازی خود از طریق ماشینهای thin client دسترسی داشته باشند.
Sun xVM Ops Center: یک برنامه اصلی مدیریت Sun Microsystems است که به مدیران هم در مدیریت دارایی های فیزیکی و هم دارایی ها مجازی کمک میکند. این برنامه مزایای زیاد دارد. مثلا اینکه مدیران میتوانند کل دارایی های فیزیکی و مجازی سازمان خود را از یک کنسول واحد مدیریت کنند. به روز رسانی آنها میتواند بطور متمرکز مدیریت شود. همچنین آنها میتوانند گزارش جزئیات مربوط به یک یا چند ماشین خاص را مشاهده کنند.
Sun xVM Server: این برنامه، نرمافزار مجازیسازی سختافزارهای فیزیکی Sun است که میتواند روی سیستمهای x86 و نیز 64 بیتی اجرا شود. Sun xVM فرمت خاصی برای دیسک های خود ندارد و در عوض از فرمت های VMware ESX Server و Microsoft Hyper-V استفاده میکند بطوریکه این تکنولوژیها میتوانند با هم دیگر کار کنند.
Sun xVM VirtualBox: این نرمافزار مجازیسازی مبتنی بر برنامه کاربردی است که روی پلتفرمهای سختافزاری x86 اجرا میشود و میتوان انواع مختلف سیستم عامل ها را در آن اجرا کرد.

VDSmanager: این برنامه ای است که به مدیران امکان مدیریت سرورهای مجازی خصوص را میدهد. مرکز کنترل آن تحت وب است و یک واسط گرافیکی نسبتا ساده را برای مدیران فراهم میکند که از طریق آن میتوان سرورهای مجازی را ایجاد و مدیریت کرد. در هر VPS مجموعه سختافزارهای شبیهسازی شده خود و آدرس IP مخصوص به خود را دارد.
VMmark: این یک برنامه ارزیابی (benchmark) ماشین مجازی رایگان است که توسط VMware توسعه داده شده است. از این برنامه میتوان برای اندازه گیری کارآیی یک سرور مجازی وقتی که زیر بار زیادی قرار میگیرد استفاده کرد. این ابزار مناسبی برای مدیران است که به آنها امکان ارزیابی کارآیی ماشینهای مجازیشان را میدهد.
VMware ESX Server: برنامه مجازیسازی سختافزار فیزیکی است که توسط VMware توسعه داده شده است. این یکی از راهحلهای مجازیسازی است که بطور گسترده استفاده میشود و سیستم عامل های مختلف را پشتیبانی میکند.
VMware Fusion: ابزاری است که توسط VMWare برای ماشینهای مکینتاش توسعه داده شده است. این ابزار مبتنی بر برنامه کاربردی است که بر روی سیستم عامل Mac نصب میشود و میتوان انواع مختلف ماشینهای x86 را روی آن اجرا کرد (نظیر ویندوز، لینوکس و Solaris).
VMware Player: نرمافزار رایگانی است که توسط VMware ارائه شده است و از آن میتوان برای اجرای ماشینهای مجازی که توسط دیگر محصولات VMware ایجاد شده است استفاده کرد. ولی توسط خود این ابزار نمیتوان ماشین مجازی ایجاد کرد.

VMware Server: یک راهحل مجازیسازی که برای ایجاد، اجرا و تغییر ماشینهای مجازی قابل استفاده است. این سرویس بصورت کلاینت-سرور است که کاربران میتوانند از راه دور با استفاده از thin client به ماشینها دسترسی داشته باشند.
VMware ThinApp: پیش از این بنام Thinstall شناخته میشود که یک برنامه مجازیسازی است که برنامهها را بصورتی که قابل حمل باشند مجازی میکرد. اکثر برنامههای کاربردی مبتنی بر لینوکس میتوانند توسط این برنامه بصورت قابل حمل ایجاد شوند. البته محدودیتهایی نیز وجود دارد. VMware ThinApp نمیتواند مجازیسازی را برای برنامههایی که نیاز به درایور خاصی برای اجرا دارند انجام دهد. همچنین نمیتواند مجازیسازی را برای نرمافزارهایی که قفل سختافزاری برای اجرا دارند یا نیاز به محیط محاسباتی خاصی دارند انجام دهد. بعبارت دیگر شما نمیتوانید برنامههای مجازی مبتنی بر لینوکس یا Mac را بر روی سیستم عامل ویندوز اجرا کنید و برعکس.
VMware Workstation: ابزار مجازیسازی مبتنی بر برنامه کاربردی است که به کاربران امکان ایجاد انواع مختلف ماشینهای مجازی مبتنی بر x86 را میدهد. VMware از انواع مختلف سیستمهای عامل میهمان پشتیبانی میکند. یکی از بزرگترین ویژگیهای آن امکان تهیه تصویر لحظه ای122 از سیستم عامل در حال اجرا است. به این معنا که ماشینهای مجازی کاربران میتواند به آسانی بازیابی شود یا یک شخص میتواند در صورت نیاز به یک وضعیت قبل برگردد.
Virtual DOS Machine (VDM): VDM به شما امکان نصب سیستم عامل های قدیمی 16 بیتی را در سختافزارهای امروزی میدهد. تکنولوژی VDM در حال حاضر در همه ویندوز های 32 بیتی در دسترس است. اما از آخرین نگارش سیستمهای عامل Windows NT 64-bit حذف شد و بنابراین در آنها نمیتوان برنامههای 16 بیتی DOS یا ویندوز قدیمی را اجرا کرد.
Virtual Iron: Virtual Iron یک برنامه مجازیسازی است که میتواند مستقیما بر روی سختافزارهایی که از آن پشتیبانی کنند، بدون نصب سیستم عاملی دیگر نصب شود. Virtual Iron یکی از اولین شرکتهایی بود که نرمافزارهای مجازیسازی را توسعه داده و از تکنولوژی hardware-assisted virtualization نیز بهره برداری میکند. در بستر آن میتوان سیستمهای عامل 32 بیتی و 64 بیتی را بدون تغییر یا کارآیی نزدیک به حالت عادی اجرا کرد. Virtual Iron دارای یک برنامه مدیریت مجازیسازی نیز است که به مدیران امکان کنترل، تغییر یا مانیتور کردن محیط مجازیشان را میدهد.
Virtual Machine Manager: این یک برنامه مدیریتی رایج برای مدیریت ماشینهای مجازی است. این برنامه بصورت رایگان با تعداد از توزیعهای لینوکس نظیر Red Hat Enterprise Linux 5 به بعد، Fedora 6 به بعد و Ubuntu 8.04 به بعد موجود است. این برنامه امکان ایجاد، تغییر، کنترل و مشاهده جزئیات آماری عملکرد ماشینهای مجازی و آمار وضعیت بهرهوری منابع توسط ماشینهای مجازی را فراهم میکند.
VirtualBox: این یک ابزار مجازیسازی مبتنی بر برنامه کاربردی است که توسط شرکت آلمانی Innotek توسعه داده شده است. این ابزار میتواند سختافزار مبتنی بر x86 استاندارد را شبیهسازی کند و انواع مختلف سیستم عامل های میهمان را اجرا کند. از جمله سیستم عامل هایی که میتوانند روی آن اجرا شوند میتوان به Windows XP، Vista، Linux، Mac OS X و ... نام برد. VirtualBox از سیستم عامل های میهمان 64 بیتی بر روی سختافزارهای 64 بیتی هم پشتیبانی میکند. همچنین میتواند از تکنولوژیهای hardware-assisted اینتل و AMD هم استفاده کند. یکی از معایب استفاده از VirtualBox این است که دارای فرمت اختصاصی برای دیسک های مجازی خود است. به این معنا که ماشینهای مجازی آن با ماشینهای مجازی ساخته شده توسط دیگر برنامههای مجازیسازی ناسازگار است. البته VirtualBox میتواند دیسک های VMDK 123 که فرمت متعلق به VMware است را بخواند و بر روی آنها بنویسد. یعنی VirtualBox از ماشینهای مجازی ساخته شده توسط VMware پشتیبانی میکند ولی VMware نمیتواند از ماشینهای مجازی VirtualBox پشتیبانی کند.
Virtuozzo: برنامه Virtuozzo راهحل مجازیسازی در سطح سیستم عامل است که توسط شرکت Parallels ایجاد شده است. این برنامه از سال 2001 از سیستم عامل لینوکس پشتیبانی میکرد و از 2005 ویندوز را نیز پشتیبانی میکرد. توسط Virtuozzo میتوان تعدادی محیط مجازی (که به آنها VE یا container گفته میشود) ایجاد کرد. این محیطها بطور کامل از هم ایزوله هستند و بعنوان ماشینهای مجزا یا سرورهای مجزا روی یک ماشین فیزیکی واحد کار میکنند. وقتی که Virtuozzo در ویندوز XP اجرا میشود، همه container ها میتوانند فقط محیط ویندوز XP را اجرا کنند. اما در لینوکس انعطاف پذیری بیشتر است. زیرا در حالتی که در یک میزبان مبتنی بر لینوکس اجرا میشود، میتوان توزیعهای مختلف لینوکس را در container ها اجرا کرد.
Vx32: این ابزار مجازیسازی در سطح برنامه کاربردی است. به کمک آن میتوان محیطهای مستقل از سیستم عامل و مجزا اجرا کرد که در آنها برنامههای مبتنی بر x86 بتوانند اجرا شوند. در این محیطها میتوان هرگونه افزودنی (plug-ins) که در زبان های مختلف نوشته شده باشند اجرا کرد. Vx32 تا حدی مشابه Java virtual machine است، اما با استفاده از Vx32 کاربران میتوانند کدهای نوشته شده در هر زبانی را (چه امن باشد و چه نباشد) اجرا کنند. مشکل اصلی Vx32 در حال حاضر این است که با سختافزارهای غیر از x86 سازگار نیست
Win4Lin: برنامه Win4Lin یک راهحل مجازیسازی است که در سیستم عامل های مبتنی بر لینوکس کار میکند. این برنامه به شما امکان اجرای انواع مختلف سیستم عامل های ویندوز را در یک پنجره جداگانه در محیط لینوکس میدهد. سیستم عامل های اصلی ویندوز که توسط Win4Lin پشتیبانی میشوند به این شرح هستند: Win95، Win98، WinME، Win2000 و WinXP. از این برنامه در حال حاضر دو نسخه اصلی وجود دارد: Win4Lin Pro Desktop و Win4Lin Virtual Desktop Server. نسخه Win4Lin Pro Desktop مانند یک نسخه بهبود یافته از برنامه QEMU است. نسخه سرور کمی متفاوت است. در این نسخه کاربران میتوانند به محیطهای سیستم عامل ویندوز از طریق thin client متصل شوند.
XenMan: این یک برنامه مدیریت مجازیسازی مبتنی بر لینوکس است. این برنامه برای کاربران یک واسط گرافیکی فراهم میآورد که از طریق آن قادر خواهند بود که اجرا یک ماشین مجازی را کنترل کنند و یا تصویر لحظه ای از آن تهیه کنند و ...
Xenocode: این یک نرمافزار مجازیسازی برنامه کاربردی است به کاربران اجازه اجرا برنامهها را بصورت مجازی و بدون نیاز به نصب اجرا کنند. Xenocode برنامهها را در یک فایل قابل اجرا بستهبندی میکند. این فایل میتواند مانند هر برنامه قابل اجرای دیگری بصورت عادی در محیط ویندوز اجرا شود. هیچ تداخلی بین برنامههای Xenocode و برنامههای ویندوزی که از DLL مشترک یا ورودیهای رجیستری مشترک استفاده میکنند بوجود نخواهد آمد، زیرا Xenocode برنامههای مجازی را در یک محیط مجزا از بقیه سیستم اجرا میکند و آنها یک کپی از منابع مربوط به خود را در اختیار دارند. Xenocode مزایای زیادی دارد. مهمترین آنها به این شرح میباشد:
نیازی به نصب برنامهها نسبت و بنابراین خیلی سریع استقرار مییابند.
بعضی برنامههای قدیمی که در محیطهای جدیدتر (نظیر ویستا) کار نمیکنند توسط این برنامه میتوانند اجرا شوند.
در زمان هایی که کاربران مجوز نصب برنامهها را ندارند یا نمیتوانند برنامههای خاصی را اجرا کنند، میتوانند از این ابزار برای اجرای برنامههای خود استفاده کنند (زیرا هیچ تغییری در محیط سیستم عامل میزبان داده نمیشود).
تداخل نرمافزارها در محیط مجازی بوجود نمیآید.
امنیت افزایش مییابد. زیرا هیچ تغییری بصورت دائمی در سیستم عامل میزبان انجام نمیشود. همچنین برنامههای اجرا شده در محیط مجزای خود هستند و بنابراین برنامههای مخرب میتوانند تست شوند و اثر مخرب آنها ایزوله میشود.

Xenocode یک برنامه مجازیسازی بسیار خوب است. اگر چه از 2002 معرفی شد اما هنوز بطور گسترده مورد استفاده کاربران بسیار زیادی قرار میگیرد. مراکزی نظیر NASA، Siemens و Phillips و ... از این نرمافزار استفاده میکنند.
| پرسشهای مروری فصل 6 |
|
| تحقیق و پژوهشی فصل 6 |
|
مراجع
Ivanka Menken, Gerard Blokdijk, "Cloud Computing Virtualization Specialist Complete Certification Kit," 2008
Clark Scheffy, "Virtualization For Dummies, AMD Special Edition," Wiley Publishing, Inc. www.wiley.com, 2007
John Allspaw, "TheArt of Capacity Planning," O'Reilly, 2008
Kevin Sloan, "Security in a virtualized world," Network Security, Volume 2009, Issue 8, August 2009, Pages 15-18
SAN: http://www.sunstarco.com/Network Attached Storage/StoreAge/StoreAge SVM.htm, accessed April 2010
Parallels Virtuozzo: http://download.swsoft.com/virtuozzo/virtuozzo4.0/docs/ en/lin/ VzLinuxTmplMgmt/ 26225.htm, accessed April 2010
SystemGuard :http://technet.microsoft.com/en-us/library/bb608285.aspx, accessed April 2010
How to enable the Intel VT virtualisation feature: http://itbod.wordpress.com/2009/10/07/ how-to-enable-the-intel-vt-virtualisation-feature-on-a-supported-hp-proliant-server-running-esx-3-5-so-that-64-bit-guest-vm%E2%80%99s-can-run/ , accessed April 2010
iSCSI: http://www.tomshardware.com/reviews/flexible-data-storage-networks,971-2.html , accessed April 2010
Microsoft HyperVM: http://www.win2008workstation.com/win2008/installing-hyper-v-in-server-2008-x64, accessed April 2010
Sun xVM VirtualBox: http://blogs.sun.com/perry/resource/VB_Win2008.jpg, accessed April 2010
Xenocode:http://4sysops.com/archives/review-xenocode-virtual-application-studio, accessed April 2010
Data Center Efficiency: http://cleantechnologyaliance.ning.com/group/datacenterefficiency, accessed at May 2010
Virtualization↩︎
Application virtualization↩︎
Desktop↩︎
storage Virtualization↩︎
Guest↩︎
Hypervisor↩︎
Host↩︎
single-point-of-failure↩︎
Cooperative Virtualization↩︎
Virtual Desktop Infrastructure↩︎
Virtual Machine Managers↩︎
Packaging↩︎
Storage Area Network↩︎
Kernel-based virtual machine↩︎
Hardware virtualization↩︎
Windows Server Virtualization↩︎
Kernel based Virtual Machine↩︎
Altiris Software Virtualization Solution↩︎
hardware-assisted virtualization↩︎
Network attached Storage↩︎
Storage Area Network↩︎
Internet SCSI↩︎
pool↩︎
Integrated Drive Electronics↩︎
Bare metal↩︎
snapshots↩︎
Virtual Machine Disk Format↩︎
استانداردها برای محیطهای رایانش ابری اهمیت زیادی دارند و امکان اتصال به ابر، توسعه و ارائه محتوا را فراهم میکنند. در این بخش استانداردهای رایجی که در رایانش ابری مورد استفاده قرار میگیرند را بررسی میکنیم. در این بین، استانداردهایی که برای توسعه برنامههای کاربردی در ابر مورد استفاده قرار میگیرند نیز بررسی خواهند شد.
یک برنامه کاربردی ابری، شامل معماری نرمافزاری است که ابر از آن استفاده میکند تا نیاز به نصب و اجرا در رایانه کاربر برطرف شود. برنامههای کاربردی زیادی هستند که میتوانند در ابر اجرا شوند، اما به استانداردهایی بین کاربر و ابر نیاز هست که کاربر بتواند به ابر برای استفاده از برنامه کاربردی متصل شود. در ادامه به پروتکل هایی که نیاز است تا ارتباطات بین دو طرف را مدیریت کند، نگاهی میاندازیم.
رایانهها نیاز به روشی دارند که بتوانند با همدیگر صحبت کنند. ارتباطات را میتوانید همانند صحبت کردن از طریق تلفن با یک شخص دیگری که فارسی صحبت نمیکند و شما متوجه زبان آن نمیشوید در نظر بگیرید. بنابراین راهی برای فهمیدن همدیگر ندارید. شاید بتوانید بعضی کلمات را حدس بزنید، اما در کل مکالمه پیش نمیرود. در رایانهها هم موضوع از همین قرار است. البته اگر زبان آنها مشترک نباشد، حتی یک کلمه را هم نمیتوانند تشخیص دهند. بنابراین بدون زبان مشترک، ارتباط برقرار نمیشود.
برای دریافت یک صفحه وب از سرویس دهنده ابری، معمولا از پروتکل HTTP 124 استفاده میشود که یک مکانیسم برای انتقال داده بین ابر و سازمان شما است. HTTP یک پروتکل بدون وضعیت است (stateless). مزیت این روش این است که میزبانها نیاز ندارند تا اطلاعاتی را از درخواست کاربران نگهداری کنند. البته توسعهدهندگان وب از روش های دیگری برای نگهداری اطلاعات وضعیت کاربران استفاده میکنند. مثلا اگر بخواهند محتوای وب را برای کاربر سفارشی کنند یا اینکه مسیر پیشرفت کاربر را از یک صفحه به صفحه دیگر حفظ کنند، از کوکی ها125 استفاده میکنند.
HTTP زبانی است که ابر و رایانه شما از آن برای برقراری ارتباط استفاده میکنند. این زبان بسیار ساده است و تنها کافیست به مرورگر خود بگویید که چه صفحه ای را میخواهید مشاهده کنید. مرورگر شما با ارسال پیغام زیر، کار را شروع میکند:
GET/HTTP/1.0
Host: www.velte.com
و سرور مقصد پیغام زیر را در پاسخ ارسال میکند:
HTTP/1.0 200 OK
Content-Type: text/html
<head>
<title>Thank you for visiting Velte Publishing. </title>
{بقیه اطلاعات صفحه مقصد}
</body>
در خط اول درخواست مرورگر، پیغام GET/HTTP/1.0 می گوید که مرورگر میخواهد صفحه خانگی یک سایت را ببیند و در حال استفاده از نسخه 1.0 پروتکل HTTP است. در خط دوم پیغام Host: www.velte.com میگوید که چه سایتی مدنظر است.
نکته: لازم است که حتما آدرس سایت در این قسمت مشخص شود. زیرا بسیاری از سایتها از یک آدرس IP اشتراکی و یکسان استفاده میکنند و هر چند سایت با یک آدرس IP یکسان در یک سرور قرار دارند.
خط اول پاسخ سرور، که پیغام HTTP/1.0 200 OK را نوشته است، به مرورگر میگوید که آن هم با پروتکل HTTP 1.0 صحبت میکند و درخواست موفقیت آمیز بوده است. اگر صفحه درخواستی پیدا نشود، پاسخ HTTP/1.0 404 Not Found داده خواهد شد. خط دوم پاسخ سرور، پیغام Content-Type: text/html است که به مرورگر میگوید که یک صفحه وب را دریافت خواهد کرد. به این ترتیب مرورگر خواهد فهمید که داده دریافت شده را چگونه تفسیر کند و چگونه با آن رفتار کند. مثلا اگر در خط دوم پیغام Content-Type:image/jpg نوشته شده بود، یعنی مرورگر باید خود را برای دریافت یک تصویر آماده میکرد.
HTTP 1.1: در مثال فوق از HTTP 1.0 استفاده شده بود، اما در حال حاضر مرورگرها از نگارش 1.1 استفاده میکنند. درخواست و پاسخ شامل اطلاعات بیشتری است، اما تفاوت ها خیلی زیاد و متمایز نیست. تفاوت اصلی بین این دو این است که در اصل مرورگرهای وب درخواست های هر صفحه، هر تصویر و هر بخش خاص از صفحه را از هم جداکردهاند. با استفاده از HTTP 1.1، یک مرورگر و سرور میتوانند برای باز نگهداشتن اتصال مذاکره کنند و همه اجزای صفحه را بدون نیاز به ایجاد session های جدید، ارسال کنند.
درخواست های HTTP: پروتکل HTTP هشت روش را برای تعیین عملیات مورد نظر خود در سرور بکار میگیرند. در جدول انواع مختلف این درخواست ها لیست شده است.
جدول 7‑6- انواع درخواست های HTTP

بطور کلی HTTP رایج ترین راه برای اتصال مرورگر شما به ابر است. یکی دیگر از پروتکل های قابل استفاده XMPP است.
گفته میشود که پروتکل XMPP 126 یکی دیگر از رویدادهای بزرگ در خصوص رایانش ابری خواهد بود. مشکل این است که تبادل اطلاعات در سرویسهای ابری فعلی –نظیر SOAP و دیگر پروتکل های مبتنی بر HTTP- همه یکطرفه است. پروتکل XMPP این امکان ارتباط دوطرفه را فراهم کرده است و نیاز به عملیات polling را برطرف کرده است.

XMPP که به عنوان Jabber هم شناخته میشود، پروتکلی است که Google، Apple، AOL، IBM، و LiveJournal همه بر روی آن به توافق رسیده اند، اما به دلیل اینکه ایده جدیدی است، هنوز بطور گسترده از آن استفاده نمیشود.

مشکل عملیات Polling: وقتی شما میخواهید که سرویسهای بین دو سرور را با هم همسان کنید، رایج ترین روش این است که کلاینت بطور منظم میزبان را چک کند. به این کار polling گفته میشود. این کاری است که ما معمولا وقتی ایمیل خود را چک میکنیم به نوعی روی سرور ایمیل polling انجام میدهیم تا ببینیم که آیا پیغام جدیدی دریافت کرده ایم یا نه. روش عملکرد API ها در اکثر سرویسهای وب نیز به همین ترتیب است. سایت High Scalability در 2008 گزارش کرده است که Twitter بطور میانگین در ثانیه حدود 200 تا 300 اتصال برقرار کرده است که نقطه اوج آن 800 درخواست بوده است و حتی در زمان سخنرانی Macworld، به علت تعداد زیاد poll ها، سرویس از دسترس خارج شده بود.
بزرگترین مشکل XMPP این است که ایده جدیدی است و معمولا تصور میشود که هر چیز جدیدی باید بر اساس استانداردهای موجود باشد و در حالی که HTTP به خوبی کار میکند، برای رایانش ابری چندان ایدهآل نیست.
XMPP در ابتدا برای پیغام رسانی فوری توسعه داده شده بود. برخی ویژگیهای آن به این ترتیب میباشد:
امکان ارتباطات دو طرف، حذف نیاز به polling
مبتنی بر XML و قابلیت توسعه آسان، که مناسب سرویسهای ابری است.
کارا و قابل توسعه به میلیون ها کاربر همزمان بر روی یک سرور واحد
امن کردن session های ابر از آن جهت مهم است که بسیاری از شرکتها علاقهمند شدهاند تا وارد ابر شوند. امن کردن session های ابر میتواند از طریق رمزنگاری و احراز هویت انجام شود. روش های رمزنگاری رایج در همه مرورگرها بصورت استاندارد انجام میشود. احراز هویت موضوع دیگری است که گزینههای مختلفی در پیش روی شماست. در این قسمت درباره SSL 127 که بطور گسترده برای رمزنگاری مورد استفاده قرار میگیرد و نیز OpenID که یکی از روشهای احراز هویت است صحبت خواهیم کرد.
SSL تکنولوژی امنیتی استاندارد برای برقراری یک اتصال رمز شده بین یک سرور وب و مرورگر است. به کمک آن میتوان اطمینان حاصل کرد که دادههای ارسال شده بین مرورگر و سرور وب، امن باقی میماند. برای ایجاد یک اتصال SSL، بر روی سرور وب، نیاز به گواهینامه SSL میباشد. وقتی سرویس دهنده ابری بخواهد از SSL استفاده کند، تعدادی سئوال در خصوص هویت سرویس دهنده و هویت سایت از سمت مرکز صادر کننده گواهینامه128 از سرویس دهنده ابری پرسیده خواهد شد. سپس سرویس دهنده ابری دو کلید رمزنگاری تولید میکند (یک کلید عمومی و یک کلید خصوصی). کلید عمومی محرمانه نیست و در داخل فایل درخواست امضای گواهینامه (CSR129) قرار داده میشود (این فایل شامل اطلاعات سرویس دهنده است) ولی کلید خصوصی را نزد خودش محرمانه نگه میدارد. سپس باید CSR را ثبت کند. در حین فرآیند درخواست گواهینامه SSL، مرکز اعتبارسنجی و صدور گواهینامه، اطلاعات را ارزیابی میکند و یک گواهینامه SSL صادر میکند که شامل اطلاعات سرویس دهنده است و مجوز استفاده از SSL را دریافت میکند. هر بار که مرورگر شما به سایت سرویس دهنده متصل شود، مرورگر وب صحت گواهینامه سرور را بررسی میکند و سپس در صورت صحت آن یک ارتباط امن بین رایانه شما و سرویس دهنده ابری برقرار میکند.

این یک فرآیند نسبتاً ساده است و در پس زمینه انجام میشود. تنها تفاوتی که شاید مشاهده کنید این است که بخاطر بررسی گواهینامه، صفحه کمی دیرتر باز میشود.
معمولا گواهینامه SSL شامل نام دامنه سرویس دهنده ابری، نام شرکت، آدرس، شهر، ایالت و کشور آن است. همچنین شامل تاریخ انقضای گواهینامه و جزئیات مربوط به صادر کننده گواهینامه است. وقتی مرورگر شما سعی میکند که بطور امن به ابر متصل شود، گواهینامه SSL سایت را دریافت میکند و بررسی میکند که منقضی نشده باشد و گواهینامه برای همان سایت صادر شده باشد. همچنین بررسی میکند که صادر کننده گواهینامه نیز معتبر و قابل اطمینان باشد. اگر مشکلی در این بررسی ها پیش بیاید، مرورگر به کاربر اطلاع خواهد داد که ارتباط SSL امن نیست.
مرورگر گواهینامه سایت را بررسی میکند تا اطمینان حاصل کند سایتی که به آن متصل میشود، واقعی است و کس دیگری آن را شنود یا جعل نمیکند.
مرورگر و سایت وب بر روی نوع روش رمزنگاری مورد استفاده به توافق میرسند.
مرورگر و سرور هر کدام یک کد منحصر به فرد برای هم ارسال میکنند تا در زمان ارسال اطلاعات رمزنگاری مورد استفاده قرار بگیرد.
مرورگر و سرور با استفاده از روش رمزنگاری مورد استفاده شروع به برقراری ارتباط میکنند.
مرورگر آیکن مربوط به رمزنگاری را در صفحه نمایش میدهد که نشان دهنده این است که صفحات امن هستند.
OpenID یک راهحل کدمتن باز برای مشکل نیاز به نام کاربری و کلمه عبور واحد برای دسترسی به سایتهای مختلف است، بنابراین پیمایش در وب را تسهیل میکند. این راهحل به شما امکان میدهد تا بتوانید سرویس دهنده OpenID خود را که بهتر با نیازهای شما منطبق است و به آن اعتماد دارید، انتخاب کنید. همچنین OpenID رایگان است و برای شرکتها بسیار مناسب است، زیرا هزینه کمتری برای مدیریت حساب کاربری و کلمه عبور دربر دارد.
OpenID هنوز در مرحله پذیرش قرار دارد و در حال محبوب شدن است. شرکتهایی نظیر AOL، Microsoft، Sun و Novell شروع به پذیرش و فراهم کردن OpenID ها کردهاند. OpenID یک محصول از جامعه کدمتن باز برای حل مشکلی است که با تکنولوژیهای موجود قابل حل نبود. OpenID یک روش ساده و سبک برای احراز هویت کاربران، با استفاده از همان تکنولوژی است که برای احراز هویت در سایتها بکار گرفته میشود. هر کس میتواند یک کاربر OpenID باشد یا بطور رایگان سرویس دهنده آن باشد.
طبق استاندارد امنیت داده در صنعت کارت های پرداخت (PCI DSS)130، بیان شده است که یک سازمان میتواند تنها یک وظیفه اصلی محاسباتی را در هر سرور پیادهسازی کند131. اما آیا این معنای یک سرور فیزیکی است؟ پاسخی منفی است. شما میتوانید چندین سیستم مجازی شده داشته باشید. فقط کافیست مطمئن شوید که از هم دیگر کاملا مجزا و ایزوله هستند.
مجازیسازی راهی برای ایجاد زیرساخت در محیط رایانش ابری است. قبلا در مورد مجازیسازی صحبت کرده ایم، اما در این بخش خواهیم دید که مجازیسازی چگونه استاندارد میشود و این کار به چه صورت محقق خواهد شد.
هر زمان که چیز جدیدی در دنیای محاسبات اتفاق میافتد، رقبای مختلف میخواهند که پیادهسازی های خود را به عنوان یک استاندارد ارائه کنند. مجازیسازی تا حدی متفاوت است و بازیگران اصلی این صنعت با هم کار کردهاند تا با هم یک استاندارد را توسعه دهند.

VMWare، AMD، BEA Systems، BMC Software، Broadcome، Cisco، Dell، Emulex، HP، IBM، Intel، Mellanox، Novel، QLogic، Red Hat و انجمن بینالمللی کامپیوتر، همه با هم کار کردهاند تا در استاندارد مجازیسازی را پیش ببرند.
VMware گفته است که دسترسی شرکای خود را به کدهای منبع VMware ESX Server و واسطهای آن از طریق برنامه جدیدی بنام VMware Community Source فراهم می آورد. این برنامه بدین منظور طراحی شده است که شرکا بتوانند در یک مدل توسعه مشارکتی این محصول موثر باشند. مجازیسازی با توجه به مزایای بی چون و چرایی که دارد، در حال کسب یک پذیرش گسترده است. هدف این اقدامات این است که کاربران نهایی از طرق مختلف نفع ببرند:
توسعه راهحلهای مجازیسازی: انتظار میرود که در دسترس بودن استاندارد های باز برای واسطهای مجازیسازی و ماهیت مشارکتی VMware Community Source سبب ایجاد راه حال های مجازیسازی جدید شود.
توسعه قابلیت همکاری132 و پشتیبانی: انتظار میرود که واسطهای استاندارد برای فوقناظرها امکان قابلیت همکاری را برای مشتریان با محیطهای مجازی ناهمگن فراهم کند.
پشتیبانی تکنولوژیهای جدید از مجازیسازی: فروشندههایی که در زمینه تکنولوژیهای دیگر فعالیت میکنند (مثلا سختافزارها یا برنامههای کاربردی)، میتوانند تکنولوژیهای فعلی را بگونهای بهینه کنند تا تکنولوژیهای جدید برای اجرا در محیطهای مجازی را معرفی کنند.
فوقناظرها، اجزای اصلی زیرساخت مجازی هستند و امکان تقسیمبندی سیستمهای رایانهای را فراهم کردهاند. یک استاندارد باز فوقناظر میتواند زمینه نوآوری را برای مشتریان و فروشندگان مختلف فراهم آورد. شرکت VMware با ارائه Virtual Machine Hypervisor Interfaces (VMHI) که مبتنی بر محصولات مجازی خودش است در فراهم آمدن چهارچوبی برای توسعه این استاندارد باز همکاری کرده است. پذیرش این استاندارد باز انتظار میرود که سبب تسهیل قابلیت همکاری و پشتیبانی در محیطهای مجازی ناهمگن شود.
همکاری و مشارکت بر روی استانداردهای باز فوقناظر، برای ایجاد قابلیت همکاری و بهینهسازی عملکرد، متمرکز بر موارد زیر است:
چهارچوبهای بین پلتفرم برای مدیریت ماشینهای مجازی stand-alone
API های مجازیسازی مشارکتی بین فوقناظرها و سیستمهای عامل مهمان
قالب های ماشین مجازی و امکان مهاجرت و بازیابی در پلتفرمهای مختلف
در نتیجه تلاشهای VMware و دیگر شرکای صنعت مجازیسازی، یک استاندارد بنام OVF 133 توسعه داده شد. OVF تعیین میکند که چگونه ابزارهای مجازی134 بتوانند در یک فرمت مستقل از فروشنده قرار بگیرند تا در هر فوقناظری اجرا شوند. این یک فرمت مستقل از سکو، قابل توسعه و باز برای بستهبندی و توزیع ابزارهای مجازی است که از یک یا چند ماشین مجازی تشکیل شدهاند.
OVF به مشتریان و توسعهدهندگان امکان انتخاب هر فوقناظری را بر اساس قیمت، ترجیحات یا کارآیی میدهد و از قفل شدن در یک فروشنده جلوگیری میکند. این استاندارد بستهبندی و توزیع برای ابزارهای مجازی در افزایش سرعت پذیرش ابزارهای مجازی نقش مهمی ایفا میکند. این استاندارد دارای ویژگیهای زیر میباشد:
بهینه شده برای توزیع
قابلیت حمل و توزیع ابزارهای مجازی
پشتیبانی از فرآیند استاندارد بررسی یکپارچگی و صحت محتوا
فراهم کردن یک الگوی پایه برای مدیریت مجوزهای نرمافزاری
یک تجربه ساده و اتوماتیک از دید کاربر
یک رویکرد قوی و کاربر پسند برای ساده سازی فرآیند نصب
بازبینی کل بسته و اطمینان از اینکه همه ماشینهای مجازی نصب شده باشند
بررسی سازگاری با سختافزار محلی مجازی
بستهبندی قابل حمل ماشین مجازی
امکان بهره گیری از بهبودهای خاص هر پلتفرم
پشتیبانی از محدوده گسترده ای از هارد دیسک های مجازی مورد استفاده برای ماشینهای مجازی و قابل توسعه برای در برگرفتن فرمت های آتی
مستقل از فروشنده و پلتفرم
عدم نیاز به استفاده از یک پلتفرم میزبان، پلتفرم مجازیسازی یا سیستم عامل مهمان خاص
قابل توسعه
طراحی شده برای همگام شدن با پیشرفت تکنولوژی در صنعت
امکان محلی سازی
...
یک سرویس وب، طبق تعریف W3C، یک سیستم نرمافزاری است که برای پشتیبانی از تعامل های متقابل ماشین به ماشین در شبکه طراحی شده است. در رایانش ابری نیز اجزای مختلف میتوانند از طریق سرویسهای وب در دسترس قرار بگیرند. سرویسهای وب معمولا API های وبی هستند که از طریق شبکه هایی نظیر اینترنت قابل دسترسی هستند و روی یک سیستم راه دور که میزبان سرویسهای درخواست شده است، اجرا میشوند. در این بخش، ما در خصوص چند نمونه از سرویسهای وب رایج نظیر REST و SOAP و JSON صحبت میکنیم.
داده: داده میتواند با استفاده از مکانیسم ها و ساختارهای مختلفی مورد استفاده قرار بگیرد. دو نمونه از رایج ترین آنها JSON و XML میباشد. هر دوی اینها بر اساس استاندارد های پیش رو در صنعت –HTML و جاوااسکریپت- هستند که برای کمک به ارائه و استفاده از داده مورد استفاده قرار میگیرند.
JSON 135 یک قالب سبک رایانهای برای تبادل دادهها است. از این فرمت برای ارسال دادههای ساخت یافته در شبکه استفاده میشود. این فرمت معمولا میتواند بعنوان یک روش دیگر مشابه با XML مورد استفاده قرار بگیرد. اصول JSON بر اساس زیرمجموعهای از جاوااسکریپت است که معمولاً همراه با آن زبان استفاده میشود. با این حال JSON یک فرمت مستقل از زبان است و کدهای مورد نیاز برای تحلیل و تولید آن در چندین زبان برنامهنویسی مختلف موجود است. همین موضوع باعث شده است که وقتی در تبادل داده با جاوااسکریپت درگیر هستیم (مثلا در برنامههای AJAX)، بتوان آن را بعنوان یک جایگزین خوب بجای XML استفاده کرد.
زمانی بهتر است از JSON استفاده کنیم که برای ارسال یا دریافت داده از جاوااسکریپت استفاده میکنیم. دلیل این کار این است که وقتی از XML در جاوااسکریپت استفاده میشود، مجبور خواهیم بود که اسکریپتهایی برای استفاده از کتابخانه های مورد نیاز برای استفاده از اشیاء DOM به منظور استخراج دادههای مورد نیاز بنویسیم. اما در JSON اشیاء همچنان به همان صورت یک شیء باقی میمانند. بنابراین کار اضافه بیشتری نیاز ندارند. این کار میزان سربار، استفاده از CPU و میزان کدی که برای برنامه مینویسید را کاهش میدهد. برای مثال، کد JSON نمونه زیر شیء توصیف کننده یک شخص را نشان میدهد:
{
"firstName": "Johnny",
"lastName": "Johnson",
"address": {
"streetAddress": "123 Main Street",
"city": "Minneapolis",
"state": "MN",
"postalCode": 55102
},
"phoneNumbers": [
"612 555-9871",
"952 555-1598"
]
}
همانطور که ملاحظه شد، این شیء شامل نام شخص، آدرس و آرایهای از شمارههای تلفن شخص است.
زبان XML 136 یک استاندارد و روشی خود تعریف برای کد کردن متن و داده است بطوری که محتوا با کمترین تعامل انسانی قابل دسترسی و قابل مبادله در بین طیف مختلف سختافزارها، سیستمهای عامل و برنامههای کاربردی باشد. XML روشی استاندارد برای ارائه متن و داده در فرمتی که بتواند مستقل از پلتفرم استفاده شود، فراهم آورده است. همچنین میتواند با طیف گستردهای از ابزارهای توسعه و برنامهنویسی و ابزارهای دیگر مورد استفاده قرار بگیرد.
XML بسیار شبیه HTML است (هر دوی آنها بر اساس زبان SGML هستند که از سال 1986 یک استاندارد شده است). البته دو تفاوت عمده بین این دو وجود دارد:
در HTML از نشانه ها برای تعریف محتوا و ظاهر متن استفاده میشود در صورتیکه در XML محتوا و ساختار آن توصیف میشود، ظاهر نمایش متن بطور مجزا بر اساس کاربرد به هر شکل دلخواه قابل تعیین است.
نشانه ها در XML میتوانند توسط خود توسعهدهندگان، متناسب با هر کاربرد دلخواه تعریف شوند در حالی که نشانهها در HTML توسط موسسه W3C تعیین میشوند.
از نظر عملکردی، XML استفاده از پایگاهداده را برای سازمان شما سادهتر میکند. سیستمهای پایگاهداده رابطهای نمیتوانند همه نیاز سیستمهای الکترونیکی را بر طرف کنند. همچنین نمیتوانند ساختارهای دادهای خاص و تودرتو را به همان صورت که هستند مدیریت کنند. اینها بخشی از نیازمندیهای رایج در محیطهای ابری میباشد. اگرچه امکان کار با XML در اغلب پایگاههای داده سنتی فراهم شده است، اما فرآیند تبدیل مورد استفاده در آنها معمولا سربار زیادی دارد و با پیچیدگی زیادی همراه است.
پایگاههای داده مبتنی بر XML این فرآیند را ساده کردهاند، زیرا آنها XML را با همان ساختار اصلی خود و به شکل سلسله مراتبی ذخیره میکنند. به این ترتیب پرسوجوها بسیار سریعتر اجرا میشوند زیرا نیاز نیست که دادههای درختی XML به جداول رابطهای در پایگاهداده نگاشت شوند. دیگر مزایای XML به این شرح میباشد:
ساختار داده ای خود تعریف: XML نیازی به جداول توصیفی و الگوهای رابطهای، توصیف نوع دادههای خارجی و ... را ندارد. همچنین در حالیکه HTML فقط کمک میکند که از شکل صحیح نمایش داده مطمئن شویم، XML تضمین میکند که دادهها قابل استفاده نیز باشند.
یکپارچهسازی با پایگاهداده: سندهای XML میتوانند شامل هر نوع داده ای باشند (از متن و عدد گرفته تا اشیاء چندرسانهای و اشیاء فعال نظیر جاوا).
عدم نیاز به برنامهنویسی مجدد در صورت نیاز به تغییر: اسناد و سایتهای وب میتوانند با XSL 137 تغییر کنند، بدون اینکه نیاز باشد در فرمت و ساختار دادهها تغییر داده شود.
دید یکپارچه از داده: XML بطور ویژه برای محیطهای ابری مناسب است، زیرا دادههایی که در چندین سرور پخش میشوند میتوانند بگونهای بنظر برسند که معادل یک سرور باشد.
باز و قابل توسعه: ساختار XML به شما امکان افزودن عناصر مورد نیازتان را میدهد. شما میتوانید به آسانی سیستم خود را با تغییرات کسب و کار منطبق کنید.
پشتیبانی گسترده: XML در W3C به عنوان یک استاندارد در صنعت مطرح است و توسط بسیاری از تولیدکنندگان پیشرو در عرصه نرمافزار پشتیبانی میشود و ابزارهای بسیاری برای کار با آن توسعه داده شده است.
شامل اطلاعات زمینه قابل خواندن برای ماشین: نشانه ها، مشخصه ها و عناصر ساختاری اطلاعات زمینهای را برای بررسی و استفاده در ابزارهای مورد نیاز فراهم میکنند.
محتوا در مقایسه با ارائه: نشانه های XML، بجای شکل ارائه، معنای هر شیء را توصیف میکنند. به عبارت دیگر، XML ساختار سند را توصیف میکند و برنامه کاربردی آن را به همان شکل که توصیف شده است ارائه میکند.
سرویسهای وب تعیین میکنند که داده چگونه از ابر به کلاینت ارسال شود. دو پروتکلی که در این رابطه مورد بررسی قرار میگیرند REST و SOAP هستند که بهترین گزینهها برای نیازهای ابری هستند.
پروتکل REST138 یک راه برای دریافت محتوای اطلاعاتی از یک سایت وب است. برای نمونه REST میتواند توسط سرویس دهنده ابری شما استفاده شود تا اطلاعات به روز شده عضویت را فراهم کند. هر چند وقت سرویس دهنده ابری میتواند صفحه وبی آماده کند که شامل محتوا و بخشهای XML باشد. اعضا و مشترکین تنها کافیست آدرس URL آن صفحه که فایل XML در آن قرار دارد را داشته باشند تا با استفاده از یک مرورگر وب آن را بخوانند.

عملکرد REST بسیار شبیه SOAP139 است اما استفاده از آن سادهتر است. استفاده از SOAP نیازمند نوشتن یا استفاده از یک برنامه سرور و کلاینت است ولی با این حال قابلیتهای بیشتری دارد. برای مثال، اگر شما بخواهید محتوای خبرخوان را از ابر خود فراهم کنید تا سایتها عضو آن شوند، آن مشترکین ممکن است لازم باشد تا از SOAP استفاده کنند، زیرا امکان تعاملات بیشتری را بین سرور و کلاینت فراهم میکند. REST از رویکرد انتشار مشابه RSS 140 استفاده میکند. RSS از چهارچوبی برای توصیف منابع141 استفاده میکند که یک روش استاندارد برای توصیف سایت وب است.
منابع: یک بخش مهم در REST وجود منابع است. هر منبع اطلاعات خاصی را مشخص میکند و با استفاده از یک URL مشخص از طریق HTTP قابل دسترسی است. برای استفاده از این منابع، اجزای شبکه با استفاده از واسط استاندارد (نظیرHTTP) با هم ارتباط برقرار میکنند و شکل بازنمایی منابع را مبادله میکنند. مثلا یک منبع اگر "مثلث" باشد، ممکن است بصورت یک چندضلعی با سه ضلع مساوی توصیف شود، یا اینکه ممکن است ترکیبی از سه نقطه که با کاما در یک لیست از هم جدا شدهاند مشخص شود.
مزایا: REST شامل مزایای زیر است:
زمان پاسخ بهتر و بار سرور کمتر را بخاطر پشتیبانی از caching در ارائه بازنماییها فراهم میکند.
مقیاسپذیری سرور با کاهش نیاز به نگه داری وضعیت sessionها بهبود یافته است.
یک مرورگر میتواند به هر برنامه کاربردی و هر منبعی دسترسی داشته باشد. بنابراین نرمافزار سمت کلاینت کمتری مورد نیاز است.
با توجه به اینکه از hyperlink ها برای بازنمایی استفاده میکند، یک مکانیسم کشف منبع مجزا نیاز ندارد.
سازگاری بهتر در دراز مدت و مشخصه های قابل تکامل نسبت به RPC بخاطر:
امکان تکامل تدریجی اسنادی نظیر HTML
امکان افزودن پشتیبانی از انواع داده جدید بدون از بین رفتن پشتیبانی از انواع داده قدیمی
یک مزیت در زمان استفاده از برنامههای REST در ابر این است که REST به کاربران این امکان را میدهد تا پرسوجوهای خاص را ذخیره (bookmark) کنند و آن پرسوجوها را از طریق ایمیل یا برنامههای پیغام رسان برای دیگران ارسال کنند. این شکل بازنمایی از مسیر یا نقطه ورود به یک برنامه کاربردی بسیار قابل حمل است.
پروتکل SOAP 142 روشی است برای اینکه یک برنامه بتواند با دیگر برنامهها در همان سیستم عامل یا دیگر سیستم عامل ها با استفاده از HTTP و XML (که ابزارهای تبادل اطلاعات هستند) ارتباط برقرار کند. فراخوانی تابع از راه دور (RPC) بین اشیائی نظیر DCOM یا COBRA مورد استفاده قرار میگیرد، اما HTTP بگونهای طراحی نشده است که بتواند از آن استفاده کند. مشکل اصلی RPC سازگاری آن است، همچنین دیوارآتش و پروکسی سرورها جلوی این نوع ترافیک را میگیرند. بدلیل اینکه پروتکلهای وب نظیر HTTP و XML در تمام سیستم عامل های بزرگ از قبل نصب شده و موجود هستند، یک راهحل آسان برای حل مشکل برقراری ارتباط بین برنامههایی که در سیستم عاملها و شبکههای مختلف قرار دارند، بحساب میآیند.
SOAP تعیین میکند که چگونه سرآیند HTTP و فایل XML را بگونهای آماده کند تا یک برنامه روی یک رایانه بتواند یک برنامه روی رایانه دیگر را فراخوانی کند و اطلاعات را به آن ارسال کند. همچنین این پروتکل شرح میدهد که چگونه برنامه فراخوانی شده، نتیجه را برگرداند.
یکی از مزایای SOAP این است که فراخوانی ها با احتمال بیشتری میتوانند از دیوار آتش عبور کنند. بدلیل اینکه تقاضاهای HTTP معمولا مجوز عبور از دیوارآتش را دارند، برنامههایی که از SOAP استفاده میکنند میتواند با برنامهها در هرجایی ارتباط برقرار کنند.
مثال: به مثال زیر که نمونه ای از SOAP است نگاه کنید. شما میتوانید ببینید که آن بر اساس HTTP است. در حقیقت اولین خط این درخواست بسیار شبیه به استاندارد درخواست HTTP تعیین میشود:
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
و به همین ترتیب پاسخ SOAP نیز مشابه پاسخ HTTP است که یک نمونه در ادامه آمده است:
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
</soap:Envelope>
با توجه به اهمیت استاندارد ها، در این بخش ما در خصوص استانداردهایی صحبت کردیم که در زمان کار با ابر میتوان آنها را بکار گرفت. همچنین نحوه عملکرد آنها نیز مورد بررسی قرار گرفت.
| پرسشهای مروری فصل 7 |
|
| تحقیق و پژوهشی فصل 7 |
|
مراجع
Anthony T. Velte, Toby J. Velte, Ph.D. Robert Elsenpeter, "Cloud Computing: A Practical Approach," McGraw Hill, 2010
Polling: http://en.wikipedia.org/wiki/Polling_%28computer_science%29, accessed May 2010
Don't Use Polling for Real-time Feeds: http://highscalability.com/blog/2010/1/11/strategy-dont-use-polling-for-real-time-feeds.html, accessed May 2010
Web Standards and Toturials: http://www.w3schools.com, accessed May 2010
Cloud Computing Interoperability Forum, cloudforum.org
The Open Cloud Consortium, opencloudconsortium.org
Cloud Interoperability Magazine, cloudinterop.ulitzer.com
Thrift - A software framework for scalable cross-language services development, http://incubator.apache.org/thrift
OpenID Foundation website, http://openid.net
Why should I use OpenID?, http://openidexplained.com
Hypertext Transfer Protocol↩︎
Cookies↩︎
Extensible Messaging and Presence Protocol↩︎
Secure Sockets Layer↩︎
Certification Authority↩︎
Certificate Signing Request↩︎
Payment Card Industry Data Security Standards (PCI DSS) requirement 2.2.1↩︎
implement only one primary function per server↩︎
interoperability↩︎
Open Virtualization Format↩︎
appliances↩︎
JavaScript Object Notation↩︎
Extensible Markup Language↩︎
Extensible Stylesheet Language↩︎
Representational state transfer↩︎
Simple Object Access Protocol↩︎
RDF Site Summary↩︎
Resource Description Framework (RDF)↩︎
Simple Object Access Protocol↩︎
یکی از پرکاربردترین ویژگیهای زیرساختهای ابری، توانایی مقیاسپذیری خودکار آنها هم بصورت افقی و هم بصورت عمودی میباشد. این مقیاسپذیری در حالی است که بر روی برنامه در حال اجرا بدون تاثیر بوده یا تاثیر بسیار کمی دارد. این ویژگی بطور اساسی، رویکرد مدیران IT را در خصوص زیرساختهای فناوری اطلاعات خود و نیز مدیران مالی را نسبت به سرمایه گذاری بر روی IT تغییر داده است. اما این ویژگی یک شمشیر دو لبه است.
مزیت واضح مقیاسپذیری ابر این است که شما تنها برای منابعی که از آنها استفاده میکنید، پرداخت انجام می دهید و بنابراین نیازمند برنامهریزی دقیق در خصوص ظرفیت و منابع مورد نیاز میباشد. رویکرد غیر ابری این است که زیرساخت را با توجه به پیک مصرف خریداری کنیم که باعث هدر رفتن منابع میشود. اما اشکال ابر این است که معمار سیستم، برنامهریزی منابع را ممکن است نادیده بگیرد. علاوه بر این، اتکای بیش از حد به مقیاسپذیری ابر میتواند منجر به این شود که سازمان به تقاضا پاسخ دهد صرف نظر از اینکه این تقاضا شاید فایده تجاری برای سازمان نداشته باشد.
در این قسمت در خصوص موضوعاتی بحث میکنیم که در مقیاسپذیری زیرساخت ابری مطرح است و بنابراین شما میتوانید بصورت هوشمند، بدون اینکه در خطر بیفتید تمام تواناییهای ابر را بر روی زیرساخت IT خود بکار بگیرید. موفقیت شما با برنامهریزی منطقی ظرفیت شروع خواهد شد.
برنامهریزی ظرفیت به معنای ایجاد یک استراتژی است که تضمین کند زیرساخت شما میتوانید از تقاضای منابع که بر آن اعمال میشود پشتیبانی کند. بحث در خصوص پیچیدگی برنامهریزی خود به اندازه یک کتاب کامل است. این موضوع بطور کامل در کتابی از John Allspaw بنام The Art of Capacity Planning 143 که توسط O’Reilly منتشر شده است، بررسی گردیده است. در اینجا ما مفاهیم اصلی که برای مقیاسپذیری مورد نیاز است بررسی میکنیم:
از الگوی مصرفی خود که چگونه در طول روز ، یا در طول یک هفته، در روزهای تعطیل و نیز در فصول مختلف تغییر میکند مطلع باشید.
بدانید که چگونه برنامههای شما به بار کاری خود پاسخ میدهند بطوری که بتوانید تعیین کنید چه زمانی و چه نوع از ظرفیت اضافی را نیاز خواهید داشت.
از ارزش سیستمهای خود برای کسب و کار آگاه باشید، به این ترتیب خواهید دانست که چه موقع افزودن ظرفیت، ارزش ایجاد میکند و چه موقع فاقد ارزش است.
بعضی ها به توانایی محیطهای ابری در مقیاسپذیری اتوماتیک بر اساس تقاضا نگاه میکنند و فکر میکنند که دیگر نیاز نیست در برنامهریزی ظرفیت درگیر شوند. بعضی دیگر به برنامهریزی منابع نگاه میکنند و به فکر ده ها یا هزاران دلار جهت هزینههای مشاوره آن می افتند. هر دو این تفکر ها، باورهای خطرناکی هستند که باید کنار گذاشته شوند.
برنامهریزی ظرفیت همانقدر در ابر اهمیت دارد که در یک زیرساخت فیزیکی اهمیت داشته است و نیاز نیست که در برخی پروژه های برنامهریزی ظرفیت عجیب درگیر شوید تا بتوانید طرح مناسب خود را ایجاد کنید. در نهایت، هدف شما این است که به سادگی بدانید وقتی هزینه بیشتری را با افزایش مقیاس زیرساخت خود متحمل می شوید، آن هزینه اضافی از اهداف شما پشتیبانی میکند یا نه.
مطمئناً شما لازم است بدانید که چه تقاضاهایی انتظار دارید که به برنامه شما ارسال شود. حتما لازم نیست که این پیش بینی خیلی دقیق باشد که مثلا تعداد صفحاتی که روزانه از سایت شما نمایش داده میشود را بدانید. حداقل کافیست که مقدار مورد انتظار خود را تا حدی بیان کنید که قادر باشید موارد زیر را انجام دهید:
یک زیرساخت برای پشتیبانی از بار مورد انتظار طراحی کنید.
تشخیص دهید که چه موقع بار واقعی به بار مورد انتظار همگرا میشود.
تاثیر تغییر نیازمندی های برنامه کاربردی را بر روی زیرساخت خود بدانید.
واضحترین ارزش پیشبینی تقاضا –در صورتیکه بدانید چگونه سیستم به بار ورودی پاسخ میدهد- این است که خواهید دانست چه تعداد سرور و از چه نوعی نیاز دارید و آن سرورها چه منابعی نیاز دارند. اگر شما ایده ای در خصوص تعداد افرادی که از برنامه کاربردی وب شما استفاده میکنند نداشته باشید، مثل این خواند بود که ایده ای در خصوص اینکه زیرساختی که فراهم کردهاید، درست کار خواهد کرد یا نه نخواهید داشت. ممکن است در عرض یک ساعت پس از استقرار از کار بیفتد یا اینکه مقدار زیادی پول را بخاطر زیرساخت غیر ضروری هدر بدهید. احتمالا نمیتوان انتظار داشت که شما بتوانید آینده را به خوبی پیشبینیکنید. هدف برنامهریزی تقاضا نیز این نیست که نقاط اوج تقاضای غیر قابل انتظار را حذف کند، چرا که همیشه چنین وضعیت های ناخواسته ای وجود دارد. هدف برنامهریزی ظرفیت این است که به شما کمک کند تا در خصوص موارد مورد انتظار برنامهریزی کنید، موارد غیرقابل انتظار را شناسایی کنید و عکسالعمل مناسب را برای برطرف کردن آن انجام دهید.

برای مثال سناریویی را در نظر داشته باشید که در آن زیرساختی دارید که از 10 میلیون تراکنش در ثانیه پشتیبانی میکند و شما رشدی با میانگین 1 تا 5 میلیون تراکنش در ثانیه دارید. اگر شما به درستی این بار را پیش بینی کرده باشید، خواهید دانست که آیا این موج ناگهانی قابل انتظار است (که در این صورت نگرانی وجود ندارد) یا اینکه غیرقابل انتظار بوده است. بدون تخمین صحیح، شما نخواهید دانست که با تغییرات چه باید بکنید.
شکل 8-179 و شکل 8-180 نمودارهایی هستند که ترافیک مورد انتظار را برای یک سایت تجارت الکترونیک در یک دوره یک روزه و نیز نقاط اوج تقاضا برای 12 ماه بعد نشان میدهند. نمودار روزانه، نقاط اوج تقاضا را در صبح، عصر و اوایل شب نشان میدهد. بعنوان یک شرکت در حال رشد، و با در نظر داشتن اینکه دو محصول در ماه های می و سپتامبر ارائه میشوند، ما انتظار داریم که حجم تقاضا به تدریج در طول سال افزایش پیدا کند. نهایتا اینکه ما یک افزایش خرید فصلی در پایان سال داریم.
ما چگونه این اعداد را بدست آورده ایم؟ همانند خیلی چیزهای دیگر، این موضوع به نوع کاربرد بستگی دارد. در مورد نمودار روزانه، الگوهای تاریخی مبنای تشکیل آن هستند. اگر شما یک کسب و کار استوار دارید، الگوهای تاریخی انتظارات شما هستند. در هر صورت یک کسب و کار در حال رشد، تغییر رفتار را در تغییر بازار خواهد دید.

یک موقعیت چالش برانگیز دیگر حالتی است که در خصوص آن داده تاریخی در اختیار ندارید. اگر شما بازار خود را بشناسید، میتواند بهترین راه برای پیش بینی وضعیت در این موارد باشد. در یک سطح سالیانه، بیشتر نمودارهای شما بر اساس اطلاعاتی است که از دیگر بخشهای کسب و کار بدست آمده است. اگر شما کالاهایی را به مشتریان میفروشید، میتوانید تغییرات فصلی را خصوصا در پایان سال پیشبینی کنید. برای اینکه بتوانید اطلاعات را بهتر تحلیل کنید، لازم است که با بخشهای مختلف فروش، بازاریابی، تولید و دیگر بخشهایی که ترافیک را به سمت سایت شما هدایت میکنند ارتباط نزدیکی داشته باشید. مثلا همانطور که در شکل 8-180 نشان داده شده است، لازم است که در خصوص محصولاتی که قرار است در آینده ارائه شوند نیز اطلاع داشته باشید.
در برخی موارد شرکت محصولی را ارائه می هد که منجر به ترافیکی بیش از حد انتظار میشود یا اینکه ممکن است حالتی پیش بیاید که در انجام تخمین ها اشتباه کرده باشید و .... به هر حال هر زمان که با ترافیک غیرقابل انتظاری مواجه شدید، مهم است که علت آن را بتوانید تشخیص دهید. در ادامه خواهیم دید که ترافیک غیر منتظره میتواند هم خوب باشد و هم بد.
توانایی مقیاسپذیری یک برنامه وب یا سایت مستقیما به این بستگی دارد که بدانیم محدودیتهای منابع در کجا قرار دارد و افزودن منابع مختلف چه تاثیری بر روی برنامه کاربردی دارد. مثلا اینکه همیشه اضافه کردن یک سرور دیگر نمیتواند مشکل کارآیی را حل کند. افزودن یک سرور کاربردی به یک زیرساخت مشتمل بر سرور پایگاهداده با I/O زیاد، تنها مشکل را بدتر میکند. بنابراین باید با شناخت الگوهای استفاده، تست های مختلف را برای بررسی و شناسایی مسائل موجود در زیرساخت انجام داد.
با فرض اینکه یک برنامه وب و پایگاهداده کارآمد داشته باشیم، برنامه وبی که روی ابر مستقر میشود همه محدودیتهای ظرفیت زیر را بصورت بالقوه دارد:
پهنای باند تعدیلکنندهبار
CPU و RAM در تعدیلکنندهبار.
توانایی تعدیلکنندهبار در پخش صحیح بار بین سرورهای کاربردی.
پهنای باند بین تعدیلکنندهبار و سرورهای کاربردی.
CPU و RAM سرور برنامه کاربردی.
عملیات I/O برای خواندن دیسک در سرور کاربردی.
عملیات I/O برای نوشتن بر روی دیسک در سرور کاربردی.
پهنای باند بین سرور برنامه کاربردی و تجهیزات ذخیرهسازی شبکه (نظیر دیسک های ذخیرهسازی block storage در آمازون).
پهنای باند بین سرور کاربردی و سرور پایگاهداده.
عملیات I/O دیسک برای خواندن پایگاهداده.
عملیات I/O دیسک برای نوشتن بر روی پایگاهداده.
میزان فضای دیسک برای پشتیبانی از ذخیرهسازی.
موارد زیادی وجود دارد که یک برنامه ممکن است با کمبود ظرفیت مواجه شود. البته باید در نظر داشت که اینها فقط محدودیت هستند و مشکلات اصلی بیشتر به خود طراحی بر می گردد. معماری برنامه و پایگاهداده قبلا مورد بحث قرار گرفت. بطور خلاصه برای مقیاسپذیری افقی یک برنامه بهتر است از قواعد زیر پیروی کنید:
استفاده از سریع ترین دستگاه ذخیرهسازی موجود برای پایگاهداده.
اجتناب از نگهداری دادههای تراکنش در لایه سرور کاربردی.
امکان ایجاد چند کپی از سرور کاربردی برای اجرا با یک پایگاهداده یکسان بدون هر گونه ارتباط بین سرورهای برنامه کاربردی.
ایندکسگذاری صحیح پایگاهداده.
در صورت امکان استفاده از تنظیمات master/slave با عملیات خواندن هدایت شده به slave ها
افزونگی های خود را بگونهای طراحی کنید که ترافیک بین نواحی دسترسی به حداقل برسد.
بسته به برنامه شما، رایج ترین نقاط فشار اولیه یکی از سه مورد زیر میباشد:
CPU در سرور برنامه کاربردی.
RAM در سرور برنامه کاربردی.
I/O در سرور برنامه کاربردی.
هر برنامه ای نقطه فشار دارد. اگر نداشته باشد، میتواند در یک سیستم ساده Intel 386 با بار نامحدود کار کند. مثلا برای برنامه Valtira (یک برنامه مبتنی بر جاوا که برای شرکتی با همین نام طراحی شده بود)، اولین گلوگاه همیشه CPU بود. هنگامیکه بصورت افقی توسعه داده میشود این مشکل حل میشد، اما بسته به محتوایی که در استقرار Valtira وجود داشت، ما با گلوگاه های جدیدی هم در پهنای باند شبکه و هم I/O دیسک پایگاهداده مواجه شدیم. در ابر نیز این گلوگاه I/O است. بنابراین نقطه مقیاسپذیری بعد ما، شکستن عملیات خواندن بین slave های پایگاهداده و استفاده از master تنها برای عملیات نوشتن بود. نقطه انسداد دیگر، عملیات I/O دیسک در زمان نوشتن در پایگاهداده master است. در آن نقطه، ما نیاز داریم که پایگاهداده را تقسیم کنیم یا دنبال یک راهحل پایگاهداده گرانتر باشیم. به عبارت دیگر، ما احاطه کاملی بر روی عملکرد برنامه خود، محدودیتهای آن و چگونگی عملکرد در مقابل محدودیتها داریم. بدون آن دانش، ممکن است در تشخیص راهحل گمراه شویم و راهحل را در افزودن سرور برنامه کاربردی ببینیم.
البته شما میتوانید تحلیلهای پرهزینهای را برای تعیین تعداد دقیق کاربرانی که برای هر عمل مقیاسپذیری نیاز دارید، انجام دهید. ولی واقعا این کار ضرورتی ندارد. فقط برنامه خود را با توجه به شرایط محیطی مورد انتظار اجرا کنید، تست های بار در حال اجرا انجام دهید و به تاثیر بار و افزایش مقیاس دقت کنید. این کار زمان کمتر و هزینه بسیار کمتری دارد و اطلاعاتی که بدست می آورید به اندازه کافی خوب خواهد بود.
ابر به شما این قدرت را میدهد که بتوانید منابع محاسباتی خود را تغییر دهید تا با نیازمندی های حجم بار متناسب شود. شما میتوانید ظرفیت را هم بصورت دستی (با اجرا یک دستور در خط فرمان یا از طریق واسط وب) و یا بصورت برنامهنویسی (از طریق تغییرات از پیش تعریف شده در ظرفیت یا از طریق نرمافزاری که بطور خودکار ظرفیت را تنظیم کند تا متناسب با تقاضای واقعی شود) تغییر دهید.
امکان تنظیم دستی ظرفیت یک مزیت عمده نسبت به محاسبات سنتی است. اما قدرت واقعی مقیاسپذیری در ابر بخاطر مقیاسپذیری پویای آن است.
این اصطلاح –که اغلب که آن را مقیاسپذیری ابری نیز می گوییم- به نرمافزار امکان تنظیم منابع زیرساخت را بدون هیچ گونه تعاملی فراهم میکند. مقیاسپذیری پویا میتواند بصورت پیش فعال144 یا واکنشی145 باشد.
این مورد شامل یک زمان بندی برای تغییر زیرساخت بر اساس نمودارهای تقاضاهای پیش بینی شده است. اگر شما برنامه را متناسب با شکل 8-179 در نظر بگیرید، میتوانیم ابزارهای مدیریتی ابر را بگونهای پیکربندی کنیم که با حداقل زیرساخت موجود بتواند نیازمندی های موجود در طول ساعات اولیه صبح را جواب بدهد و سپس به ظرفیت اضافه کنیم، دوباره ظرفیت را تا ظهر مقداری کاهش دهیم و .... این استراتژی منتظر افزایش تقاضا نمیشود، در عوض بر اساس یک برنامه مشخص کار میکند.
در این استراتژی، زیرساخت شما متناسب با تغییرات تقاضا با افزودن یا کاهش ظرفیت واکنش نشان میدهد.
ابزارهای مدیریت و مانیتورینگ در زیرساخت ابر، برای مدیریت آن بسیار حیاتی هستند. نمونه های بسیاری از این ابزارها نظیر enStratus، RightScale و Morph وجود دارد که میتوان بر اساس هزینه، نوع برنامه ای که باید مدیریت شود و اجزای زیرساخت از آن ها استفاده کرد.
هر ابزاری که انتخاب کنید باید حداقل دارای قابلیتهای زیر باشد:
زمان بندی تغییرات در ظرفیت برای استقرار برنامههای کاربردی.
مانیتورکردن وضعیت برای تقاضاهای خیلی زیاد یا کمتر از حد عادی.
تنظیم ظرفیت بطور خودکار بر اساس موجهای درخواست غیرقابلانتظار یا کاهش ناگهانی تقاضا.
مانیتورینگ تنها بررسی ظرفیت نیست، بلکه باید خطاها و خرابی ها را نیز پیدا کرده و آنها را بازیابی کند. به این ترتیب یک سیستم اطلاع رسانی146 بخش مهمی از مانیتورینگ خرابی ها است. شما باید گزارش کاملی از هر تغییری در ظرفیت داشته باشید و هر چیز غیرعادی مثلا با ایمیل به شما اطلاع داده شود.

معماری یک سیستم مانیتورینگ در شکل 8-181 نشان داده شده است. در مقایسه با بازیابی از سوانح147، لازم نیست که برای کارهایی نظیر برنامهریزی ظرفیت، سرور مانیتورینگ خارج از ابر باشد. مانیتورینگ پهنای باند نیز یکی از موارد مهم و ضروری میباشد. با مانیتورینگ میتواند وضعیت هر یک از سرورها را بررسی کرد تا تصویری از وضعیت فعلی منابع در اختیار داشته باشید. هر نمونه ابری، پردازشهایی دارد که میتواند علائم حیاتی آن را به سرور مانیتورینگ گزارش کند.
برای مقاصد امنیتی، بهتر است که سرور مانیتورینگ خودش وضعیت نمونه ها را بپرسد، تا اینکه نمونه آن را گزارش کنند. به این ترتیب میتوانید سرور مانیتورینگ را پشت دیوار آتش قرار دهید تا امکان ورود ترافیک به سمت سرور مانیتورینگ وجود نداشته باشد. همچنین مهم است که در نظر داشته باشید، سرور مانیتورینگ باید متناسب با افزایش تعداد گره ها، امکان مقیاسپذیری داشته باشد.
فرآیندی که حیات نمونه ها را چک میکند باید برای هر نمونه بر اساس عملکرد آن متفاوت باشد. یک تعدیلکنندهبار بطور مداوم باید از نظر وضعیت CPU و RAM بررسی شود. یک سرور پایگاهداده باید از نظر وضعیت عملکرد I/O نیز بررسی شود. مشکل ترین مانیتورینگ مربوط به سرور برنامه کاربردی است. در این مورد نه تنها باید قادر باشید بررسی کنید که چقدر از منابع استفاده شده است، بلکه چگونگی فعالیت آن را نیز بدانید.
سپس سرور مانیتورینگ از ابزارهای تحلیلی برای بررسی همه دادهها استفاده میکند تا بداند که چه زمان باید مقیاس را کاهش یا افزایش داد، فعالیت های غیرقابل انتظار را تشخیص دهد و عملکرد مناسب را در پاسخ به فعالیت های غیرمنتظره انجام دهد.
یک سیستم مقیاسپذیر پیش فعال شما را قادر می سازد تا تغییر ظرفیت را بگونهای زمان بندی کنید تا با تغییرات مورد انتظار شما بر اساس نیاز برنامه کاربردی تطبیق داشته باشد. وقتی از مقیاسپذیری پیش فعال استفاده میکنید، باید میزان استاندارد انحراف معیار مورد انتظار را بدانید. برای اینکار نیاز نیست به کتاب های آمار مراجعه کنید بلکه منظور این است که شما باید تقریبا بدانید که ترافیک عادی شما چقدر از انتظارات شما منحرف میشود. اگر شما حدود 1000 نمایش صفحه در ساعت را برای ظهر پیش بینی کرده باشید ولی این رقم به 1100 برسد، آیا واقعا غیرمنتظره است؟ شاید نه. ظرفیت شما در هر زمان باید قادر باشد تا جوابگوی حداکثر ظرفیت مورد انتظارتان باشد.
مقیاسپذیری واکنشی به شما این امکان را میدهد تا به سرعت در مقابل تقاضای غیرقابل انتظار، واکنش نشان دهید. اما اگر شما نتوانید برنامهریزی ظرفیت انجام دهید و در عوض تنها به مقیاسپذیری واکنشی برای مدیریت یک برنامه وب تکیه کنید، با مشکل مواجه خواهید شد. مبنای کار این مقیاسپذیری، بهرهوری148 است. به عبارتی، وقتی منابع حافظه یا پردازش شما به سطح خاصی از مصرف می رسد، منابع بیشتری را به محیط محاسباتی اضافه میکنید. منطق مانیتورینگ چنین وضعیتی بسیار ساده است، اما در حقیقت، این کار تنها در برخی از موارد مورد نیاز است. مثالهایی از مشکلات این روش در ادامه ذکر شده است.
افزایش پردازش سرور برنامه کاربردی که به یک سرور پایگاهداده I/O bound متصل است. در نتیجه بار روی سرور افزایش می یابد و موقعیت بدتر میشود.
یک حمله که همه منابع خود را مصرف میکند. در نتیجه تلاشهای فزاینده ای از اجرای نمونه های جدید بوجود خواهد آمد و هزینههای شما سر به فلک می کشد.
یک موج ناخواسته در فعالیت وب که به زیرساخت شما تحمیل میشود اما بر روی کاربر تاثیر بسیار ناچیزی دارد. در عین حال شما میدانید که بار فعالیت کاهش خواهد یافت، اما سیستم مانیتورینگ شما نمونه های بیشتری را با توجه به بار تحمیل شده اجرا میکند.
یک سیستم مانیتورینگ خوب، ابزارهایی را فراهم میکند که این مشکلات بالقوه را با مقیاسپذیری واکنشی کاهش دهد. به ندرت میتوان سیستمی را دید که بتواند به شکل ایده عالی قادر به انجام سناریوی آخر باشد. این مورد نیاز مند شناخت محدوده مشکل و الگوهای فعالیتی است که نشان بدهد اجرای نمونه جدید ضرورتی ندارد.
به هر حال، قوانین سیستم مانیتورینگ شما برای مقیاسپذیری واکنشی تعریف شده است و باید همیشه یک ناظر روی آن داشته باشید. این ناظر میتواند تعداد نمونه هایی که سیستم مانیتورینگ میتواند بطور خودکار اجرا کند و نیز میزان هزینهای که از طرف شما بتواند خرج کند را محدود کند. همچنین در حالتی که حمله ای بر روی زیرساخت شما صورت بگیرد، سیستم شما را باید به شکل مناسبی متوقف کند تا از هزینه کردن بیش از حد و اجرای نمونه های زیاد جلوگیری شود.
تا اینجا بر روی مقیاسپذیری افقی صحبت کردیم که به معنای اضافه کردن سرورهای جدید بود. مقیاسپذیری عمودی، به معنای جابجا کردن سرور موجود با یک نمونه دیگر یا تغییر مشخصات سختافزاری آن است. همه محیطهای مجازی و خصوصا محیطهای ابری در مقیاسپذیری افقی خیلی خوب عمل میکنند. اما وقتی میخواهیم مقیاسپذیری عمودی انجام دهیم، ابر دارای تعدادی نقاط قوت مهم و تعداد نقاط ضعف مهم است.
قدرت ابر با مقیاسپذیری عمودی، سهولت استفاده از پیکربندیهای مختلف کوچکتر یا بزرگتر میباشد. برای مثال آمازون در حال حاضر 5 انتخاب مختلف با اندازه های مختلف برای شما فراهم کرده است. اما اگر یک بخش از برنامه شما نیاز به RAM بیشتر از نمونه های پشتیبانی شده توسط آمازون داشت، شما بدشانس خواهید بود. در مقابل GoGrid میتواند درجه بیشتری از سفارشی سازی را انجام دهد که از جمله آن امکان طراحی پیکربندیهای I/O بیشتر است ولی هیچ کدام از این گزینهها از نظر سفارشی سازی پیکربندی به پای سیستم سفارشی سازی Dell نمی رسد.
وقتی ما با استفاده از مقیاسپذیری عمودی سعی میکنیم که از نودهای بزرگتر استفاده کنیم، درست است که کارآیی بیشتری بدست می آوریم، اما در حالتی که از نودهای کوچکتر ولی با تعداد بیشتر استفاده میکنیم، میتوانیم همان کارآیی را با دسترس پذیری بیشتری بدست آوریم. البته این مقایسه از نظر هزینه تمام شده نیز قابل توجه است که یک نمونه از آن که مربوط به آمازون است در جدول 8-7 نشان داده شده است.
جدول 8‑7 -گزینههای مختلف انتخاب سرور در آمازون

طبق این جدول، با فرض اینکه شما 8 سرور متوسط اضافه کرده باشید و هزینه مقیاسپذیری افقی آنها را بصورت خطی در نظر بگیریم، چنانچه بخواهید ظرفیت را افزایش دهید، میتوانید بجای استفاده از سرور نهم، از دو سرور بزرگتر استفاده کنید. به این ترتیب اغلب پیش میآید که بخاطر مسائل مالی، برنامه را بصورت عمودی بدهیم. نکته این است که مقیاسپذیری عمودی یک نمونه خاص از همان مقیاسپذیری افقی است که شامل مراحل زیر میباشد:
افزودن یک نمونه از سیستم بزرگتر در ابر، همانند مقیاسپذیری افقی با این تفاوت که شما نمونه های موجود را تکثیر نمیکنید.
انتظار برای اجرای برنامه در سیستم جدید.
حذف نمونه قدیمی و کوچکتر از سیستم
وقتی شما مقیاسپذیری افقی و عمودی را کنار هم داشته باشید، زیرساختی خواهید داشت که میتوانید بهترین استفاده را از منابع محاسباتی آن ببرید.
| پرسشهای مروری فصل 8 |
|
| تحقیق و پژوهشی فصل 8 |
|
مراجع
George Reese, "Cloud Application Architectures," O'Reilly, 2009
John Allspaw, "TheArt of Capacity Planning," O'Reilly, 2008
سازمانها به منظور بکارگیری خدمات ابری نیاز به تضمین امنیت کافی دارند تا داراییهای اطلاعاتی سازمانشان به مخاطره نیفتد. تا پیش از این ما امنیت را با استفاده از مکانیسمها و سیاستهای امنیتی مختلف برای سازمان خود فراهم میآوردیم و داراییهای سازمان خود را در پشت دیوارههای آتش، DMZ، VPN و ... پنهان میکردیم. حال با ظهور رایانش ابری، نه تنها دادههای شخصی و خصوصاً سازمانی ما در توده ابری قرار دارد که حتی محل آن را هم نمیدانیم، بلکه برنامههای کاربردی و ابزارهای مختلفی که از آنها استفاده میکنیم نیز در وضعیتی قرار دارند که نمیدانیم واقعاً چه کدی را بر روی دادههای ما اجرا میکنند. مثلا اینکه بسیاری از برنامههای کاربردی که در سکوی SalesForce قابل اجرا هستند توسط شرکتها ی دیگر تهیه میشود. بیش از 800 برنامه نوشته شده توسط شرکتها ی ثالث توسط حدود 40000 مشتری استفاده میشود. این برنامهها بر روی سکوی SalesForce اجرا میشوند ولی نمیتوان از محتوای آنها اطمینان داشت. به این ترتیب هیچ کنترلی بر روی آنچه که اتفاق میافتد نداریم و عملا کل دارایی اطلاعاتی خود را از کنترل خود خارج کرده ایم. از سوی دیگر ماهیت خدمات ابری بهگونهای است که از طریق مرورگر ارائه میشوند. بنابراین تهدیدات رایجی که تا کنون در خصوص مرورگرها وجود داشته است، رایانش ابری را نیز براحتی مورد هدف قرار دادهاست. در جدول 9-8، مقایسه ای بین وضعیت آنچه که سازمانها در ابر بدست میآورند با حالت سنتی انجام شده است.
جدول 9‑8‑ مقایسه خدمات ابری و خدمات معمولی
| خدمات روی زمین | خدمات روی ابر |
| سیستم در پشت دیوارآتش، NAT و دیگر gatewayها قرار دارد. | سیستم کاملاً قابل مشاهده است و از هرجا قابل دسترسی است. |
| نفوذگر باید مهارت زیادی برای آگاهی از وضعیت داخلی بکار گیرد. | مانند ترسیم یک تصویر بزرگ در مقابل نفوذگر میباشد. |
| پایگاهداده مشتمل بر اطلاعات یک سازمان است. با نفوذ به یک سایت، تنها سیستمهای یک سازمان به مخاطره میافتد. | شامل دادههای هزاران سازمان و مشتری مختلف است. با نفوذ به یک سایت، سیستمهای چندین شرکت به خطر میافتد. |
| کاربردها مبتنی بر وب و یا مبتنی بر سیستمعامل ارائه میشود. | همه کاربردهای آن مبتنی بر وب است. |
| امکان اعمال رویههای نظارتی دقیق وجود دارد. | امکان نظارت دقیق بر اتفاقات درون ابر وجود ندارد. |
| سطح امنیت اکثر سازمانها برای کاربردهای تحت وب کم است. | امکان فراهم آوردن سطح امنیت بیشتری وجود دارد. |
معمولا ارائه دهندگان سرویس، ادعا میکنند که با توجه به SLA149 تضمین کافی برای رفع مشکلات موجود فراهم میشود، اما SLA نیز به تنهایی کافی نیست. اینکه چه تضمینی برای رعایت خود SLA وجود دارد نیز مسئله دیگری است. در جدول 9-9 نمونهای از تهدیدات شناخته شده در خصوص بکارگیری تودههای ابر آورده شده است و در جدول9-10 موضوعات امنیتی مطرح در رایانش ابری که اخیرا توسط موسسة Gartner گزارش شده است[1]، تشریح گردیده است. نمونهای از حملات صورت گرفته در ابر که تا کنون به وقوع پیوسته است به این شرح میباشد
چندین مورد حمله XSS150 در خدمات گوگل.
حمله XSS در بخش نظرسنجی BlogSpot و امکان مشاهدة ایمیلهای دریافتی در Gmail.
هک شدن سایت Monster در سال گذشته و به سرقت رفتن اطلاعات میلیونها کاربر.
درج فیلتر با استفاده از حمله CSRF در حساب کاربری شخص برای ارسال خودکار ایمیلهای او به یک ایمیل دیگر.
ترکیب XSS و CSRF151 و دستکاری در URL برای حمله به Picasa و سرقت تصاویر کاربران.
بروز مشکل در سیستم ایندکس ZOHO و دسترسی یک کاربر غیرمجاز به اسناد دیگر کاربران.
جدول 9‑9‑ برخی از تهدیدات شناخته شده در خصوص استفاده از رایانش ابری
| تهدیدات | شرح |
| قطع شدن سرویس | قطع شدن اتصال با اینترنت یا ارتباط با سرویسدهنده و سایر اختلالات مشابه |
| حملات DoS | مختل کردن یا از کار انداختن خدمات سرویس دهندگان |
| XSS | قرار دادن کدها و اسکریپتهای مخرب در داخل صفحات وب |
| CSRF | ترکیبی از حمله XSS و استفاده از URLهای تغییر شکل دادهشده |
| سرویسهای نامعتبر | ارائه سرویس توسط سرویسدهندگان نامعتبر |
| DNS poisoning exploit | ارجاع کاربر به یک سایت تقلبی با ظاهری مشابه سایت اصلی |
جدول9‑10- هفت موضوع امنیتی مطرح در خصوص استفاده از رایانش ابری
| موضوعات امنیتی | شرح |
|---|---|
دسترسی کاربران مجاز Privileged User Access |
با توجه با اینکه اطلاعات حساس مربوط به سازمان در خارج از مرزهای آن، ذخیره شده و یا پردازش میشوند، بنابراین اینکه در سمت سرویسدهندگان، پرسنلی که مسئول مدیریت سرویسها و یا دادهها هستند، چه کسانی هستند و چه کنترلی بر روی آنها وجود دارد بسیار مهم است. دسترسی افرادی نظیر مدیر سیستم که در طرف سرویسدهنده نیاز است با سیستم سروکار داشته باشند، چون معمولاً تعهد طولانی مدتی با سازمان ما ندارند، یک موضوع امنیتی مهم است. |
رعایت قوانین Regulatory Compliance |
حتی در زمانی که از یک سرویس دهنده استفاده میشود، نهایتاً این مشتریان هستند که مسئول امنیت و حفظ جامعیت دادههای خود هستند. بنابراین پیشنهاد میشود از سرویسدهندگانی که دارای مدارک و گواهینامههای معتبر در خصوص امنیت و حسابرسی هستند استفاده شود. |
مکان دادهها Data Location |
در زمان استفاده از یک توده ابری، احتمالاً نمیتوانید اطلاع دقیقی از محل میزبانی دادهها بدست آورید. حتی ممکن است ندانید که دادهها در کدام کشور ذخیره شدهاند. از سرویسدهندگان بپرسید که آیا دادهها را در مکانهای خاصی و یا شرایط قضایی و قانونی خاصی ذخیرهسازی و پردازش میکنند و یا اینکه تعهدی در خصوص رعایت نیازمندیهای مربوط به حفظ حریم خصوصی مشتریان متقبل میشوند؟ |
تفکیک داده Data Segregation |
با توجه به اینکه دادهها در توده ابر در یک محیط اشتراکی ذخیره میشود، چگونه میتوان از عدم دسترسی مشتریان دیگر به دادههای خود مطمئن شد؟ استفاده از رمزنگاری میتواند تا حدی مؤثر باشد. در این خصوص سرویسدهندگان باید بتوانند مدارکی در خصوص الگوهای رمزنگاری طراحی شده و ارزیابی شده توسط متخصصان باتجربه ارائه کنند. همچنین باید در نظر داشت که برخی اشتباهات در رمزنگاری ممکن است باعث شود که داده کاملاً غیرقابل استفاده شود. |
بازیابی Recovery |
حتی اگر ندانید که داده شما کجا ذخیره میشود، یک سرویسدهنده باید بتواند پاسخگوی این مسئله باشد که در صورت وقوع یک سانحه، چه اتفاقی بر سر دادههای شما خواهد آمد. هر راهحلی که مبتنی بر توزیع داده152 در چندین سایت مختلف نباشد، آسیبپذیر خواهد بود. از سرویسدهنده بپرسید که آیا در صورت وقوع سانحه توانایی این را دارد که یک بازیابی کامل انجام دهد، و اینکه این کار چه مدت طول خواهد کشید. |
پشتیبانی و بررسی Investigative Support |
در زمان بروز مشکل چگونه میتوان به دادهها دسترسی مستقیم داشت؟ اگرچه در تودهی ابر، بررسی بیجا و یا فعالیتهای غیرمجاز ممکن است غیرممکن باشد. اما باید در نظر داشت که از طرفی انجام بررسیهای ضروری نیز بسیار مشکل خواهد بود. چرا که دادههای چندین مشتری معمولاً با هم در یکجا قرار دارند و یا در چندین مجموعه میزبان پخش شدهاند و مدام در حال تغییر هستند. حتی اگر سرویسدهنده چنین تعهدی را هم قبول کند، باید مطمئن شوید که تجربه موفقی از پشتیبانی چنین فعالیتی را داشته است یا نه. |
دسترسی طولانی مدت Long-Term Viability |
شکل ایدهآل این است که سرویسدهندگان هیچ وقت از کار نمیافتند. ولی باید بتوان مطمئن شد که اگر چنین اتفاقی رخ دهد، دادههای ما هنوز هم باقی خواهند ماند. از سرویسدهندگان بپرسید که چگونه میتوان داده را پسگرفت و اینکه آیا فرمت دادهها بهگونهای خواهد بود که بتوانید آنها را در یک برنامه جایگزین قرار دهید؟ |
بیشتر مشکلات به این دلیل رخ میدهد که ما نمیتوانیم داخل ابر را ببینیم. بنابراین نیاز اصلی کاربران برای کاهش ریسکهایی که با آن مواجه هستند، مشاهده درون توده ابر است؛ اما با توجه به اینکه این کار عملاً بخاطر ماهیت توده ابر غیرممکن است، برخی از راهحلهای ارائه شده برای حل این موضوع به این شرح میباشد:
استفاده از SLA دقیق و وجود ضمانت قابل قبول برای رعایت آن
وجود تضمین مناسب برای تداوم فعالیت تجاری
وجود تضمین مناسب برای بازیابی از سوانح153
بیان جزئیات مربوط به سیاستهای امنیتی و پیادهسازیهای انجام شده
ارائه اطلاعات کامل زیرساختی در زمان انجام مذاکرات و نیز در هر لحظه از طول دوره ارائه سرویس
نشان دادن رویهها و سیاستها توسعه نرمافزار، سیاستهای تست امنیتی و سیاستهای اعلام آسیبپذیری
انجام عملیات تست توسط سرویسدهندگان ثالث
انجام تستهای نفوذ154 بهصورت منظم و دورهای و در دسترس بودن نتایج تست در صورت تقاضا
و...
البته اینکه آیا فروشندهها این سطح از شفافیت را در خدمات خود ارائه دهند، خود یک موضوع دیگر است.
در این بخش که برگرفته از یک تحقیق جامع در خصوص ریسکهای رایانش ابری میباشد، کارهای انجام شده در زمینه ریسکهای امنیتی ابر و راه های کاهش آنها بررسی شده است[3]. اینکه درباره فواید گسترده رایانش ابری از نظر اقتصادی، فنی و معماری بحث کنیم بسیار حائز اهمیت میباشد. اما در تجربه مستقیمی که توسط متخصصین این حوزه در دنیای واقعی به دست آمده است برای تحلیل مسائل امنیتی رایانش ابری می بایست فواید امنیت در این زمینه نیز مرور شوند. رایانش ابری پتانسیل بالایی برای ارتقای امنیت دارد. در ادامه توضیحاتی درباره راههای کلیدی که رایانش ابری میتواند در آنها سهیم باشد آورده شده است.
به طور عمومی تمامی انواع معیارهای امنیتی اگر در مقیاس بزرگ پیادهسازی شوند بسیار ارزان تر خواهند بود. بنابراین هرچه سرمایه گذاری بهتری در امنیت انجام شود حفاظت بهتری در مقابل خطرات حاصل خواهد شد. این سرمایه گذاری ها شامل انواع معیارهای امنیتی مانند فیلترینگ، مدیریت زمان155، مقاومسازی ماشین مجازی، منابع انسانی و مدیریت و آزمایش آنها، افزونگی سختافزار و نرمافزار، احراز هویت بسیار قوی و مدیریت هویت ها میباشند. این سرمایه گذاری ها از جهت دیگر موجب ارتقای همکاری ما بین شرکا خواهد شد. دیگر فواید مقیاس عبارتند از:
چندین محل: اغلب فراهم کنندگان ابر منابع اقتصادی برای نسخه برداری از محتواها در چندین محل156 را دارا میباشند. این امر موجب افزایش افزونگی و همچنین مستقل شدن از خرابی ها شده و یک سطح بازیابی از سوانح157 را فراهم میکنند.
شبکه های لبه158: ذخیرهسازی، پردازش و تحویل در نزدیکی لبه های شبکه به این معناست که سرویسهایی با کیفیت بیشتر و قابلیت اعتماد بالاتر ارائه میشوند. از سوی دیگر این موضوع باعث میشود که مشکلات محلی شبکه بر سراسر ابر تاثیر نداشته باشد.
پاسخ های بجا به اتفاقات159: سیستمهای با مقیاس بزرگتر که به خوبی اجرا میشوند میتوانند قابلیتهای بهتری را برای پاسخ به اتفاقات ارائه دهند. برای مثال در زمینه شناسایی سریع نرمافزارهای بدخواه .
مدیریت تهدید160: تامین کنندگان ابر میتوانند از عهده استخدام متخصصین برای مقابله با تهدید های امنیتی بر آیند در حالیکه شرکتهای کوچک توانایی این کار را ندارند.
امنیت با اولویتترین نگرانی مشتریان ابر میباشد. مشتریان تصمیمات خرید خود را براساس شهرت در زمینه محرمانگی، صحت و قابلیت ارتجا161، و سرویسهای امنیتی که توسط تامین کننده ارائه میشود اتخاذ میکنند. حساسیت های مشتریان در زمینه های فوق الذکر در ابر بسیار بیشتر از محیطهای سنتی میباشد. این امر موجب شده است تا رقابت بسیار شدیدی میان تامین کنندگان ابر در زمینه موضوعات امنیتی برقرار باشد.
تامین کنندگان بزرگ ابر میتوانند واسطهایی استاندارد برای خدمات امنیتی مدیریت شده162 به مشتریان خود پیشنهاد دهند. این قابلیت موجب ایجاد بازاری میشود که در آن مشتریان میتوانند ما بین تامین کنندگان مختلف سوییچ کنند و ارزان ترین هزینهها را برای خود انتخاب کنند.
لیستی از منابع ابر که میتوانند به سرعت تغییر مقیاس داده شوند عبارتند از منبع ذخیرهسازی، زمان CPU، حافظه، درخواست های سرویس وب و نمونه های ماشین مجازی و سطح دانه بندی کنترل منابع میباشند.
یک تامین کننده ابر163 پتانسیل تخصیص دوباره منابع به صورت پویا به منظور اهدافی چون فیلترینگ، شکلدهی به ترافیک164 ، رمزنگاری و ... را دارد. این قابلیت برای افزایش پشتیبانی دفاعی در برابر حملات احتمالی میباشند (مانند حمله DDos). وقتی این قابلیت تخصیص دوباره منابع با متدهای بهینهسازی منابع ادغام میشود باعث میشود که تامین کنندگان ابر قادر به محدود کردن تاثیر حملات مخرب بر منابع باشند. حملاتی که دسترس پذیری منابع ابر را تهدید میکنند. رسیدن به این موضوع نیازمند این است که تامین کنندگان تلفیقی از ساختارهای دفاعی، مدیریت منابع و روش های بهینهسازی را پیادهسازی کنند.
در IaaS پشتیبانی از تکثیر165 ماشینهای مجازی بر حسب تقاضا وجود دارد. در موارد مشکوک به نفوذ یک مشتری میتواند تصویری از یک ماشین مجازی در حال اجرا ایجاد کرده که برای تحلیلهای بعدی قانونی استفاده شود. با توجه به وجود ذخیره سازها، چندین نسخه از این ماشینهای مجازی میتوانند نگهداری شده و سپس به صورت موازی مورد تحلیل قرار بگیرند که این امر موجب کاهش زمان بررسی برای موارد امنیتی میشود. این بررسی ها برای کشف اتفاقات امنیتی و ردیابی حمله کنندگان و از بین بردن ضعف های امنیتی انجام میشود.
تصاویر ماشینهای مجازی و ماژولهای نرمافزاری که توسط مشتریان استفاده میشوند را میتوان با استفاده از بروزرسانیهایی با آخرین وصله های امنیتی مقاومسازی نمود. همچنین سرویسهای ابر در IaaS این امکان را بوجود میآورند که نمایش لحظه ای از زیرساخت مجازی در حال اجرا گرفته و نگهداری شود تا برای مقایسه با baseline ها مورد استفاده قرار گیرد (مثلا مطمئن شدن از تغییر نکردن قواعد نرمافزاری در دیوارههای آتش) [4]. در محیطهای ابری بروزرسانیها با سرعت بسیار بیشتری نسبت به محیطهای سنتی انجام میشود. در محیطهای سنتی بروزرسانیها با استفاده از وصلهها انجام می شد. در مدلهای PaaS و SaaS برنامههای کاربردی از نظر امنیتی بیشتر مقاومسازی میشوند تا قابلیتهای بهتری از نظر قابلیت حمل و مقاومت در مقابل خرابی نسبت به برنامههای کاربردی مورد استفاده داشته باشند. همچنین در مدلهای PaaS و SaaS بروزرسانیها برای کمینه کردن آسیبپذیریها به صورت متمرکز انجام میشود.
حسابرسی و توافقنامههای سطح سرویس موجب مدیریت ریسک بهتر میشوند. نیاز برای محدود کردن سناریو های مختلف ریسک در توافقنامه های سطح سرویس و تاثیرات محتمل نفوذهای امنیتی بر شهرت ابر، تامین کنندگان ابر را تشویق به سخت گیری در حسابرسی های داخلی و طریقه تشخیص ریسک میکند. اغلب حسابرسی ها برای افشا کردن ریسکهایی است که ممکن است خود را نمایان نکنند اما تاثیرات خود را داشته باشند.
در بخش ریسکها در همین بخش گفته خواهد شد که تمرکز منابع خود یک ریسک میباشد. با این حال داشتن تمرکز در منابع فوایدی چون دسترسی فیزیکی ارزان تر، کنترل دسترسی فیزیکی و بکاربردن خط و مشی های امنیتی ارزان تر و آسان تر، کنترل بر مدیریت داده، مدیریت وصله ، مدیریت وقایع و پروسه های نگهداری، را دارد.
سطح ریسک بر اساس احتمال اتفاق یک سناریو تخمین زده میشود و به تاثیر منفیای نگاشت میشود. احتمال اتفاق یک سناریو با توجه به احتمال ایجاد خطر به واسطه یک آسیبپذیری تعیین میشود.
احتمال اتفاق هر سناریو و تاثیر آن بر کسب و کار بر اساس نظر تعدادی از متخصصین در این زمینه تعیین شده است. در مواردی که امکان قضاوت درست و تخمین با احتمال مناسب وجود نداشته است با مقدار N/A مشخص شده است. در بسیاری از موارد تخمین احتمال وقوع وابسته به مدل ابر و معماری مدنظر میباشد.
در جدول 9-11 سطح ریسک بعنوان یک تابع برای تاثیر بر کسب و کار و احتمال وقوع سناریو نشان داده شده است. ریسک نتیجه شده در مقیاسی از 0 تا 8 بیان میشود و میتواند با معیارهای قبول ریسک سنجیده شود. این مقیاس از ریسک را میتوان برای سهولت درک به رتبه بندی سه گانه زیر نگاشت کرد:
جدول 9‑11 - بر اساس سطوح تخمین ریسک در ISO/IEC 27005:2008 [5]
| احتمال وقوع سناریو | بسیار پایین (خیلی نامحتمل) |
پایین (نامحتمل) |
متوسط (ممکن) |
بالا (محتمل) |
بسیار بالا (مکرر) |
|
| تاثیر بر کسب و کار | بسیار پایین | 0 | 1 | 2 | 3 | 4 |
| پایین | 1 | 2 | 3 | 4 | 5 | |
| متوسط | 2 | 3 | 4 | 5 | 6 | |
| بالا | 3 | 4 | 5 | 6 | 7 | |
| بسیار بالا | 4 | 5 | 6 | 7 | 8 |
برای اهداف تشخیص ریسک در رایانش ابری در این بخش سه سناریو تحلیل شده است:
یک دید SME از رایانش ابری
تاثیر رایانش ابری بر قابلیت ارتجاع سرویس
رایانش ابری و eGovernment (برای کاربرد eHealth)
سناریویی که در اینجا بررسی میشود برای یک مشتری ابر یا یک تامین کننده خاص و واقعی نمیباشد بلکه با این هدف میباشد که سناریوای ارائه شود که برای سازمانهای مختلف وجه اشتراکی داشته باشد.
این نکات در ارتباط با تعریف ریسک می بایست مدنظر قرار بگیرند:
ریسک همیشه باید در ارتباط با فرصت های کسب و کار و میل به ریسک کردن مطرح شود. برخی اوقات ریسک در عوض فرصت ها بوجود میآیند.
سرویسهای ابر فقط برای دسترسی آسان به ذخیرهسازی از وسایل مختلف نمیباشد، بلکه شامل فوایدی چون ارتباط آسان میان چندین نقطه همکاری میباشد. بنابراین در تحلیل ریسکها علاوه بر ریسکهای نگهداری داده در مکانهای مختلف ریسکهای ارسال یک داده از نقطه ای به نقطه دیگر نیز می بایست مدنظر قرار بگیرند. بنابراین ریسکهای استفاده از رایانش ابری باید با ریسکهای استفاده از راهحلهای سنتی مقایسه شوند.
سطوح مختلف ریسکها با توجه به معماری های مختلف ابر که وجود دارند بسیار متفاوت میباشد.
ممکن است که مشتریان ابر ریسکهایی را متوجه تامین کننده ابر کنند که در چنین مواردی ریسکها را باید با توجه به هزینه و سود حاصل مورد بررسی قرار داد. بنابراین تمامی ریسکها قابل مواجهه نمیباشند: اگر یک ریسک منجر به شکست کسب و کار شود و صدمات جدی به شهرت کسب و کار وارد کند، برای هیچ کسب و کاری امکان تاوان دادن در مقابل آن وجود نخواهد داشت.
تحلیلهای ریسک در این گزارش برای فناوری ابر انجام شده است و مختص هیچ محاسبه ابری خاصی که توسط کمپانیای ارائه شده باشد نمیباشد.
سطح ریسکها از دید مشتریان ابر بیان شده است. در جاهایی که نقطه نظر تامین کننده ابر بیان شده باشد مشخصا ذکر میشود.
شکل زیر توزیع احتمال ریسکها و تاثیرات آنها را نشان میدهد:

ریسکهای تعیین شده در مرحله تشخیص ریسک در 3 دسته قرار میگیرند:
خط و مشی و سازماندهی
فنی
قانونی
هر ریسک در جدولی مشتمل بر موارد زیر نشان داده میشود:
سطح احتمال
سطح تاثیر
ارجاع به آسیبپذیریها
ارجاع به دارایی های تحت تاثیر واقع شده
سطح ریسک
برای قابلیت فهم بهتر، خانههایی برای مقایسه بین ریسکهای رایانش ابری و ریسکهای استاندارد فناوری اطلاعات در جداول اضافه شده است.
| احتمال | بالا | مقایسه ای: بالاتر |
| تاثیر | متوسط | مقایسه ای: مساوی |
| آسیبپذیریها | آ13. کمبود فناوریها و راهحلهای استاندارد آ46. انتخاب ضعیف تامین کننده آ47. فقدان افزونگی تامین کننده آ31. فقدان تکامل و شفافیت شرایط استفاده |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | بالا | |
در حال حاضر تعداد کمی ابزار، داده استاندارد و یا واسطهای سرویس برای تضمین داده و قابلیت حمل خدمات وجود دارند [6]. برای یک مشتری بسیار سخت میباشد که از یک تامین کننده به تامین کننده دیگر جابجا شود یا اینکه بخواهد داده و خدمات را از/به محیط فناوری اطلاعات جابجا کند. از طرف دیگر تامین کنندگان ابر نیز ممکن است انگیزهای برای جلوگیری (مستقیم یا غیر مستقیم) از قابلیت حمل خدمات و دادههای مشتریانشان داشته باشند.
این استقلال در فراهم کردن خدمت که در هر تامین کننده ابر وجود دارد، با توجه به تعهدات تامین کننده ابر، ممکن است موجب شکست های سنگین در کسب و کار و حتی ورشکستگی تامین کننده ابر شود (ر5 را ببینید).
اکتساب تامین کننده ابر (ر6) در صورت افزایش احتمال تغییر در خط و مشی تامین کننده و یا توافقنامه ها مانند شرایط استفاده166 نیز ممکن است تاثیر مشابهی را داشته باشد.
این نکته بسیار مهم است که بدانید که ماهیت تعطیل شدن با توجه به نوع ابر متفاوت است:
داده مشتریان در یک شمای پایگاهداده طراحی شده توسط تامین کننده SaaS نگهداری میشود. اغلب تامین کننده های SaaS از فراخوانی های API برای خواندن رکوردهای داده استفاده میکنند. حال اگر تامین کننده ای این قابلیت را به مشتری ارائه ندهد، مشتری نیاز به توسعه برنامه ای خواهد داشت که دادههایش را استخراج کرده و در پایگاهداده تامین کننده دیگری وارد کند. این نکته قابل توجه است که تعدادی توافقنامه برای ساختار رکوردهای کسب و کار وجود دارد (مثلا ممکن است که رکورد مشتری در تامین کننده SaaS ای دارای فیلدهایی باشد که در تامین کننده دیگر وجود ندارد)، از طرف دیگر ممکن است که فرمت های مختلفی برای وارد کردن و خارج کردن داده وجود داشته باشد مثلا XML که در تامین کننده های مختلف مورد استفاده قرار میگیرند. تامین کننده جدید میتواند در قبال دریافت مبلغی در انجام این کار کمک لازم را به مشتری ارائه دهد. در صورتیکه روتین های لازم برای این کار توسط تامین کننده فراهم نشود مشتری مجبور به نوشتن این روتین ها میباشد. از آنجایی که مشتریان به این جنبه از خدمات قبل از تصمیم گیری برای انتقال به یک تامین کننده توجه میکنند، یک تامین کننده ابر با ایجاد راه انقال ساده داده به همراه هزینه مناسب میتواند در دراز مدت سود مناسبی را کسب کند.
lock in برنامه کاربردی از بارزترین انواع lock in میباشد (مختص ابر هم نیست). هر تامین کننده SaaS برنامه کاربردی مختص به خود برای مشتریان را ارائه میدهد. مشتریان SaaS که دارای حجم زیاد کار بر روی یک ابر هستند ممکن است هزینه زیادی را در انتقال از یک تامین کننده به دیگری پرداخت کنند (مانند هزینه یادگیری مجدد). در صورتی که مشتریان برنامههای کاربردی خاص خود را داشته باشند که مستقیما از API ها استفاده کرده باشد هم در صورتی که بخواهند تغییر تامین کننده بدهند دوباره باید API های خود را هم تغییر دهند.
این نوع از lock in هم در لایه API و هم در لایه مولفه اتفاق می افتد. برای نمونه تامین کننده PaaS ممکن است که یک مرکز داده پشتیبان را پیشنهاد دهد. در این حالت مشتری هم باید از کدهای خاص API ارائه شده توسط تامین کننده استفاده کند و هم روتین های دسترسی به مرکز داده پشتیبان را کدنویسی کنند. این کدها لزوما ما بین تامین کننده های PaaS قابل انتقال نمیباشد. اگر هم API های آنها سازگار باشند ممکن است که مدلهای دسترسی داده در آنها متفاوت باشد.
در لایه API، PaaS lock-in در مواقعی اتفاق می افتد که تامین کننده های مختلف API های متفاوت عرضه کنند.
در لایه زمان اجرا167، PaaS lock-in در زمان اجراهای استاندارد به صورتی سفارشی میشوند که در محیط ابر به صورت امن عمل کنند. مثلا در زمان اجراهای جاوا ممکن است که فراخوانی های خطرناک حذف یا دستکاری شوند.
مانند SaaS، PaaS هم از lock in داده رنج می برد. ولی در این حالت مسئولیت کامل ساختن روتین ها بر عهده مشتریان است.
این بخش از lock-in ها وابسته به خدمات زیرساختی مصرف شده میباشد. برای مثال، یک مشتری که از ذخیره سازهای ابر استفاده میکند نمیتواند توسط فرمت های ماشین مجازی غیر سازگار تحت تاثیر قرار گیرند.
تامین کننده های محاسبات IaaS به طور نمونه ماشینهای مجازی مبتنی بر فوق ناظر را ارائه میدهند. نرمافزار و متادادههای ماشین مجازی برای ارائه قابیلت حمل با هم همراه میشوند – مثلا در ابر تامین کننده. امکان انتقال ما بین تامین کننده ها بعد از پیادهسازی استانداردهای باز مانند OVF [7] امکانپذیر میباشد.
ارائه های تامین کننده های ذخیرهسازی در IaaS ممکن است که از ذخیره دادههای مبتنی بر کلید ساده تا ذخیره های مبتنی بر فایل متفاوت باشند. مجموعه ویژگیها میتوانند به طور قابل توجهی متفاوت باشند، بنابراین سمانتیک های ذخیرهسازی هم متفاوت هستند.
در سرویسهای ذخیرهسازی IaaS نیز lock in داده محرز میباشد. هرچه مشتریان ابر داده بیشتری را به ذخیرهسازی ابر ارسال کنند lock in داده افزایش پیدا میکند، مگر اینکه تامین کننده ابر قابلیت جابجایی داده را فراهم کند.
| احتمال | خیلی بالا | مقایسه ای: بالاتر |
| تاثیر | خیلی بالا (بسته به سازمان: برای IaaS خیلی بالا، برای SaaS کم) | مقایسه ای: مساوی |
| آسیبپذیریها | آ34. نقش ها و مسئولیت های گنگ آ35. اجرای ضعیف تعاریف نقش ها آ21. همگام سازی مسئولیت ها یا تعهدات پیمانی خارج از ابر آ23. عبارات SLA با توافقهای متداخل برای ذینفعان مختلف آ25. حسابرسی و تصدیق مشتریان امکانپذیر نباشد آ22. برنامههای کاربردی میان ابری موجب بوجود آمدن وابستگی های پنهان میشوند آ13. کمبود فناوریها و راهحلهای استاندارد آ29. ذخیرهسازی داده در چندین حوزه و عدم شفافیت در این باره آ14. عدم وجود توافق اجرایی منبع آ16. عدم وجود کنترل بر روی پروسه تشخیص آسیبپذیری آ26. طرح های تصدیق با زیرساخت ابر جور نباشد آ30. فقدان اطلاعات درباره حوزه ها آ31. فقدان تکامل و شفافیت شرایط استفاده آ44. مالکیت نامشخص دارایی ها |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د3. وفاداری و تجربه کارکنان د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | بالا | |
در استفاده از زیرساختهای ابر، مشتری کنترل چند موضوع که بر امنیت تاثیرگذار هستند را به تامین کننده ابر واگذار میکند. برای مثال شرایط استفاده (ToUs) ممکن است از بررسی کردن پورت ها، تشخیص آسیبپذیریها و تست های نفوذ ممانعت بعمل آورند. از سوی دیگر ممکن است تداخلهایی مابین رویههای مقاومسازی انجام شده توسط مشتری و محیط ابر بوجود بیاید (ر20 را ببینید). از دگر سو توافقنامه های سطح سرویس ممکن است تعهدی را در قبال سرویسهای تامین کننده ابر ارائه نکنند، بنابراین یک شکاف امنیتی در این بین به وجود میآید.
علاوه بر این تامین کننده ابر ممکن است که خدمات خود را به تامین کننده شخص سومی برونسپاری کند که تضمین های قبلی در این حالت شاید وجود نداشته باشند. یا اینکه کنترل تامین کننده ابر تغییر کند بنابراین شرایط سرویسها نیز تغییر میکند.
فقدان نظارت و کنترل ابر ممکن است که بر استراتژی سازمان تاثیرگذار باشد و بر ظرفیت تامین اهداف آن تاثیر بگذارد. اتلاف کنترل و نظارت ممکن است منجر به عدم برآوردن نیازمندی های امنیتی، کاهش محرمانگی، صحت و دسترس پذیری داده، و زوال کارایی و کیفیت خدمات شود.
| احتمال | خیلی بالا – وابسته به PCI | مقایسه ای: بالاتر |
| تاثیر | بالا | مقایسه ای: مساوی |
| آسیبپذیریها | آ25. حسابرسی و تصدیق مشتریان امکانپذیر نباشد آ13. کمبود فناوریها و راهحلهای استاندارد آ29. ذخیرهسازی داده در چندین حوزه و عدم شفافیت در این باره آ26. طرح های تصدیق با زیرساخت ابر جور نباشد آ30. فقدان اطلاعات درباره حوزه ها آ31. فقدان تکامل و شفافیت شرایط استفاده |
|
| دارایی های تحت تاثیر | د20. تصدیق | |
| ریسک | بالا | |
سازمانهایی که به گرید مهاجرت169 میکنند سرمایهگذاریهای قابل توجهی را در بدست آوردن گواهیها یا در جهت بدست آوردن مزیت رقابتی یا در جهت دستیابی به استانداردهای صنعتی یا نیازمندی های قانونی انجام میدهند. این سرمایهگذاریها در مهاجرت به ابر ممکن است که با خطر مواجه شوند:
اگر تامین کننده ابر قادر به فراهم کردن شواهدی برای مطلوبیت خود با توجه به نیازمندی های موجود نباشد.
اگر تامین کننده ابر اجازه حسابرسی به مشتری ابر170 ندهد.
در موارد مشخص، استفاده از زیرساختهای عمومی ابر دلالت بر این دارد که انواع مشخصی از مطلوبیت قابل دستیابی نمیباشد و بنابراین سرویسهای میزبانی ابر که مورد نیاز سرویسهای دیگر میباشند قابل استفاده نمیباشند. برای مثال EC2 می گوید که امکان رسیدن به مطلوبیت در PCI در سکوی آنها نمیباشد. بنابراین سرویسهای میزبان برای تراکنشهای کارت های اعتباری قابل استفاده نمیباشند.
| احتمال | پایین | |
| تاثیر | بالا | |
| آسیبپذیریها | آ6. فقدان جداسازی منبع آ7. فقدان جداسازی های شهرتی آ5. آسیبپذیریهای فوق ناظر |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | متوسط | |
اشتراک منابع به این معنا میباشد که فعالیت های بدخواه171 که توسط یک مستاجر172 انجام میشوند ممکن است که بر شهرت دیگر مستاجرها تاثیر بگذارند. برای مثال spamming، بررسی پورتها یا ارسال محتواهای بدخواهانه از زیر ساختهای ابر ممکن است منجر به:
دستهای از آدرسهای IP که مسدود شدهاند، شامل حمله کنندهها و دیگر مستاجران بی گناه
توقیف منابع بعلت فعالیتهای همسایه ها173
تاثیر این موارد میتواند موجب بدتر شدن سرویس تحویل شده و اتلاف دادهها شود، و از سویی شهرت سازمان را در معرض خطر قرار دهد.
| احتمال | N/A | |
| تاثیر | خیلی بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ46. انتخاب ضعیف تامین کننده آ47. فقدان افزونگی تامین کننده آ31. فقدان تکامل و شفافیت شرایط استفاده |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د3. وفاداری و تجربه کارکنان د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | متوسط | |
مانند هر بازار نوظهور در عرصه فناوری اطلاعات، فشارهای رقابتی، یک استراتژی کسب و کار نامناسب، عدم پشتیبانی مالی لازم و ... میتوانند موجب خارج شدن برخی تامین کننده ها یا مجبور ساختن آنها به بازساختاردهی سرویسهای پیشنهادی میشود. به عبارت دیگر میتوان گفت که این امکان وجود دارد که در یک دوره کوتاه یا متوسط برخی خدمات رایانش ابری از بین بروند.
تاثیر این خطر بر روی مشتریان ابر از آنجایی که موجب اتلاف و تباهی کارایی سرویسها و کیفیت آنها میشود کاملا مشهود میباشد.
از سوی دیگر شکست در خدماتی که به ابر برونسپاری شده است باعث میشود که توانایی مشتریان ابر برای انجام وظایف خود افزایش پیدا کند و آنها برای تامین نیازهای خود مسئولیت ها را به کارکنان خود بدهند.
| احتمال | N/A | |
| تاثیر | متوسط | مقایسه ای: بالاتر |
| آسیبپذیریها | آ31. فقدان تکامل و شفافیت شرایط استفاده | |
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د3. وفاداری و تجربه کارکنان د4. دارایی فکری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | متوسط | |
تملک تامین کننده ابر میتواند موجب افزایش احتمال تغییر استراتژیک سازمان و باعث در خطر قرار گرفتن توافقهای غیر الزام آور (مثلا سرمایه گذاری برای امنیت، کنترل های امنیتی خارج از قرارداد) شود. در نتیجه ممکن است برآوردن نیازمندی های امنیتی غیر ممکن شود. تاثیر نهایی این ریسک میتواند از بین رفتن دارایی های حیاتی سازمان باشد. دارایی هایی مانند: شهرت سازمان، اعتماد مشتری، وفاداری و تجربه کارمندان.
| احتمال | پایین | مقایسه ای: بالاتر |
| تاثیر | متوسط | مقایسه ای: بالاتر |
| آسیبپذیریها | آ31. فقدان تکامل و شفافیت شرایط استفاده آ22. برنامههای کاربردی میان ابری موجب بوجود آمدن وابستگی های پنهان میشوند آ46. انتخاب ضعیف تامین کننده آ47. فقدان افزونگی تامین کننده |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | پایین | |
یک تامین کننده رایانش ابری میتواند برخی فعالیت های تخصصی در زنجیره تولید خود را به شرکای شخص سوم برونسپاری کند. در چنین حالتی سطح امنیت تامین کننده ابر وابسته به سطح امنیت هر پیوند ما بین تامین کننده و شخص سوم و میزان وابستگی تامین کننده ابر به شخص سوم میباشد. هرگونه تداخل در این زنجیر و یا عدم همکاری مابین مسئولیت های طرفین میتواند منجر به موارد زیر شود: در دسترس نبودن سرویسها، فقدان محرمانگی داده، صحت و دسترس پذیری، از بین رفتن شهرت و منافع اقتصادی به خاطر شکست در تامین نیازهای مشتری، تخطی از SLA و شکست سرویسها و غیره.
به طور کلی، عدم وجود شفافیت در قرارداد میتواند مسئله ای برای کل سیستم باشد. اگر تامین کننده به صراحت اعلام نکند که کدام یک از سرویسهای اصلی فناوری اطلاعات برونسپاری شدهاند مشتری قادر به ارزیابی دقیق خطرات احتمالی نمیباشد. فقدان شفافیت میتواند منجر به کاهش سطح اعتماد به تامین کننده شود.
| احتمال | الف. اضافه کردن ظرفیت برای مشتری مقدور نباشد: متوسط | مقایسه ای: N/A |
| ب. تامین ظرفیت توافق شده مقدور نباشد: پایین | مقایسه ای: بالاتر | |
| تاثیر | الف. اضافه کردن ظرفیت برای مشتری مقدور نباشد: پایین / متوسط | مقایسه ای: N/A |
| ب. تامین ظرفیت توافق شده مقدور نباشد: بالا | مقایسه ای: بالاتر | |
| آسیبپذیریها | آ15. مدلهای نادقیق استفاده از منبع آ27. سرمایه گذاری ناکافی بر روی زیرساختها آ28. عدم وجود خط و مشی بستن منابع آ47. فقدان افزونگی تامین کننده |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د10. تحویل سرویس د11. کنترل دسترسی / احراز هویت / مجازشناسی |
|
| ریسک | متوسط | |
سرویسهای ابر سرویسهای بلادرنگ هستند. بنابراین یک سطح از ریسک محاسبه شده، در تخصیص تمام منابع سرویس ابر وجود دارد، این امر به خاطر آن است که منابع مبتنی بر نتایج آماری، تخصیص داده شدهاند. مدلسازی غیر دقیق استفاده از منابع یا تدارک غیر دقیق بر منبع و عدم سرمایه گذاری بر زیرساختها میتواند از دید تامین کننده ابرمنجر به موارد زیر شود:
دسترس ناپذیری سرویس: شکست در سناریو های برنامه کاربردی که از یک منبع خاص به شدت استفاده میکنند. مثلا استفاده شدید از حافظه برای شبیهسازی در کاربردهایی چون پیش بینی قیمت های سهام.
توافق برای کنترل دسترسی: در برخی موارد این امکان وجود دارد که در رخداد فرسودگی منبع سیستم را وادار به ‘fail open’ کند.
ضررهای اقتصادی و شهرت: بعلت شکست در تامین تقاضاهای مشتریان.
اتفاقات مخرب به واسطه تخمین نامناسب نیازهای منابع
از دید مشتری ابر، انتخاب بد تامین کننده و فقدان افزونگی لازم در آنها منجر میشود به:
دسترس ناپذیری سرویس: شکست در تحویل سرویسها.
توافق برای کنترل دسترسی: قرار دادن محرمانگی و صحت دادهها در خطر.
ضررهای اقتصادی و شهرت: بعلت شکست در تامین نیازهای مشتریان.
نتایج این ریسک با نتایج ر15 یکی است.
| احتمال | پایین (ابر خصوصی) متوسط (ابر عمومی) |
مقایسه ای: بالاتر |
| تاثیر | خیلی بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ5. آسیبپذیریهای فوق ناظر آ6. فقدان جداسازی منبع آ7. فقدان جداسازیهای شهرتی آ17. احتمال رخداد وارسیهای داخل شبکهای آ18. احتمال اجرای بررسیهای co-residence |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | بالا | |
مالکیت چندگانه و اشتراک منابع از مشخصه های تعریف شده برای رایانش ابری میباشد. ظرفیت های محاسباتی، ذخیرهسازی و شبکه میان چندین کاربر به اشتراک گذاشته میشود. این دسته از ریسکها شامل شکست در مکانیزم های جداسازی ما بین منابع ذخیرهسازی، حافظه، مسیریابی و حتی شهرت بین مالکان مختلف زیرساختهای مشترک میشود. (برای نمونه میتوان به SQL injection attack اشاره کرد که در آن دادههای چندین مشتری در یک جدول قرار داشته و به واسطه این حمله افشا میشود)
احتمال رخداد چنین سناریویی را در مدل ابر در نظر بگیرید، این احتمال در ابرهای خصوصی کمتر و در ابرهای عمومی بیشتر میباشد.
| احتمال | متوسط (پایین تر از سنتی) | مقایسه ای: پایینتر |
| تاثیر | خیلی بالا (بالاتر از سنتی) | مقایسه ای: بالاتر (مجتمع) مقایسه ای: یکسان (مشتری منفرد) |
| آسیبپذیریها | آ34. نقش ها و مسئولیت های گنگ آ35. اجرای ضعیف تعاریف نقش ها آ36. بکارنرفتن اصل دانستن با توجه به نیاز آ1. آسیبپذیریهای AAA آ39. آسیبپذیریهای سیستم یا سیستم عامل آ37. ناکافی بودن رویه های فیزیکی امنیتی آ10. غیر ممکن بودن پردازش دادهها در حالت رمز شده آ48. آسیبپذیریهای برنامه کاربردی یا مدیریت ضعیف وصله |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د3. وفاداری و تجربه کارکنان د4. دارایی فکری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | بالا | |
اقدامات بدخواهانه یک کارمند داخلی میتواند بر محرمانگی، صحت و دسترس پذیری انواع داده، IP و تمام انواع سرویس تاثیر گذار باشد. و به طور مستقیم بر شهرت سازمان، اعتماد مشتری و تجربه مشتریان اثر بگذارد. این ریسک میتواند با قدرت بیشتری در رایانش ابری دیده شود زیرا در معماری ابر افرادی با نقش های پر ریسک بیشتر وجود دارند. از جمله این نقش ها میتوان به مدیران سیستم تامین کننده ابر، حسابرسان و مدیران سرویسهای امنیتی که وظیفه گزارشات تشخیص نفوذ و مسئولیت اتفاقات را برعهده دارند نام برد. از آنجایی که استفاده از ابرها در حال گسترش است، کارمندان تامین کننده های ابر تبدیل به اهدافی برای گروههای خلافکار شدهاند[8و9].
| احتمال | متوسط | مقایسه ای: بالاتر |
| تاثیر | خیلی بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ1. آسیبپذیریهای AAA آ4. دسترسی از راه دور به واسط مدیریت آ38. پیکره بندی نامناسب آ39. آسیبپذیریهای سیستم یا سیستم عامل آ48. آسیبپذیریهای برنامه کاربردی یا مدیریت ضعیف وصله |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس د14. واسط مدیریت سرویس ابر |
|
| ریسک | متوسط | |
واسطهای مدیریت مشتری در ابرهای عمومی از طریق اینترنت قابل دسترسی هستند و دسترسی به مجموعه بزرگی از منابع به واسطه آنها امکانپذیر میباشد. با وجود این موضوعات ریسکهای قابل توجهی آنها را تهدید میکنند بخصوص اینکه آسیبپذیریهای دسترسی از راه دور و مرورگرهای اینترنت به شدت این ریسکها می افزاید. این ریسکها وقتی در نظر می گیریم که واسطهای مشتریان قادر به کنترل ماشینهای مجازی هستند و واسطهای تامین کننده کلیه عملیات ابر را کنترل میکند بیشتر خود را نشان میدهند. این ریسک با سرمایه گذاری در امنیت توسط تامین کننده ها قابل کاهش است.
| احتمال | متوسط | مقایسه ای: بالاتر |
| تاثیر | بالا | مقایسه ای: یکسان |
| آسیبپذیریها | آ1. آسیبپذیریهای AAA آ8. آسیبپذیریهای رمزنگاری ارتباط آ9. فقدان یا ضعف در رمزنگاری آرشیو ها و داده در انتقال آ17. احتمال رخداد وارسی های داخل شبکه ای آ18. احتمال اجرای بررسیهای co-residence آ31. فقدان تکامل و شفافیت شرایط استفاده |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د4. دارایی فکری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د23. پشتیبان داده یا بایگانی داده |
|
| ریسک | متوسط | |
در رایانش ابری که دارای یک معماری توزیع شده میباشد، انتقال داده بسیار بیشتر از زیرساختهای سنتی میباشد. برای نمونه، در همگام سازی چندین تصویر ماشین توزیع شده با هم داده می بایست منتقل شود و این انتقال در زیرساخت ابر انجام میشود.
حملات Sniffing، Spoofing، man in the middle، side channel و reply از جمله تهدیدهای محتمل میباشند. به هر صورت در برخی از موارد تامین کننده ابر اقدامات لازم برای تامین امنیت در مقابل این تهدیدها را انجام نمیدهد.
| احتمال | متوسط (N/A) | |
| تاثیر | بالا | |
| آسیبپذیریها | آ1. آسیبپذیریهای AAA آ8. آسیبپذیریهای رمزنگاری ارتباط آ17. احتمال رخداد وارسی های داخل شبکه ای آ18. احتمال اجرای چک های co-residence آ10. غیر ممکن بودن پردازش دادهها در حالت رمز شده آ48. آسیبپذیریهای برنامه کاربردی یا مدیریت ضعیف وصله |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د3. وفاداری و تجربه کارکنان د4. دارایی فکری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د12. اعتبارنامه د13. دایرکتوری کاربر (داده) د14. واسط مدیریت سرویس ابر |
|
| ریسک | متوسط | |
این ریسک شبیه به ریسک قبلی میباشد با این تفاوت که فقط بر انتقال داده بین تامین کننده و مشتری تمرکز دارد.
| احتمال | متوسط | مقایسه ای: بالاتر |
| تاثیر | خیلی بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ20. قابل قبول شدن رسانه های حساس | |
| دارایی های تحت تاثیر | د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د12. اعتبارنامه |
|
| ریسک | متوسط | |
هرگاه که یک تامین کننده تغییر میکند، منابع تغییر مقیاس داده میشوند، سختافزارهای فیزیکی تخصیص دوباره داده میشوند و دادهها ممکن است مدت زمان بیشتری نسبت به آنچه قرار بوده باشند در ابر در دسترس باشند. ممکن است که برنامه حذفی که در خط و مشی امنیتی آورده شده را نتوان به طور کامل اجرا کرد و حذف کامل دادهها تنها در صورت از بین بردن فیزیکی دیسک های سختافزاری امکانپذیر باشد. وقتی یک درخواست برای حذف یک منبع ابر ایجاد شود ممکن است که به نتیجه کامل منجر نشود. وقتی که حذف کامل مورد نیاز باشد نیاز به انجام عملیاتی است که توسط API های استاندارد پشتیبانی نمیشود.
اگر از روشهای موثر رمزنگاری استفاده شود این ریسک تا حد بسیار زیادی کاهش پیدا میکند.
| احتمال | مشتری: متوسط | مقایسه ای: پایینتر |
| تامین کننده: پایین | مقایسه ای: N/A | |
| تاثیر | مشتری: بالا | مقایسه ای: بالاتر |
| تامین کننده: خیلی بالا | مقایسه ای: پایینتر | |
| آسیبپذیریها | آ38. پیکره بندی نامناسب آ39. آسیبپذیریهای سیستم یا سیستم عامل آ53. فیلترینگ ناکافی منابع |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس د14. واسط مدیریت سرویس ابر د16. شبکه (ارتباطات و غیره) |
|
| ریسک | متوسط | |
| احتمال | پایین | |
| تاثیر | بالا | |
| آسیبپذیریها | آ1. آسیبپذیریهای AAA آ2. آسیبپذیریهای تدارکاتی کاربران آ3. آسیبپذیریهای قطع تدارک کاربران آ28. عدم وجود خط و مشی بستن منابع |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | متوسط | |
سناریو های مختلفی وجود دارد که در آن منابع مشتریان ابر توسط روشهای بدخواهانه شخص سوم ها مورد استفاده قرار گرفته و تاثیرات اقتصادی دارند:
دزدی هویت: فرد حمله کننده از حساب کاربری دیگری استفاده کرده و منابع مشتری را برای منافع شخصی مورد استفاده قرار میدهد و حساب آن فرد را از بین می برد.
اگر مشتری ابر محدودیت استفاده برای حساب کاربری خود ایجاد نکند موجب میشود که آن حساب را در مقابل این تهدید ضعیف تر کند.
حمله کننده از یک کانال عمومی برای ضربه اقتصادی وارد کردن به مشتریان استفاده میکند- مثلا جایی که پرداخت به صورت پرداخت بهازای هر درخواست http صورت میگیرد انجام حمله DDos موجب ایجاد خسارت میشود.
حملات EDoS موجب وارد شدن ضربات اقتصادی به مشتریان میشود، در بدترین حالت ممکن است موجب برشکستگی مشتری یا تاثیرات اقتصادی بر آنها شود.
| احتمال | پایین | مقایسه ای: N/A |
| تاثیر | بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ11. روش های ضعیف مدیریت کلید آ12. تولید کلید: آنتروپی پایین برای تولید اعداد تصادفی |
|
| دارایی های تحت تاثیر | د4. دارایی فکری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د12. اعتبارنامه |
|
| ریسک | متوسط | |
این ریسک شامل افشای کلیدهای رمز (SSL، رمزنگاری فایل، کلیدهای خصوصی مشتری و ...) یا کلمه های عبور مشتریان برای اشخاص بدخواه میباشد. از افشای این کلیدها برای استفاده غیر مجاز در احراز هویت و امضای دیجیتال استفاده خواهد شد.
| احتمال | متوسط | مقایسه ای: پایینتر |
| تاثیر | متوسط | مقایسه ای: پایینتر |
| آسیبپذیریها | آ17. احتمال رخداد وارسی های داخل شبکه ای آ18. احتمال اجرای بررسیهای co-residence |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | متوسط | |
جستجوها و پویش های بدخواهانه، نوعی از خطر هستند که به صورت غیر مستقیم دارایی های سازمان را تهدید میکنند. از این جستجوها میشود برای جمع آوری اطلاعات به جهت تلاشهای نفوذ و هک استفاده کرد. از جمله عواقب آن میتوان از بین رفتن محرمانگی، صحت و دسترس پذیری داده و سرویس را نام برد.
| احتمال | پایین | |
| تاثیر | خیلی بالا | |
| آسیبپذیریها | آ5. آسیبپذیریهای فوقناظر آ6. فقدان جداسازی منبع |
|
| دارایی های تحت تاثیر | د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | متوسط | |
هر یک از معماری های ابر برروی یک سکوی خاص ساخته شدهاند، موتور سرویس در بالای منابع سختافزاری فیزیکی قرار میگیرد و وظیفه مدیریت منابع مشتریان را در سطوح مختلف بر عهده دارد. برای نمونه در ابرهای IaaS مولفه های نرمافزار موتور سرویس میتواند فوقناظر باشد. در برخی از موارد موتور سرویس توسط سکوهای متن باز ساخته و پشتیبانی میشوند. سفارشیسازی بیشتر این موتورها را تامین کنندگان ابر برعهده میگیرند.
مانند تمامی نرمافزارهای دیگر کدهای موتور سرویس هم دارای آسیبپذیریهایی هستند و مستعد برای مورد حمله قرار گرفتن میباشند. یک حمله کننده میتواند موتور سرویس را به واسطه هک کردن ماشین مجازی (ابرهای IaaS) هک کردن محیط زمان اجرا (ابرهای PaaS) هک کردن application pool و یا به واسطه API ها مورد خطر قرار دهند.
هک کردن موتور سرویس موجب ایجاد دسترسی به دادههای موجود در آنها و ایجاد قابلیت نظارت ودستکاری بر اطلاعات داخلی برای فرد حمله کننده میشود.
| احتمال | پایین | |
| تاثیر | متوسط | |
| آسیبپذیریها | آ31. فقدان تکامل و شفافیت شرایط استفاده آ23. عبارات SLA با قولهای متداخل برای ذی نفعان مختلف آ34. نقش ها و مسئولیت های گنگ |
|
| دارایی های تحت تاثیر | د4. دارایی فکری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی |
|
| ریسک | پایین | |
تامین کنندگان ابر باید به صورت کاملا روشن تفکیک مسئولیت ها را در ابر مشخص کنند و باید برای هر مشتری حداقل کارها که باید برای امن کردن محیط ابر انجام دهد مشخص شود. شکست مشتریان در امن کردن موفق محیط موجب آسیبپذیری ابر خواهد شد. از سوی دیگر تامین کننده ها باید راهنمایی برای مشتریان تهیه کنند تا آنها بتوانند به طور موفقیت آمیز کارهای امن سازی را انجام دهند.
مشتریان ابر باید از مسئولیت های خود به طور کامل آگاه باشند. در برخی موارد مشتریان به طور نادرست تصور میکنند که تمام مسئولیت ها بر عهده تامین کننده میباشد، و او تمام کارهای امنیتی را انجام میدهد. این تصور مشتریان و عدم اطلاع رسانی کامل توسط تامین کننده موجب بوجود آمدن ریسک میشود. بنابراین ضروری است که مشتری از مسئولیت های خود آگاه باشد و به آنها عمل کند.
| احتمال | بالا | |
| تاثیر | متوسط | |
| آسیبپذیریها | آ6. فقدان جداسازی منبع آ29. ذخیرهسازی داده در چندین حوزه و عدم شفافیت در این باره آ30. فقدان اطلاعات درباره حوزه ها |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | بالا | |
رخداد توقیف سختافزار فیزیکی، منتج از حکم قانونی آژانسهای مسئول و تمرکز ذخیرهسازی ابر در یک نقطه میتواند به این معنا باشد که مشتریان در معرض خطر افشای دادههایشان میباشند [10و11و12].
| احتمال | خیلی بالا | |
| تاثیر | بالا | |
| آسیبپذیریها | آ30. فقدان اطلاعات درباره حوزه ها آ29. ذخیرهسازی داده در چندین حوزه و عدم شفافیت در این باره |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | بالا | |
داده مشتریان ممکن است در چند حوزه قضایی نگهداری شوند، برخی از این حوزه ها با ریسک زیادی همراه هستند (مثلا مرکز دادههایی که در کشورهای پر ریسک قرار دارند). در این حوزه ها ممکن است فقدان قوانین بازدارنده و محدود کننده زمینه های لازم برای افشا یا سرقت دادهها را فراهم کند. لازم به ذکر است که در اینجا نسبت به تمامی حوزه ها وجود ریسک مطرح نشده و فقط حوزه هایی که به موجب فشارهای قانونی خاص مورد توجه هستند منظور باشد.
| احتمال | بالا | |
| تاثیر | بالا | |
| آسیبپذیریها | آ30. فقدان اطلاعات درباره حوزه ها آ29. ذخیرهسازی داده در چندین حوزه و عدم شفافیت در این باره |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | بالا | |
رایانش ابری چند ریسک پشتیبانی داده هم برای مشتریان ابر و هم تامین کنندگان دارند.
برای یک مشتری ابر (در نقش کنترل کننده داده) ممکن است چک کردن پردازش های داده که توسط تامین کننده انجام میشود مشکل باشد، و بنابراین مطمئن شدن از انجام از طریق قانونی نیز مشکل میباشد. باید کاملا روشن باشد که مشتری ابر مسئول شخصی پردازش های دادههای شخصی میباشد، حتی وقتیکه این پردازش ها توسط تامین کننده ابر انجام میشود. شکست در اجرای قوانین پشتیبانی از داده موجب مجازات های مختلفی میشود که در کشورهای مختلف با توجه به قوانین متفاوت است.
ممکن است نفوذ های امنیت داده ای وجود داشته باشند که کنترل کننده از آنها آگاه نشود.
مشتری ابر ممکن است کنترل خود به داده پردازش شده توسط تامین کننده ابر را از دست بدهد. در حالت افزایش انتقال های داده این مورد افزایش می یابد.
تامین کننده ابر ممکن است دادههایی را دریافت کند که جمع آوری آنها توسط مشتری منع قانونی داشته باشد.
| احتمال | متوسط | مقایسه ای: بالاتر |
| تاثیر | متوسط | مقایسه ای: بالاتر |
| آسیبپذیریها | آ31. فقدان تکامل و شفافیت شرایط استفاده | |
| دارایی های تحت تاثیر | د1. شهرت کمپانی د9. تحویل سرویس – سرویسهای بلادرنگ د20. تصدیق |
|
| ریسک | متوسط | |
شرایط صدور مجوز، مانند توافقنامههای اولیه و چککردنهای برخط صدور مجوز ممکن است برای محیط ابر کاربرد نداشته باشند. برای مثال، در حالت پرداخت موردی برای هر زمان استفاده از ماشین در محیط ابر ممکن است صورتحساب مشتری به صورت نمایی افزایش پیدا کند در حالیکه او به طور مدام از یک مورد استفاده میکند.
در زمینه تحلیلهای ریسک ما با یک سری از ریسکها مواجه هستیم که فقط مربوط به محیط ابر نمیباشد، و در همه حالات باید آنها را مدنظر قرار بدهیم.
| احتمال | پایین | مقایسه ای: یکسان |
| تاثیر | خیلی بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ38. پیکره بندی نامناسب آ39. آسیبپذیریهای سیستم یا سیستم عامل آ6. فقدان جداسازی منبع آ41. فقدان یا ضعف در پیوستگی کسب و کار و طرح های بازیابی بد |
|
| دارایی های تحت تاثیر | د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | متوسط | |
یکی از شایعترین ریسکها که در صورت وقوع، چندین هزار مشتری به طور همزمان درگیر میشوند.
| احتمال | متوسط | مقایسه ای: یکسان |
| تاثیر | خیلی بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ38. پیکره بندی نامناسب آ39. آسیبپذیریهای سیستم یا سیستم عامل آ6. فقدان جداسازی منبع آ41. فقدان یا ضعف در پیوستگی کسب و کار و طرح های بازیابی بد |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د3. وفاداری و تجربه کارکنان د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس د16. شبکه (ارتباطات و غیره) |
|
| ریسک | بالا | |
| احتمال | پایین | |
| تاثیر | بالا | |
| آسیبپذیریها | آ2. آسیبپذیریهای تدارکاتی کاربران آ3. آسیبپذیریهای قطع تدارک کاربران آ8. آسیبپذیریهای رمزنگاری ارتباط آ16. عدم وجود کنترل بر روی پروسه تشخیص آسیبپذیری |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | متوسط | |
| احتمال | پایین | مقایسه ای: پایینتر |
| تاثیر | بالا | مقایسه ای: بالاتر (برای تامینکننده ابر) |
| آسیبپذیریها | آ1. آسیبپذیریهای AAA آ2. آسیبپذیریهای تدارکاتی کاربران آ3. آسیبپذیریهای قطع تدارک کاربران آ5. آسیبپذیریهای فوقناظر آ34. نقش ها و مسئولیت های گنگ آ35. اجرای ضعیف تعاریف نقش ها آ36. بکارنرفتن اصل دانستن با توجه به نیاز آ38. پیکره بندی نامناسب |
|
| دارایی های تحت تاثیر | د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د11. کنترل دسترسی / احراز هویت / مجازشناسی د13. دایرکتوری کاربر (داده) |
|
| ریسک | متوسط | |
| احتمال | متوسط | مقایسه ای: یکسان |
| تاثیر | بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ32. فقدان آگاهی امنیتی آ2. آسیبپذیریهای تدارکاتی کاربران آ6. فقدان جداسازی منبع آ8. آسیبپذیریهای رمزنگاری ارتباط آ37. ناکافی بودن رویه های فیزیکی امنیتی |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د4. دارایی فکری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د11. کنترل دسترسی / احراز هویت / مجازشناسی د12. اعتبارنامه |
|
| ریسک | متوسط | |
| احتمال | پایین | مقایسه ای: پایینتر |
| تاثیر | متوسط | مقایسه ای: یکسان (برای مشتری) |
| آسیبپذیریها | آ52. فقدان یا ضعف در رویه های گزارش گیری و نگهداری آ1. آسیبپذیریهای AAA آ2. آسیبپذیریهای تدارکاتی کاربران آ3. آسیبپذیریهای قطع تدارک کاربران آ19. فقدان آمادگی قانونی آ39. آسیبپذیریهای سیستم یا سیستم عامل |
|
| دارایی های تحت تاثیر | د21. گزارشهای عملیاتی (مشتری و تامین کننده ابر) | |
| ریسک | پایین | |
| احتمال | پایین | مقایسه ای: پایینتر |
| تاثیر | متوسط | مقایسه ای: پایینتر (برای مشتری) |
| آسیبپذیریها | آ52. فقدان یا ضعف در رویه های گزارش گیری و نگهداری آ1. آسیبپذیریهای AAA آ2. آسیبپذیریهای تدارکاتی کاربران آ3. آسیبپذیریهای قطع تدارک کاربران آ19. فقدان آمادگی قانونی آ39. آسیبپذیریهای سیستم یا سیستم عامل |
|
| دارایی های تحت تاثیر | د22. گزارشهای امنیتی | |
| ریسک | پایین | |
| احتمال | پایین | مقایسه ای: پایینتر |
| تاثیر | بالا | مقایسه ای: یکسان (برای مشتری) |
| آسیبپذیریها | آ37. ناکافی بودن رویه های فیزیکی امنیتی آ1. آسیبپذیریهای AAA آ2. آسیبپذیریهای تدارکاتی کاربران آ3. آسیبپذیریهای قطع تدارک کاربران |
|
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس د23. پشتیبان داده یا بایگانی داده |
|
| ریسک | متوسط | |
| احتمال | خیلی پایین | مقایسه ای: پایینتر |
| تاثیر | بالا (برای داشتن تاثیر خیلی زیاد باید هدف حمله مشخص باشد(مثلا یک ماشین خاص را هدف بگیرد)) | مقایسه ای: بالاتر |
| آسیبپذیریها | آ37. ناکافی بودن رویه های فیزیکی امنیتی | |
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د23. پشتیبان داده یا بایگانی داده |
|
| ریسک | پایین | |
از آنجایی که تامینکنندگان ابر بر مرکز دادههای بزرگ تمرکز کردهاند و همچنین کنترلهای محیط فیزیکی نیز قویتر است، بنابراین نتایج ناشی از نفوذ بسیار پرخطرتر میشود.
| احتمال | خیلی پایین | مقایسه ای: پایینتر |
| تاثیر | بالا | مقایسه ای: خیلی بالا |
| آسیبپذیریها | آ37. ناکافی بودن رویه های فیزیکی امنیتی | |
| دارایی های تحت تاثیر | د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د17.سختافزار فیزیکی |
|
| ریسک | پایین | |
| احتمال | خیلی پایین | مقایسه ای: پایینتر |
| تاثیر | بالا | مقایسه ای: بالاتر |
| آسیبپذیریها | آ41. فقدان یا ضعف در پیوستگی کسب و کار و طرحهای بازیابی بد | |
| دارایی های تحت تاثیر | د1. شهرت کمپانی د2. اعتماد مشتری د5. دادههای شخصی حساس د6. داده شخصی د7. داده حیاتی شخصی د8. داده HR د9. تحویل سرویس – سرویسهای بلادرنگ د10. تحویل سرویس |
|
| ریسک | پایین | |
به طور کلی ریسک ناشی از بلایای طبیعی در محیط ابر بسیار کمتر از محیطهای سنتی میباشد، این موضوع به خاطر ارائه چندین سایت و مسیر شبکه توسط تامین کننده ها میباشد
لیست آسیبپذیریهایی که در ادامه آورده شده یک لیست جامع نیست، ولی به هرصورت جزئیات لازم برای تامین اهداف تحلیل این گزارش را شامل میشود. این آسیبپذیریها هم از نوع آسیبپذیریهای مختص به ابر و هم از نوع آسیبپذیریهای عمومی هستند.
آ1. آسیبپذیریهای AAA
یک سیستم که در احراز هویت181 ، مجازشناسی182 و حسابرسی183 ضعیف باشد میتواند با مشکلاتی چون دسترسی غیرمجاز به منابع، استفاده نامناسب از منابع و اتفاقات امنیتی مواجه شود. بنابراین:
دسترسی ناامن به ذخیرهسازی ابر وجود خواهد داشت
نقش های نامناسب وجود دارند
دادههای اعتباری بر روی منابع ذخیره زودگذر قرار دارند
از سوی دیگر ابر با حملات مبتنی بر کلمه عبور دست به گریبان خواهد بود، بنابراین نیاز به احراز هویت هایی که فراتر از استفاده از کلمه عبور میباشد.
آ2. آسیبپذیریهای تدارکاتی کاربران
مشتری قادر به کنترل پروسه تدارک نیست.
هویت مشتری در مرکز ثبت184 تایید نشده است.
تاخیر میان مولفه های ابر وجود دارد.
چندین نسخه کپی از دادههای هویت مشتریان ساخته شده است.
دادههای اعتباری مشتریان در مقابل استراق سمع و تکرار آسیب پذیرند.
آ3. آسیبپذیریهای قطع تدارک185 کاربران
هنگامیکه قطع تدارک یک مشتری صورت میگیرد به خاطر تاخیرهای موجود در ابر تا مدتی دادههای اعتباری او همچنان معتبر میباشند.
آ4. دسترسی از راه دور به واسط مدیریت
از نظر تئوری این نوع از دسترسی در ماشینهای کاری آسیبپذیریهایی را بوجود میآورند، مانند احراز هویت ضعیف درخواست ها و پاسخ ها.
آ5. آسیبپذیریهای فوقناظر
حملات لایه فوقناظر بسیار جذاب میباشند: این لایه در حقیقت منابع فیزیکی و اجرای ماشینهای مجازی را کنترل میکند، بنابراین هرگونه آسیبپذیری در این لایه بسیار حیاتی خواهد بود. از کار انداختن این لایه به معنای از کار انداختن همه ماشینهای مجازی میباشد. کارهای انجام شده درباره آسیبپذیریهای این لایه در [13و14و15] آمده است. برای دیدن مثالهای بیشتر درباره این آسیبپذیری به [16] مراجعه شود.
آ6. فقدان جداسازی منبع
منبع استفاده شده توسط یک مشتری میتواند منبع مورد استفاده مشتری دیگر را تحت تاثیر قرار دهد.
زیرساختهای رایانش ابری IaaS بر مبنای طراحی های معماری هستند که در آنها منابع فیزیکی توسط چند ماشین مجازی به اشتراک گذاشته میشوند و بنابراین چندین مشتری به صورت اشتراکی از آنها استفاده میکنند.
آسیبپذیریهای لایه فوقناظر ممکن است موجب دسترسی غیر مجاز به این منابع مشترک شود. برای مثال ماشینهای مجازی مشتری1 و مشتری2 دارای درایوهای هارد مجازی بر روی LUN 186 مشترک باشند. مشتری2 شاید قادر به نگاشت کردن درایو هارد مشتری1 بر روی ماشین مجازی خود بوده و بتواند دادههای درون آن را ببیند.
در ابرهای IaaS از فوقناظرهایی استفاده میشود که دارای API های کاملی برای تامین مدیریت مشتریان میباشند. آسیبپذیریها در این زمینه میتواند منجر به دسترسی غیر مجاز به دادهها شود. حتی ممکن است حمله کنندگان قادر باشند که دارایی های درون ابر را تغییر دهند. برای مثالهای بیشتر در این زمینه آسیبپذیریها به [16] مراجعه شود.
آ7. فقدان جداسازی های شهرتی
فعالیت های یک مشتری بر شهرت مشتری دیگر تاثیر می گذارد.
آ8. آسیبپذیریهای رمزنگاری ارتباط
این آسیبپذیریها در زمره نگرانی هایی درباره خوانده شدن دادهها در هنگام جابجایی میباشند.
آ9. فقدان یا ضعف در رمزنگاری آرشیو ها و داده در انتقال
شکست در رمزنگاری داده در حال انتقال، دادههای نگهداری شده در آرشیوها و پایگاههای داده، تصویرهای ماشینهای مجازی، دادههای قانونی و گزارشهای حساس موجب میشود که دادههای دیگر در ابر در معرض خطر قرار بگیرند. طبعا هزینههای پیادهسازی مدیریت کلید (آ11) و هزینههای پردازش باید در نظر گرفته شده و با هزینههای این ریسک مقایسه شوند.
آ10. غیر ممکن بودن پردازش دادهها در حالت رمز شده
رمزنگاری داده به طور کلی کار سختی نیست، ولی با توجه به یافته های اخیر رمزنگاری همریختانه [17]، سیستمهای تجاری از رمزنگاری در حین پردازش داده استفاده نخواهند کرد. در تخمینی که توسط Bruce Schneier انجام شده این نتیجه بدست آمده که جستجوی وب اگر بر روی دادههای رمز شده انجام شود، زمان محاسبه حدودا یک میلیارد برابر میشود [18]. این موضوع به این معناست که مادامیکه مشتریان ابر به کارهایی غیر از ذخیره داده احتیاج دارند باید به تامین کننده ابر اعتماد کنند.
آ11. روش های ضعیف مدیریت کلید
زیرساختهای رایانش ابری نیازمند مدیریت و ذخیرهسازی انواع مختلف کلید میباشد؛ برای نمونه میتوان کلید نشست را برای پشتیبانی از انتقال داده (کلیدهای SSL)، کلیدهای رمزکردن فایل، جفت کلیدهای مشخص کننده تامین کننده ابر، جفت کلیدهای مشخص کننده مشتریان و توکنهای مجازشناسی را نام برد [19]. از آنجا که ماشینهای مجازی دارای زیر ساخت سختافزاری ثابتی نیستند و ابر مبتنی بر محتوی نیز از نظر جغرافیایی توزیع شده میباشد بکاربردن کنترلهای استاندارد مانند HSM187 مشکلتر میباشد. اطلاعات بیشتر در [20و21و22].
آ12. تولید کلید: آنتروپی پایین برای تولید اعداد تصادفی
ترکیب تصاویر استاندارد سیستم ، فناوریهای مجازیسازی و کمبود وسایل ورودی به این معناست که سیستمها دارای آنتروپی پایینتری نسبت به RNG188 های فیزیکی هستند؛ مراجعه شود به امنیت رایانش ابری [23]. این بدین معناست که یک حمله کننده به ماشین مجازی ممکن است به خاطر تشابه آنتروپی های مورد استفاده برای اعداد تصادفی قادر به حدس زدن کلیدهای تولید شده توسط ماشین مجازی باشد. این آسیبپذیری به آسانی قابل حل میباشد ولی اگر در گام طراحی مد نظر قرار نگیرد پیامدهای مهمی خواهد داشت.
آ13. کمبود فناوریها و راهحلهای استاندارد
کمبود استاندارد به این معناست که در برخی مواقع داده وابسته به تامین کننده میباشد. اینکه قطع عملیات را تامین کننده باید انجام دهد ریسک بسیار بزرگی است.
آ14. عدم وجود توافق اجرایی منبع189
نبود توافق اجرای منبع به این معناست که اگر تامین کننده PaaS یا SaaS برشکست شود، مشتریانش هیچ پشتیبانی نخواهند داشت.
آ15. مدلهای نادقیق استفاده از منبع
سرویسهای گرید به طور خاص در مقابل فرسودگی منبع آسیب پذیر میباشد زیرا آنها به طور آماری مورد استفاده قرار میگیرند. همچنین بسیاری از تامین کننده ها اجازه رزرو منابع را به صورت پیشرفته به مشتریان میدهند. این الگوریتم در این مواقع میتوانند با شکست مواجه شوند:
مدلسازی نادقیق استفاده از منبع، که میتواند منجر به رزرو اضافی یا استفاده بیش از حد شود (34)، (35) و (36).
خرابی الگوریتم های تخصیص منابع بعلت اتفاقات غیرعادی
خرابی الگوریتم های تخصیص منابع که از دسته بندی کارها استفاده میکنند به خاطر عدم دسته بندی مناسب.
آ16. عدم وجود کنترل بر روی پروسه تشخیص آسیبپذیری
محدودیتهایی که به واسطه شرایط استفاده در زمینه های اسکن کردن پورت ها و تست های آسیبپذیری بوجود میآید باعث میشود که مسئولیت برخی از اقدامات امن سازی بر عهده مشتری باشد که این امر خود یک آسیبپذیری جدی است.
آ17. احتمال رخداد وارسی های داخل شبکه ای
مشتریان ابر میتوانند بررسی های پورت و دیگر تست های استاندارد را بر روی دیگر مشتریان روی شبکه داخلی اجرا کنند.
آ18. احتمال اجرای چک های co-residence
حملات side attack موجب میشوند که حمله کنندگان قادر باشند مشتری ای که منابع را به اشتراک می گذارد شناسایی کنند.
آ19. فقدان آمادگی قانونی
علی رغم اینکه ابر پتانسیل ارتقای آمادگی قانونی را دارا میباشد، بسیاری از تامین کننده ها سرویسها و شرایط استفاده لازم برای این امر را پدید نمیآورند. برای مثال، تامین کننده های SaaS امکان دسترسی به گزارشهای IP مشتریان را فراهم نمیکنند. تامین کننده های IaaS هم ممکن است سرویسهای قانونی مانند تصویرهای دیسک را فراهم نکنند.
آ20. قابل قبول شدن رسانه های حساس190
مالکیت مشترک منابع ذخیرهسازی فیزیکی به این معنی خواهد بود که دادههای حساس ممکن است فاش شوند. این فاش شدن به این علت است که ممکن است خط و مشی های نابود کردن داده که در انتهای چرخه حیات مورد استفاده قرار میگیرند قابل پیادهسازی نباشند، برای نمونه به خاطر اینکه دیسک توسط مالک دیگری مورد استفاده است، یک فایل را نتوان به طور فیزیکی از بین برد.
آ21. همگام سازی مسئولیت ها یا تعهدات پیمانی خارج از ابر191
مشتریان ابر معمولا از مسئولیت هایی که در شرایط استفاده به آنها داده شده است آگاه نیستند. تمایلاتی وجود دارد تا مسئولیت های فعالیت هایی که بی کس مانده مانند بایگانی رمزنگاری در تامین کننده ابر را واگذار کنند.
آ22. برنامههای کاربردی میان ابری موجب بوجود آمدن وابستگی های پنهان میشوند192
در زنجیره تامین سرویسهای ابر وابستگی های پنهان وجود دارند، و هنگامیکه شخص ثالث در عملیات ابر وارد شود معماری تامین کننده ابر از عملیات پشتیبانی نمیکند
آ23. عبارات SLA با قولهای متداخل برای ذی نفعان مختلف
این عبارات در توافقنامه های سطح سرویس حتی ممکن است با دیگر عبارات موجود یا با عبارات دیگر توافقنامه در تناقض باشند
آ24. عبارات SLA شامل ریسکهای زیادی برای کسب و کار باشند
توافقنامه های سطح سرویس ممکن است ریسک کسب و کار زیادی برای تامین کننده داشته باشند. از دیدگاه مشتری، SLA ها ممکن است عباراتی داشته باشند که تعابیر زیان آور از آنها حاصل شود- برای مثال ممکن است عبارتی وجود داشته باشد که از آن بتوان این نتیجه را گرفت که تامین کننده ابر (CP) حق نگهداری و دسترسی به هر محتوی ذخیره شده بر روی زیر ساخت ابر را دارد.
آ25. حسابرسی و تصدیق مشتریان امکانپذیر نباشد
تامین کننده ابر نتواند هیچ تضمینی به مشتری در زمینه حسابرسی بدهد.
برای نمونه برخی از تامین کنندههای ابر از فوقناظرهای متن باز استفاده میکنند [24] که در آنها تصدیقهای معمول وجود ندارد [25] که وجود آنها یک نیازمندی پایهای برای سازمانها میباشد. توجه به این نکته ضروری است که بدانیم که هیچ تقارن مستقیمی ما بین تصدیقهای صورت گرفته و سطح آسیبپذیری وجود ندارد.
آ26. طرح های تصدیق با زیرساخت ابر جور نباشد
کنترل خاصی برای ابر وجود ندارد که بدین معنی باشد که آسیبپذیریهای امنیتی احتمالا از بین رفته اند.
آ27. سرمایه گذاری ناکافی بر روی زیرساختها
سرمایهگذاری بر روی زیرساختها نیازمند زمان میباشد. اگر مدلهای پیش بینی آن اشتباه از آب در آیند موجب مختل شدن سرویس برای مدت طولانی میشود.
آ28. عدم وجود خط و مشی بستن منابع 193
اگر راهحل قابل انعطاف و تطبیق پذیری برای مشتری و تامین کننده ابر در محدودیت گذاری بر روی منابع وجود نداشته باشد، استفاده غیر قابل پیش بینی از منابع مشکل ساز خواهد شد.
آ29. ذخیرهسازی داده در چندین حوزه و عدم شفافیت در این باره
mirror کردن دادهها و افزونگی در ذخیرهسازی بدون اطلاع مشتری از محل ذخیره شدن دادهها موجب بوجود آمدن سطح بالایی از آسیبپذیری میشود. کمپانیها ممکن است از توافقات عدول کنند، مخصوصا وقتی اطلاعات روشنی درباره حوزههای ذخیرهسازی وجود نداشته باشد.
آ30. فقدان اطلاعات درباره حوزه ها
دادهها ممکن است در حوزه هایی نگهداری و/یا پردازش شوند که بسیار آسیب پذیر هستند. اگر اطلاعات لازم در اینباره برای مشتریان ابر وجود نداشته باشد، مشتری قادر به اجتناب از آنها نخواهد بود.
آ31. فقدان تکامل و شفافیت شرایط استفاده
آسیبپذیریهایی که مختص ابر نیستند
در بخش تحلیل ریسکها به این نکته اشاره شد که برخی ریسکها مختص محیط ابر نیستند. در این بخش هم آسیبپذیریهایی که فقط مربوط به محیط ابر نیستند ذکر میشود، این آسیبپذیریها حتما باید در پیادهسازی سیستمهای مبتنی بر ابر در نظر گرفته شوند.
آ32. فقدان آگاهی امنیتی
مشتریان وقتیکه به ابر مهاجرت میکنند نسبت به خطرات موجود آگاهی لازم را ندارند، مخصوصا آن ریسکهایی که مختص به محیط ابر میباشد. این عدم آگاهی ممکن است در تامین کننده هم از جهت ناآگاه بودن از روشهای کاهش خطا وجود داشته باشد.
آ33. فقدان پروسه های بررسی
از آنجایی که نقش های حساسی در محیط ابر برای تامین کننده وجود دارند، در این مقیاس اگر بررسی های لازم بر روی آن نقش ها انجام نشود خسارت هایی را به بار می آورد.
آ34. نقش ها و مسئولیت های گنگ
این آسیبپذیریها مربوط به عدم مشخص شدن کافی نقش ها و مسئولیت ها در سازمان تامین کننده ابر میباشد.
آ35. اجرای ضعیف تعاریف نقش ها
در تامین کننده های ابر عدم تفکیک مناسب نقش ها موجب بوجود آمدن نقش هایی میشود که از امتیازات بالایی برخوردار هستن و این امر موجب آسیبپذیری سیستم میشود. مثلا هیچ فردی نباید دسترسی کامل به تمام بخشهای ابر را داشته باشد.
آ36. بکارنرفتن اصل دانستن با توجه به نیاز
این آسیبپذیری به نقش ها و مسئولیت ها مربوط میشود. افراد نباید به چیزهایی که نیاز ندارند دسترسی داشته باشند.
آ37. ناکافی بودن رویه های فیزیکی امنیتی
مشتمل بر:
فقدان کنترل های فیزیکی محیط (استفاده از کارتهای هوشمند برای احراز هویت).
فقدان استفاده از پوشش های الکترومغناطیسی برای دارایی هایی که در مقابل استراق سمع آسیب پذیر هستند.
آ38. پیکره بندی نامناسب
این دسته از آسیبپذیریها مشتمل است بر: استفاده ناکافی از رویه های مقاومسازی، خطاهای انسانی و مدیران دوره ندیده.
آ39. آسیبپذیریهای سیستم یا سیستم عامل
آ40. نرمافزار غیرقابل اطمینان194
آ41. فقدان یا ضعف در پیوستگی کسب و کار و طرح های بازیابی بد
آ42. فقدان یا ناکامل بودن موجودی دارایی ها
آ43. فقدان یا ناکامل بودن دسته بندی دارایی ها
آ44. مالکیت نامشخص دارایی ها
آ45. شناسایی ضعیف نیازمندی های پروژه
این مورد شامل فقدان در نظر گرفتن نیازمندی های امنیتی، نقش سیستمها و کاربردهای کاربران و نیازمندی های ناکامل کسب و کار و .. میباشد.
آ46. انتخاب ضعیف تامین کننده
آ47. فقدان افزونگی تامین کننده
آ48. آسیبپذیریهای برنامه کاربردی یا مدیریت ضعیف وصله
این دسته از آسیبپذیریها شامل: باگ های کدهای برنامه کاربردی، رویه های وصله کردن متداخل میان مشتری و تامین کننده، بکاربردن وصلههای تست نشده، آسیبپذیریها در مرورگرها و ... .
آ49. آسیبپذیریهای مصرف منابع 195
آ50. نفوذ به NDA196 بوسیله تامین کننده
آ51. احتمال از دست دادن داده
آ52. فقدان یا ضعف در رویه های گزارش گیری و نگهداری
آ53. فیلترینگ ناکافی منابع
| دارایی | توضیح یا ارجاع به عناصر توضیح داده شده در بالا | مالک [بازیگر یا سازمان درگیر] | مقدار ملاحظه شده [خیلی پایین – پایین – متوسط – بالا – خیلی بالا] |
| د1. شهرت کمپانی | CC197 | خیلی بالا | |
| د2. اعتماد مشتری | حسن نیت را هم شامل میشود، میتوان با شکایات آنرا اندازه گرفت | CC | خیلی بالا |
| د3. وفاداری و تجربه کارکنان | CC | بالا | |
| د4. دارایی فکری198 | CC | بالا | |
| د5. دادههای شخصی حساس | (مانند آنچه در European data protection directive) | CC / CP199 | خیلی بالا |
| د6. داده شخصی | (مانند آنچه در European data protection directive) | CC / CP | متوسط (ارزش عملیاتی) / بالا (در صورت گم شدن) |
| د7. داده حیاتی شخصی | (تمام دادههایی که در دسته دادههای شخصی در European data protection directive قرار دارد و در سازمان بعنوان حیاتی مارک شده) | CC / CP | بالا (ارزش عملیاتی) / بالا(در صورت گم شدن) |
| د8. داده HR | داده مربوط به دیدگاه عملیاتی | CC | بالا |
| د9. تحویل سرویس – سرویسهای بلادرنگ | تمام سرویسهایی که زمان در آن بسیار اهمیت دارد و سطح دسترس پذیری آنها نزدیک به 100% میباشد | CC / CP | خیلی بالا |
| د10. تحویل سرویس | CC / CP | متوسط | |
| د11. کنترل دسترسی / احراز هویت / مجازشناسی (admin vs others) | CC / CP | بالا | |
| د12. اعتبارنامه | برای مراجعین و افرادی که به سیستم دسترسی دارند | CC | خیلی بالا |
| د13. دایرکتوری کاربر (داده) | اگر از کار بیفتد دیگر کسی قادر به وارد شدن به سیستم نیست | CC | بالا |
| د14. واسط مدیریت سرویس ابر | واسط مدیریت میباشد (چه مبتنی بر وب چه مبتنی بر شل از راه دور200) که تمامی سرویسهایی که توسط ابر ایجاد میشود با آن مدیریت میشود. | CP / CC | خیلی بالا |
| د15. API های واسط مدیریت | CP / CC / EuropeanHealth | متوسط | |
| د16. شبکه (ارتباطات و غیره) | شامل ارتباطات درون و بیرون از ابر میشود | CP / CC | بالا |
| د17.سختافزار فیزیکی | CP / CC | پایین (وابسته به اینکه چقدر از آن را از دست بدهید) / متوسط (در صورتیکه دزدیده شود و از آن پشتیبانی نشود) | |
| د18. ساختمان های فیزیکی | CC / CP | بالا | |
| د19. برنامه کاربردی CP (کد اصلی) | CP / CC | بالا | |
| د20. تصدیق | ISO, PCI, DSS, etc | CC / CP | بالا |
| د21. گزارشهای عملیاتی (مشتری و تامین کننده ابر) | این گزارشها برای تقویت و بهینه کردن پروسه های کسب و کار استفاده شده و اهداف حسابرسی را تسهیل میکنند | CC / CP | متوسط |
| د22. گزارشهای امنیتی | بعنوان شواهد نفوذ و موارد قانونی مورد استفاده هستند | CC / CP | متوسط |
| د23. پشتیبان داده یا بایگانی داده | CP / CC | متوسط |
یکی از مهمترین توصیه های این گزارش مجموعهای از معیارهای تضمین است که برای موارد زیر طراحی شده است:
برای دسترسی به ریسک اتخاذ شده از سرویسهای ابر
برای مقایسه بین پیشنهادات تامین کننده های ابر متفاوت
امنیتی موثر برای تامین کننده های شخص ثالث کاری است که بدون داشتن تجربه و تخصص لازم بسیار مشکل است.
برای کاهش بار تضمین روی تامین کننده های ابر. یک از مهم ترین ریسکهایی که برای زیر ساخت ابر بیان میشود مربوط به نیازمندیهای تضمین NIS201 میباشد. تامین کننده های ابر فهمیدهاند که تعداد زیادی از مشتریان درخواست حسابرسی از زیرساختها و خطمشیهایشان را دارند. این موضوع بار امنیتی بزرگی را بوجود می آورد و موجب افزایش خطر حملات به زیر ساخت ها میشود. تامین کننده ها نیاز به تبیین یک چارچوب برای مقابله با این موضوع دارند.
این بخش از توصیهها پرسش ایی را فراهم میکند که سازمان میتواند از تامین کننده ابر داشته باشد تا از حمایت اطلاعات خود مطمئن شوند. هدف این پرسش ها ایجاد یک baseline حداقل میباشد. بنابراین هر سازمان ممکن است نیازمندی هایی اضافه تر از این baseline داشته باشد. به هر صورت این پاسخ ها باید در چاچوب معنایی مناسبی قرار بگیرند تا بتوان از آن پاسخ های پایدارتر و دارای قابلیت مقایسه بدست آورد. برای داشتن چنین پاسخ هایی طبعا نیاز به معیارهای قابل سنجش میباشد. این معیارهای فوق الذکر باید برای همه تامین کننده ها یکسان باشند تا قیاس بین آنها را در سازمانها ممکن باشد.
با توجه به وقایع امنیتی که ممکن است رخ بدهد نیاز به تعریف روشن و فهم مسئولیت ها و نقش های مربوط به امنیت در مشتری و تامین کننده وجود دارد. خطوط این تقسیمبندی به طور گسترده ای بین SaaS و Iaas تفاوت دارد. در جدول زیر معمول ترین و منطقی ترین این تقسیمبندی نشان داده شده است. در هر مورد باید مشخص شود که کدامیک از سرویس، مشتری یا تامین کننده مسئولیت را بر عهده دارند. اگر شرایط استفاده استانداردی موجود باشد در آن مشخص شده که مشتری باید از تمامی مسئولیت هایش آگاه باشد.
| مشتری | تامین کننده |
|
|
| مشتری | تامین کننده |
|
|
| مشتری | تامین کننده |
|
|
وقتی مشتریان مسئول امنیت زیرساختهایشان هستند (مانند IaaS) این موارد را باید در نظر بگیرند:
تامین کننده های برنامه کاربردی IaaS با برنامه کاربردی مانند یک عنصر جعبه سیاه برخورد میکنند و بنابراین و کاملا نگرانی های مدیریتی و عملیاتی برنامههای کاربردی مشتریان را رها کردهاند. تمام لایههای برنامه بر روی سرور مشتری اجرا میشود و بوسیله خود مشتریان مدیریت میشود. به همین دلیل مشتریان باید مسئولیت کامل امنیت برنامههایشان را بر عهده داشته باشند. در اینجا یک خلاصه چک لیست و توضیحات برای بهترین اقداماتی که مشتریان میتوانند انجام دهند آورده شده:
برنامههای ابر باید برای مدلهای کاری مبتنی بر اینترنت بوجود آمده باشند.
باید طراحی آنها به گونه ای باشد که در مقابل آسیبپذیریهای معمول وب حفاظت لازم را داشته باشند[26].
مشتریان مسئول بروزرسانی و ارتقای برنامههای خود هستند بنابراین باید از داشتن یک استراتژی وصله اطمینان حاصل شود.
مشتریان نباید وسوسه شوند که از پیادهسازی های شخصی شده احراز هویت، مجازشناسی و حسابرسی (AAA) استفاده کنند، زیرا ممکن است این پیادهسازی ها ضعف هایی داشته باشند.
به طور خلاصه: برنامههای کاربردی بنگاه باید به همراه کنترل های زیادی اجرا شوند تا امنیت میزبان و شبکه، دسترسی کاربر، و امنیت کنترلهای برنامه کاربردی را تامین کنند [27]. برای اطلاعات بیشتر میتوانید به یادداشت های امنیتی محصولات تولیدکننده های بزرگ مانند مایکروسافت، اوراکل، سان و غیره مراجعه نمایید.
اکثر سوالات مربوط به پرسنل همانهایی هستند که شما از پرسنل فناوری اطلاعات و افراد مربوط به فناوری اطلاعات می پرسید.
رویه ها و خط مشی شما در استخدام مدیران فناوری اطلاعات و افرادی که به سیستم دسترسی دارند چیست؟ اینها باید شامل:
بررسیهای قبل از استخدام (هویت، ملیت و وضعیت، تاریخچه کاری و مراجع آنها، سابقه مجرمانه و بررسی میدانی(برای کارکنان اولویت بالا))
آیا خط مشی های متفاوت با توجه به محل نگهداری داده و برنامههای کاربردی مورد اجرا وجود دارد؟
مثلا خط مشی استخدام یک منطقه ممکن است با منطقه دیگر تفاوت داشته باشد
ممکن است داده حساسی در بخش خاصی با پرسنل خاص ذخیره شده باشد.
برنامه آموزش امنیت شما برای کارمندان چیست؟
آیا پروسه ارزیابی مداوم وجود دارد؟
هرچند وقت انجام میشود؟
مرورهای دوباره
بازبینی های دسترسی ها و سطوح اولویت
بازبینی خط مشی ها
این سوالات وقتی مطرح است که تامین کننده ابر برخی از عملیات امنیتی را به شخص ثالث محول میکند (مثلا استفاده از تامین کننده خارجی برای مدیریت هویت در سیستمهای عامل). همچنین این سوالات شخص ثالث هایی که به زیرساخت تامین کننده ابر دسترسی دارند نیز شامل میشود. این فرض وجود دارد که این پرسشنامه به صورت تناوبی برای شخص ثالث هم بکار میرود.
عملیات کلیدی امنیتی که در زنجیره تامین شما برونسپاری شدهاند و با شما در ارتباطند را تعریف کنید.
جزئیات روند های تضمین دسترسی شخص ثالث ها به زیر ساخت شما را شرح دهید.
آیا شما آنها را حسابرسی و بازرسی میکنید؟
آیا SLA هایی با سطح پایین تر نسبت به آنچه به مشتریانتان پیشنهاد داده اید توسط برونسپاران گارانتی شده؟
چه معیاری برای مشخص شدن تضمین سطح سرویس شخص ثالث وجود دارد؟
آیا تامین کننده ابر با خط مشی امنیتی بکار رفته توسط شخص ثالث موافق است؟
انتظار میرود که هر توافق تجاری با تامین کننده های خارجی سطوح سرویس برای تمام سرویسهای شبکه را شامل شود. علاوه بر این توافقات، مشتری نهایی باید مطمئن باشد که تامین کننده از کنترل های مناسب برای تضمین افشا نشدن غیرمجاز دادهها استفاده میکند.
جزئیات تغییرات خط مشی و رویه های کنترلی را بگویید. این پاسخ باید شامل پروسه مورد استفاده در بازشناسی ریسکها بعنوان نتایج تغییرات و شفاف کردن خروجیهاست.
خط مشی دسترسی از راه دور را تعریف کنید.
آیا تامین کننده از رویه های اجرایی مستند برای سیستمهای اطلاعاتی استفاده میکند؟
آیا محیط تعریف شده ای برای کاهش ریسک وجود دارد، برای مثال، توسعه، تست و محیطهای اجرایی از هم جدا هستند؟
کنترل های میزبان و شبکه بکار رفته برای پشتیبانی از سیستمهای میزبان و شبکه و اطلاعات مشتری را تعریف کنید. اینها باید شامل جزئیات گواهی ها هم باشد.
کنترل های مورد استفاده برای پشتیبانی در برابر کدهای بدخواه را مشخص کنید.
آیا پیکره بندی های امن برای مجازشناسی کدها استفاده شده است؟
خط مشی و روندهای پشتیبان گیری را با جزئیات بیان کنید. اینها باید شامل جزئیات روند های مدیریت رسانه ها شود.
گزارشهای حسابرسی برای اتفاقاتی که نیاز به بازرسی دارند مورد استفاده قرار میگیرد؛ برای عیب یابی هم میتوان از آنها استفاده کرد. برای چنین اهدافی مشتری نیاز به دسترس بودن چنین اطلاعاتی را دارد:
آیا تامین کننده میتواند جزئیات اطلاعات ضبط شده بر روی گزارشهای حسابرسی را تعیین کند؟
تا چه مدت این اطلاعات باقی می مانند؟
آیا اطلاعات این گزارشها را میتوان تقسیمبندی کرد تا برای مشتریان نهایی هم قابل استفاده باشد؟
چه کنترل هایی برای حمایت گزارشها از دسترسی غیر مجاز مورد نیاز است؟
چه متدی برای چک کردن صحت گزارشهای حسابرسی مورد استفاده است؟
چگونه گزارشهای حسابرسی بازبینی میشود؟ چه رخدادهایی باعث حرکتهای اتخاذ شده است؟
این گزارشها در چه زمانی و با چه دقتی تهیه میشود؟
کنترل هایی که برای حمایت از صحت سیستم عامل و برنامههای کاربردی استفاده میشود را تعریف کنید. شامل همه استانداردهای مورد استفاده مانند، OWASP[28]، SANS Checklist [29]، SAFECode[30].
چگونه متوجه می شوید که نسخه های تازه وارد بازار شده نیازهای شما را بدون ریسک تامین میکند؟ آیا اینها قبل از استفاده بازبینی شده؟
چه راهکارهایی برای امن نگه داشتن برنامههای کاربردی وجود دارد؟
جزئیات رویه های مدیریت وصله مورد استفاده را فراهم کنید.
آیا میتوانید تضمین کنید که پروسه مدیریت وصله تمامی لایه های فناوری ابر را پوشش میدهد(مثلا شبکه(مولفه های زیرساخت، روتر و سوییچ)، سرور سیستم عامل، نرمافزار مجازیسازی، زیر سیستمهای امنیتی و برنامه کاربردی(firewalls, antivirus gateway))؟
کنترلهای مورد استفاده برای مقابله با حملات DDoS را تعریف کنید.
عمقا مقابله کنید (deep packet analysis, traffic throttling)
آیا شما دفاع مناسب برای حملات داخلی مانند آنچا برای حملات خارجی وجود دارد دارید؟
چه سطوحی از جداسازی استفاده میشود؟
برای ماشینهای مجازی، ماشینهای فیزیکی، شبکه، ذخیرهسازی، مدیریت شبکه و غیره.
آیا معماری ابر عملیات را هنگامیکه تامین کننده سرویس از کمپانی جدا میشود ادامه میدهد(آیا وابستگی به سیستم LDAP مشتری وجود دارد)؟
آیا زیرساخت شبکه مجازی استفاده شده توسط تامین کننده ابر (معماری 802.1q [31]) توسط استانداردها امن شده است(آیا با پیکره بندی های امنیتی خاص در مقابل حملاتی مانند MAC spoofing, ARP poisoning attacks امن شده)؟
آیا تامین کننده تضمین میکند که تصاویر ماشینها مقاومسازی شدهاند؟
آیا تصاویر مقاوم شده در برابر دسترسی غیر مجاز محافظت میشوند؟
آیا تامین کننده میتواند تصویر مجازیسازی شده که احراز هویت نشده است را تایید کند؟
آیا هاست میتواند با حداقل پورت های مورد نیاز کار کند؟
اگر بخواهیم بطور عمومی صحبت کنیم، تامین کننده سرویس PaaS مسئول امنیت لایههای نرمافزاری پلتفرم میباشد، و توصیه های این متن برای تامین کننده PaaS میتواند اصولی را نشان دهد که برای مدیریت و طراحی سکوی PaaS کمک کند. اینکه اطلاعات جزئیات امن سازی سکوها را از تامین کننده PaaS بدست آورد بسیار مشکل است – سوالاتی که در ادامه این متن میآید میتواند در این امر کمک کند.
درخواست اطلاعات درباره اینکه چگونه برنامههای کاربردی چند مالکی از هم جدا میشوند – توضیح سطح بالا از معیارهای جداسازی مورد نیاز است.
چه تضمین هایی تامین کننده PaaS میتواند برای محدود شدن دسترسی به داده شما ارائه دهد؟
معماری سکوی شما باید از نوع معماری کلاسیک sandbox باشد – آیا تامین کننده ابر پلتفرم را برای آسیبپذیریها و باگ ها مانیتور میکند؟
تامین کننده PaaS باید قادر به پیشنهاد دادن برخی ویژگیهای امنیتی باشد – آیا اینها شامل احراز هویت، مجازشناسی و غیره میباشد؟
مدل SaaS این ایده را دارد که تامین کننده مدیریت تمامی برنامههای کاربردی که به کاربر نهایی تحویل میشود را بر عهده دارد. بنابراین تامین کننده های SaaS مسئول تامین امنیت برنامههای کاربردی هستند. مشتریان مسئول پروسه های امنیتی عملیاتی هستند. با این حال سوالات زیر میتواند کمک باشد:
چه کنترلهای مدیریتی فراهم شده و آیا این کنترلها را میتوان برای اختصاص دادن امتیاز خواندن و نوشتن به کاربران استفاده کرد؟
آیا کنترل دسترسی SaaS ریزدانه است و میتواند برای خط مشی سازمانها سفارشی شود؟
در رویداد اضافه بار منبع (پردازش، حافظه، ذخیرهسازی، شبکه):
چه اطلاعات اضافه ای درباره امتیازات مربوط داده شده؟
آیا تغییری در زمان انجام کار و نیازمندی ها ایجاد شده؟
تا چه میزان میتوانید گسترش مقیاس دهید؟ آیا تامین کننده میتواند این تضمین را بدهد که حداکثر منابع در حداقل زمان ارائه میشوند؟
گسترش مقیاس تا چه حد سریع انجام میشود؟ آیا تامین کننده دسترس پذیری منابع در حداقل زمان را تضمین میکند؟
چه پروسه هایی برای سروکار داشتن با فرآیندهای در مقیاس بزرگ وجود دارند؟
کنترل های زیر برای سیستمهای مدیریت دسترسی و هویت توسط تامین کننده ابر مورد استفاده قرار میگیرند:
آیا حساب کاربریای وجود دارد که دارای امتیاز دسترسی به تمام سیستم ابر باشد؟ اگر بله، برای چه عملیاتی (خواندن/نوشتن/حذف)؟
حساب های کاربری با سطح امتیاز بالا چگونه احراز هویت و مدیریت میشوند؟
تصمیمات کلیدی چگونه مجازشناسی میشوند؟
آیا نقش های با امتیاز بالا به یک شخص داده میشود؟
آیا از کنترل دسترسی مبتنی بر نقش202 استفاده میکنید؟
چه چک هایی بر روی هویت حساب ها و ثبت نام ها انجام میشود؟ آیا از استاندارد خاصی استفاده میشود؟
آیا سطوح مختلف چک کردن هویت بر اساس منابع مورد نیاز انجام میشود؟
چه پروسه هایی برای حذف هویت وجود دارد؟
چه کنترل های حمایتی و ذخیرهسازی داده برای دایرکتوری کاربر (مثلا AD203 و LDAP204) و دسترسی به آن استفاده میشود؟
آیا دایرکتوری کاربر قابل مرور میباشد؟
آیا من نیاز به دسترسی پایه ای به داده مشتری توسط تامین کننده ابر دارم؟
برای کلیدهای تحت کنترل تامین کننده ابر:
آیا کنترل های امنیتی برای خواندن و نوشتن آن کلیدها وجود دارد؟ برای مثال، خط مشی های قوی کلمه عبور، ذخیره کلید در سیستم جدا، ماژولهای امنیتی سختافزاری برای کلیدهای اصلی گواهی ها، احراز هویت مبتنی بر کارت هوشمند و غیره.
آیا کنترل های امنیتی برای بکاربردن کلیدها برای امضا و رمزنگاری داده وجود دارد؟
آیا رویه هایی برای رخدادهای مقایسه کلید وجود دارد؟ مثلا لیست کلیدهای لغو شده.
آیا لغو کلیدها میتواند با چند سایت به طور همزمان کار کند؟
آیا تصاویر سیستم مشتری پشتیبانی و رمز شده است؟
رمزنگاری در چندین مکان میتواند انجام شود، جایی که:
داده در حال انتقال است
داده در حال استراحت است
داده در پردازشگر یا حافظه است
نام کاربری و کلمه عبور؟
آیا خط مشی خوش تعریفی برای اینکه آیا داده باید رمز شود یا خیر وجود دارد؟
چه کسی کلیدهای دسترسی را در اختیار دارد؟
کلیدها چگونه حفاطت میشوند؟
چه فرم هایی از احراز هویت برای عملیاتی که نیاز به تضمین بالا دارند استفاده میشود؟
آیا احراز هویت دو فاکتوره برای مدیریت مولفه های حیاتی استفاده میشود؟
آیا مکانیزم های کشف انحراف وجود دارد؟ مانند چند ورودی205 و ورود در زمان غیر معمول و ... .
چه اقداماتی در صورت دزدی یا خرابی انجام میشود؟
آیا سیستم، اجازه استفاده از زیر ساخت IDM206 که قابل تعامل با سیستمهای با تضمین بالا و پایین میباشد را میدهد؟
آیا تامین کننده ابر قابل تعامل با تامین کننده های شخص ثالث هویت است؟
آیا قابلیت استفاده از single sign on وجود دارد؟
آیا سیستم اعتبار مشتریان اجازه تفکیک نقش ها و مسئولیت ها برای دامنه های مختلف را میدهد؟
دسترسی به تصاویر سیستم مشتری چگونه مدیریت میشود؟
تامین کننده ابر چگونه خود را برای مشتری تعیین هویت میکند؟
وقتی که مشتری فرمان های API را می فرستد؟
وقتی که گزارش مشتری وارد واسط مدیریت میشود؟
آیا شما از مکانیزم فدرال برای احراز هویت پشتیبانی میکنید؟
این نکته که تامین کننده لیستی از دارایی های سختافزاری و نرمافزاری زیر کنترلش داشته باشد مهم میباشد. این لیست برای چک کردن اینکه تمام سیستم از کنترل مشخصی و درستی بهره می برد استفاده میشود، و از آن نمیتوان استفاده غیر مجاز کرد.
آیا تامین کننده از انبارداری اتوماتیک برای دارایی ها استفاده میکند؟
آیا لیستی از دارایی ها که توسط مشتری ای در یک بازه زمانی استفاده شده وجود دارد؟
سوالات زیر در جایی که مشتری نهایی ار دادهها را گسترش میدهد استفاده میشود.
آیا دادهها در شرایط حساس استفاده میشوند؟
اگر بله، آیا تامین کننده در تفکیک درست دادهها کمک میکند؟
برای فهم ریسکهای ناشی از vendor lock in این سوالات باید پاسخ داده شود.
آیا رویه ها و API های مستندی برای خارج کردن داده از ابر وجود دارد؟
آیا فروشنده فرمت های متعارفی را برای خارج کردن داده استفاده میکند؟
در مورد SaaS آیا واسطهای API استاندارد استفاده شده؟
آیا پروسه های تست برای استخراج داده از ابر وجود دارد؟
آیا کاربر میتواند به تنهایی خروج داده را اجرا کرده و عملیات را تایید کند؟
فراهم آوردن دوام برای یک سازمان دارای اهمیت میباشد.
آیا تامین کننده متد مستندی که جزئیات تاثیر شکست را بیان میکند نگهداری می نماید؟
آیا تامین کننده اولویت ها برای بازیابی را دسته بندی کرده است؟
در هنگام در دسترس نبودن سایت اصلی حداقل فاصله از سایت ثانوی چقدر است؟
مدیریت واقعه و پاسخ بخشی از مدیریت دوام کسب و کار میباشد. هدف این پروسه مشخص کردن تاثیر رخداد های غیرمنتظره و بالقوه نابود کننده و رساندن این تاثیر به یک سطح قابل پذیرش است.
برای ارزیابی قابلیت یک سازمان در حداقل کردن امکان اتفاق افتادن رویدادها و کم کردن تاثیر آنها سوالات زیر باید پرسیده شود:
آیا تامین کننده پروسه رسمی برای کشف، شناسایی، تحلیل و پاسخ به رویدادها دارد؟
قابلیتهای کشف چگونه ساختار داده شدهاند؟
مشتری ابر چگونه چیزهای غیرعادی را و رخداد های امنیتی را به تامین کننده گزارش میدهد؟
چه تسهیل کننده هایی تامین کننده در اختیار قرار میدهد؟
آیا سرویس مانیتورینگ بلادرنگ امنیتی210 وجود دارد؟ آیا این سرویس برونسپاری شده است؟
گزارشهای امنیتی تا چه مدت زمانی نگهداری میشوند؟
سطوح سخت گیری چگونه تعریف شدهاند؟
پروسه های تعدیل چگونه تعریف شدهاند؟
وقایع چگونه مستند شده و شواهد چگونه نگهداری میشود؟
علاوه بر احراز هویت، مجازشناسی و حسابرسی چه کنترل های دیگری انجام میشود؟
آیا تامین کننده تصویری قانونی از ماشین مجازی را به مشتری پپیشنهاد میدهد؟
تامین کننده هر چند وقت بازیابی از سوانح را انجام میدهد؟
آیا تامین کننده دادههای مربوط به سطح رضایت از SLA ها را جمع آوری میکند؟
آیا تامین کننده تست های آسیبپذیری را انجام میدهد؟ هر چند وقت؟
موضوعات بالقوه ای برای زیر ساخت های فناوری اطلاعات که زیر نظر شخص ثالث هستند بوجود میآید – مانند برونسپاری های معمول، این موضوعات باعث میشود که تاثیر یک نفوذ فیزیکی مثل تاثیر امنیت پرسنل در سازمان تواند چندین مشتری را تحت تاثیر قرار دهد.
چه تضمینی برای امنیت فیزیکی محلی میتوانید به مشتری ارائه دهید؟ مثلا تضمین هایی که در ISO 27001/1 وجود دارد.
چه کسی غیر از پرسنل فناوری اطلاعات دسترسی بدون نظارت به زیر ساخت های فناوری اطلاعات دارد؟ (مثلا مدیران، حراست و مشاوران).
قوانین دسترسی هر چند وقت بازبینی میشود؟
شناسایی ریسک چگونه انجام میشود؟ هر چند وقت انجام میشود؟
آیا شما پرسنلی که به دادههای حفاظت شده دسترسی دارند را مانیتور میکنید؟
برای نصب و راه اندازی تجهیزات چه رویه ها و خط مشی ای دارید؟
آیا اقلام تحویلی برای ریسکها بازرسی میشود؟
آیا انباره فیزیکی بروز شده برای استفاده بعنوان مرکز داده وجود دارد؟
آیا کابل های شبکه از مسیر هایی که گذر عمومی دارد می گذرد؟
آیا تجهیزاتی خارج از سایت برای کار استفاده میشود؟
آیا پرسنل شما از تجهیزات همراه (رایانه همراه، تلفن هوشمند و ...) که به مرکز داده دسترسی دارد استفاده میکنند؟ چگونه مباحث امنیتی برای آنها تامین شده؟
برای از بین بردن سیستمها و رسانههای قدیمی چه رویههایی وجود دارد؟
برای انتقال تجهیزات از یک سایت به سایت دیگر چه پروسههای مجازشناسی انجام میشود؟
بازرسی های تجهیزات هر چند وقت انجام میشود؟
چک های حقوقی برای تامین نیازمندی های قانونی هر چن وقت انجام میشود؟
چه رویه ها و خط مشی ای وجود دارد تا تضمین کند که موضوعات محیطی بر روی سرویس رسانی اختلال ایجاد نمیکنند؟
برای مقابله با خسارات آتش، سیل و زلزله از چه متدی استفاده میکنید؟
در مواقع حادثه چه موارد امنیتی اضافه ای دارید؟
آیا سایت ثانوی وجود دارد؟
آیا دما و رطوبت محیط را مانیتور میکنید؟
آیا ساختمان خود را در برابر رعد و برق مقاوم کردهاید؟
آیا ژنراتور برق مورد استفاده در هنگام قطع برق دارید؟
چقدر کار میکند؟
هر چند وقت بازبینی میشود؟
آیا تمام موارد (برق و آب و ...) قابل استفاده در محیط شما هستند؟
آیا سیستم تهویه مناسب را دارا هستید؟
آیا از توصیه های نگهداری ابزار محیط خود استفاده میکنید و آنها را رعایت میکنید؟
آیا وقتی تجهیزات برای تعمیر ارسال میشود از قبل دادههای آن پاک شده است؟
چگونه این کار را انجام می دهید؟
مشتریان ابر باید الزامات قانونی را که در داخل و خارج از چارچوب ابر وجود دارد را به طور کامل مراعات کنند. این الزامات در سطوح ملی و فرا ملی هم مطرح میباشد.
سوالات قانونی کلیدی که مشتری باید از تامین کننده ابر بپرسد عبارتند از:
تامین کننده ابر در کدام کشور قرار دارد؟
آیا زیر ساخت ابر در همان کشور یا کشور های دیگر است؟
آیا تامین کننده ممکن است از زیر ساخت های دیگر کمپانی ها هم استفاده کند؟
دادهها از نظر فیزیکی در کجا قرار دارند؟
آیا حوزه ها بر اساس شرایط قرارداد بخش بندی شده است؟
آیا ممکن است سرویسی از قرار داد حذف شود؟
| پرسشهای مروری فصل 9 |
|
| تحقیق و پژوهشی فصل 9 |
|
مراجع
Gartner, "Seven cloud-computing security risks," Network World , July 2008
John, W. R. and F. R. James. "Cloud Computing Implementation, Management, and Security", CRC Press, 2010
Enica: European Network and Information Security Agency, "Cloud Computing- Benefits, risks and recommendations for information security", 2009
SUN - Project Kenai: http://kenai.com/projects/suncloudapis/pages/HelloCloud #Examining_the_Virtual_Data_Center, Accessed at May 2010.
ISO/IEC. ISO/IEC 27001:2008 Information technology - Security Techniques – Information security risk management; Annex E: Information security risks assessment approaches, 2008
Data Liberation Front, Google, http://www.dataliberation.org, Accessed at May 2010
Wikipedia: http://en.wikipedia.org/wiki/Open_Virtualization_Format
BBC: http://news.bbc.co.uk/2/hi/uk_news/scotland/glasgow_and_west/6089736.stm
Retailresearch.org: http://www.retailresearch.org/reports/fightinternalfraud.php
Enterprise Storage Forum, www.enterprisestorageforum.com/continuity/news/article.php/3800226
Electronic Discovery Navigator, http://www.ediscoverynavigator.com/statutesrules/
Find Law http://technology.findlaw.com [Online] http://technology.findlaw.com/articles/01059/011253.html
Samuel T King, Peter M Chen, Yi-Min Wang, Chad Verbowsk, Helen J Wang, Jacob R Lorch SubVirt: Implementing malware with virtual machines. 2006
Secunia: http://secunia.com/advisories/37081/
http://secunia.com/advisories/36389/
Ormandy, Tavis: http://taviso.decsystem.org/virtsec.pdf
Gentry, Craig: http://delivery.acm.org/10.1145/1540000/1536440/p169 gentry.pdf?key1=1536440&key2=6166986521&coll=GUIDE&dl=GUIDE&CFID=60359435&CFTOKEN=10086693
Schneier, Bruce: http://www.schneier.com/blog/archives/2009/07/homomorphic_enc.html
www.spywarewarrior.com:http://www.spywarewarrior.com/uiuc/ss/revoke/pgp revoke.htm
RSA Laboratories, PKCS#11:http://www.rsa.com/rsalabs/node.asp?id=2133
Jun Zhou, Mingxing He: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4716141
Clulow, Tyler Moore and Jolyon:http://people.seas.harvard.edu/~tmoore/ifipsec-pres.pdf
Andrew Bechere, Alex Stamos, Nathan Wilcox: http://www.slideshare.net/astamos/cloud-computing-security
Open Source Xen Community: http://xen.org/
Common Criteria Recognition Agreement (CCRA): http://www.commoncriteriaportal.org/ [Online]
OWASP: http://www.owasp.org/index.php/OWASP_Top_Ten_Project
OWASP: http://www.owasp.org/index.php/Category:OWASP_Guide_Project
OWASP: http://www.owasp.org/index.php/Main_Page
SANS Institute: http://www.sans.org/reading_room/whitepapers/securecode/ a_security_checklist_for_web_applcation_design_1389?show=1389.php&cat=securecode
Software Assurance Forum for Excellence in Code (SAFECode), http://www.safecode.org
IEEE Standards Association: http://standards.ieee.org/getieee802/download/802.1Q2005.pdf
Steve Mansfield-Devine, "Danger in the clouds," Network Security, Volume 2008, Issue 12, December 2008, Pages 9-11
Service Level Agreement↩︎
Cross-Side-Scripting↩︎
Cross-site request forgery↩︎
Replication↩︎
Disaster Recovery↩︎
Intrusion↩︎
Patch management↩︎
Replicate↩︎
Disaster Recovery↩︎
Edge networks↩︎
Improve timeliness of response to incidents↩︎
Threat management↩︎
Resilience↩︎
Managed Security Services (MSS)↩︎
Cloud Provider↩︎
Traffic shaping↩︎
Cloning↩︎
Terms of Use (ToU)↩︎
Runtime↩︎
Compliance↩︎
Migrating↩︎
Cloud Customer↩︎
malicious↩︎
tenant↩︎
neighbor subpoenaed↩︎
Cloud service termination or failure↩︎
Cloud computing acquisition↩︎
Insecure or ineffective deletion of data↩︎
Undertaking malicious probes or scans↩︎
changes of jurisdiction↩︎
Licensing risks↩︎
IE, network congestion / mis-connection / non-optimal use↩︎
Authentication↩︎
Authorization↩︎
Accounting↩︎
Registration↩︎
De-provisioning↩︎
Logical Unit Number↩︎
Hardware Security Module↩︎
Random Number Generator↩︎
No source escrow agreement↩︎
Sensitive media sanitization↩︎
Synchronizing responsibilities or contractual obligations external to cloud↩︎
Cross-cloud applications creating hidden dependency↩︎
Resource capping↩︎
Untrusted software↩︎
Resource consumption vulnerabilities↩︎
Non-disclosure agreement↩︎
Cloud customer↩︎
Intellectual property↩︎
Cloud provider↩︎
Remote shell↩︎
Network and information security↩︎
Role-based access control (RBAC)↩︎
Active Directory↩︎
Lightweight Directory Access Protocol↩︎
Multiple login↩︎
Identity Management↩︎
Business Continuity Management↩︎
Recovery Point Objective↩︎
Recovery Time Objective↩︎
Real Time Security Monitoring (RTSM)↩︎
سرویسهای وب آمازون از طریق پروتکل های SOAP و REST قابل دسترسی هستند. همچنین امکان دسترسی به آنها از طریق دستورات سطح بالاتر خط فرمان نیز امکانپذیر است. این دستورات در این قسمت تشریح میشوند. انتزاع های سطح بالاتر متفاوت دیگری نیز وجود دارد که SOAP و API ها را در زبان های برنامه سازی دیگر پیادهسازی کردهاند. اگر شما ابزارهای برای مدیریت EC2 و S3 ایجاد میکنید، باید بهترین کتابخانه ای را که مناسب با زبان برنامهنویسی و قابلیتهای مورد نیازتان هست انتخاب کنید.
ابزارهای خط فرمان EC2 بر اساس API های سرویسهای وب توسعه داده شدهاند. در حقیقت یک نگاشت یک به یک بین یک خط فرمان و ورودیهای آن با فراخوانی یک API با نام و پارامتر های مشابه وجود دارد. هر دستور قالب زیر را دارد:
command [GENERAL OPTIONS] [COMMAND OPTIONS]
برای مثال، دستور اجرای یک نمونه EC2 به این صورت است:
ec2-run-instances -v ami-123456 -g dmz
در این نمونه، سوئیچ –v یک گزینه عمومی برای مشاهده جزئیات خروجی است و ami-123456 -g dmz گزینههای خاص مربوط به این دستور هستند. گزینههای عمومی به این صورت هستند:
-C certificate
گواهینامه ای که برای احراز هویت درخواست سرویس وب به آمازون مورد استفاده قرار میگیرد. این مقدار، میتواند بجای متغییر محیطی EC2_CERT مورد استفاده قرار بگیرد.
--connection-timeout
تعیین زمان timeout اتصال SOAP بر حسب ثانیه
--debug
نمایش اطلاعات خطایابی
--headers
نمایش ستون عنوان
--help
نمایش اطلاعات کمکی در خصوص یک دستور
-K privatekey
کلید خصوصی برای احراز هویت درخواست سرویس وب به آمازون. این مقدار میتواند بجای متغییر محیطی EC2_PRIVATE_KEY مورد استفاده قرار گیرد.
--region region
انتخاب ناحیه ای که باید به دستور اعمال شود.
--request-timeout
تعیین زمان timeout یک درخواست SOAP بر حسب ثانیه
--show-empty-fields
نمایش ستون های خالی که در پاسخ یک دستور بصورت nil هستند.
-U url
تعیین آدرس URL سرویسهای وب آمازون برای فراخوانی API. این مقدار میتواند بجای متغییر محیطی EC2_URL مورد استفاده قرار گیرد.
-v
نمایش جزئیات خروجی یک دستور. در این حالت درخواست ها و پاسخ های SOAP نمایش داده میشود.
ec2-add-group groupname -d description
افزودن یک گروه امنیتی جدید به محیط EC2. نام گروهی که تعیین میکنید، در شناسایی گروه به دیگر دستورات مورد استفاده قرار میگیرد. description توضیحاتی است که شما برای یادآوری هدف ایجاد گروه میتوانید به آن اضافه کنید. گروه جدید امکان دسترسی خارجی به نمونه های موجود در خود را نمیدهد. شما باید از ec2-authorize برای تعیین مجوزهای دسترسی به آن، قبل از اینکه هرگونه ترافیکی را به سمت آن گروه هدایت کنید، استفاده نمایید.
مثال:
$ ec2-add-group mydmz -d DMZ
GROUP mydmz DMZ
ec2-add-keypair keyname
ایجاد یک جفت کلید RSA 2048-bit. نامی که شما تعیین میکنید، برای ارجاع به کلید با استفاده از دیگر دستورات مورد استفاده قرار میگیرد. این دستور، کلید عمومی را در آمازون قرار میدهد و کلید خصوصی را بر روی stdout نمایش میدهد. شما باید بطور امن کلید خصوصی را برای استفاده در دسترسی به نمونه هایی که اجرا میکنید با استفاده از این جفت کلید ذخیره کنید.
مثال:
$ ec2-add-keypair georgekey
----- KEYPAIR georgekey 2e:82:bb:91:ca:51:22:e1:1a:84:c8:19:db:7c:8b:ad:f9:5e:27:3e
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAkot9/09tIy5FJSh0X5vLGCu3so5Q4qG7cU/MBm45c4EVFtMDpU1VpAQi1vn9 r7hr5kLr+ido1d1eBmCkRkHuyhfviJmH1FTOWm6JBhfOsOgDU0pInyQOP0nRFLx4eyJfYsiK/mUm hiYC9Q6VnePjMUiHSahOL95C8ndAFBlUAuMDDrXMhLypOGRuWkJo+xtlVdisKjlOT0l33q3VSeT6 NBmZwymWOguGWgKWMpzpDLhV9jhDhZgaZmGUKP0wPQqdV6psA9PuStN1LJkhWVYuQTqH9UUolvJn ZXx5yE2CSpPW+8zMb4/xUuweBQ6grw8O3IxhKWbFCpGGhkpk5BB+MQIDAQABAoIBAQCIs6U6mA4X 5l7MFdvRIFSpXIbFAutDLlnbjvOlAAeJzt0saHWbKvP7x3v0jElxNRk6OC1HMqIh9plyW46Cl5i4 XvGsvIOvt9izFS+vRmAiOJx5gu8RvSGpOiPXMyU0wFC4ppi6TQNN2oGhthQtsFrMK3tAY8dj8fMD mehll2b+NPZRWPp9frm3QtwLIOMeWm1ntknCVSjBqj21XRg3UPbE8r8ISlSGryqJBA0KjnOj+cMN 2SBx8iC+BHxD9xSUvXs4hVjUpQofzd+8BAZbsXswj+/ybuq1GlNwzpUKKEfH1rN3TZztywN5Z9Hb EbkOtgRYi/2htSpbuDq5b/cTaxIRAoGBAOLRgfZhEwnGQvveMOhRLLko1D8kGVHP6KCwlYiNow07 G8FkP6U3wcUrsCTtvOFB/79FeWVT+o7v25D34cYFtGbfnp3Zh9bdTBi18PbIHQHvD4tIAIF+4PcO XMRsJCrzhChOLY1G/laMi5EKFcx6RU8Pjup92YbEbi/fkybcrmS9AoGBAKVmGI5PV00A10LQkTov CnLuyfAPL9s8w6eOy+9WMRd8+27tI6H8yGuEdsF9X9bOJQsnTM3+A+RC8ylVXWPgiflbcpbPsZ8a HVuTg37D/iFpl42RzrMtzhgLCahvNotirNyAYnklBsOlmtsQdJSJ0GPpv4SOloSoPT+jbP4ONUiF AoGAWU48aZHXOSYDAcB+aTps7YqR5zqDbZ767SoZ9mYuKOt5BjA+jwLhHI0TEbc5g0fFNr5YCfmC 0fzG6tFu59UfLtIlVelsfsErUR9x/PjV0wkZibGT4Wjfkubox738j5zKEESX0uR9B/7WhQj/hD8w QuzRTKq4l0OITvksq0SAtdECgYAqpr1GVWdp0AGylR4eJutG4BTq9r+chXrexpAIU+2s5OnhnP1H VGxKbYpCMxZ3ygj7a1L++7X9MtaJnh3LF6f8yXwvL7faE13ms4+BLQFnlFckhqkKw5EV2iLPcH5c S0HQSrsaClZINXhNbVziwPcgDLL6d9qQsuG4e2gry3YqEQKBgFHqE4UJCOd5WiAG0N0cYDTF/wh6 iujW5tY90F63xAn2B236DGE+8o2wGwU77u59LO7jyx4WyR8TpcorL79zZuzm0Vjn9nslAu7tkS6O wmdEM0O2LrGnKGydSdRF50NH8Tgb060txh+hWyWtvkP0tSOZyGu1z7S7JS0ZPX42Arm8 END RSA PRIVATE KEY----- دستور ec2-allocate-address ec2-allocate-address اختصاص یک آدرس IP معتبر جدید و نمایش آدرس اختصاص داده شده بر روی صفحه. این آدرس جدید تنها برای شما در دسترس خواهد بود تا آن را با نمونه هایی که بخواهید اختصاص دهید. آمازون بابت این آدرسهای IP از شما هزینه دریافت میکند. مثال: $ ec2-allocate-address ADDRESS 67.202.55.255 دستور ec2-associate-address ec2-associate-address -i instanceid ipaddress اختصاص یک آدرس بدست آمده از طریق ec2-allocate-address به نمونه EC2 در حال اجرا. چنانچه این آدرس به نمونه دیگری اختصاص داده شده بود، توسط این دستور از آن جدا میشود. بنابراین مهم است که بطور تصادفی از این دستور استفاده نکنید. مثال: $ ec2-associate-address -i i-12b3ff6a 67.202.55.255 ADDRESS 67.202.55.255 i-12b3ff6a دستور ec2-attach-volume ec2-attach-volume volumeid -i instanceid -d device اختصاص یک حافظه ذخیرهسازی ثابت به یک نمونه EC2 در حال اجرا بطوری که بصورت یک درایو برای آن قابل دسترس باشد. نام درایو مستقل از پلتفرم است. مثلا در سیستم عامل لینوکس بصورت / dev/sdh و در ویندوز بصورت xvdh است. این حافظه ها که از نوع block storage هستند را میتوانید mount نموده و یا توسط دستورات مدیریت دیسک در سیستم عامل format کنید. خروجی این دستور وضعیت اتصال حافظه را به همراه اطلاعات آن نمایش میدهد. مثال: $ ec2-attach-volume vol-81aeb37f -i i-12b3ff6a -d /dev/sdf ATTACHMENT vol-81aeb37f i-12b3ff6a /dev/sdf attaching 2008-12-17T22:36:00+0000 دستور ec2-authorize ec2-authorize groupname -P protocol (-p portrange | -t icmptypecode) [-u sourceuser ...] [-o sourcegroup ...] [-s sourceaddress] اجازه دسترسی ترافیک شبکه به یک نمونه EC2 اجرا شده در گروه خاص توسط این دستور امکانپذیر است. شما میتوانید ترافیک ورودی را بر اساس معیارهای مختلفی اعتبارسنجی کنید: بر اساس ترافیک ورودی از یک زیر شبکه خاص بر اساس گروه عضویت نمونه EC2 مبدا بر اساس پروتکل ( TCP، UDP، ICMP ) بر اساس پورت مقصد بطور پیش فرض، یک گروه امکان ورود هیچ ترافیکی را به یک نمونه EC2 خاص نمیدهد، مگر نمونه هایی که در همان گروه قرار داشته باشند. برای ورود ترافیک، شما باید بطور خاص اجازه ورود آن را بدهید. مثال: # Grant port 80 access to all traffic regardless of source $ ec2-authorize mydmz -P tcp -p 80 -s 0.0.0.0/0 GROUP mydmz PERMISSION mydmz ALLOWS tcp 80 80 FROM CIDR 0.0.0.0/0 # Grant access to the app server group from the DMZ group $ ec2-authorize myapp -u 999999999999 -o mydmz GROUP myapp PERMISSION myapp ALLOWS all FROM USER 999999999999 GRPNAME mydmz # Grant access to a range of ports from a specific IP address $ ec2-authorize mydmz -P udp -p 3000-4000 -s 67.202.55.255/32 GROUP mydmz PERMISSION mydmz ALLOWS udp 3000 4000 FROM CIDR 67.202.55.255/32 دستور ec2-bundle-instance ec2-bundle-instance instanceid -b s3bucket -p prefix -o accesskey (-c policy | -w secretkey) این دستور فقط مربوط به نمونه های ویندوزی است که نمونه ویندوزی را دسته بندی کرده و آن را برای ذخیرهسازی در S3 آماده میکند و سپس باید توسط ec2-register ثبت شود. مثال: $ ec2-bundle-instance i-12b3ff6a -b mybucket -p myami -o 999999999999 -w lY1zp/1iKzSAg9B04lQ0T3gMxje7IfnXtN5asrM/dy== BUNDLE bun-abd5209d8 i-12b3ff6a mybucket myami pending 2008-12- 18T13:08:18+0000 2008-12-18T13:08:18+0000 دستور ec2-cancel-bundle-task ec2-cancel-bundle-task bundleid این دستور فقط مربوط به نمونه های ویندوزی است که فرآیند bundle را که در حال انجام است متوقف میکند. مثال: $ ec2-cancel-bundle-task bun-abd5209d8 BUNDLE bun-abd5209d8 i-12b3ff6a mybucket myami canceling 2008-12- 18T13:13:29+0000 2008-23-18T13:13:29+0000 دستور ec2-confirm-product-instance ec2-confirm-product-instance productcode -i instanceid به صاحب یک AMI امکان بررسی اینکه آیا یک نمونه خاص دارای کد محصول میباشد را میدهد. مثال: $ ec2-confirm-product-instance zt1 -i i-12b3ff6a ztl i-12b3ff6a false دستور ec2-create-snapshot ec2-create-snapshot volumeid ایجاد یک تصویر تفاضلی از درایو خاص و ذخیرهسازی آن در S3 . بهتر است زمانی این تصویر تهیه شود که سیستم فایل در حالت ثابت " frozen " قرار داشته باشد تا از پایداری آن اطمینان حاص شود. پس از اینکه خروجی دستور با موفقیت نمایش داده شد، میتوان مجدداً نوشتن بر روی دیسک را آغاز کرد. مثال: $ ec2-create-snapshot vol-12345678 SNAPSHOT snap-a5d8ef77 vol-12345678 pending 2008-12-20T20:47:23+0000 دستور ec2-create-volume ec2-create-volume (-s size | --snapshot snapshotid) -z zone ایجاد یک درایو جدید با اندازه مشخص یا بر اساس تصاویر تهیه شده در همان ناحیه دسترسی. پارامتر اندازه بر حسب گیگابایت میباشد. مثال: # Create a new volume of 10 GB $ ec2-create-volume -s 10 -z eu-west-1a VOLUME vol-12345678 10 eu-west-1a creating 2008-12-20T20:47:23+0000 # Create a volume based on a stored snapshot $ ec2-create-volume --snapshot snap-a5d8ef77 -z eu-west-1a VOLUME vol-12345678 10 eu-west-1a creating 2008-12-20T20:47:23+0000 دستور ec2-delete-group ec2-delete-group group حذف یک گروه امنیتی از حساب کاربری شما. تا زمانی که نمونه ای در یک گروه امنیتی قرار داشته باشد، نمیتوانید آن را حذف کنید. مثال: $ ec2-delete-group mydmz GROUP mydmz دستور ec2-delete-keypair ec2-delete-keypair keypair حذف کلید عمومی مربوط به یک زوج کلید از حساب کاربری شما. مثال: $ ec2-delete-keypair georgekey KEYPAIR georgekey دستور ec2-delete-snapshot ec2-delete-snapshot snapshotid حذف یک تصویر از حساب کاربری شما. مثال: $ ec2-delete-snapshot snap-a5d8ef77 SNAPSHOT snap-a5d8ef77 دستور ec2-delete-volume ec2-delete-volume volumeid حذف یک درایو از حساب کاربری شما. مثال: $ ec2-delete-volume vol-12345678 VOLUME vol-12345678 دستور ec2-deregister ec2-deregister imageid ابطال 211 یک تصویر ماشین مجازی بطوری که دیگر نمیتوانید نمونه ای را از آن ایجاد کنید. شما باید AMI مربوطه را بطور جداگانه از S3 حذف کنید تا حافظه اشغال شده توسط آن نیز آزاد شود. مثال: $ ec2-deregister ami-f822a39b IMAGE ami-f822a39b دستور ec2-describe-addresses ec2-describe-addresses [ipaddres1 [...ipaddressN]] نمایش اطلاعات مربوط به یک آدرس IP معتبر. اگر آدرس خاصی تعیین نکرده باشید، همه آدرسهایی را که به منطقه EC2 خود اختصاص داده اید، نمایش میدهد: مثال: # SHOW ALL ALLOCATED $ ec2-describe-addresses ADDRESS 67.202.55.255 i-12b3ff6a ADDRESS 67.203.55.255 # SHOW A SPECIFIC ADDRESS $ ec2-describe-addresses 67.202.55.255 ADDRESS 67.202.55.255 i-12b3ff6a دستور ec2-describe-availability-zones ec2-describe-availability-zones [zone1 [...zoneN]] نمایش اطلاعات مربوط به یک ناحیه دسترسی EC2 خاص. اگر ناحیه ای را تعیین نکنید، همه ناحیه های موجود در منطقه EC2 شما لیست میشود. مثال: # SHOW ALL ALLOCATED $ ec2-describe-availability-zones AVAILABILITYZONE us-east-1a available AVAILABILITYZONE us-east-1b available AVAILABILITYZONE us-east-1c available # SHOW A SPECIFIC ZONE $ ec2-describe-availabilty-zones us-east-1a AVAILABILITYZONE us-east-1a available # SHOW ALL EU ZONES $ ec2-describe-availability-zones --region eu-west-1 AVAILABILITYZONE eu-west-1a available AVAILABILITYZONE eu-west-1b available دستور ec2-describe-bundle-tasks ec2-describe-bundle-tasks [bundle1 [...bundleN]] این دستور فقط برای نمونه های ویندوز قابل استفاده است که اطلاعات مربوط به یک فعالیت bundle خاص را نمایش میدهد. اگر فعالیت مشخصی تعیین نشده باشد، لیست همه فعالیت های bundle نمایش داده میشود. مثال: # SHOW ALL TASKS $ ec2-describe-bundle-tasks BUNDLE bun-abd5209d8 i-12b3ff6a mybucket myami pending 2008-12- 18T13:08:18+0000 2008-12-18T13:08:18+0000 BUNDLE bun-abd5209d9 i-12b3ff7a mybucket myami pending 2008-12- 18T13:08:18+0000 2008-12-18T13:08:18+0000 # SHOW SPECIFIC TASK $ ec2-describe-bundle-tasks bun-abd5209d8 BUNDLE bun-abd5209d8 i-12b3ff6a mybucket myami pending 2008-12- 18T13:08:18+0000 2008-12-18T13:08:18+0000 دستور ec2-describe-group ec2-describe-group [group1 [...groupN]] نمایش اطلاعات مربوط به یک گروه امنیتی خاص. اگر گروهی مشخص نشده باشد، همه گروههای امنیتی حساب کاربری شما نمایش داده خواهد شد. مثال: # SHOW ALL GROUPS $ ec2-describe-group GROUP mydmz DMZ PERMISSION mydmz ALLOWS tcp 80 80 FROM CIDR 0.0.0.0/0 GROUP myapp App PERMISSION myapp ALLOWS all FROM USER 999999999999 GRPNAME mydmz # SHOW A SPECIFIC GROUP $ ec2-describe-group mydmz PERMISSION mydmz ALLOWS tcp 80 80 FROM CIDR 0.0.0.0/0 دستور ec2-describe-image-attribute ec2-describe-image-attribute imageid (-l | -p) نمایش مشخصه های یک AMI خاص. شما میتوانید تعیین کنید که مجوزهای اجرا یا کدهای محصول را نیز مشاهده کنید. مثال: # SHOW LAUNCH PERMISSIONS $ ec2-describe-image-attribute ami-f822a39b -l launchPermission ami-f822a39b userId 999999999999 # SHOW PRODUCT CODE $ ec2-describe-image-attribute ami-f822a39b -p productCodes ami-f822a39b productCode zz95xy دستور ec2-describe-images ec2-describe-images [imageid1 [...imageidN]] [-a] [-o ownerid] [-x ownerid] مشاهده اطلاعات مربوط به یک تصویر خاص یا هر تصویری که با پارامترهای مشخص شده مطابقت داشته باشد. اگر شما پارامتری را تعیین نکنید، لیست همه تصاویری که متعلق به شما باشد را مشاهده خواهید کرد. گزینههای مرتبط با آن به این صورت میباشد: -a مشاهده لیست AMI هایی که کاربر مجوز اجرای آنها را دارد. -o ownerid مشاهده لیست AMI هایی که متعلق به یک کاربر خاص است. همچنین میتوان از شناسه های خاص استفاده کرد: amazon (برای تصاویر عمومی)، self (تصاویر متعلق به شما)، explicit (اشاره به تصاویری که شما مجوز اجرای آنها را دارید). -x ownerid مشاهده لیست AMI هایی را که یک کاربر یا کاربران خاصی اجازه اجرای آن را دارند. علاوه بر شماره شناسه استاندارد، میتوانید از عبارت self برای مشاهده تمام AMI هایی که اجازه اجرا آنها را دارید استفاده کنید. یک روش مناسب برای پیداکردن تصویری که بتوانید از آن برای شروع کار استفاده کنید، استفاده از این دستور بصورت زیر میباشد: ec2-describe-images -o amazon مثال: # SHOW ALL OWNER IMAGES $ ec2-describe-images IMAGE ami-f822a39b myami/myami.manifest.xml 999999999999 available private zz95xy i386 machine aki-a71cf9ce ari-a51cf9cc # SHOW IMAGES FOR A SPECIFIC USER $ ec2-describe-images -o 063491364108 IMAGE ami-48de3b21 level22-ec2-images-64/ubuntu-7.10-gutsy-base- 64-20071203a.manifest.xml 063491364108 available public x86_64 machine IMAGE ami-dd22c7b4 level22-ec2-images-64/ubuntu-7.10-gutsy-base- 64-20071227a.manifest.xml 063491364108 available public x86_64 machine دستور ec2-describe-instances ec2-describe-instances [instanceid1 [...instanceidN]] نمایش اطلاعات مرتبط با نمونه ای خاص. اگر نمونه ای تعیین نشده باشد لیست همه نمونه های مربوط به یک حساب کاربری نمایش داده میشود. مثال: # SHOW ALL INSTANCES $ ec2-describe-instances RESERVATION r-3d01de54 999999999999 default INSTANCE i-b1a21bd8 ami-1fd73376 pending 0 m1.small 2008-10- 22T16:10:38+0000 us-east-1a aki-a72cf9ce ari-a52cf9cc RESERVATION r-3d01cc99 999999999999 default INSTANCE i-ccdd1b22 ami-1fd73376 pending 0 m1.small 2008-10- 22T16:10:38+0000 us-east-1a aki-a72cf9ce ari-a52cf9cc # SHOW A SPECIFIC INSTANCE $ ec2-describe-instances i-b1a21bd8 RESERVATION r-3d01de54 999999999999 default INSTANCE i-b1a21bd8 ami-1fd73376 pending 0 m1.small 2008-10- 22T16:10:38+0000 us-east-1a aki-a72cf9ce ari-a52cf9cc دستور ec2-describe-keypairs ec2-describe-keypairs [keypairid1 [...keypairidN]] نمایش اطلاعات مرتبط با یک جفت کلید خاص. اگر کلید خاصی تعیین نشود، همه کلیدهای شما را نمایش میدهد. مثال: $ ec2-describe-keypairs KEYPAIR georgekey 98:21:ff:2a:6b:35:71:6e:1f:36:d9:f2:2f:d7:aa:e4:14:bb:1d:1a دستور ec2-describe-regions ec2-describe-regions [region1 [...regionN]] نمایش اطلاعات مربوط به یک منطقه خاص. اگر منطقه ای تعیین نشده باشد، همه مناطق را نشان میدهد: مثال: $ ec2-describe-regions REGION eu-west-1 eu-west-1.ec2.amazonaws.com REGION us-east-1 us-east-1.ec2.amazonaws.com دستور ec2-describe-snapshots ec2-describe-snapshots [snapshotid1 [...snapshotidN]] نمایش اطلاعات مربوط به یک تصویر خاص. اگر تصویری تعیین نشده باشد، همه تصاویر حساب کاربری نمایش داده میشود. مثال: $ ec2-describe-snapshots SNAPSHOT snap-a5d8ef77 vol-12345678 pending 2008-12-20T20:47:23+0000 50% دستور ec2-describe-volumes ec2-describe-volumes [volumeid1 [...volumeidN]] نمایش اطلاعات مربوط به یک درایو خاص. اگر درایوی تعیین نشده باشد، همه درایو های حساب کاربری نمایش داده میشود. مثال: $ ec2-describe-volumes VOLUME vol-81aeb37f 5 snapa5d8ef77 us-east-1a in-use 2008-12-17T22:36:00+0000 ATTACHMENT vol-81aeb37f i-12b3ff6a /dev/sdf attached 2008-12-17T22:36:00+0000 دستور ec2-detach-volume ec2-detach-volume volumeid [-i instanceid] [-d device] –force جداکردن یک درایو خاص از یک نمونه ای که در حال حاضر به آن متصل است. شما باید مطمئن شوید که قبل از جدا کردن درایو، آن درایو از سیستم فایل unmount شده باشد، در غیر اینصورت احتمال خراب شدن دادهها وجود دارد. اگر درایو جدا نشد، میتوانید با سوئیچ -- force این کار را تکرار کنید. مثال: $ ec2-detach-volume ATTACHMENT vol-81aeb37f i-12b3ff6a /dev/sdf detaching 2008-12-17T22:36:00+0000 دستور ec2-disassociate-address ec2-disassociate-address idaddress جدا کردن یک آدرس IP معتبر از یک نمونه ای که در حال حاضر آدرس به آن اختصاص داده شده است. مثال: $ ec2-disassociate-address 67.202.55.255 ADDRESS 67.202.55.255 دستور ec2-get-console-output ec2-get-console-output instanceid [-r] نمایش خروجی مراحل اجرای یک نمونه. با استفاده از سوئیچ – r (raw) خروجی بدون قالب بندی خاصی نمایش داده میشود. مثال: $ ec2-get-console-output i-b1a21bd8 i-b1a21bd8 2008-12-23T20:03:07+0000 Linux version 2.6.21.7-2.fc8xen (mockbuild@xenbuilder1.fedora.redhat.com) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)) #1 SMP Fri Feb 15 12:39:36 EST 2008 BIOS-provided physical RAM map: sanitize start sanitize bail 0 copy_e820_map() start: 0000000000000000 size: 000000006ac00000 end: 000000006ac00000 type: 1 Xen: 0000000000000000 - 000000006ac00000 (usable) 980MB HIGHMEM available. 727MB LOWMEM available. NX (Execute Disable) protection: active Zone PFN ranges: DMA 0 -> 186366 Normal 186366 -> 186366 HighMem 186366 -> 437248 early_node_map[1] active PFN ranges 0: 0 -> 437248 ACPI in unprivileged domain disabled Detected 2600.043 MHz processor. Built 1 zonelists. Total pages: 433833 Kernel command line: root=/dev/sda1 ro 4 Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 CPU 0 irqstacks, hard=c136c000 soft=c134c000 PID hash table entries: 4096 (order: 12, 16384 bytes) Xen reported: 2600.000 MHz processor. Console: colour dummy device 80x25 Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Software IO TLB disabled vmalloc area: ee000000-f4ffe000, maxmem 2d7fe000 Memory: 1711020k/1748992k available (2071k kernel code, 28636k reserved, 1080k data, 188k init, 1003528k highmem) دستور ec2-get-password ec2-get-password instanceid -k keypair این دستور فقط برای نمونه های ویندوزی قابل استفاده است که کلمه عبور مدیر سیستم را بر اساس زوج کلید برای اجرای نمونه فراهم میکند. مثال: $ ec2-get-password i-b1a21bd8 -k georgekey sZn7h4Dp8 دستور ec2-modify-image-attribute ec2-modify-image-attribute imageid -l -a value ec2-modify-image-attribute imageid -l -r value ec2-modify-image-attribute imageid -p productcode [-p productcode] تغییر مشخصه یک تصویر. سوئیچ – l مشخصه های مجوز اجرا را مشخص میکند و سوئیچ – p کد محصول را تعیین میکند. مثال: # Add access $ ec2-modify-image-attribute ami-f822a39b -l -a 123456789 launchPermission ami-f822a39b ADD userId 123456789 # Remove access $ ec2-modify-image-attribute ami-f822a39b -l -r 123456789 launchPermission ami-f822a39b REMOVE userId 123456789 # Add product code $ ec2-modify-image-attribute ami-f822a39b -p crm114 productCodes ami-f822a39b productCode crm114 دستور ec2-reboot-instances ec2-reboot-instances instanceid1 [...instanceidN] راه اندازی مجدد یک نمونه خاص از خط فرمان. خروجی خاصی برای این دستور وجود ندارد، مگر اینکه با خطایی مواجه شود. مثال: ec2-release-address دستور ec2-release-address ipaddress رهایی آدرسی که در حال حاضر به شما اختصاص داده شده است. وقتی این دستور اجرا شد، شما نمیتوانید آدرس آزاد شده را برگردانید. مثال: $ ec2-release-address 67.202.55.255 ADDRESS 67.202.55.255 دستور ec2-register ec2-register s3manifest ثبت تصویر ماشینی که فایل خلاصه آن ( manifest ) در مکان مشخص شده قرار دارد. مثال: $ ec2-register myami/myami.manifest.xml IMAGE ami-f822a39b دستور ec2-reset-image-attribute ec2-reset-image-attribute imageid –l تنظیم مجدد مشخصه مربوط به مجوز اجرای یک تصویر برای یک تصویر ماشین مجازی مشخص مثال: $ ec2-reset-image-attribute ami-f822a39b -l launchPermission ami-f822a39b RESET دستور ec2-revoke ec2-revoke groupname [-P protocol] (-p portrange | -t icmptypecode) [-u sourceuser ...] [-o sourcegroup ...] [-s sourceaddress] حذف مجوز های داده شده از یک گروه امنیتی خاص. گزینههای آن متناسب با گزینههایی است که در زمان تخصیص مجوز با استفاده از ec2-authoriza استفاده کرده بودید. مثال: $ ec2-revoke -P tcp -p 80 -s 0.0.0.0/0 GROUP mydmz PERMISSION mydmz ALLOWS tcp 80 80 FROM CIDR 0.0.0.0/0 دستور ec2-run-instances ec2-run-instances imageid [-n count] [-g groupname1 [... -g groupnameN]] [-k keypair] -d customdata | -f customfile] [ -t type] [ -z zone] [ --kernel kernelid] [ --ramdisk ramdiskid] [ -B devicemapping] تلاش برای اجرای یک یا چند نمونه EC2 بر اساس یک AMI و گزینههای تعیین شده که به صورت زیر میباشد: -B devicemapping تعیین نحوه نگاشت دستگاه ها با نمونه ای که اجرا میشود. شما میتوانید یکی از انواع نام های مجازی را انتخاب کنید: ami : فایل سیستم ریشه که توسط نمونه دیده میشود root : فایل سیستم ریشه که توسط کرنل دیده میشود. swap : درایو swap که توسط نمونه دیده میشود. ephemeralN: N امین دستگاه ذخیرهسازی جانبی -d customdata دادههایی که باید برای نمونه در حال اجرا در دسترس باشد. اگر بخواهید دادههای زیادی را تعیین کنید، میتوانید آنها را در داخل یک فایل قرار دهید و از سوئیچ – f استفاده کنید. -f customfile نام یک فایل با دادههای زمان اجرا که باید برای نمونه ای که اجرا میشود در دسترس قرار گیرد. -g groupname نام گروه امنیتی که قوانین آن باید بر نمونه (ها)ی در حال اجرا اعمال شود. شما میتوانید چندین گروه امنیتی را برای آنها تعیین کنید. اگر چندین گروه امنیتی تعیین کنید، دسترسی به نمونه بر اساس اجتماع مجوزهای آنها انجام میشود. -k keypair کلید عمومی برای EC2 برای اینکه در زمان راه اندازی در نمونه اجرا شده قرار بگیرد. --kernel kernelid شناسه کرنل که نمونه با آن اجرا میشود. -n count حداقل تعداد نمونه هایی که باید با این دستور اجرا شود. اگر EC2 نتواند حداقل تعداد را اجرا کند، هیچ کدام اجرا نخواهد شد. --ramdisk ramdiskid شناسه RAM که نمونه با آن اجرا شود. -t type نوع نمونه مشخصه های مربوط به CPU، RAM و ... را تعیین میکند: m1.small، m1.large، m1.xlarge، c1.medium، c1.xlarge ، -z zone ناحیه دسترسی که در آن نمونه ها باید اجرا شوند. اگر ناحیه ای تعیین نشده باشد، نمونه ها در ناحیه ای که توسط خود EC2 در زمان اجرا بهتر تشخیص داده میشود، اجرا خواهد شد. مثال: # Launch exactly 1 instance anywhere $ ec2-run-instances ami-f822a39b RESERVATION r-a882e29b7 999999999999 default INSTANCE i-b1a21bd8 ami-f822a39b pending 0 m1.small 2008-12-23T21:37:13+0000 us-east-1c # Launch at least 2 instances in us-east-1b $ ec2-run-instances ami-f822a39b -n 2 -z us-east-1b RESERVATION r-ac82e29b8 999999999999 default INSTANCE i-b1a21be9 ami-f822a39b pending 0 m1.small 2008-12-23T21:37:13+0000 us-east-1b INSTANCE i-b1a21bf0 ami-f822a39b pending 0 m1.small 2008-12-23T21:37:13+0000 us-east-1b # Launch exactly 1 instance with the specified keypair in the myapp group $ ec2-run-instances ami-f822a39b -g myapp -k georgekey RESERVATION r-a882e29b7 999999999999 default INSTANCE i-b1a21bd8 ami-f822a39b pending georgekey 0 m1.small 2008-12- 23T21:37:13+0000 us-east-1c دستور ec2-terminate-instances ec2-terminate-instances خاتمه دادن اجرای نمونه (ها)ی مورد نظر. مثال: $ ec2-terminate-instances i-b1a21bd8 INSTANCE i-b1a21bd8 running shutting-down
بطور کلی برای ایجاد یک زیرساخت ابری بیش از یک راه وجود دارد. سرویسهای وب آمازون (AWS) که رویکرد سرویس زیرساخت212 را ارائه داده است، به مشتریان، تعدادی سرویس سفارشی اما با مقیاسپذیری بسیار بالا پیشنهاد داده است تا زیرساخت مورد نیاز خود را در محیطی کاملا مجازی ایجاد کنند. رویکرد متفاوت دیگر GoGrid است که محیطی بسیار شبیه مرکز داده، اما در داخل ابر ارائه میکند. برای بسیاری از مشتریان، رویکرد GoGrid سادهتر و راحت تر است، زیرا از تکنولوژیهای سنتی نظیر VLAN ها، شبکه ها، تجهیزات سختافزاری (تعدیلکنندهبار213 و دیوار آتش)، و تجهیزات ذخیرهسازی فایل (SAN یا NAS) استفاده میکند. آنچه که در این رویکرد ارائه میشود تحت عنوان مرکز ابری214 یا مرکز داده در ابر معرفی میشود.

ابرهای زیرساخت میتوانند به دو شکل ساخته شوند: "سرویس زیرساخت" و "مرکز ابری". هر دوی اینها همه قابلیتهایی را که یک نفر از IaaS انتظار دارد، فراهم میکنند:
مقیاسپذیری بر حسب تقاضا215
پرداخت بر اساس استفاده216
واسط برنامهنویسی و واسط گرافیکی کاربر
اجزای اساسی زیرساخت (ذخیرهسازی، سرورها، شبکه، توان219، سرمایش220) و ...
اگرچه هر دو بصورت اولیه، ارزش یکسانی دارند، اما تفاوت عمده ای در رویکرد آنها وجود دارد:
این رویکرد شبیه AWS است. زیرساخت سرویس بطور کلی سرویسهای وب سفارشی در داخل ابر هستند. این ها میتوانند بطور جداگانه یا با همدیگر برای ارائه یک برنامه وب یا انجام کارهای مختلف استفاده شوند. برای مثال، آمازون سرورها، تجهیزات ذخیرهسازی، پایگاهداده، امکانات پیغام رسانی و صف، فرآیند پرداخت و ... را فراهم کرده است. هر یک از این سرویسهای وب یک راهحل سفارشی و منحصر به فرد است. در S3 از پروتکل S3 و مکانیسم های ذخیرهسازی استفاده میشود. سرویس صف AWS SQS از پروتکل سفارشی و غیراستاندارد و نیز فرمت پیغام رسانی خود استفاده میکند. مشابه آن سرویس SimpleDB در خصوص پایگاهداده عمل میکند. این سرویسها بصورت سفارشی طراحی شدهاند تا آمازون بتواند بستر ابری خود را به بیش از 50000 سرور و هزاران محصول مختلف گسترش دهد.
اکثر رقبای AWS از این رویکرد استفاده میکنند. متدلوژی مورد استفاده این است که سرویسهای استاندارد مرکز داده با استفاده از تکنولوژیها و پروتکل های استاندارد، بصورت ابری فراهم شود. برای سیستم ذخیرهسازی، از پروتکل های آشنا و رایج SMB/CIFS و NFS استفاده شود. پایگاه ها داده با استفاده از SQL و RDBMS استاندارد فراهم شود. دیوارههای آتش و تعدیل کننده های بار بجای استفاده از نرمافزارهای سفارشی توزیع شده، مبتنی بر تجهیزات سختافزاری باشند. در نهایت اینکه انتخاب باید بین زیرساخت سفارشی با پروتکل های خاص خود و زیرساخت استاندارد و مشابه به سرویسهای مراکز داده با همان استاندارد های صنعتی انجام شود.
GoGrdi اولین و بزرگترین مرکز ابری در ایالات متحده است که این رویکرد را بکارگرفته است. از دیگر شرکتهایی که با این روش کار میکنند میتوان FlexiScale، ElasticHosts و AppNexus را نام برد. از مزایای اصلی آن امکان بکارگیری مستقیم مهارتها و زیرساخت فعلی و تبدیل آن به محیط قابل انعطاف ابری نام برد. رویکرد GoGrid در نهایت "Cloud-bridging" یا اتصال و یکپارچهسازی مراکز داده داخلی با ابرهای خارجی را به شیوه بسیار سادهتری فراهم کرده است.
مراکز داده سنتی از اجزای زیر تشکیل شدهاند:
امنیت محیطی با استفاده از دیوارهای آتش سختافزاری و سیستمهای تشخیص نفوذ
تعدیل بار با استفاده از سختافزارهای تعدیل کننده
تقسیمبندی شبکه با ایجاد اجزای مختلف شبکه و VLAN ها
ترکیبی از سیستمهای عامل بر روی سختافزارهای فیزیکی و مجازی
به اشتراکگذاری فایل با استفاده از NAS
ذخیرهسازی با استفاده از SAN
پشتیبانی از سرویسهایی نظیر :DNS، DHCP، server imaging، مدیریت موجودی، مدیریت دارایی و مانیتورینگ
تامین توان، پهنای باند، سیستمهای خنک کننده و پشتیبان گیری برای همه این سرویسها و دستگاه ها
پشتیبانی 24/7
مراکز ابری بسیار شبیه مراکز داده هستند که اکثر این سرویسها را با اندکی تفاوت ارائه میدهند. علاوه بر این، مراکز ابری، برخلاف مراکز داده معمولی، کارآیی را از طریق واسطهای گرافیکی و API ها افزایش میدهند.
مشکل اصلی مراکز داده معمولی، نیاز به ایجاد آنها با حداکثر ظرفیت است. شما به عنوان متخصص IT، میبایست بطور صحیح پیش بینی کنید و این ظرفیت را بصورت داخلی ایجاد و مدیریت کنید. مراکز ابری به شما امکان استفاده از مجدد از تخصص داخلی مراکز داده تان را با فراهم کنندگان ابری دیگر میدهد. استفاده مجدد از دانش و تخصص به این معناست که زمان کمتری برای یادگیری ایده های جدید لازم است که صرف شود و در عوض وقت بیشتری روی اهداف کسب و کار خود می گذارید، ضمن اینکه از همه مزایای رایانش ابری بهره مند می شوید (نظیر افزایش ظرفیت بر حسب تقاضا، تعدیل خودکار بارکاری، پرداخت بر اساس استفاده).
استقرار برنامه روی GoGrid مشابه یک مرکز داده معمولی است، اما ابزارهای جدید بسیاری وجود دارد که میتواند این فرآیند را سادهتر و سریعتر انجام دهند. شبیه هر ابر دیگر، شما گزینههایی برای مقیاسپذیری افقی221 دارید همچنین امکان مقیاسپذیری عمودی222 را نه تنها با نمونه های ابری مجازی شده بلکه با سختافزارهای فیزیکی اختصاصی نیز خواهید داشت. این کار مشابه یک مرکز داده معمولی است، که در آن ترکیبی از سرورهای فیزیکی و مجازی وجود دارد. شما میتوانید دسترسی مستقیم به سختافزارهای فیزیکی با تعداد زیادی RAM، ذخیرهسازی مستقیم با سرعت بالا223 و تعداد زیادی هستههای پردازشی اختصاصی که همه در یک شبکه خصوصی مجازی یکسان قرار دارند، داشته باشید. با بکارگیری صحیح ابزارها، شما میتوانید به طور افقی بار کاری stateless خود را روی سرورهای مجازی گسترش دهید و برای کارهای stateful از سرورهای فیزیکی برای گسترش افقی استفاده کنید که در صورت نیاز برای گسترش عمودی نیز مناسب تر هستند. علت این موضوع در ادامه آمده است:
مقیاسپذیری افقی بهترین روش برای سرورها و کاربردهایی است که stateless هستند (نظیر سرورهای وب و سرورهای کاربردی و فرآیند های دسته ای224). برای این نوع از بارهای کاری، افزودن یک سرور اضافی معمولا پیکربندی خاصی یا قابل توجهی نیاز ندارد. به آسانی میتوان سرورهای بیشتر را اضافه کرد و ظرفیت را افزایش داد.
مقیاسپذیری عمودی بیشتر برای برنامههایی مورد نیاز است که stateful هستند (نظیر پایگاههای داده و سرورهای فایل). در این موارد، افزودن سرورهای بیشتر به سادگی باعث افزایش ظرفیت نمیشود. معمولا لازم است که پیکربندیها تغییر کند یا بطور عمده از اول انجام شود، یا معماری تغییر کند یا حداقل بطور خودکار وضعیت داده روی سرورهای جدید تعدیل شود. به این ترتیب حجم زیادی از داده باید همزمان شده و یا تعدیل بار شوند. این علتی است که معمولا ترجیح داده میشود تا بجای اینکه تعداد زیادی سرور بکار گرفته شوند، از سرورهای بزرگتر استفاده شود. همچنین دلیل اینکه این سرورها تمایلی به پویایی (حتی در محیط ابری) ندارند نیز طبیعت آنها است.
GoGrid هر دو بعد مقیاسپذیری را پشتیبانی میکند. همیشه مقیاسپذیری افقی کافی نیست، و مقیاسپذیری عمودی نیز در برخی موارد یک تاکتیک مهم است. آمازون با علم بر این موضوع، سرورهای مختلف با اندازه های مختلف در AWS فراهم کرده است. البته مجازیسازی نیز یک استراتژی برای چندمنظوره کردن یک سرور است، و به این معناست که میتواند چندین مشتری یا برنامه را در بر بگیرد. اما اگر بخشی از برنامه شما بتواند از همه ظرفیت یک سرور فیزیکی استفاده کند، دلیلی ندارد که آن را روی یک سرور فیزیکی اجرا کنیم. در این حالت مجازیسازی سربار غیر ضروری روی سیستم اضافه میکند و اگر نیاز به توان محاسباتی یا حافظه بیشتری نسبت به آنچه که در ابر ارائه شده است داشته باشید، مجبور خواهید بود که معماری خود را تغییر دهید تا بصورت افقی آن را گسترش دهید. از سویی دیگر، اکثر برنامههای کاربردی از برخی جهات از نظر مقیاسپذیری عمودی در نهایت به محدودیت بر می خورند و سپس مجبور خواهید بود که آنها را بصورت افقی گسترش دهید. در هر صورت در هر روش از مقیاسپذیری، شما باید تقاضا را اندازه گیری کنید و ظرفیت را با آن تطبیق دهید.
یک نمونه عمومی از استقرار GoGrid که در شکل 10-184 نمایش داده شده است، مشابه یک مرکز داده میباشد. در مراکز داده فیزیکی معمولی، سرورهای کاربردی در سمت اینترنت قرار دارند تا با کاربران تعامل کنند، در حالی که سرورهای پشتیبانی در سمت DMZ محافظت میشوند و همه سیستمها بصورت امن یک NAS را به اشتراک می گذارند. مشابه مراکز داده سنتی، دو بخش شبکه (VLAN) وجود دارد. یکی برای بخش عمومی و اصطلاحاً جلوی شبکه که در سمت frontend قرار دارد و دیگری برای بخش backend که از آدرسهای IP خصوصی استفاده میکند. درست همانند مرکز داده، یک NAS تحت عنوان GoGrid Cloud Storage وجود دارد تا برای کارهای ذخیرهسازی، آرشیو، تهیه کپی پشتیبان و ... مورد استفاده قرار گیرد.

مقیاسپذیری عمودی GoGrid خیلی متفاوت با مقیاسپذیری افقی نیست، بجز اینکه همه پایگاههای داده که کارآیی بالایی نیاز دارند، روی سختافزار فیزیکی اختصاصی اجرا میشوند (شکل 10-185).

معماری مرکز ابری برای برنامههای وب نسبت به کارهای دسته ای مناسب تر است، زیرا برای کارهای دسته ای بسیاری موارد زیرساختی در مراکز داده، نظیر دیوارههای آتش، تعدیل کننده های بار و VLAN ها را معمولا نیاز ندارند. بسیاری از کارهای دسته ای در محیطهای توری به خوبی عمل میکنند. GoGrid برای کارهای دسته ای نیز قابل استفاده است و البته چنین پردازش هایی در برخی موارد از اجزای مهم بسیاری از برنامههای کاربردی وب نیز ممکن است باشند.
وقتی که مرکز ابری (GoGrid) را با سرویس زیرساخت (AWS) مقایسه میکنیم، مهم است که هر دو تجربه مراکز داده سنتی و نوع برنامه ای که نصب میکنید را بخاطر آورید. شاید نگاهی به مراکز داده معمولی، مراکز ابری و سرویس زیرساخت به شما در این مقایسه کمک کند. در برخی از قابلیتهای هر یک از سه نوع زیر ساخت با هم مقایسه شده است.
جدول 10‑12- مقایسه سه نوع زیرساخت مختلف

تفاوت های بین مراکز ابری و سرویس زیرساخت کاملا مشهود است. با AWS (مدل سرویس زیرساخت)، مقدار کمی از تخصص فعلی شما در شبکه، ذخیرهسازی و ... قابل استفاده است. شما باید تخصص های جدیدی برای مدیریت S3 و حتی توسعه مهارت های مدیریت سرورها برای مدیریت EC2 بکار بگیرید. در مقابل رویکرد GoGrid (مدل مراکز ابری) بسیار شبیه استفاده از کنسول VMWare VirtualCenter یا دیگر سیستمهای مدیریت مجازیسازی است. علاوه بر سرورها، شما میتوانید شبکه، DNS، ذخیرهسازی، دیوارهای آتش و ... را با همان واسط گرافیکی کنترل کنید. در هر حال با هر دو رویکرد، شما قادر خواهید بود که از مزایای مقیاسپذیری بر حسب تقاضا و پرداخت بر اساس میزان استفاده که بطور استاندارد در رایانش ابری وجود دارد استفاده کنید.
ESX محصولی از VMware است که اجازه مجازیسازی را برای نصب چندین سیستم عامل همزمان میدهد. این محصول مبتنی بر لینوکس است که میتوان آن را بر روی سیستمهای سرور نصب کرد. در حقیقت ESX یک فوقناظر است که میتوان ماشینهای مجازی را بر روی آن اجرا کرد. البته برای استفاده از قابلیتهای آن باید با برنامه VSphere client به آن وصل شد.


در شکل مشاهده میکنید که با استفاده از برنامه vShpereClient به یکی از سیستمهایی که ESX بر روی آن نصب شده است متصل شده ایم و میتوانیم ماشینهای مجازی روی آن را مدیریت کنیم.

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

به چنین ابزارهایی که تنها به ما کمک میکنند تا یک سرور فیزیکی را بصورت چندین سرور مجازی مورد استفاده قرار دهیم، میتوان صرفا ابزارهای مدیریت مجازیسازی نامید. البته کار به همین جا ختم نمیشود و VMware محصول دیگری را نیز ارائه داده است که ما را یک قدم به رایانش ابری نزدیک تر میکند. این محصول تحت عنوان VCenter در ادامه معرفی شده است.
همانطور که گفته شد با VSphere Client شما فقط میتوانید در آن واحد فقط به یک سرور ESX متصل شوید. برای اینکه بخواهید در آن واحد چندین سرور ESX را با هم مدیریت کنید، باید یک سرور Vcenter راه اندازی کنید و ESX ها را به آن وصل کنید. حال اگر شما به VCenter متصل شوید میتوانید چند ESX را با هم ببینید. شما میتوانید سرور VCenter را در یکی از ESX ها به صورت ماشین مجازی راه اندازی کنید یا اینکه آن را در یک ماشین فیزیکی مجزا نصب کنید.

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

نکته مهم اینجا این است که با اینکه ما یک دید متمرکز نسبت به کلیه منابع بدست آورده ایم، آیا هنوز میتوانیم بگوییم که این ساختار رایانش ابری در لایه IaaS است؟ پاسخ منفی نیست. زیرا اگر چه ما به آنچه در مورد ویژگیهای رایانش ابری در لایه IaaS اشاره کردیم به طور کامل دست پیدا نکرده ایم، ولی بسیار به آن نزدیک شده ایم. به عبارت دیگر ما یک زیرساخت بسیار قابل انعطاف و مجازی در اختیار داریم که میتوانیم آنرا ابر خصوصی در داخل یک سازمان بنامیم که از طریق آن سرویسهای سازمان بطور قابل انعطاف قابل ارائه است. تنها اشکال عمده ای که بر این زیرساخت وارد است، این است که کارها در آن بطور خودکار انجام نمیشود. این نیازمندی توسط محصول دیگری بنام Orchestrator بر طرف شده است که در ادامه توضیح داده خواهد شد.
این برنامه بیشتر برای خودکار کردن جریان فعالیت ها و مدیریت بهتر مجازیسازی منابع بکار میرود. بنابراین هرچه که ما تاکنون بصورت دستی انجام میدادیم (ایجاد ماشین مجازی، اجرا، حذف، کنترل وضعیت و ...) به کمک این محصول میتوان بصورت اتوماتیک انجام داد. برای این کار باید فرآیند یا جریان کاری که باید انجام شود را بطور دقیق مشخص کنید و با استفاده از ابزارهای ارائه شده در Orchestrator پیادهسازی نمایید. مدیریت اجرای این جریان کار توسط Workflow Engine که هسته مرکزی Orchestrator را تشکیل میدهد انجام میشود.

در شکل 10-192 تصویری از صفحه برنامه Orchestrator را که از طریق آن میتوان مدیریت جریان کارها را انجام داد مشاهده مینمایید. ایجاد جریان کار در این برنامه از طریق اجزای از پیش آماده شده و نیز APIها که بیش از 800 فعالیت مختلف را تحت پوشش قرار میدهند امکانپذیر است. همچنین میتوان برای حالت های پیشرفته تر از اسکریپت نویسی نیز در آن استفاده کرد.

امروزه روش های مختلفی برای توزیع داده و توان پردازشی وجود دارد. کاربران عموما میتوانند منابع را بر اساس مشخصه های مختلف آنها، از قبیل مشخصه های سختافزاری، میزان حافظه و ظرفیت، نوع اتصال شبکه و یا در برخی موارد موقعیت فیزیکی آنها پیدا کنند. محاسبات توری از جمله این روش ها بحساب میآیند. منابع در محاسبات توری غیرهمگن است. بنابراین فرآیند برنامهنویسی و استفاده از این منابع به منظور استفاده بهینه از آنها بسیار پیچیده و مشکل است. علی رغم اینکه برخی کاربران تخصص لازم برای بهره برداری از این منابع غیرهمگن را دارند، خیلی از کاربران ترجیح میدهند که محیط این منابع سختافزاری و نرمافزاری بطور یکپارچه در اختیارشان قرار گیرد. در یک محیط یکپارچه فعالیت های مربوط به توسعه برنامههایی حتی در مقیاس خیلی بزرگ بسیار سادهتر است. رایانش ابری مبتنی بر همین رویکرد است تا بتواند با ارائه یک سطح انتزاعی تر از معرفی منابع، یک محیط یکپارچه برای توسعه چنین برنامههایی فراهم آورد. اما معماری توزیع شده مناسب برای رایانش ابری چگونه است؟ چه مشخصه هایی از منابع موجود باید در ماشینهای مجازی در نظر گرفته شود تا بتوان از منابع بطور بهینه استفاده کرد. شبکه ماشینهای مجازی چگونه باید باشد تا قابل انعطاف، کارا و ایمن باشد؟ و بسیاری سئوالات از این قبیل از جمله سئوالاتی است که در خصوص رایانش ابری مطرح است و سعی شده است در سیستم اکالیپتوس به آنها پاسخ داده شود. به کمک این سیستم کاربران قادر خواهند بود تا ماشینهای مجازی قرار داده شده بر روی منابع فیزیکی مختلف را اجرا نموده و کنترل کنند. اکالیپتوس خدماتی از نوع IaaS را ارائه میدهد. معماری اکالیپتوس بگونهای است که قابل حمل، ماژولار و با کاربری آسان و متناسب با زیرساختهای موجود در محیطهای آکادمیک میباشد. اکالیپتوس از معدود بستههای نرمافزاری کدمتن بازی است که امکان استفاده از آن بر روی چندین کلاستر با همدیگر نیز وجود دارد. اکالیپتوس دارای یک معماری باز و ساده برای پیادهسازی قابلیتهای مختلف تودههای ابری در سطح زیرساخت است و در آن از تکنولوژی وب سرویسها استفاده شده است.
محیط کاری Eucalyptus یک محیط کاری نرمافزاری کد باز برای پیادهسازی رایانش ابری مفروض است و از زیرساخت فناوری اطلاعات سازمان -بدون نیاز به تغییر، استفاده از سختافزار خاص منظوره یا بازپیکرهبندی- استفاده میکند. ابر Eucalyptus منابع مراکز داده مانند ماشینها، شبکهها و سیستمهای ذخیرهسازی را به ابری تبدیل میکند که توسط فناوری اطلاعات محلی قابل کنترل و خصوصیسازی است. این ابر تنها معماری ابری است که مانند ابرهای عمومی از واسطهای برنامهنویسی برنامة کاربردی (API) پشتیبانی میکند و در حال حاضر با زیرساخت ابر سرویسهای وب Amazon کاملاً سازگار است.
اکالیپتوس به کاربران و مدیران امکان ایجاد زیرساختی را فراهم آورده است که از طریق آن بتوانند ماشینهای مجازی قابل کنترل توسط کاربران را ایجاد کرده و بر منابع موجود کنترل داشته باشند. سیستم کاملا ماژولارو دارای API های خوش تعریفی میباشد به گونه ای که محققان بتوانند نتایج تحقیقات خود و اجزای طراحی شده توسط خود را توسط آن مورد آزمایش و ارزیابی قرار دهند.

شکل 10‑193- مدل مفهومی ابر اکالیپتوس. CLC کنترلر ابر است که به عنوان واسط اصلی ارتباط با منابع مجازی شده بحساب میآید. CC ها کنترل کننده های مربوط به هر مجموعه از منابع هستند. NC ها ماشینهای نهایی هستند که ماشینهای مجازی روی آنها اجرا خواهد شد. SC کنترلر ذخیرهسازی است (مشابه EBS در آمازون) که توسط Walrus کنترل میشوند (Walrus مشابه S3 در آمازون است). یک پلتفرم مدیریتی برای استفاده از ابر فراهم شده است که سطوح دسترسی مختلف را به ابر برای مدیریت، توسعه و ... فراهم میکند.
اکالیپتوس بر روی منابعی مختلفی از یک لپ تاپ گرفته تا کلاسترهای لینوکسی با 48 تا 64 نود با موفقیت پیادهسازی شده است و به این ترتیب افراد مختلفی میتوانند با منابعی که در اختیار دارند این سیستم را بکارگیرند و توده ابری خود را ایجاد کنند. امکان نصب این سیستم بدون نیاز به نصب نرمافزارهای اضافی فراهم است و بنابراین میتوان گفت که اکالیپتوس میتواند نقش مهمی را در ایجاد یک جامعه تحقیقاتی در خصوص رایانش ابری فراهم آورد.
در این سیستم، کاربران با استفاده از یک مرورگر وب میتوانند وارد توده ابری شوند(Sign Up)، مجوزهای رمزنگاری مورد نیاز برای واسط برنامهنویسی را دریافت کنند و پرسوجوهای خود را اجرا کنند (مثلا در خصوص تصاویر ماشین مجازی در دسترس). همچنین مدیران میتوانند علاوه بر این کارها، حساب های کاربران را نیز مدیریت کنند و حتی آنها را غیرفعال و یا حذف کنند.

اکالیپتوس شامل اجزای زیر میباشد:
مدیریت نمونه ها225: برای مدیریت هر یک از نمونه های ماشین مجازی یک IM اختصاص داده شده است.
مدیریت گروه226: برای مدیریت و زمان بندی هر مجموعه از ماشینهای مجازی (شبکه ای از نمونه های مجازی) از GM استفاده میشود.
مدیریت ابر227: نقطه ورود به هر توده ابری برای کاربران و مدیران سیستم میباشد. امکان درخواست وضعیت منابع، زمان بندی سطح بالا و ... از طریق CM امکانپذیر است.
سیستم اکالیپتوس، در تهیه زیرساخت مورد نیاز برای بکارگیری منابع موجود در قالب یک توده ابری مورد استفاده قرار میگیرد. بنابراین همانطور که گفته شد محققان میتوانند ماژول هایی که خود طراحی کردهاند در آن بکارگیرند و مورد ارزیابی قرار دهند. اما نباید فراموش کرد که رایانش ابری برای تسهیل کسب و کار فراهم آمده اند. بنابراین راهحلهای مبتنی بر ابر می بایست متناسب با شرایط کسب و کار باشند. در یک سازمان منابع مختلفی وجود دارد. به نظر میرسد اکالیپتوس صرفا منابع ذخیرهسازی و پردازشی را به منظور ایجاد نمونه ماشینهای مجازی در نظر گرفته است ولی برای بکارگیری منابع داده ای و پردازشی موجود و یکپارچهسازی آنها با شرایط ابری هنوز راهحلی ارائه نداده است که این موضوع بسیار مهمی است که نیازمند تحقیق و بررسی جداگانه جهت ارائه یک راهحل مناسب و مقرون بصرفه متناسب با شرایط موجود سازمانها میباشد.
مراجع
Daniel Nurmi and et al, "The Ecalyptus Open-source Cloud-computing System," Proceedings of Cloud Computing and Its Applications, Chicago, Illinois, 2008
Daniel Nurmi and et al, "Eucalyptus: A Technical Report on an Elastic Utility Computing Architecture Linking Your Programs to Useful Systems," UCSB Computer Science Technical Report Number 2008
Eucalyptus Public Cloud: eucalyptus.cs.ucsb.edu/wiki/EucalyptusPublicCloud
فرهنگ اصطلاحات مورد استفاده
| اصطلاح | شرح |
|---|---|
| Accounting | حسابرسی |
| Amazon Machine Image (AMI) | ماشین مجازی آمازون |
| Appliances | ابزارهای مجازی |
| Application Programming Interface | واسط برنامهنویسی برنامه کاربردی |
| Application virtualization | مجازیسازی برنامه کاربردی |
| Authentication | احراز هویت |
| Authorization | اعتبارسنجی |
| Bare metal | سختافزار فیزیکی |
| Batch jobs | کارهای دستهای، وظایف دستهای |
| Batch Processing | محاسبات دستهای، پردازش دستهای |
| Bookmark | نشانه |
| Business Continuity | تداوم کسب و کار |
| Business Continuity Management | مدیریت تداوم کسب و کار |
| CapEx | هزینههای سرمایهگذاری |
| Certification Authority (CA) | مرکز صدور گواهینامه دیجیتال |
| Cloning | تکثیر |
| Cloud Computing | رایانش ابری |
| Cloud Customer | مشتری ابری |
| Cloud Provider | سرویسدهنده ابری |
| Cloud Service | سرویس ابری |
| Cloud Storage | ذخیرهسازی ابری، ابر ذخیرهسازی |
| Cloud Center | مرکز ابری |
| Cluster Computing | محاسبات کلاستری |
| Collaborative annotation | درج توضیحات بصورت گروهی |
| Co-location | مکان اشتراکی |
| Compliance | موافقت |
| Content Distribution Network (CDN) | شبکه توزیع محتوا |
| Cookie | کوکی، کلوچه |
| Cooling | سرمایش |
| Cooperative Virtualization | مجازیسازی ترکیبی |
| Cross-language | میانزبانی |
| Data Center | مرکز داده |
| Deployment | استقرار، تحویل، ارائه |
| Desktop | میزکار، دسک تاپ |
| Disaster Recovery | بازیابی از سوانح |
| Edge Networks | شبکههای لبه |
| Elastic | قابل ارتجاع، قابل انعطاف |
| Grid Computing | محاسبات توری |
| Groupware | گروه افزار |
| Guest | میهمان |
| Hardware Security Module (HSM) | ماژول امنیت سخت افزاری |
| Hardware virtualization | مجازی سازی سخت افزاری |
| Hardware-assisted virtualization | مجازی سازی سخت افزاری |
| Horizontal Scaling | مقیاس پذیری افقی |
| Host | میزبان |
| Hypertext Transfer Protocol | پروتکل انتقال ابرمتن |
| Hypervisor | فوق ناظر |
| Identity Management | مدیریت هویت |
| Image | تصویر |
| Incremental | افزایشی |
| Infrastructure as a service | زیرساخت بعنوان سرویس |
| Instant Messaging (IM( | پیغام رسانی فوری |
| Intellectual property | مالکیت معنوی |
| Interoperability | قابلیت همکاری |
| Intrusion | نفوذ |
| IT as a Service | منابع IT به عنوان سرویس |
| Load Balancer | تعدیل کننده بار |
| Loosely coupled | کمترین جفت شدگی |
| Malicious | مضر، بداندیش، بدخواه |
| Mean time between failures (MTBF) | زمان متوسط بین خرابی |
| Migrating | مهاجرت |
| Monitoring | نظارت، مانیتورینگ |
| Multiple login | ورود چندگانه |
| Notification | هشدار |
| Notification System | سیستم هشدار |
| Offline | آفلاین |
| On Demand Deployment | استقرار بر حسب تقاضا |
| Online | آنلاین |
| OpEx | هزینههای عملیاتی |
| Packaging | بستهبندی |
| Patch | وصله |
| Patch management | مدیریت وصله |
| Pay as you go | پرداخت بر حسب تقاضا |
| Platform | سکو، پلت فرم |
| Platform as a service | سکو به عنوان سرویس |
| Pool | استخر |
| Pool of resources | استخری از منابع |
| Power | توان |
| Pricing | قیمتگذاری |
| Private Cloud | ابر خصوصی |
| Proactive | پیش فعال |
| Public Cloud | ابر عمومی |
| Reactive | واکنشی |
| Real Time | بلادرنگ |
| Recovery | بازیابی |
| Redundancy | افزونگی |
| Replication | تکرار |
| Resilience | حالت ارتجاعی |
| Resource Description Framework (RDF( | چهارچوب توصیف منابع |
| Role-based access control (RBAC( | کنترل مبتنی بر نقش |
| Rollback | عقبگرد |
| Runtime | زمان اجرا |
| Scale on Demand | مقیاسپذیری بر حسب تقاضا |
| Scale Out | مقیاس پذیری افقی |
| Scale Up | مقیاس پذیری عمودی |
| Service Infrastructure | زیرساخت سرویس |
| Service Level Agreement (SLA) | سطح توافق سرویس |
| Snapshots | تصویر لحظهای |
| Software as a Service | نرمافزار به عنوان سرویس |
| Storage Virtualization | مجازی سازی ذخیره سازی |
| Surge Computing | محاسبات ناگهانی |
| Tenant | مستاجر |
| Terms of Use (ToU) | شرایط استفاده |
| Threat management | مدیریت تهدید |
| Traffic shaping | شکلدهی به ترافیک |
| Transactional Computing | محسابات تراکنشی |
| Untrusted software | نرم افزار غیرقابل اطمینان (ناپایدار) |
| Usage-based model | مدل مبتنی بر استفاده |
| Utility | سودمند |
| Utilization | بهره برداری، مصرف |
| Virtual Appliances | ابزارهای مجازی |
| Virtual Machine Image | تصویر ماشین مجازی |
| Virtual Machine (VM( | ماشین مجازی |
| Virtualization | مجازیسازی |
| Web Service | سرویس وب |
| Webtop | وب تاپ، میزکار تحت وب |
شاخص ها
AAA, 386, 387, 388, 390, 398, 399, 400, 403, 416
AJAX, 342
Altiris SVS, 296, 309, 320
Amazon EC2, 14, 26, 57, 60, 66, 357
Amazon S3, 57, 60, 77, 226
Amazon SQS, 60
AMD-V, 288, 292, 294, 305, 306
AMI, 60, 67, 69, 70, 80, 81, 437, 439, 441, 442, 448
API wrapper, 65
Application Virtualization, 294
Availability zone, 67
BigTable, 13
BIOS, 293, 315, 316, 445
BitTorrent, 65
bookmark, 346
bucket, 61, 62
buffer overflow, 48
bundles up, 81
bundling, 81
CaaS, 10
caching, 346
CDN, 62
Cloud Provider, 371
CloudFront, 60, 62
COBRA, 346
Container, 289, 300
Containers, 51, 289
Coopvirt, 289
co-residence, 385, 387, 388, 391, 406
CPU-intensive, 35, 38
CSR, 337
data locality, 29
DCOM, 346
DDos, 371, 390
DDoS, 389, 419
Debian, 288
Desktop Virtualization, 289, 290
DLL, 295, 310, 311, 312, 328
DMZ, 61, 366, 433, 436, 441, 455
Dot Net framework, 313
downtime, 40, 316
EBS, 76, 77, 78, 79, 465
EDoS, 390
elastic, 13, 39, 75, 76, 77, 110
Ephemeral, 61, 76
ephemeral storage, 76
ERP, 40
Eucalyptus, 11, 83, 464, 468
Fabric Level, 303
fail open, 384
Fedora, 306, 326
frame rendering, 38
full virtualization, 289, 299, 300, 312, 322
gateway, 317, 419
ghosting, 67
Gigabit Ethernet, 319
Hadoop, 11, 25, 38, 43, 45, 112
Hardware assisted Virtualization, 288
Hardware-assisted virtualization, 292
HPC, 37
HTML, 144, 184, 220, 342, 343, 344, 346
hyperlink, 346
Hyper-Threading, 294
IDE, 318
Impersonation, 399
incremental, 80
Intel VT, 288, 292, 294, 305, 306, 315, 316, 331
ISC, 49
iSCSI, 317, 318, 319, 331
ITaaS, 9
Jabber, 335
JSON, 342
KVM, 289, 304, 306
lock in, 377, 378, 423
loose-couled, 43
mainframe, 89, 292, 321
MapReduce, 11, 12, 13, 25, 38, 45, 112
mirror, 408
mirroring, 302
mount, 64, 68, 78, 300, 435
MTBF, 56
Multi-OS, 305
MySQL, 22, 27, 28, 38, 63, 75
NAS, 317, 451, 453, 455
Open Cloud, 15
OpenID, 336, 338
OpenSolaris, 27, 28
Oracle Virtualization, 306
Oracle VM, 306, 322
OS Virtualization, 299, 300
OVF, 340, 378
Packaging, 295
Para Virtualization, 60, 288
pay as you go, 12
PCI DSS, 338
polling, 335, 336
Port Filtering, 49
privileged, 288, 294
Processor Virtualization, 294
rack, 297, 298, 302, 317, 415, 416
RAID, 68, 284, 302
RDF, 345
Red Hat, 288, 304, 305, 322, 326, 339, 445
redundancy, 67, 75
Region, 67
remote desktop, 291
reply, 388
Resilience, 371
Resource Virtualization, 293
REST, 47, 64, 65, 342, 344, 345, 346, 432
rollback, 42
RPC, 346
RSS, 140, 146, 148, 149, 150, 191, 201, 208, 232, 258, 271, 273, 274, 278, 345
SaaS, 54
SAN, 61, 68, 77, 297, 298, 299, 303, 317, 451, 453
Scaling out, 454
Scaling Up, 454
SCSI, 78, 317, 318
Security Group, 67
session, 334, 336, 346
SETI@home, 54, 55, 90
SGML, 343
sharding, 38, 46
SimpleDB, 13, 14, 60, 63, 452
Snapshot, 68
Sniffing, 388
SOAP, 47, 64, 335, 342, 344, 345, 346, 347, 432, 433
Social engineering, 399, 427
Softgrid, 309, 310, 311, 320
Software Virtualization, 295, 309
spamming, 381
Spoofing, 388
SQL injection, 48, 385
SSL, 278, 336, 337, 391, 405
stand-alone, 340
stateless, 43, 45, 333, 454
Storage Virtualization, 296, 298
striping, 302
Symantec, 309, 320
SystemGuard, 310, 331
thin client, 290, 314, 323, 325, 328
thread, 25, 38, 44, 294
Threat management, 371
Thrift, 16
Traffic shaping, 371
Transactional Computing, 55
Twitter, 336
Ubuntu, 288, 304, 326
uptime, 305, 317
URL, 43, 231, 276, 345, 367, 433
Utility Computing, 7, 468
VDI, 289, 290, 323
video rendering, 55
VirtIO, 304
virtual bubbles, 295
Virtualization Density, 302
Virtualization Level, 302
VLAN, 49, 302, 451, 453, 455, 457
VMM, 292
VMware, 284, 288, 299, 306, 307, 308, 311, 313, 320, 321, 324, 325, 326, 327, 339, 340, 459, 460
W3C, 342, 343, 344
WebDAV, 61
Windows Server, 305, 320, 321
worker, 35, 55
WSV, 305, 306
Xen, 60, 112, 284, 289, 445, 446
XML, 336, 342, 343, 344, 345, 346, 347, 377
XMPP, 335, 336
XSL, 344
ابر ترکیبی, 30, 31, 46
ابر خصوصی, 3, 13, 28, 29, 30, 385
ابر عمومی, 3, 13, 28, 29, 30, 31, 35, 44, 46, 385, 387, 464
ابرخصوصی, 13, 44, 46
ابرذخیرهسازی, 26, 224
ابزارهای پایگاهداده, 26
ابزارهای مجازی, 23, 27, 33, 34, 41, 45, 340, 341
احراز هویت, 48, 73, 111, 114, 159, 336, 338, 370, 384, 391, 398, 399, 403, 404, 409, 412, 415, 416, 420, 421, 422, 423, 425, 432, 433
استخری از منابع, 23
استقرار بر حسب تقاضا, 23
اعتبارسنجی, 40, 337, 435
اعتماد, 62, 104, 105, 108, 225, 226, 338, 370, 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 394, 395, 397, 398, 399, 400, 401, 405, 412
افزونگی, 67, 75, 107, 357, 370, 376, 381, 383, 384, 408, 410
اکالیپتوس, 15, 464, 465, 466
بازیابی از سوانح, 287, 359, 369, 425
بر حسب تقاضا, 11, 12, 14, 15, 24, 29, 32, 33, 109, 110, 112, 113, 166, 228, 372, 451, 454, 458
برنامههای تراکنشی, 60, 65
برونسپاری, 30, 58, 59, 379, 382, 383, 417, 425
بستهبندی, 33, 109, 295, 312, 313, 314, 328, 340, 341
بهینهسازی, 35, 47, 340, 371
پایگاههای داده رابطهای, 55
پرداخت, 8, 9, 12, 13, 14, 16, 23, 24, 58, 75, 108, 109, 112, 117, 124, 153, 154, 155, 156, 157, 160, 161, 162, 163, 263, 264, 338, 352, 377, 390, 396, 452, 454, 458
پردازندههای x86, 291, 292, 304
پروکسی, 346
تحویل سرویس, 376, 379, 381, 382, 383, 384, 385, 386, 387, 389, 390, 391, 392, 394, 395, 396, 397, 398, 400, 401, 412
تداوم کسبوکار, 15
تصویر سفارشی, 26
تصویرلحظهای, 68
تعدیل ترافیک, 8
تعدیلکنندهبار, 26, 56, 59, 356, 359, 451
تقاضای مورد انتظار, 351, 353, 354
تقسیم و حل, 45
توافقات سطح سرویس, 7
توزیعهای رایگان, 288
جاوا, 25, 65, 144, 190, 201, 215, 344, 357, 378
جاوااسکریپت, 342
جفتشدگی, 39
چگالی مجازیسازی, 302
چندرسانهای, 14, 344
چندوظیفهای, 294
خبرخوان, 146, 148, 191, 201, 208, 232, 258, 274, 278, 345
دادههای وضعیت, 24, 47
دیوارآتش, 67, 346, 347, 366
دیوارههای آتش, 73, 366, 372, 452, 457
ذخیرهسازی توده ای, 61
ذخیرهسازی یک بار مصرف, 61
رجیستری, 294, 295, 296, 309, 310, 312, 328
زیرساخت بعنوان سرویس, 32
سرور وب, 22, 23, 26, 45, 49, 337, 345
سرویسهای بلادرنگ, 376, 379, 381, 382, 383, 384, 385, 386, 387, 389, 390, 391, 392, 394, 395, 396, 397, 398, 400, 401, 412
سکو به عنوان سرویس, 32, 33
سیستم عامل مهمان, 285, 286, 291, 305, 306, 341, 416
سیستمهای توزیعشده, 7
شبکه توزیع محتوا, 62
شهرت, 371, 372, 374, 376, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 394, 395, 396, 397, 398, 399, 400, 401, 404, 412
صف پیغام, 55, 62
صفحه خانگی, 183, 184, 242, 243, 334
فضاهای اشتراکی, 28
فعالیت های بدخواه, 381
فیزیک داده, 44, 46
فیلترینگ, 49, 207, 370, 371, 389, 411
قابلیت ارتجا, 371
قابلیت انعطاف, 23, 40, 58, 77, 293, 297, 301
قابلیت جابهجایی, 15
قابلیت همکاری, 3, 15, 16, 86, 340
قیمتگذاری, 3, 12, 13, 14, 15, 16
کپسوله سازی, 41, 311
کتابخانه ماشینهای مجازی, 26
کدمتنباز, 11, 23, 25, 27, 28, 38, 60, 288, 304, 321, 323, 338
کوکی, 43
کیفیت سرویس, 17, 29, 30, 35
گروههای امنیتی, 61, 67, 73, 74, 441
گرید, 380, 406
گواهینامه, 80, 337, 338, 432
لایه انتزاعی, 40
مانیتور کردن, 9, 272, 321, 326, 358
مانیتورینگ, 351, 358, 359, 360, 361, 415, 416, 424, 453
مبتنی بر استفاده, 3, 13, 14, 15, 24, 58, 129
مجازیسازی, 6, 10, 23
محاسبات تراکنشی, 53, 55
محاسبات توری, 4, 6, 9, 37, 53, 54, 55, 62, 464
محاسبات داوطلبانه, 6, 90
محاسبات فراگیر, 9, 17
محاسبات کلاستری, 4
محاسبات ناگهانی, 30, 35, 44, 46
محیطهای سرویسگرا, 9, 10, 17
مدل برنامهنویسی, 9, 112
مدل تجاری, 9, 105
مدل داده, 9
مدل مبتنی بر استفاده, 13, 24
مدیریت محتوا, 33, 63
مذاکره, 9, 24, 334
مرکز داده, 5, 6, 12, 15, 61, 67, 96, 224, 299, 452, 453, 455, 457, 464
مقیاسپذیری, 11, 15, 22, 23, 25, 28, 33, 35, 37, 38, 39, 40, 43, 44, 63, 88, 107, 110, 111, 113, 114, 156, 225, 228, 346, 351, 352, 353, 355, 356, 357, 358, 359, 360, 361, 362, 370, 451, 454, 455, 456, 458
منطقه, 67
موازی سازی, 44, 45
مهاجرت, 285, 287, 305, 312, 340, 380, 409
میان زبانی, 16
نرمافزار به عنوان سرویس, 32, 108
نواحی دسترسی, 67
وب2, 5, 30, 209
ویندوز سرور, 305, 306
تعریف رایج رایانش ابری، سند NIST SP 800-145 است که در سپتامبر ۲۰۱۱ منتشر شد و از آن زمان بهروزرسانی عمدهای نداشته است. این سند رایانش ابری را با پنج ویژگی اصلی (خدمترسانی خودکار بر حسب تقاضا، دسترسی گسترده شبکهای، تجمیع منابع، انعطافپذیری سریع و خدمت اندازهگیریشده)، سه مدل خدمت (SaaS، PaaS و IaaS) و چهار مدل استقرار (خصوصی، اجتماعی، عمومی و ترکیبی) توصیف میکند. مفاهیم پایهای فصلهای نخست این کتاب با این چارچوب سازگارند.
سرویسهای آمازون که در این کتاب بررسی شدهاند، یعنی S3 (مارس ۲۰۰۶) و EC2 (اوت ۲۰۰۶)، همچنان از پایههای ابر عمومیاند، اما مجموعه خدمات آنها از آن زمان بسیار گسترش یافته است. بسیاری از ابزارها و سرویسهای همکاری آنلاین و میزبانی که در فصل «استفاده از سرویسهای ابری» و ضمائم معرفی شدهاند ممکن است دیگر وجود نداشته باشند یا ویژگیها و قیمتهایشان تغییر کرده باشد. برای هر سرویس، به مستندات رسمی فعلی مراجعه کنید.
بنیاد CNCF در سال ۲۰۱۵ با مشارکت گوگل و با پروژه Kubernetes بهعنوان نخستین پروژه تأسیس شد. تعریف رایج «بومی ابر» (Cloud Native) فناوریهایی مانند کانتینر، سرویسمیش، ریزسرویس، زیرساخت تغییرناپذیر و رابطهای برنامهنویسی اعلانی را شامل میشود. این رویکرد روش اصلی ساخت و اجرای برنامههای مقیاسپذیر روی ابر شده و در کتاب حاضر که در سال ۱۳۸۹ نوشته شده، جایی ندارد.
در رایانش بدون سرور (Serverless)، توسعهدهنده کد را اجرا میکند و مدیریت سرور به عهده ارائهدهنده است. AWS Lambda که در سال ۲۰۱۴ عرضه شد از نمونههای شاخص آن است؛ برای نمونه میتواند با بارگذاری یک تصویر در S3 بهطور خودکار اجرا شود. این مدل، در مقایسه با اجاره ماشین مجازی در EC2 که در کتاب بررسی شده، سطح انتزاع بالاتری دارد.
بسیاری از سازمانها اکنون از چند ارائهدهنده ابری همزمان استفاده میکنند و باید مرزهای مسئولیت امنیتی هر ارائهدهنده را جداگانه بشناسند. «مدل مسئولیت مشترک» (Shared Responsibility Model) این تقسیم را روشن میکند: ارائهدهنده معمولاً امنیت زیرساخت زیرین (مانند امنیت فیزیکی و شبکه) را بر عهده دارد و مشتری مسئول پیکربندی و دادهها و دسترسیهای خود است، و این تقسیم در IaaS، PaaS و SaaS متفاوت است. برای مدیریت هزینه نیز رویکردی به نام FinOps شکل گرفته که مهندسی، مالی و محصول را برای بهینهسازی هزینههای ابری هماهنگ میکند.
استانداردهای ISO/IEC 27017 (سال ۲۰۱۵، کنترلهای امنیتی خدمات ابری) و ISO/IEC 27018 (حفاظت از اطلاعات شخصی در ابرهای عمومی) به ISO/IEC 27002 افزوده میشوند و بهتنهایی قابل گواهیدهی نیستند؛ معمولاً هنگام ممیزی ISO 27001 ارزیابی میشوند. ویرایش ۲۰۲۵ استاندارد ISO 27018 با ISO/IEC 27002:2022 همراستا شده است. برای فصل «استانداردهای رایانش ابری» اینها مهمترین مواردیاند که پس از انتشار کتاب آمدهاند.