فهرست محتوا
اگر نگاهی به روشهای استفاده از برنامههای کامپیوتری بیندازید متوجه خواهید شد که تفاوتهای بسیار زیادی در سالهای گذشته برای این برنامهها اتفاق افتاده است و مفهوم استفاده از برنامهها بهجای دانلود و یا خریدن CD آنها و نصب برنامه و استفاده از کرکها بیشتر به سمت برنامههای تحت وب رفته است و اکنون بهراحتی شما با استفاده از مرورگر خود به برنامههای کاملی دسترسی دارید که کارایی بالایی را هم برای شما دارند. درصورتیکه بخواهیم بگوییم این ویژگیهای خوب از کجا آمدهاند و به یکباره چه تحولی در برنامههای کامپیوتری رخ داد باید به مواردی مانند کلود اپ یا برنامههای ابری اشاره کنیم.
کلود اپ یکی از مهمترین تکنولوژیهای ساخت برنامههای وب است که بهترین امکانات را در اختیار ما میگذارد. البته باید در نظر داشت که برنامههای تحت کلود با برنامههای تحت وب متفاوت بوده اما بهخاطر شباهت هر دوی آنها و نیازی که به اینترنت دارند باعث شده است که از اصطلاح برنامههای وب استفاده شود. برای درک بهتر این موضوع که کلود اپ چیست لازم است قبل از اینکه به سراغ خود برنامههای کلود برویم کمی در مورد اینکه کلودها چه هستند و چه انواعی دارند صحبت کنیم.
کلود یا همان ابر چیست؟
بشر در زندگی خود چند دوره مهم را سپری کرده است که از عصر سنگ که ابزارهای ساده را با استفاده از سنگها میساخت شروع شده و به عصر ارتباطات که امروز در آن قرار داریم و اینترنت همه چیز را به دست گرفته، رسیده است. در این میان چندین دوره مهم دیگر وجود داشت که اگر بخواهیم دقیقا بگوییم ابرها یا همان کلودها چه هستند باید یک نیمنگاه به دو سه دوره آخر بیندازیم. قبل از اختراع کامپیوترها بشر در دورهای به نام عصر الکترونیک قرار داشت. دستگاههایی الکترونیکی شاهکار اختراع بشر به شمار میآمدند و روزبهروز پیشرفتهتر میشدند. در همینجا بود که اختراع یک قطعه توانست همه چیز را تغییر دهد. ICها قطعاتی بودند که در پی آن کامپیوترها ایجاد شدند و زندگی بشر را از عصر الکترونیک وارد عصر دیجیتال کردند.
در عصر دیجیتال همه چیز به دنبال کامپیوترها انجام میشد. سیستمهایی با قدرتهای پردازشی بزرگ و سوپر کامپیوترها روند بسیار طولانیای را طی کردند تا توانستند به آنچه که امروز در آن قرار دارند برسند. عصر دیجیتال در حال بزرگ شدن و گسترش بود تا در یک نقطه تلاقی مهم اینترنت و امکاناتی که به ما داده است بشر را وارد عصر دیگری که به عصر ارتباطات معروف است وارد کرد. کلیدیترین قطعه و موجوداتی که شرایط این انتقال را فراهم کرد، نیروی پردازشیای بود که کلودها یا همان ابرها آن را تامین میکردند.
با گسترش برنامههای کامپیوتری و همینطور استفاده از آنها مهمترین چیزی که برای رشد به آن نیاز داریم، نیروی پردازشیای است که در همهجا در دسترس باشد و بشود آن را تا اندازه موردنیاز ارتقا داد. تلاشهای دانشمندان برای ساخت کامپیوترهای بزرگ که این کار را انجام دهند تا اندازه خوبی موفق بود، اما موضوعاتی مانند سرعت رسانههای انتقال و مواردی ازایندست نمیتوانست شرایط لازم را فراهم کند. اینجا بود که جرقهای به ذهن یک دانشمند علوم کامپیوتر به نام جوزف کارل روبنت لیکلیدر (Joseph Carl Robnett Licklider) رسید که با اتصال چند کامپیوتر بتواند یک پردازه را روی همه آنها پردازش و اجرا کند.
اینجا بود که پردازش ابری شروع شد و گسترش پیدا کرد و بعد از گذشت چند سال و فراهم شدن زیرساختهای لازم اتصال سرورها و سیستمهای قدرتمند به هم توانست ابرهایی را ایجاد کند که منابع لازم برای هر کاری را در اختیار شما قرار داده و این موضوع بود که رشد اینترنت را تضمین کرد و ما را وارد عصر ارتباطات ساخت.
بهصورت علمی و تخصصی ابرها سیستمهایی به هم متصل هستند که یک نیروی پردازشی یکپارچه روبهبالا را برای ما تولید میکنند و هرچند که از نظر سختافزاری توزیعشده به نظر میرسند اما از نظر منطقی یکپارچه هستند. درصورتیکه سری به مقاله رایانش ابری چیست بزنید میتوانید به اطلاعات تکمیلی دراینرابطه دسترسی داشته باشید.
کلود اپ چیست؟
کلود اپ نوعی از برنامههای کامپیوتری هستند که با استفاده از سرویسهایی که روی ابرهای مختلف ارائه میشود راهاندازی شده و با این کار میتوان از برنامه در هر جایی و روی هر سیستمی استفاده کرده و بیشترین کارهای پردازشی آن روی کلود انجام خواهد شد. به زبان ساده برنامههایی که روی کلودهای مختلف وجود دارند و ما از آنها استفاده میکنیم کلود اپ نام دارند که بسیار شبیه برنامههای سطح وب میباشند.
درصورتیکه بخواهیم کلود اپ را بهصورت ملموس و واضح تعریف کنیم لازم است کار را با یک مثال دنبال کنیم. اپلیکیشنهای زیادی وجود دارند که شما با استفاده از موبایل و یا کامپیوتر خود از طریق اینترنت به آنها متصل شده و با آنها کار میکنید، بهعنوانمثال میشود خیلی از سرویسهای گوگل را معرفی کرد. درصورتیکه شما به سراغ گوگل درایو خود بروید و چند فایل را داخل آن ذخیره کنید، یا بعضی از آنها را دستکاری کنید، تمامی کارهایی که شما انجام دادهاید روی کلود انجام گرفته است و این دادهها روی کلود شما ذخیرهسازی شدهاند. این در حالی است که اینترنت صرفا یک ابزار ارتباطی برای اتصال به این کلود بوده است و خود آن نقشی در کاری که انجام شده است ندارد.
در این نوع از اپلیکیشنها اعمال تغییرات آنها روی ابرها انجام شده و ما با استفاده از دیوایسهای مختلفی به آنها متصل میشویم و از سرویسهایی که در اختیار ما قرار میدهند استفاده میکنیم. در واقع دسترسی به این برنامهها به روشهای مختلفی انجام میشود. بعضی از این برنامهها میتوانند به ما یک اپلیکیشن نصبی بدهند که با نصب آن روی موبایل و یا سیستمهای معمولی از آن استفاده کنید. بهعنوانمثال OneDrive یکی از کلود اپهایی است که بهصورت پیشفرض یک برنامه نیتیو را روی ویندوز شما نصب میکند، یا همینطور برنامههایی مانند Google Docs و Google Sheet که برنامههای واژهپرداز و حسابداری گوگل هستند و کار همان ورد و اکسل را انجام میدهند، از طریق مرورگر مورداستفاده قرار میگیرند.
البته کلود اپها صرفا برنامههایی با این ابعاد نیستند و ما کلود اپهای کوچکتری را هم داریم. درصورتیکه شما در سازمان خود از یک ابر هیبریدی استفاده کنید که اتوماسیون سازمان شما را راهاندازی کند میتوانید بهراحتی خیلی از برنامههایی که مایل باشید را بهصورت کلود اپ اجرا کنید. در مورد ابر هیبریدی و مزایا و تواناییهای که برای ما دارد و برنامههایی که روی آن اجرا میشوند در مقاله ابر هیبریدی چیست کامل صحبت کردیم.
انواع کلود اپ چیست؟
دررابطهبا موضوع کلود اپ میتوان دستهبندیهای مختلفی را برای برنامههای ابری یا کلود اپها معرفی کرد اما آنچه که از همه مهمتر است نوع استفادهای است که آنها از سرورهای ابری دارند. در واقع سطوحی که یک برنامه میتواند از ابرها سرویس بگیرد و به ما آن سرویس را بدهد متفاوت میباشد. شما در بعضی موارد کاربردهای مستقیمی را برای کلود اپ در نظر دارید که صرفا برای توسعه سیستم مورداستفاده قرار میگیرد.
کاربردهای کلود اپ به سه دسته اصلی تقسیم میشوند که از این قرارند:
IaaS یا همان Infrastructure as a Service
زمانی که بخواهیم بگوییم پایهایترین نوع از کلود اپ چیست باید به سرویسهای مربوط به زیرساختهایی که کلودها ارائه میکنند اشاره کنیم. این نوع از سرویس به این صورت عمل میکند که بستر مناسب برای ایجاد برنامههای کاربردی یا پلتفرمهای مختلف را در اختیار کاربران قرار میدهد.
اگر بخواهیم یک نمونه از این نوع کلود اپ را معرفی کنیم میتوانیم به AWS یا همان سرویسهای وب آمازون (Amazon Web Services) اشاره کنیم که امکانات قویای را در اختیار توسعهدهندگان وب قرار میدهد.
PaaS یا همان Platform as a Service
این نوع از کلود اپ تقریبا مانند IaaS میباشد اما بهجای زیرساختها در اینجا پلتفرمهایی ارائه میشود که با استفاده از آنها کارهای مختلفی را انجام میدهیم. کلود اپ میتواند سرویسهای شما را با استفاده از این پلتفرمها راهاندازی کرده و امکانات خوبی را برای شما ایجاد کند.
درصورتیکه بخواهیم مثالی از این نوع سرویس ارائه کنیم باید به Google App Engine اشاره کنیم که امکانات خوب و کاملی را برای توسعه برنامهها ایجاد کرده و یک پلتفرم کامل را برای استفاده در اختیار آنها قرار میدهند. همینطور سرور مجازی ترید و سرور مجازی بایننس نیز از دیگر مواردی هستند که به کاربران کمک میکنند تا با استفاده از اپلیکیشنهای موجود روی این پلتفرم یک ارتباط امن را با سایتها و صرافیهایی که مدنظرشان میباشد داشته باشند.
SaaS یا همان Software as a Service
آخرین نوع کلود اپ نرمافزار بهعنوان سرویس است که سرویسهایی را شامل میشود که شما بهصورت مستقیم از یک برنامه کاربردی روی کلود استفاده میکنید، در واقع انواع قبلی که آن را بررسی میکردیم زیرساختهایی را برای برنامههای اینچنینی ارائه میکنند و این نوع از برنامه یکی از برنامههایی است که کاربر مستقیما با آن کار میکند.
سطح بالاترین نوع از کلود اپ سرویسهای SaaS است. بهعنوانمثال از این برنامهها میتوانیم به سرویسهایی مانند Google Docs و یا OneDrive اشاره کنیم. اینها برنامههایی هستند که کاربر با استفاده از روشهای مختلف و روی دیوایسهای مختلف به آنها متصل شده و از سرویسهای ارائه شده آنها استفاده میکنند.
درصورتیکه به این انواع کلود اپ دقت کرده باشید قطعا متوجه این موضوع شدهاید که مثالهایی که از این بابت ذکر شد شرکتهای بزرگ و چندملیتی بودهاند. این مثالها به این دلیل عنوان شد که این موارد عمومیت بیشتری داشته و بیشتر شناخته شده هستند. به جز مواردی که گفته شد شما میتوانید از این انواع کلود اپ در سرویسهای دیگری هم استفاده کنید.
بهعنوانمثال هنگامی که شما از سرویسهای سرور اختصاصی، سرور مجازی و هاست ابری بهصورت ابری استفاده میکنید، در واقع از انواع IaaS ،PaaS و SaaS استفاده کردهاید. در واقع سرور اختصاصی همان زیرساخت سادهای است که شما میتوانید هر چیزی را روی آن پیادهسازی کنید. سرور مجازی همان پلتفرمی است که میتوانید از آن برای راهاندازی برنامهها و اپلیکیشنهای تحت کلود خود استفاده کنید و هاست ابری هم برنامهای است که شما میتوانید یک وبسایت را با استفاده از آن توسعه داده و نیروی پردازشی لازم برای بالا نگه داشتن سایت شما و فضای لازم برای میزبانی آن را برای شما تامین خواهد کرد.
تفاوت برنامه تحت وب و کلود اپ چیست؟
برای درک بهتر این تفاوت لازم است که بهصورت دقیق بدانیم که هرکدام از این برنامههای فعال در بستر اینترنت چه هستند. در مورد کلود اپ تا اینجای کار کامل صحبت کردیم. اما در مورد برنامههای تحت وب و برنامههای اینترنتی باید بگوییم که برنامه تحت وب برنامهای است که با استفاده از بستر اینترنت به سرور اصلی خود متصل شده است و بهصورت واکنشی با ما کار میکند، بسته به کاری که ما انجام میدهیم و کلیکهایی که ما میکنیم، اتفاقات مختلفی تحت بستر اینترنت به سرور ارسال شده و برنامه تحت وب به ما پاسخ میدهد و عکسالعمل آنچه که عمل ما بوده است را ارائه میکند.
تا اینجای کار همه چیز شبیه به هم است اما در سازوکار اصلی، برنامههای تحت وب یک وبسرور دارند که مسئول پاسخگویی بهتمامی درخواستهایی است که وارد آن میشود. یعنی در برنامه تحت وب، برنامه هسته اصلی یک وبسرور است که این برنامه وبسرور روی هاست و یا سرور مجازی اجرا شده است و در حال بررسی یک خط ارتباطی است که اصطلاحا به این عمل Listen کردن گفته میشود. وقتی درخواستی روی این خط باشد این برنامه به آن پاسخ مقتضی را خواهد داد.
در مورد سازوکار کلود اپ با یک داستان متفاوت طرف هستیم. وقتی که میخواهیم به یک کلود اپ متصل شویم، باز هم با استفاده از روش ارتباطیای که میتواند یک برنامه نصب شده و یا یک مرورگر باشد، درخواست خود را به کلود اپ ارسال میکنیم. اما اتفاقی که در اینجا میافتد این است که دیگر با یک وبسرور کوچک که خود برنامهای روی یک هاست باشد طرف نیستیم و این ابر است که در حال سرویسدهی به ما میباشد. یک نیروی پردازشی وسیع و بزرگ که سرویسهای مختلف را در اختیار ما گذاشته و اطلاعات موردنظر را به ما میدهد و دیگر نیازی نیست که نگران پهنای باند و کیفیت اینترنت و شلوغ بودن درخواستهای آن باشیم.
حتی در مواردی که یک کلود اپ بهصورت شخصیسازی شده نوشته میشود و شما خودتان آن را مینویسید و با سرویسهای Google App Engine آن را ارائه میکنید، باز هم خبری از وبسرور نیست و در واقع این سرویسهای گوگل هستند که به کاربران شما سرویسدهی میکنند و کاربر با گوگل سروکار دارد.
تفاوت برنامه تحت وب و کلود این است که سرویسهایی که برنامههای کلود اپ میدهند به جهت بکاند و هستههای قدرتمندی که دارند بسیار سطح بالاتر و قدرتمندتر از برنامههای تحت وب عمل میکنند و تقریبا آینده برنامههایی که در بستر وب فعالیت دارند وابسته به این نوع از برنامهها میباشد.
مزایای استفاده از کلود اپ چیست؟
شاید برای شما جالب باشد که بدانید خیلی از برنامههای اینترنتی که اکنون برای سازمانهای بزرگ به سراغ آنها میروید از همین کلود اپها هستند. در بخشهای قبلی مثالهایی از این برنامهها را دیدیم اما درصورتیکه بخواهیم مثالهای بیشتری از این موارد بزنیم که ملموستر هم باشند، باید به سراغ برنامههایی مانند اینترنت بانکها برویم. همینطور برنامههایی مانند سامانههای اعتبارسنجی بانکها و یا سامانههای بیمهای که حجم عظیمی از اطلاعات را دارند و باید روزانه به درخواستهای زیادی پاسخ دهند برای اینکه بهصورت مناسب کار کنند نیاز به یک پایه قوی دارند که کلود اپها این کار را انجام میدهند. در حال حاضر بهترین بستری که میتواند برنامههای سطح وب و دسترسی عمومی را برای شما به اجرا درآورد همین کلود اپها هستند.
مقیاسپذیری
کلود اپها سرویسهایی مقیاسپذیر یا همان Scalable هستند. به این معنی که وقتی شما یک کلود اپ را راهاندازی کنید و برنامه شما در ابتدای امر کاربران کمی را داشته باشد با چندین برابر شدن کاربران آن باز هم کارایی خود را حفظ خواهد کرد و نیاز به اینکه بخواهید تغییری را در ساختار آن ایجاد کنید برای شما نخواهد داشت.
در خیلی از برنامههایی که این ویژگی وجود نداشته باشد، وقتی تعداد کاربران از میزان پیشبینی شده بیشتر شود، حداقل مشکلی که ایجاد خواهد شد نیاز مبرم به ارتقای هاست خواهد بود و دردسرهایی که برای سایت و برنامه تحت وب ما ایجاد میشود را دیدیم. اما در مورد کلود اپ از این موارد خبری نیست و یک برنامه بدون توجه به اینکه ۱۰۰ نفر از آن استفاده میکنند یا ۱۰۰۰ هزار نفر، کلود اپ شما باز هم کار خود را انجام میدهد.
هزینه کمتر
در برنامههای بزرگ هزینه بسیار کمتری از نگهداری و راهاندازی یک وبسایت برای شما خواهد داشت. سرویسهای کلود اپ با هزینههای بسیار معقولتری که برای شما تهیه شده، سرویسدهی را آغاز میکنند. این در حالی است که اگر شما بخواهید از برنامههای تحت وب عادی و سایتها برای این کار استفاده کنید هم هزینههای برنامهنویسی شما بالا خواهد رفت و هم برای میزبانی به سرویسهای پرهزینهای مانند سرور اختصاصی و سرور مجازی اروپا نیاز خواهید داشت که بتواند نیروی پردازشی لازم را برای شما تامین کند.
آپتایم بالا
در واقع یکی از مهمترین معیارهایی که باید برای برنامههایی که در بستر وب هستند در نظر داشت این است که چه مدت میتوانند به کاربرانی که از آنها استفاده میکنند سرویسدهی کند. درصورتیکه بخواهیم بسیار خوشبینانه به داستان نگاه کنیم باید گفت ازآنجاکه این برنامهها در بستر اینترنت قرار گرفتهاند کاربران در هر ساعت از شبانهروز از آنها استفاده میکنند. اما این ایدهآلترین اتفاقی است که قرار است بیفتد و در واقع ما برای رسیدن به این منظور تلاش میکنیم، اما همیشه اختلالاتی در سرویسهای میزبانی وجود خواهد داشت که سایت شما را از کار میاندازد و از دسترس کاربران خارج میکند.
در اینجا معیاری به نام آپتایم وسط خواهد آمد که یک عدد درصدی است که تعیین میکند برنامه ما در چند درصد از اوقات در اختیار کاربران خواهد بود. این درصد معمولا عددی بالای 99 درصد میباشد و زمانی که شما همین 99 درصد را هم برای سایت و برنامه خود داشته باشید باید گفت که در یک روز سایت شما به مدت 14 دقیقه و 42 ثانیه از دسترس خارج خواهد بود و درصورتیکه این مدتزمان از پیک کاری شما باشد مطمئنا شما با مشکلات زیادی مواجه خواهید شد.
وقتی از سرویسهای ابری استفاده میکنید حداقل آپتایم برای شما 99.99 درصد خواهد بود و بیشترین آپتایم را خواهید داشت. درصورتیکه شما یک کلود اپ داشته باشید به این راحتیها قطع نخواهد شد و میتوانید در هر شرایطی به کاربران خود سرویسدهی کنید.
مدیریت بهتر
شما مجموعه امکانات مدیریتی بهتر و بیشتری را با استفاده از کلود اپها برای خود دارید. در واقع این برنامهها با استفاده از انعطافپذیری بالایی که دارند قابلیتهای مختلف و کاربردی زیادی را برای شما فراهم میکنند که استفاده از آنها بهنوعی دست شما را برای پیادهسازی خیلی از قابلیتها باز میگذارد.
امنیت بالاتر
وقتی صحبت از امنیت در میان باشد همیشه بسترهای میزبانی ابری مانند هاست ابری و سرور ابری از بهترین و موثرترین گزینهها برای رفع و مقاومت در برابر حملات بودهاند و در مورد اینکه وضعیت کلود اپ چیست باید گفت که شما در این برنامهها با یک ابر قدرتمند طرف هستید که دو ویژگی مهم را برای شما فراهم میکند.
در اولین مورد اجرای یک حمله سایبری روی یک ابر کار بسیار سختی میباشد و به دلیل اینکه موقعیت سرورهای ابری بهصورت واضح مشخص نیست اجرای حملات هم امکانپذیر نبوده و IP برنامه شما بهدرستی مشخص نخواهد بود که حملهکنندگان بخواهند آن را مورد هدف قرار دهند. دومین مورد هم مربوط به تامین منابع برای این نوع از سرویسها میشود که در ابرها سرورهای متعددی هستند که نیروی پردازشی برای کلود اپ شما را فراهم میکنند. در این حالت اگر تعدادی از این سرورها داون شده و حمله موثر باشد، سایر سرورها میتوانند کار تامین منابع برای مختل شدن عملکرد کلود اپ را در اختیار وی قرار دهند و باید گفت که حمله، کار به جایی نخواهد برد.
از طرفی اجرای یک حمله به این صورت نیست که ابر به آن پاسخی ندهد و فقط با استفاده از منابع بالای خود آن را بیاثر میکند. وقتی به یکی از سرورهای یک ابر یا همان کلود حملهای بشود، سایر سرورها به دنبال اینکه حملهکننده را پیدا کرده و آن را مسدود کنند و به این اوضاع خاتمه دهند خواهند افتاد. در اصل باید گفت بزرگترین سیستمهای امنیتی در اینترنت ابرهایی هستند که منتظر حملات هستند تا بهسرعت به سراغ اجراکنندههای آن رفته و آنها را مسدود کنند.
موارد دیگری مانند بالا رفتن تجربه کاربری و بهتر شدن اوضاع سئو را هم میتوان از مزایای کلود اپ دانست و در کل اینها خدماتی هستند که با استفاده از یک کلود اپ به شما تعلق خواهد گرفت.
نتیجهگیری
در این مقاله به بررسی اینکه کلود اپ چیست و چه کارهایی را برای ما انجام میدهد پرداختیم و دیدیم که کلود اپ نوعی از برنامهها هستند که از طریق اینترنت در اختیار کاربران قرار میگیرند و میتوان با استفاده از آنها به یک ابر متصل شده و از سرویسهایی که این کلودها ارائه میکنند استفاده کرد. در مورد این موضوع که روش دسترسی به کلود اپ چیست باید گفت شما این امکان را دارید که هم با استفاده از مرورگرها و هم برنامههای نیتیو به کلود اپ دسترسی داشته باشید. باید دقت داشت که کلود اپ در واقع برنامهای روی سرور است و این برنامه نیتیو نصب شده روی سیستم شما و برنامه تحت وبی که شما را به کلود اپ وصل میکند تنها رابطهای شما بوده و برنامه اصلی نیستند.
مزایای استفاده از کلود اپ برای ایمیلهای بزرگ کلود اپ میتواند هزینههای نگهداری و توسعه را بهصورت خوبی کاهش داده و یک برنامه باکیفیت را به کاربران ارائه کند مهمترین موضوعاتی که میتوان در مورد مزیتهای کلود اپ اشاره کرد این است که این برنامهها دارای بالاترین آپتایم بوده و معمولا بههیچعنوان از دسترس خارج نمیشوند و همینطور مقیاسپذیری آنها بالا بوده و اگر کاربران شما زیاد شوند کارایی سایت شما دچار افت نمیشود.