بایگانی

رک چیست و چه کاربردی در شبکه دارد ؟

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

رک ها بر حسب نوع نصب به دو گروه اصلی زیر تقسیم می شوند :

* رک های دیواری

* رک های ایستاده

رک های دیواری :

این گروه از رک ها همانطور که از نامشان مشخص است، قابل نصب روی دیوار می باشند و بیشتر برای شبکه های کوچک و یا قسمتی از یک شبکه بزرگ ( با توجه به نقشه شبکه و توپولوژی انتخابی ) مورد استفاده قرار می گیرند.

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

1- ابعاد رک های دیواری

ابعاد رک های دیواری اصلی ترین ویژگی برای انتخاب رک مورد نظر می باشند. هر رک ( دیواری یا ایستاده ) دارای سه بعد می باشد. ارتفاع ، طول ، عرض

ارتفاع رک ها با واحدی تحت عنوان یونیت Unit شناخته می شود.رک های دیواری از این حیث دارای ارتفاع های 4 یونیت ، 5 یونیت ، 6 یونیت ، 7 یونیت ، 9 یونیت و 12 یونیت می باشند.

طول رک یا اصطلاحا عمق رک که با توجه به ابعاد تجهیزاتی که قرار است در آن قرار بگیرند  تعیین می گردد. رک های دیواری موجود در ایران دارای عمق های 30 ، 32 ، 35 ، 40 ، 45 و 60 سانتی متر می باشند.

عرض رک که مطابق با استاندارد باید 60 سانتی متر باشد ولی در بازار فعلی به خاطر کاهش دادن قیمت تمام شده رک ، رک هایی با عرض های کمتر ( در بازه 50 تا 60 سانتی متر) نیز تولید می شوند.

2- نوع درب رک

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

حال سئوال اصلی که ممکن است برای خواننده این مطلب پیش آید این است که کدام یک از سه درب نسبت به سایر درب ها بهتر است ؟

در جواب می توان گفت که :

– درب تمام شیشه ای به راحتی شکسته می شود.

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

– لولا ها یا همان محور هایی که درب تمام شیشه ای را به بدنه رک متصل نموده اند معمولا استاندارد نبوده و ممکن است به مرور زمان درب شیشه ای از جای خود خارج شده و بشکند، همچنین درب رک معمولا از همان ابتدا نسبت به بدنه رک تراز نبوده و یا بعد از چند بار باز و بسته شدن درب رک از حالت تراز خارج می شود.

رایانش ابری ( Cloud Computing)

اینترنت ، از ابتداي کار خود تاکنون دچار تغییرات فراوانی شده است که بعضی از این تغییرات در شیوه زندگی بشر تاثیر مثبتی داشته است، از جمله این تغییرات مطرح کردن رایانش ابری است.این فناوري جدید به دليل ویژگی هایی که دارد به سرعت مورد توجه مردم قرار گرفته است چرا که در رایانش ابري همه نوع امکانات به کاربران، به عنوان یک سرویس ارائه شده است. این تکنولوژی برای استفاده راحت از منابع اطلاعاتی ، سخت افزاری ، برنامه های کاربردی، شبکه ها برنامه ریزی شده است و رویکرد آن بدین گونه است که دیگر احتیاج نیست سیستم های کامپیوتری با قدرت پردازش زیاد داشته باشید و برای این امر هزینه زیادی پرداخت کنیم. فقط کافی است یک سیستم کامپیوتری که قابلیت اتصال  باسرعت بالا به اینترنت را دارد داشته باشیم به عنوان مثال : دیگر برای بازی کردن ( بازی هایی مانند Clash of  Clans و فرمانروایان بزرگ ) نیاز به خرید سی دی بازی یا کارت گرافیک با قدرت پردازش بالا را نخواهید داشت فقط با یک رایانه به اینترنت متصل می شوید و با عضویت در سایتی که چنین بازی هایی را بر پایه رایانش ابری ارائه می دهد ، شروع به بازی می کنید ، پردازش های گرافیکی از  سمت سرور  پشتیبانی می شود و شما فقط نتیجه آن ها را خواهید دید ، پس بدون صرف هزینه نرم افزاری و سخت افزاری برای سیستم خود به هدفتان می رسید، البته تنها مزیت پردازش ابری در بازی ها نیست بلکه بزرگترین مزایای آن در دسترس بودن اطلاعات به وسیله اینترنت است برای این که نیاز به این تکنولوژی بهتر مطرح شود مثالی ساده را طرح می کنیم ، تمامی ما در زندگی مدرن نیاز جدی به برق داریم . اما مطمئنا برای داشتن نعمتی چون برق ، اصلا به صرفه نیست که نیروگاه احداث کرد و با خرید یک انشعاب برق ، هر چه قدر که مصرف کردید ، هزینه پرداخت خواهید کرد. این مثال دقیقا ضرورت وجود پردازش ابری را به عنوان شرکتی که فراهم کننده پایگاه هایی برای ارائه نرم افزار ها و سخت افزار ها و شبکه ها و … است بیان می کند .

رایانش ابری یا (cloud computing) مدلی برای داشتن دسترسی آسان و بنا به درخواست شبکه به منابع اینترنت ( مانند:  شبکه ها، فضای ذخیره سازی ، سرورها ) که بتوانند با حداقل کار یا بدون نیاز به دخالت  serverبه سرعت فراهم شود. به عبارت دیگر منظور از رایانش ابری استفاده از منابع محاسباتی (سخت افزار و نرم افزار) است که مجموعه ای از سرورها از طریق یک شبکه می باشد در این روش، بجای اینکه کاربر نرم افزارهای کاربردی مورد نیاز خود را بر روی کامپیوتر شخصی نصب کند، از طریق هر کامپیوتر متصل به شبکه خدمات مورد نیاز خود را بصورت وب سرویس دریافت می کند. نرم افزارهای کاربردی بر روی سرورهای پر سرعت شبکه نصب می شوند و کاربر می تواند به تمامی این نرم افزارها از طریق شبکه دسترسی پیدا کند.

نمونه هایی از سرویس های رایانش ابری

   1- اپلیکیشن های موبایل معمولا فایل‌های پشتیبان خود را بر روی فضای ابری ذخیره می‌کنند. از  Drop box  و Google Drive  گرفته تا برنامه های دیگر. زیر ساخت ابری همان چیزی است که به نام های بزرگی مانند Amazon و  YouTube کمک می‌کند تا محتوای خود را به سرعت به کاربران تحویل دهند. بدون ابرها، شاید نیمی از اپلیکیشن‌ های وب امروزی را دیگر نداشتیم.

   2- خدمات ایمیل مبتنی بر وب مانند Gmail و Hotmail خدمات رایانش ابری را ارائه می دهند. کاربران می توانند به ایمیل خود از هر کامپیوتر با یک مرورگر و اتصال به اینترنت بدون محدویت سخت افزاری دسترسی داشته باشند. ایمیل ها در سرورهای Google و مایکروسافت هستند ، به جای اینکه به صورت محلی بر روی کامپیوتر سرویس گیرنده  ذخیره شوند .

    3- در طول چند سال گذشته رشد فوق العاده ای در رایانش ابری مشاهده شده است، که امروزه توسط بسیاری از برنامه های محبوب وب مورد استفاده قرار می گیرد ، از جمله VOIP  به عنوان مثال Skype, Google Voice ، محیط های اجتماعی مانند Facebook, Twitter, LinkedIn ،سرویس های رسانه ای  مانند Picassa, YouTube, Flickr ، توزیع محتوا مانند Bit Torrent ، برنامه های مالی مانند Mint و .. .

معرفی VMware ESXi

ESXi آخرین ورژن از سری نرم افزارهای VMware Hypervisor است. شرکت VMware یکی از قدیمی ترین شرکت‌های مجازی سازی می‌باشد که از سال ۱۹۹۸ فعالیت خود را شروع کرد. یکی از محصولات پرطرفدار این شرکت ESXi (مخفف Elastic Sky X Integrated) می باشد.

ESXi یک سیستم عامل Hypervisor مبتنی بر سیستم عامل VMkernel است که باagents هایی که توسط آن اجرا می شود، در ارتباط است.

ESXi از hypervisor های نوع اول می باشد. یعنی برخلاف Hosted Hypervisor های نوع دوم، (که به صورت یک نرم افزار بر روی یک سیستم عامل میزبان نصب می شوند و وابسته به سیستم عامل میزبان می باشند) ، به طور مستقیم بر روی سخت افزار سیستم بدون نیاز به هیچ سیستم عاملی (OS) اجرا می شود و اکثر منابع سخت افزاری از طریق آنها در اختیار ماشین های مجازی قرار می گیرد.

Hypervisors های نوع اول، همچنین به عنوان hypervisors های bare-metal شناخته می شوند، زیرا آنها به طور مستقیم بر روی سخت افزار اجرا می شوند.

ESXi مورد استفاده سازمان های بزرگ و enterprise قرار می گیرد. مدیران سرور مجازی میتوانند اطلاعات state را در یک فایل پیکربندی ذخیره شده، آپلود کنند. همچنین ادمین ها می توانند بررسی کنند که سخت افزار VMware با سخت افزاری که بر روی ESXi نصب است، سازگار باشد. Esxi سیستم عاملی است که به صورت CLI(Command line Interface) می باشد.

VMKernel ESXi، به طور مستقیم با ماشین ها(agent) و ماژول هایthird-party ارتباط دارد. مدیران سرور می توانند  VMware ESXi را با استفاده از یک کنسول یاvSphere client  پیکربندی کنند. شرکتVMware برای مدیریت ماشین های مجازی روی بستر ESXi ، نرم افزار vSphere را ارائه می‌دهد که محیطی گرافیکی (GUI (Graphical user interface  را برای Admin های شبکه فراهم میکند.

از طریق Vsphere می توان مدیریت یکپارچه Server ها را که از طریق vCenter انجام میشود، را نیز انجام داد. vCenter نرم‌افزاری است که بر روی Windows Server ویا Linux Open SUSE می‌شود و امکان مدیریت یکپارچه سرورها را به ما می‌دهد.

نسخه های مختلف ESX و ESXi

شرکت VMware، نسخه ESXi را پس از انتشار VMware ESX نسخه ۴٫۱ در سال ۲۰۱۰ منتشر کرد. همچنین پس از نسخه ۵ESX، این شرکت تنها از ESXi پشتیبانی خواهد کرد.ESXi  در حال حاضر در نسخه ۶٫۷ است، که عمدتاbug های نسخه های ESX قبلی در آن به حداقل رسیده است.

لایسنس های ESX ، روی ESXi مستقر در هر سرور نیز قابل اجرا می باشد. شرکت VMware، در نسخه های قبلی Hypervisor ESX، ویژگی های بیشتری نظیر کنسول OS و فایروال ارائه می داد. command-line هایRemote و استانداردهای مدیریت سیستم، جایگزین service console functions شده اند.

Hypervisor ازAuto Deploy و ایجاد image همراه با سایر ابزارهایی که در ESX نبود، پشتیبانی می کند. طبق گفته VMware، معماری ESXi کمتر از ۱۵۰ مگابایت فضای هارد (۳۲ مگابایت فضای درایو) را اشغال می کند که در مقایسه با حدود ۲ گیگابایت روی نسخه های قدیمی تر ESX، مقداری قابل ملاحظه می باشد.

نسخه رایگان ESXi از ویژگی های کمتری پشتیبانی می کند. گرچه نمی تواند با vCenter Server ارتباط برقرار کند، سرورها را با گزینه هایی مانندthin provisioning  مجازی می کند. نسخه غیر رایگان ESXi شامل انتقال live ماشین ها، pooling storage و  compute resources across multiple hosts می باشد.

پیش نیاز ها و راه اندازی ESXi

از آنجا که ESXi  برنامه ای سبک است، به حداقل مقدار منابع سخت افزاری نیاز دارد. به طور خاص، ESXi نسخه ۶٫۷ نیاز به یک ماشین میزبان با حداقل دو هسته CPU ، پردازنده ۶۴ بیتی x86، و ۴ یا ترجیحا ۸ گیگابایت رم دارد.

ESXi به طور مستقیم بر روی هارد دیسک لوکال در host نصب میشود. برای نصب  ESXi، installer را راه اندازی کنید و به سادگی دستورات را دنبال کنید. پس از نصب  ESXi، مدیران می توانند از کنسول مستقیما برای تغییر گزینه های ESXi  مانند تعیین آدرس های IP یا سایر گزینه های پیکربندی استفاده کنند.

سپس آنها می توانند vSphere  Web Client یا vSphere Client را نصب کنند، که هر دو به راه اندازی ماشین های مجازی (VMs) کمک می کنند.
سرانجام، زمانی که مدیران دسترسی به host وvSphere پیدا می کنند، می توانند VM را راه اندازی کنند.

ویژگی های کلیدی EXSI

VMware ESXi از ویژگی های کلیدی زیر پشتیبانی می کند. ESXi همچنین توانایی پیکربندی ۱۲۸ پردازنده و ۱۲۰ دستگاه را دارد.

  • traffic shaping
  • memory ballooning
  • role-based security access
  • logging / auditing
  • GUI
  • و vSphere PowerCLI

Adminهای شبکه می تواند این قابلیت را با استفاده از ابزارهای remote tools  به جای CLI مدیریت کند و ESXI می تواند از یک مدل ادغام مبتنی بر API به جای third-party management agents استفاده کند.  ESXi از ایجاد VM ها با VMware Server و Microsoft Virtual Server نیز پشتیبانی می کند.

مزایا و معایب  ESXi

نصب ESXi در یک data center  به دلیل حجم ۱۵۰ مگابایت هارد، سریع و ساده است و به دلیل سبک بودن  ESXi، مدیران نیاز بهpatches  های کمتری دارند. همچنین ESXi  به عنوان امن ترین مجازی ساز می باشد. علاوه بر این، مدیریت امنیت در VMkernel ساخته شده است. ESXi همچنین یک GUI ساده را ارائه می دهد.مستندات آموزشی برای کسانی که از قبل از محصولات مجازی سازی استفاده نکرده اند، نیز موجود است.

از طرفی متاسفانه، ESXi  برای حفظ میزان هارد کمتر گزینه های پیکربندی کمتری را ارائه می دهد. یکی دیگر از معایب ESXi اینست که سربارهایی که توسط CPUهای اضافی و یا OS ایجاد می شوند، ممکن است سرعت برنامه ها را در VM کندتر نماید. همچنین نسخه رایگان ESXi کاربران را محدود به استفاده از دو پردازنده فیزیکی می کند.

VMware ESXi  و  vSphere

VMware vSphere  به عنوان مجموعه ای از محصولات مجازی سازی سرور VMware عمل می کند که شامل ESXi نیز می باشد. در واقع VSphere نام یک مجموعه از ابزارها و نرم افزارهای شرکت vmware بابت راه اندازی مجازی سازی و مدیریت ساختارهای مبتنی بر مجازی سازی می باشد. مدیران می توانند از یک میزبان vSphere به عنوان پایه ای برای یک محیط ابر خصوصی نیز استفاده کنند.

محصولات VMware موجود در vSphere شامل نرم افزارهایی نظیر VMware vCenter Server(جهت مدیریت چندین سرور ESX/ESXI)، vSphere Web Client (یکی از ابزارهایی مدیریتی ESX/ESXi)، vSphere Distributed Switch ، VMware High Availability  و VMware Virtual Symmetric Multi-Processing  هستند.

مقایسه VMware ESXi  و  XenServer

Citrix XenServer  یک پلتفرم مجازی سازی منبع باز و قابل مقایسه با ESXi است که بر اساس Hyperviser Xen است.

Xen نیز همانند Esxi نوع شماره اول hypervisor است؛ XenServer می تواند سرورهای دسکتاپ سرور و cloud VM را استقرار و مدیریت کند

برخی ویژگی های XenServer نظیر انتقال VMها بصورت زنده(live) ،health checks  و هشدار گزارش عملکرد performance reporting می باشد.

Xen در هسته لینوکس گنجانده شده است. در واقع Citrix Xen Server بر پایه سیستم عامل Linux NetBSD می باشد و از درایورهای استاندارد Linux پشتیبانی می کند.همچنین Xen توسط تعداد محدودی از توزیعهای لینوکس مانند SUSE Linux Enterprise Server پشتیبانی می شود. درحالیکه  ESXi بدون نیاز به سیستم عامل پایه عمل نموده و مستقیماً با سخت افزار ارتباط برقرار می کند.

در رایطه با سرعت انتقال اطلاعات هارد دیسک مجازی I/O، در Xen حداکثر برابر با گلوگاه (Bottleneck) سیستم عامل میزبان می باشد. اما در Esxi سرعت I/O بر اساس تکنولوژی سخت افزاری مورد استفاده محاسبه می گردد و عملاً برابر با توان سخت افزاری می باشد.

همچنین انعطاف پذیری در اضافه نمودن منابع سخت افزاری و امکان مدیریت پیشرفته فضای مورد استفاده (Storage) روی Xen Server برخلاف Esxi نمی باشد.

تفاوت لایت اسپید و آپاچی


بیایید در مورد تفاوت بین سرورهای مبتنی بر رویداد و مبتنی بر پردازش که تفاوت عمده بین LiteSpeed و Apache را نشان می دهد بحث کنیم.
وب سرور LiteSpeed رویداد محور است و Apache مبتنی بر پردازش (فرآیند) است.
در این مقاله قصد داریم منظور از این اصطلاحات و اینکه کدام یک تحت چه شرایطی بهتر است، بپردازیم.
لحظه ای را تصور کنید که وب سرور شما یک کافی شاپ است و مشتریانی که در مغازه هستند، درخواست هایی هستند که وب سرور باید انجام دهد. کدام نوع کافی شاپ به مشتریان خود بهتر سرویس می دهد؟
در این رابطه؛ وب سرور چیست؟
 

کافی شاپ بر اساس فرآیند (Apache)


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

کافی شاپ  مبتنی بر رویداد (Litespeed)


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

نتیجه گیری

طبق تحقیقات سرور لایت اسپید می تواند تا ۱۳۰% سریعتر نسبت به آپاچی درخواست ها را هندل کند.

لایت اسپید برای هندل یک درخواست یکی از پروسسورهای خود را درگیر می کند  و در نتیجه سرعت CPU را افزایش می دهد و حافظه کمتری نسبت به Apache مصرف می کند؛ آپاچی با مدل مبتنی بر فرایند برای محتویات استاتیک مانند تصاویر، CSS و HTML مناسب است.
 

تشابه کافی شاپ وقتی که به محتوای پویا (Dynamic) مربوط می شود، بسیار مناسب است.
تصور کنید برنامه های کاربردی وب مانند PHP و فرایندهای پایگاه داده مانند MySQL. به صورت زیر یک مدل مبتنی بر رویداد درخواست خود را انجام می دهد:

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

نصب lscache در لایت اسپید

(LCache (LateSpeed Cache یک سیستم کشینگ برای محتوای پویای ساخته شده در وب سرور LiteSpeed می باشدو شما می توانید از آن در وردپرس، جوملا و سایر وب سایت های پویا استفاده کنید و با افزایش سرعت سایت شما خواهد شد.
جهت نصب lscache مراحل زیر را دنبال کنید.
فایل httpd-includes.conf  را با دستور زیر باز نموده:

nano /etc/httpd/conf/extra/httpd-includes.conf

کد زیر را به آن اضافه نمائید:

<IfModule Litespeed>
CacheRoot /home/lscache/
</IfModule>

فایل  بنام  cust_httpd.CUSTOM.3.pre را با دستور زیر باز نموده:

nano /usr/local/directadmin/data/templates/custom/cust_httpd.CUSTOM.3.pre

کد زیر را به آن اضافه نمائید:

<IfModule Litespeed>
  CacheRoot lscache
</IfModule>

فایل از قبل وجود ندارد و با اعمال این تغییر ایجاد می شود.
 
دستورات زیر را سپس اجرا کنید:

Cd /usr/local/directadmin/custombuild
./build rewrite_confs
mkdir /tmp/diskcache
chown nobody:nobody /tmp/diskcache
chmod 700 /tmp/diskcache

فایل httpd-vhosts.conf  را با دستور زیر باز نموده:

nano /etc/httpd/conf/extra/httpd-vhosts.conf

کد زیر را به آن اضافه نمائید:

<IfModule LiteSpeed>
RewriteEngine On
## cache should be available for HEAD or GET requests
RewriteCond %{REQUEST_METHOD} ^HEAD|GET$
## select which pages to cache
RewriteCond %{HTTP_COOKIE} page_contain_cachetoken=yes
# with other condition
RewriteCond %{QUERY_STRING} !s=[a-fA-F0-9]{32}
# excluding certain URLs
RewriteCond %{REQUEST_URI} !/(login|register|usercp|private|profile|cron|image)\.php$
# cache for 2 mins for php pages only
RewriteRule /(.*\.php)?$ - [E=Cache-Control:max-age=120]
</IfModule>

سپس در پنل مدیریتی لایت اسپید نیز تغییرات زیرر اعمال نمائید:
وارد مسیر زیر شده
Server>cache>cache storage settings>edit
مقادیر را بصورت زیر تنظیم کنید:

Storage Path = /tmp/diskcache
Server>cache>cache policy>edit
Check Private Cache = yes
Privately Cache All = yes

در مرحله بعد یک virtual Hosts با نام دلخواه ایجاد نموده و تنظیمات را بصورت زیر انجام دهید:

Virtual Host Root = $SERVER_ROOT/conf/templates/
Config File = $SERVER_ROOT/conf/template.xml
Enable Scripts/ExtApp=yes
Restraine=yes

در گام بعد وارد مسیر زیر شده
Virtual Hosts>cache>cache storage settings>edit
مقادیر را بصورت زیر تنظیم کنید:

torage Path = /tmp/diskcache

سپس وارد مسیر زیر شده :
Virtual Hosts >cache>cache policy>edit
مقادیر را بصورت زیر تنظیم کنید:

Check Private Cache = yes
rivately Cache All = yes

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

روش تست فعال بودن lscache  

در زمان باز شدن سایت در مرور گر کلید F12 را کلیک کنید.
قسمت Network را انتخاب و F5 را کلیک کنید.
بر روی یک لینک مثل تصویر زیر کلیک کنید.
در سمت راست اگر lscache بدرستی نصب شده باشد، گزینه X-LiteSpeed-Cache را مشاهده خواهید نمود.
جهت تست بدین طریق از مرورگر فایرفاکس استفاده نمائید.

وب سرور چیست؟ با انواع وب‌ سرور آشنا شوید

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

وب‌ سرور چیست

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

با این حساب در کنار ارسال محتوای HTML سایر اطلاعات صفحه‌‌ وب‌سایت مورد نظر مانند جاوا اسکریپت‌ها، عکس‌ها، ویدئو‌‌ها و محتواهای دیگر از جانب وب‌سرور عرضه می‌شود. به این ترتیب می توان گفت تمام میزبان‌های وب‌سایت برای عرضه خدمات به کاربر باید حتماً از یک وب‌سرور کمک بگیرند.

وب‌سرورها در بیشتر موارد اطلاعات را از پروتکل HTTP منتقل می‌کنند اما پروتکل‌‌های دیگری مانند FTP و SMTP را نیز در اختیار مدیران وب‌سایت قرار می‌‌دهند.

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

جالب است بدانید هر کامپیوتری را می‌توان به وب‌سرور تبدیل کرد، این کار با نصب نرم‌افزار و‌ب‌سرور روی کامپیوتر مورد نظر انجام می‌شود. ناگفته نماند بسته به حجم خدماتی که از وب‌سرور انتظار می‌رود وب‌سرورها را به صورت اختصاصی یا اشتراکی انتخاب می‌کنند.

برای انتخاب وب‌سرور فاکتورهایی مانند سیستم‌عامل، پشتیبانی از زبان‌های برنامه‌نویسی مورد نظر و همچنین امنیت را باید در نظر داشته باشید.

انواع وب‌سرور

تنوع نیاز به سرویس‌های مختلف اینترنتی باعث شده تا وب‌سروهای مختلفی را شاهد باشیم که هر کدام خدمات خاص خود را ارائه می‌دهند و کاربردهای متفاوتی دارند. آشنایی با این وب‌سروها به شما کمک می‌کند وب‌سرور مناسب با نیاز خود را انتخاب کنید.

وب‌سرور آپاچی (Apache)

اولین وب‌سرور از این لیست را به یکی از معروف‌ترین وب‌سرورها اختصاص داده‌ایم. این وب‌سرور آپاچی چیزی بیشتر از ۲۰ سال قدمت دارد و در حال حاضر بیشتر از ۱۰۰ میلیون وب‌سایت از این وب‌سرور خدمت می‌گیرند.

بستر اصلی وب‌سرور آپاچی در پلتفرم لینوکس است اما امکان نصب این وب‌سرور روی پلتفرم ویندوز نیز وجود دارد. وب‌سرور آپاچی ویژگی‌های زیادی دارد که یکی از مهم‌ترین آن‌ها متن‌باز بودن این وب‌سرور است.

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

پشتیبانی وب‌سرور آپاچی از زبان‌های TCL, Python, Perl, و PHP را می‌توان از دیگر دلایل محبوبیت این وب‌سرور دانست. به لطف این زبان‌ها توسعه‌دهندگان ماژول‌های بسیار زیادی را برای تعامل بیشتر با آپاچی آماده‌ کرده‌اند که امکانات بیشتری برای کنترل و محدود کردن درخواست‌های سرور در اختیار مدیران قرار می‌دهد.

تعامل و کنترل ۱۰ هزار درخواست، پشتیبانی از htaccess و پروتکل HTTP/2, محدود کردن کانکشن‌های فعال، قابلیت Fault Tolerance و همچنین Failover در کنار پشتیبانی از کش و پشتیبانی از Gzip را می‌توان از ویژگی‌های دیگر وب‌سرور آپاچی نام برد.

در کنار این موارد وب‌ سرور آپاچی اجازه رصد کردن Session‌ ها و کاربران را می‌دهد و برای کانکشن‌های فعال می‌تواند محدودیت ایجاد کند. این وب‌سرور به خوبی از XML و CGI پشتیبانی می‌کند.

وب‌سرور LiteSpeed

همان‌گونه که از نام این و‌ب‌ سرور پیداست با یکی از سریع‌ترین خدمت‌رسان‌های اینترنتی طرف هستیم که برای سایت‌های پربازدید کاربرد زیادی دارد. تجربه نشان داده است سرعت بارگذاری وب‌سرور LiteSpeed نسبت به وب‌سرورهای دیگری مانند آپاچی چیزی حدود یک سوم سریع‌تر است.

البته امکانات و سرعت وب‌ سرور LiteSpeed برای مشتری ارزان تمام نخواهد شد و برخلاف دیگر وب‌سرورهایی که به آن‌ها اشاره کردیم برای دسترسی به تمامی امکانات این وب‌سرور باید هزینه خرید لایسنس آن را پرداخت کنید. خوشبختانه فرآیند خرید و همچنین هزینه وب‌سرور LiteSpeed خیلی هم زیاد نیست و اگر ویژگی‌های این وب‌سرور چشم شما را گرفته است می‌توانید از این لینک برای خرید لایسنس وب‌سرور LiteSpeed استفاده کنید.

جالب اینجاست که وب‌سرور LiteSpeed سازگاری بسیار خوبی با آپاچی دارد و به همین دلیل شاهد پشتیبانی این وب‌سرور از قابلیت‌های وب‌سرور آپاچی مانند htaccess, Mod Security و Mod Rewrite هستیم. این ویژگی‌ها باعث شد تا وب‌سرور LiteSpeed به سرعت جای خود را در میان سایر وب‌سرورها باز کند و در مکان چهارم قرار بگیرد.

کاهش هزینه‌های نگهداری و پایداری و سرعت بالا را می‌توان از ویژگی‌های اصلی وب‌سرور LiteSpeed دانست. این ویژگی‌ها باعث شده است تا مدیران برای انتخاب وب‌سرور مناسب میان LiteSpeed و Apache شک داشته باشند و به همین دلیل مقایسه‌ای میان وب‌سرورهای Apache و LiteSpeed انجام داده‌ایم که مطالعه آن‌را پیشنهاد می‌کنیم.

وب‌سرور LiteSpeed ویژگی‌های زیادی دارد و به همین راحتی‌ها نمی‌توان از کنار آن گذشت، در نتیجه اگر به فکر امتحان یا استفاده این وب‌سرور افتاده‌اید پیشنهاد می‌کنیم نگاهی به آموزش نصب و استفاده از وب‌سرور LiteSpeed داشته باشید.

وب‌سرور Nginx

این وب‌سرور رایگان و متن‌باز است و همین دلایل باعث محبوبیت زیاد وب‌سرور Nginx شده است. این وب‌سرور به‌خوبی با پلتفرم‌های یونیکس، ویندوز و مک سازگاری دارد و گفته می‌شود چیزی حدود ۱۲ درصد از سایت‌های اینترنتی خدمات خود را از وب‌سرورهای Nginx دریافت می‌کنند.

وب‌سرور Nginx امکانات جالبی دارد و می‌تواند بیشتر از ۱۰ هزار اتصال همزمان را با مصرف تنها ۲.۵ مگابایت حافظه برقرار کند. تعامل با فایل‌های Status، اجرای Load Balancing، قابلیت Fault Tolerance، سازگاری کامل با پروتکل IPV6، استریم فرمت‌های ویدئویی FLV و MP4، رصد کردن کاربران، پشتیبانی از پروتکل‌های IMAP, SMTP و POP3 را می‌توان از امکانات اصلی وب‌سرور Nginx نام برد.

ناگفته نماند وب‌سرور Nginx از htaccess پشتیبانی نمیکند و این امر ممکن است در نگاه اول به عنوان یک ضعف به حساب بیاید اما دلایل زیادی را می‌شناسیم که وب‌سرور Nginx افزایش سرعت و کارایی بیشتری به دلیل عدم پشتیبانی از htaccess را به دنبال دارد.

وب‌سرور Lighttpd

در وب‌سرور Lighttpd با یکی از امن‌ترین وب‌سرورها طرف هستیم که سرویس بسیار خوبی در موقعیت‌های High Performance و High load عرضه می‌کند. از طرف دیگر این وب‌سرور نسبت به سایر وب‌سرورها نیاز به منابع بسیار کمی دارد و گفته می‌شود کمترین میزان رم را اشغال می‌کند.

وب‌سرور Lighttpd به امکانات پیشرفته‌ای مانند FastCGI, CGI و URL-Rewriting مجهز است و این موارد باعث شده این وب‌سرور گزینه خوبی برای سرورهایی با حجم ترافیک بالا باشد.

جالب است بدانید وب‌سایت معروف و پرترافیک یوتیوب در گذشته از این وب‌سرور خدمت می‌گرفته است. از طرف دیگر برخی از ماژول‌های آپاچی را می‌توان در وب‌سرور Lighttpd به کار گرفت.

وب‌سرور Lighttpd از Chroot پشتیبانی می‌کند و به ابزار آماری RRDtool مجهز است. این وب‌سرور به صورت تک پردازشی ساخته شده و با چندین Thread مختلف تعامل برقرار می‌کند. اگر خاطر شما باشد گفتیم وب‌سرور Lighttpd امنیت بالایی دارد که در این زمینه می‌توان به ماژول مخصوص برای جلوگیری از حملات DDos اشاره کرد.

وب‌سرور (IIS (Internet Information Services

این وب‌سرور توسط مایکروسافت توسعه داده می‌شود و با یک وب‌سرور ویندوزی طرف هستیم که تنها به پلتفرم ویندوز خدمت می‌دهد. وب‌سرور Internet Information Services که به اختصار با نام IIS شناخته می‌شود به خوبی از پروتکل‌های HTTP, HTTPS, FTP, FTPS, SMTp و NNTP پشتیبانی می‌کند و از آنجایی که در نسخه‌های ویندوز سرور تعبیه شده است نمی‌توان گفت با یک وب‌سرور رایگان طرف هستیم.

وب‌سرور IIS سازگاری خوبی با زبان‌های برنامه‌نویسی ASP.net و .Net دارد و با زبان PHP نیز سازگار است. محدود کردن مصرف پردازنده برای هر برنامه، ماژول‌های متنوع و پشتیبانی از پروتکل WebSocket را می‌توان از دیگر ویژگی‌های IIS نام برد.

به این نکته نیز اشاره کنیم تنها باید زمانی وب‌سرور IIS را به خدمت بگیرید که برنامه شما با خانواده .Net توسعه داده شده باشد. در غیر این صورت اجرای IIS برای سایر زبان‌هایی که مایکروسافت از آن‌ها پشتیبانی نمی‌کند احتمال دارد شما را در آینده با مشکلات مختلفی روبرو کند.

آپاچی یا لایت اسپید یا انجین ایکس؟ کدام وب سرور بهتر است؟

طبق تحقیقات معتبر به عمل آمده تعداد درخواست در ثانیه (Transactions Per Second) اجرا شده نتایج زیر را نشان داد؛

عناصر آزمایش:

  • ۱۰۰ یوزر
  • Keep Alive فعال
  • برنامه یکسان تحت PHP
  • سرور یکسان
  • LiteSpeed: 5524 درخواست در ثانیه
    NginX + FPM: 3452 درخواست در ثانیه
    Apache + FPM: 1336 درخواست در ثانیه
    Apache Default: 27 درخواست در ثانیه
    (عدد بیشتر بهتر است)
    با این تفاسیر وب سرور لایت اسپید با منابعی یکسان؛
    تا ۵۰% نسبت به NginX
    و تا ۱۳۰% نسبت به Apache
    عملکرد بهتر و سریعتری ارائه کند.
     
     

    سخن‌پایانی و سهم بازار وب سرور ها

    در مجموع می‌توان گفت نمی‌توان نسخه واحدی برای نیازهای مختلف مدیران سرور تجویز کرد و هر مجموعه‌ای بسته به استراتژی‌هایی که اتخاذ کرده است نیازمند وب‌سرور متفاوتی است.
    در این بین اگر نگاهی به جدیدترین آمار استفاده از وب‌سرورها که توسط ویکیپدیا منتشر شده است داشته باشیم متوجه خواهد شد که وب‌سرور آپاچی  ۴۹.۵ از بازار وب‌سرورها را در اختیار دارد در صورتی که وب‌سرور nginx حدود ۳۹ درصد از این بازار را از آن خود کرده است.
    وب‌سرور IIS مایکروسافت ۹.۵ درصد مخاطب دارد و وب‌سرور LiteSpeed نیز تنها یک درصد از این بازار را کسب کرده است که با توجه به عملکرد فوق العاده آن می تواند رو به رشد باشد.
     
    در پایان پیشنهاد می‌کنیم اگر شما هم دانش خوبی در زمینه وب‌سرورها دارید و تجربه مفیدی از کار با وب‌سرو دارید در قسمت نظرات ما و سایر کاربران را در جریان این تجربه‌ها قرار دهید.
    .

کش Varnish (ورنیش) چیست و چطور کار می کند؟

 

در این مقاله می خواهیم به زبان ساده مفهوم کش وارنیش را بیان و نحوه کار آن را با هم بررسی کنیم. Varnish یک برنامه است  که هم سرعت وب سایت را بالا می برد و هم بار وب سرور را کم می کند. سایت رسمی Varnish، چنین تعریفی از آن ارائه می دهد:  “ورنیش یک  شتاب دهنده حرفه ای وب سرور است که با نام HTTP Reverse Proxy هم شناخته می شود.”

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

 

 

ابزار اصلی  تنظیمات وارنیش،  زبان پیکربندی Varnish یا  VCL است که یک زبان خاص دومین (Domain-Specific Language) DSL است که برای ساختن روال هایی که در زمان پاسخ اولیه به هر درخواست فراخوانی می شوند، استفاده می گردد. بیشتر تنظیمات، در کد VCL انجام می شود و به همین علت varnish را نسبت به اغلب عوامل دیگر تسریع کننده HTTP، قابل تنظیم تر و تطبیق پذیرتر می کند.

پارامترهای زمان اجرای متنوعی در Varnish ، کنترل امور را در دست دارند. مثل حداکثر درجه و حداقل مقدار برای رشته های laborer ، تایم آوت های مختلف و غیره. یک رابط مدیریتی خط شارژ، به این پارامترها اجازه تغییر می دهد و اسکریپت های VCL جدید می توانند بدون اجرای مجدد عامل تسریع کننده، سفارش داده، ایجاد و فعال شوند.  به جهت کاهش تعداد فریم ورک هایی که از مسیر سریع به حافظه آورده می شوند، اطلاعات لاگ در  حافظه اشتراکی قرار می گیرند. وظیفه کنترل، وارسی کردن، سازماندهی و تبدیل اطلاعات لاگ به یک صفحه بر عهده برنامه دیگری گذاشته شده است.

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

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

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

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

به احتمال زیاد این همه کاری که از دست Varnish برمی آید نیست، چون  تا اینجا که کمک زیادی به روند کار نکرد. چیزی که Varnish به این روند اضافه می کند این است که، Varnish قادر است پاسخ های سرور backend را ذخیره و برای استفاده در آینده رزرو کند.  وارنیش سریعا می تواند از ذخیره های خود استفاده کرده و  به درخواست های بعدی پاسخ دهد، بدون اینکه بار غیر ضروری به وب سرور تحمیل کند.

اگر کمی به این کمک بزرگ Varnish فکر کنیم به این نتیجه می رسیم که باعث کاهش انباشته شدن درخواست ها می شود، زمان پاسخ را بهبود می بخشد و نهایتا درخواست های بیشتری در هر ثانیه توسط سرور پاسخ داده می شوند.

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

Varnish جهت تنظیم بار هم از الگوریتم Round Robin و هم الگوریتمی اختیاری استفاده می کند. از هر دو برای تقسیم بار مناسب برای هر سرور backend استفاده می کند. علاوه براین، امکان بررسی سالم بودن سرور های backend هم وجود دارد.

موارد دیگری که Varnish آنها را ساپورت می کند عبارتند از:

پشتیبانی از ماژول ها با استفاده از ماژول های وارنیشی به نام VMOD.
پشتیبانی از Edge Side Incorporate  ها.
پشتیبانی از فشرده سازی و از فشرده خارج کردن GZip .
پشتیبانی از راهکاری های اجرایی مبتنی بر IP برای مشتری،هشینگ، نامنظم و ِ DNS.
pass HTTP Gushing و get HTTP Gushing .
پشتیبانی از تست Steady Stockpiling بدون تغییر URL.
پشیبانی از مود های Saint و Grace.

PaaS, IaaS و SaaS چیست و چه تفاوت هایی دارند؟

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

معمولا سه مدل از سرویس های ابری برای مقایسه با هم وجود دارند:

نرم افزار به عنوان سرویس Saas، پلتفرم به عنوان سرویس PaaS و زیرساخت به عنوان سرویس IaaS

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

خلاصه ای از تفاوت های اساسی

مثال های رایج از کاربردهای SaaS, Paas و IaaS

نوع سرویس کاربردهای رایج
SaaS Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting
PaaS AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift
IaaS DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)

SaaS : نرم افزار به عنوان سرویس

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

نحوه ی ارائه خدمات در SaaS

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

مزایا SaaS

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

مشخصه ها و ویژگی های SaaS

مشخصات اصلی سرویسی که از SaaS بهره می برد، در موارد زیر آمده است:

  • از یک موقعیت مرکزی مدیریت می شود
  • روی یک سرور راه دور میزبانی می شود
  • از طریق اینترنت در دسترس می باشد
  • کاربران نیازی به بروزرسانی نرم افزاری یا سخت افزاری ندارند

موارد استفاده از SaaS

چندین وضعیت مختلف وجود دارند که استفاده از SaaS می تواند مفید باشد:

  • اگر شما یک استارتاپ یا شرکت کوچکی هستید که به سرعت نیاز به استفاده از تجارت الکترونیکی دارید، اما زمانی برای مسائل نرم افزاری و سرور ندارید.
  • برای پروژه های کوتاه مدت که نیاز به همکاری سایرین دارید
  • اگر از برنامه هایی استفاده می کنید که به صورت معمول، مورد استفاده همگان نمی باشند، مانند نرم افزارهای مالیاتی
  • برای برنامه هایی که نیاز به دسترسی به وب و تلفن همراه دارند

نمونه هایی از کاربردهای SaaS

Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting

PaaS : پلتفرم به عنوان سرویس

سرویس های پلتفرم Cloud یا پلتفرم به عنوان سرویس(به اختصار PaaS)، مولفه های ابری را برای یک نرم افزار خاص فراهم می سازد، در حالی که تا پیش ازین، عمدتا برای استفاده نرم افزارهای کاربردی مورد استفاده قرار می گرفتند.

PaaS یک چارچوب (framework) برای توسعه دهندگان فراهم می کند که از می توانند از آن برای ایجاد برنامه های سفارشی استفاده کنند. در این مدل تمامی امور مربوط به سرور، ذخیره سازی و شبکه توسط یک شرکت یا ارائه دهنده به عنوان واسط، مدیریت می شود؛ در این صورت توسعه دهندگان می توانند تنها بر روی توسعه و مدیریت برنامه خود تمرکز کنند.

نحوه ی ارائه خدمات در PaaS

نحوه ی ارائه سرویس در مدل PaaS مشابه Saas می باشد؛ با این تفاوت که به جای اینکه نرم افزار بر روی اینترنت عرضه شود، یک بستر برای ساخت و ارائه نرم افزار، در اختیار توسعه دهنده قرار بگیرد. این بستر بر روی وب ارائه شده و این آزادی را به توسعه دهندگان می دهد که تمرکز خود را بر روی ساخت نرم افزار قرار دهند و نگرانی راجع به سیستم های عملیاتی، بروزرسانی نرم افزارها، ذخیره سازی و زیرساخت نداشته باشند.

PaaS به دارندگان کسب و کار این اجازه را می دهد که برنامه های خود را با مولفه های خاصی که بر روی این مدل قرار دارد، طراحی و ایجاد کنند. این برنامه ها یا میان افزارها، مقیاس پذیرند و به راحتی در دسترس قرار می گیرند؛ چون بر پایه مولفه های خاصی از Cloud بنا شده اند.

مزایای PaaS

مهم نیست که شرکت شما در چه حد و اندازه ای باشد؛ مزایای بسیاری با استفاده از مدل PaaS نصیب شما می گردد:

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

ویژگی ها و مشخصات PaaS

ویژگی های زیادی هست که PaaS را به عنوان یک سرویس ابری معرفی می کند، به عنوان مثال:

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

موارد استفاده از PaaS

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

نمونه هایی از کاربردهای PaaS

AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift

IaaS : زیرساخت به عنوان سرویس

خدمات زیرساختی ابری که با نام زیرساخت به عنوان سرویس(به اختصار IaaS)، شناخته میشوند، از منابع محاسباتی خودکار و بسیار مقیاس پذیر ساخته شده اند. IaaS خدمات خود را به صورت کامل برای دسترسی و نظارت بر چیزهایی مانند محاسبات، شبکه سازی، ذخیره سازی و سایر سرویس ها فراهم می سازد و به کسب و کارها اجازه می دهد تا بجای خریداری منابع سخت افزاری ثابت، بر اساس نیاز و تقاضای خود از منابع استفاده کنند.

نحوه ی ارائه خدمات در IaaS

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

این سرورهای ابری معمولا از طریق یک داشبورد یا API در اختیار مشتری قرار می گیرد و بعد از آن مشتری های IaaS، اختیار کاملی بر روی تمامی زیرساخت ارائه شده دارند. IaaS قابلیت ها و فناوری های مشابهی مانند یک دیتاسنتر سنتی ارائه می کند، با این تفاوت که نیازی به مدیریت و نگهداری فیزیکی از سرورها نمی باشد. کاربران IaaS می توانند بر روی سرورها و هاردهای خود دسترسی مستقیم داشته باشند، اما این دسترسی از طریق یک دیتاسنتر مجازی که بر روی ابر قرار دارد، انجام می شود.

برخلاف SaaS و PaaS، در این مدل، کاربران مسئولیت مدیریت و بررسی مواردی همچون برنامه ها، سیستم عامل ها، زمان اجرا، میان افزارها و داده ها را بر عهده دارند. با این حال، ارائه دهندگان IaaS، سرورها، هارد دیسک ها، شبکه ، مجازی سازی و ذخیره سازی را مدیریت می کنند. بعضی ارائه دهندگان نیز خدمات بیشتری خارج از لایه مجازی ساز، مانند پایگاه های داده و صف های پیام را نیز ارائه می کنند.

مزایای IaaS

استفاده از IaaS منافع زیادی شامل موارد زیر را به همراه خواهد داشت:

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

ویژگی ها و مشخصات IaaS

برخی مشخصات که هنگام استفاده از IaaS به چشم می آیند به شرح زیر است:

  • منابع به عنوان یک سرویس در دسترس می باشند
  • هزینه ها بسته به میزان مصرف، متفاوت است
  • خدمات بسیار مقیاس پذیر هستند
  • معمولا چندین کاربر از یک قطعه سخت افزاری به صورت همزمان استفاده می کنند
  • کنترل کامل از زیرساخت را برای سازمان ها فراهم می اورد
  • پویا و انعطاف پذیر

موارد استفاده از IaaS

همانند استفاده از SaaS و PaaS، موقعیت هایی وجود دارند که استفاده از IaaS مفید واقع می شود.

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

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

نمونه هایی از کاربردهای IaaS

DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)

SaaS vs PaaS vs IaaS

به طور کلی هر مدل ابری، ویژگی ها و توانمندی های خاص خودش را ارائه داده و درک تفاوت های بین آنها، برای استفاده سازمان شما، امری ضروری می باشد.

در صورتی که به دنبال یک نرم افزار ذخیره سازی ابری هستید یا به یک بستر مناسب برای ایجاد نرم افزار سفارشی شده خود نیاز دارید یا به کنترل کامل بر روی تجهیزات زیرساختی بدون توجه به رسیدگی فیزیکی از آن، نیاز دارید، در هر صورت یک سرویس ابری پاسخگوی نیاز شما خواهد بود. فرقی ندارد که چه گزینه ای را انتخاب می کنید؛ مهاجرت به Cloud، آینده تکنولوژی و کسب و کار است و نیاز است که به درستی با آن آشنا شویم.

نصب فایروال

نصب فایروال روی سرور مزایای زیادی دارد و جلوی بسیاری از حملات را میگیرد فایروال های زیادی داریم اما ما  CSF را  آموزش میدهیم
برای نصب اول دستور های زیر را به ترتیب بزنید
کد:

rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

اگر احیانا بعد از وارد کردن دستور آخر با ارور
You need to install the LWP perl module (libwww-perl) and then install csf
یا هر ارور دیگه ای مبنی بر نصب نبودن libwww-perl برخوردید دستور زیر را وارد کنین
کد:

yum -y install perl-libwww-perl

و بعد دستور زیر را وارد کنین تا فایروال نصب شود
کد:

sh install.sh

اگه سرور اختصاصی یا سرور مجازی با کرنل اختصاصی (وی ام ور و زن) دارید کار تمومه
اگه وی پی اس تون با OpenVZ یا virtuzzu باشه باید مراحل زیر رو هم بروید
پس تاکید میکنیم دارندگان سرور اختصاصی و سرور های مجازی با کرنل اختصاصی نیازی به مراحل زیر ندارند
وِیژه وی پی اس های اوپن وی زد و ویروتوزو
اول دستور زیر رو بزنید (یادتون باشه نانو را نصب کرده باشید)
کد:

nano /etc/sysconfig/iptables

بعد تمام 4 خط زیر را داخلش کپی پیست کنید
کد:

-A FORWARD -j ACCEPT -p all -s 0/0 -i venet0
-A FORWARD -j ACCEPT -p all -s 0/0 -o venet0
-A INPUT -i venet0 -j ACCEPT
-A OUTPUT -o venet0 -j ACCEPT

و بعد سیو کنید و بیاید بیرون (اول Ctrl + X بعد Y و بعد دو بار اینتر)
حالا دستور
کد:

nano /etc/csf/csfpre.sh

و باز هم خطوط زیر را داخلش کپی پیست کنید
کد:

iptables -A INPUT -i venet0 -j ACCEPT
iptables -A OUTPUT -o venet0 -j ACCEPT
iptables -A FORWARD -j ACCEPT -p all -s 0/0 -i venet0
iptables -A FORWARD -j ACCEPT -p all -s 0/0 -o venet0

بعد دستور
کد:

nano /etc/csf/csf.conf

خط زیر را پیدا کنید
ETH_DEVICE = “”
و به صورت زیر تغییرش بدهید
کد:

ETH_DEVICE = “venet+”

حالا دستور
nano /etc/pure-ftp.conf
خط زیر را پیدا کنید
PassivePortRange
و مثل زیر تغییرش بدهید
کد:

PassivePortRange          30000 35000

و یه بار کل سرور را با دستور
reboot
ری استارت کنید
الان فایروال نصب است ولی فعلا بصورت تست هست و عملا کار نمیکنه در مقالات بعدی فعال نمودن آن را آموزش می دهیم

معرفی MongoDB

سرعت پردازش بالاتر: پایگاه‌ داده رابطه‌ای در هر جستجو و یا در هر ذخیره داده باید شروط زیادی مانند روابط بین جدول‌ها و صحت مقادیر رکوردها را بررسی کند که این پروسه‌ها سربار RAM و CPU را به شدت افزایش می‌دهد در حالیکه مونگودی‌بی به دلیل ساختار NOSQL تنها دخیره و جستجو می‌کند و در نتیجه سرعت دستیابی و ذخیره داده‌ها به شدت کاهش می‌یابد.

دخیره حجم بالاتر دیتا: پایگاه‌های داده به دو شکل می‌تواند حجم داده‌های قابل ذخیره در سیستم را افزایش دهند. horizontal-scaling و vertical-scaling.

vertical scaling: در این روش دیتاها روی یک node ذخیره می‌شود و برای افزاش حجم داده‌ها RAM و CPU یا Hard Disk (هارد) را افزایش می‌دهیم. از جمله پایگاه‌ داده‌ای که از این روش استفاده می‌کنند می‌توان MySQL را نام برد.
horizontal-scaling: در این روش داده در روی nodeهای متفاوت پخش، و هر قسمت از داده‌ها در یک سرور دخیره می‌شود، بدین ترتیب بار پردازش روی سرورهای متفاوت پخش خواهد شد و سرعت درسترسی به داده‌ها و حجم داده‌های قابل ذخیره افزایش خواهد یافت. دیتابیس‌هایی که از این روش استفاده می‌کنند مونگودی‌بی و casanndra را می‌توان نام برد.
همانطور که در بالا گفتیم در مونگودی‌بی می‌توان با استاده از horizontal-scaling که shard نامیده می‌شود حجم داده قابل ذخیره و همچین سرعت دسترسی به داده را افزایش داد.

مزیت‌های استفاده از shard:

با گسترش کلاستر تعداد پردازش‌هایی که هر shard انجام می‌دهد کاهش می‌یابد (به دلیل پخش شدن پردازش‌ها بین shardها)، در نتیجه سرعت دسترسی به داده‌ها افزایش می‌یابد.
همچنین با افزایش تعداد shardها حجم داده‌ی قابل ذخیره نیز افزایش می‌یابد.
shard mongodb
نصب مونگودی‌بی MongoDB به صورت shard

مونگودی‌بی داده‌ها را در سطح مجموعه پخش می‌کند. به این معنی که داده‌های یک مجموعه را در بین nodeها و shardها پخش می‌شود. مونگودی‌بی برای مدیرت نحوه پخش شدن داده‌ها از shard key استفاده می‌کند. shard key یه کلید ساده و یا یک کلید ترکیبی است که در همه سندها وجود دارد. عموما id_ می‌تواند به عنوان یک shard key استفاده شود.
مونگودی‌بی برای پخش داده‌ها از دو نوع shard key استفاده می‌کند. range based partitioning و hash based partitioning.

‫Range Based Sharding: در این روش داده‌ها را به تریبت shard key در دسته‌هایی به نام chunk دخیره می‌کند. در نتیجه داده‌های با shard key نزدیک به هم در یک chunk دخیره خواهند شد.مزیت‌ این روش سرعت بالای جستجو در مواقعی است که بر اساس کلید جستجو می‌کنیم. و مشکل بارز آن پخش نشدن درست داده‌ها در chunk هاست. از آنجا که عموما داده‌ها به ترتیب کلید در دیتابیس دخیره می‌شوند و از آنجا که داده‌های ورودی به دیتابیس کلید ترتیبی دارند همه داده‌ها در یک سری chunk دخیره خواهند شد.
Hash Based Sharding: در این روش مونگو از فیلدها یک هش تولید می‌کند سپس با استفاده از این هش‌ها دیتا را در chunk ها پخش می‌کند. از آنجا که هش تولید شده از کیلدها کاملا متفاوت از کلید است در نتیجه دو سند با کلید برابر ممکن است در دو chunk کاملا متفاوت قرار داشته باشد.

در این روش بر خلاف روش Range Based Sharding داده‌ها کاملا در chunkها پخش می‌شوند و در نتیجه فشار پردازش روی یک node نخواهد بود. از معایب این روش این است که بر خلاف روش Range Based Sharding جستجو سریع بروی داده‌های یک رنج آسان نیست.