اشکان محمدی
اشکان محمدی
خواندن ۴ دقیقه·۲ سال پیش

توانایی های سرویس های ابری

امروزه با گسترش زیرساخت های سخت افزاری و به وجود آمدن شرکت های پردازش ابری، دیگر نیازی به نگرانی راجع به زیرساخت های اپلیکیشن های وب نیست وخوشبختانه سرویس های ابری (cloud services)، بسیاری از کار هایی که مربوط به مدیریت زیرساخت (infrastructure) می باشد را خودشان انجام می دهند

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

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

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

در ادامه به توانایی های سرویس های ابری به طور خلاصه اشاره ای خواهیم داشت.

ارائه دیتاسنتر های ابری

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

سرویس های ابری به شما این امکان را می دهند که به میزان نامحدودی فایل و دیتا در آنها بارگزاری کنید و هزینه بسیار کمتری نسبت به راه اندازی دیتاسنتر دارد. برای مثال می شود سرویس S3 آمازون را نام برد که برای آپلود و ذخیره فایل های پرحجم از آن استفاده میشود. علاوه بر آن، سرور های آمازون می توانند فرایند دانلود فایل ها را بهینه سازی کنند و کپی فایل ها را به edge server هایی در سر تا سر نقاط جغرافیایی انتقال دهند تا کاربران هر منطقه فایل ها را از نزدیک ترین edge server به موقعیت جغرافیایی شان دریافت کنند.

ارائه پلتفرم های پردازش ابری

پلتفرم های پردازش ابری به شما این امکان را می دهند که با هزینه ای پایین تر از سخت افزار های پردازشی قدرتمند استفاده کنید. برای مثال سرویس Google Colab به پژوهشگران علوم داده و هوش مصنوعی این امکان را می دهد که از GPU های قدرتمند گوگل برای پردازش استفاده کنند. (تا جایی رایگان و از یک جایی به بعد باید به ازای میزان استفاده از منابع پول پرداخت کنید)

همچنین به اشتراک گذاری نتایج و همکاری در نوشتن کد ها در محیط Google Colab آسان تر می باشد.

میکروسرویس های ابری

میکروسرویس ها (microservice)، سرویس های ابری هستند که فرایند یک نرم افزار back-end را پیاده سازی کرده و با ارائه API های وب، به دیگر برنامه نویسان back-end این قابلیت را می دهند که برنامه های back-end شان را به این سرویس های متصل کنند.

این کار باعث می شود که قسمت های معمولا تکراری توسعه نرم افزار (مثل احراز هویت و سرویس notification و ...) با سهولت و کیفیت بیشتری انجام شود و همچنین وقت برنامه نویسان را آزاد میگذارد تا روی قسمت های مهم تر اپلیکیشن شان کار کنند.

مثلا سرویس OAuth قابلیت احراز هویت را به صورت یک سرویس ابری ارائه میدهد و انواع و اقسام امکانات از قبیل ثبت نام با گوگل و اپل آی دی و ... را نیز دارا می باشد. علاوه بر آن امنیت بسیار بالایی دارد و از این لحاظ قابل اتکا است.

ارائه زیرساخت به عنوان سرویس (Infrastructure as Service)

اپلیکیشن های وب به محیطی برای استقرار نیازدارند و چالش ها بعد از استقرار و شروع به کار اپلیکیشن تازه شروع می شوند:

  • پایش سلامت کارکرد سرور و اپلیکیشن
  • استقرار مستمر آپدیت ها روی سرور
  • جمع آوری گزارش های خطا از سرویس ها
  • مدیریت ترافیک سرور و load balancing
  • مدیریت cluster و replica
  • شبکه سازی و مدیریت microservice های داخلی اپلیکیشن back-end
  • ارائه CDN (برای وبلاگ ها و سایت های مبتنی بر محتوا) و cache
  • دفع حملات سایبری مبتنی بر زیرساخت مثل DDoS و ...

پیاده سازی راه حل برای تمام این چالش ها کار بسیار پیچیده ای است اما تمام این ها را می توان به یک سرویس ابری سپرد مثل AWS سپرد و نفسی راحت از سر رفع مسئولیت کشید

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

https://vrgl.ir/TbN0W
https://vrgl.ir/TbN0W


اکثر سرویس های ابری ساز و کار مالی خود را بر اصل pay as you go (من این طور ترجمه می کنم: به اندازه استفاده ات بپرداز) بنا می کنند و اغلب این امکان را دارند که به صورت اتوماتیک منابع سخت افزاری تخصیص داده شده به سرور های شما را متناسب با ترافیک سرور کم و زیاد کنند. اینطوری هیچ هزینه گزافی برای خرید سخت افزار نخواهید داد و هزینه ها متناسب با میزان واقعی مصرف شما خواهد بود.


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



سرویس‌های ابرینرم افزارهوش مصنوعیاحراز هویت
یه برنامه نویس ساده که از تجربیات و آموخته هاش می نویسه
شاید از این پست‌ها خوشتان بیاید