برای اینکه آشنا شدن با سرویس ها٬ در بستر کلود برامون هم خوشمزه باشه هم قابلیت یادگیری سریع رو داشته باشه ٬ اومدند این مورد را در قالب یک تئوری به نام "pizza as a service" پیاده سازی کردند. چون یادگیری این مفهوم خیلی آسون هست و اسم مبارک پیتزا هم به زبون اومد (تازه اگر پپرونی هم باشه که :))عالی میشه) و زیاد گشنمون نشه خیلی سریع بریم سراغ اصل مطلب!!
Made at home(چیزی که همه شرکت ها الان دارند)
خب شما وقتی میخواهید توی خونه پیتزا درست کنید میرید تمام مواد مورد نیاز پیتزا مثل پنیر٬ نون پیتزا و ... رو خودتون تهیه میکنید و میارید توی خونه خودتون همه کارهاش رو انجام میدید و در نهایت توسط فر یا گاز اونو درست می کنید و در نهایت توسط یه سودا کول و سس و سالاد میل میکنید.خب توی این سناریو همه چی دست خودتونه (from scratch).تایم درست کردن و تایم تموم کردن٬ نوع پیتزا (آمریکایی یا ایتالیایی) و ... بعد از میل کردن غذا دور و برتون رو نگاه میکنید میبینید که آشپزخونه کثیف شده و تازه باید پاشید بعد از میل کردن غذا کلی ظرف بشورید.
خب همین مورد رو اکثر شرکت ها توی بستر زیرساختشون دارند.شما فکر کنید یه شرکت باید چقدر برای infrastructure هزینه کنه!!؟ از پول سرور گرفته تا هزینه های اتاق دیتاسنتر و بحث های cooling و ups تا در نهایت بتونیم به یه حد استانداردی برسیم که همه جا داد بزنیم آقا ماهم دیتاسنتر داریم.
Infrastructure as a service(Iaas)
خب حالا وارد فضای کلود میشیم. می تونیم بریم مغازه و یک پیتزا آماده بخریم و بیاریم خونه و داخل فر گرمش کنیم و بعد میل کنیم.توی این حالت دیگه کاری به کار مواد داخل پیتزا و روش درست کردنش و خمیر و... نداریم. اگر اینو بخوایم بیاریم توی فضای کلود مثل این میمونه که ما مثلا توی openstack میایم یه سرور آماده تحویل میگیریم و شروع میکنیم روش کار کردم. حالا دیگه کاری نداریم که برند سخت افزار چیه! دیتاسنترش کجاست! cooling اش آیا خوب خنک میکنه! برق رفته یا نه و... اینجا دیگه کاری به سخت افزار و دیتاسنتر کلن نداریم و فقط یه سرور آماده تحویل میگیرد و شروع به کار میکنید.
مثل EC2 داخل AWS
Platform as a service (PaaS)
فکر کنید دارید از محل کارتون برمیگردید یهویی گرسنه میشید ٬ چشمتون میخوره به یه رستوران ٬ میرید یه پیتزا آماده سفارش میدید و میارید خونه سپس سفره رو میچینید و میل میکنید. توی محیط کلود مثل این میمونه که یه developer یه کدی نوشته و میخواد خیلی سریع اونو اجرا کنه و نمیخواد خودشو درگیر سرور و مسائل sysadmin ای کنه . میاد به ارائه دهنده سرویس کلود میگه آقا من برای اجرای کدم نیاز به mysql و redis و nginx و rabbitmq دارم. بعدش ارائه دهنده سرویس در صدم ثانیه تمام این سرویس ها رو با ip و port در اختیارش میذاره و برنامش رو خیلی سریع run میکنه.
یا مثلا پلتفرم های object storage را در نظر بگیرید (google drive یا dropbox) که شما فقط دارید از سرویس استفاده میکنید و نمیدونید پشت داستان چه خبره!
مثل Google App Engine
Software as a service (SaaS)
مثل حالت قبل میمونه با این تفاوت که دیگه پیتزا رو خونه نمیارید و همونجا توی رستوران میل میکنید.توی محیط کلود مثل این میمونه که شما فقط از نرم افزار آماده در بستر کلود استفاده میکنید.
مثل Gmail
امیدورام این مطلب براتون مفید بوده باشه.
من بلاگر خوبی نیستم و همیشه از نوشتن فرار کردم اما این بار نشد فرار کنم دیگه.
خوشحال میشم بهم انتقاد و پشنهاد کنید :)