PDA

View Full Version : راه اندازی پرتال جامع سازمانی



hassan iravani
سه شنبه 07 اردیبهشت 1389, 10:45 صبح
با سلام

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

maxpayn2
سه شنبه 07 اردیبهشت 1389, 12:59 عصر
مفهوم نیست

Alireza_Salehi
سه شنبه 07 اردیبهشت 1389, 15:05 عصر
مفهوم نیست....

hassan iravani
سه شنبه 07 اردیبهشت 1389, 15:23 عصر
فرض کنید یک پرتال تحت وب (مثلا آموزشگاهی) دارم و این نرم افزار رو می خوام برای چندین آموزشگاه راه اندازی کنم. حالا چندتا راه به ذهن خودم می رسه
1- برای هر آموزشگاه یک هاست جدا بگیرم
2- یک سرور بگیرم و نرم افزار رو روی اون نصب کنم بعد آموزشگاه ها همشون از اون استفاده کنند.
3......

حالا می خوام بدونم چه راهی بهتره یعنی امن تر ، قابل ارتقا تر ، به صرفه تر و ....

مفهموم شد؟

maxpayn2
سه شنبه 07 اردیبهشت 1389, 16:39 عصر
راه 2 دردسر داره ، شاید یه آموزشگاه دلش بخواد سایتش روی هاستی که خودش خریده باشه . بهتره هر آموزشگاه هاست خودشو داشته باشه ، هر آپدیتی هم کردی فایل هاشو براشون بفرست و طریقه آپدیت رو به صورت تصویری بساز و ارسال کن

hassan iravani
سه شنبه 07 اردیبهشت 1389, 16:51 عصر
ممنون از اینکه جواب دادین
می تونم بپرسم چه دردسری ؟ یعنی می خوام بدونم اگه بخوام اون کار رو بکنم چقدر هزینه داره و چه کارایی باید انجام بدم...

فکر می کنم اگه همه آموزشگاه ها با فضای رایگانی که در اختیارشون قرار می دیم موافق باشن از طرف دیگه می تونم یک پنل برای مدیریتشون و ارتباط باهاشون ایجاد کنم و البته یه پشتیبانی آنلاین هم داشته باشم. نظرتون چیه؟

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

hassan iravani
سه شنبه 07 اردیبهشت 1389, 16:52 عصر
راه دیگه ای هم هست که من بهش فکر نکرده باشم؟

Alireza_Salehi
چهارشنبه 08 اردیبهشت 1389, 08:46 صبح
به نظر من این کار که همه از یک سرور استفاده کنند مشکلات رو زیاد میکنه، چون به محض این که هر تغییر یا آپدیتی در نرم افزار اعمال کنید باید به همشون آموزش بدهید ، هر آموزشگاهی باید سرور خودش رو داشته باشه هزینه هاش و مدیریتش هم پای خودش...

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

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

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

adinochestva
چهارشنبه 08 اردیبهشت 1389, 08:52 صبح
ولی اگر هر کسی هاست خودش رو داشته باشه دیگه این که چه اتفاقاتی برای هاست می افته به شما مربوط نمیشه شما فقط نرم افزارت رو فروختی.

تجربه خلاف اینو به من ثابت کرده و اصولا مشکلات رو میندازند گردن software و bug هاش !

taghvajou
چهارشنبه 08 اردیبهشت 1389, 09:01 صبح
سلام به همه
آیا امکان بازنویسی پرتال به زبان دیگه ای هست؟ اگه پاسختون بله باشه، سیلورلایت این امکان رو برامون فراهم کرده: هربار که برنامه میخواد بالا بیاد ورژن خودشون با سرور مقایسه می کنه و در صورت تغییر ورژن جدید رو دانلود میکنه، و فقط کافیه که کلاینت یه بار برنامه رو دوباره باز و بسته بکنه!
اگه نه، شما باید تو لود اصلی برنامه یه ترد یا ویندوز سرویس یا حتی یه پروسس بدون اینترفیس بع عنوان آپدیتر یا کنترل ورژن فایل اجرایی برنامه رو لانچ کنی و بهش؛ که ورژن فایل اگزه موجود در هر کلاینت رو با ورژن فایل اگزه در یه مسیر مشخص در سرور (و حتی در پایگاه داده) مقایسه کنه و درصورت وجود تغییر (ترجیحا به یه سوال از کاربر) اقدام به دانلود فایل کنه. اونها رو تو یه فایل تمپ نگه دار. بعد از کاربر بخواه که برنامه رو باز وبسته کنه. وظیفه دوم این آپدیتر اینه که بره تو پوشه تمپ که کنار برنامه ات هست و اگر فایل باشه اونها رو اوررایت کنه.
ترجیحا سعی کن همراه اون فایل ها هم فایل لوگ بذاری و هم اینکه فایل ها و دی ال ال های قبلی رو تو یه پوشه دیگه ای به عنوان بک آپ نگه داری.
مخلصیم

maxpayn2
چهارشنبه 08 اردیبهشت 1389, 10:14 صبح
این سوال بود یا خبر رسانی ؟ دوما چه ربطی به بحث داشت ؟

hassan iravani
چهارشنبه 08 اردیبهشت 1389, 10:39 صبح
به نظر من این کار که همه از یک سرور استفاده کنند مشکلات رو زیاد میکنه، چون به محض این که هر تغییر یا آپدیتی در نرم افزار اعمال کنید باید به همشون آموزش بدهید ، هر آموزشگاهی باید سرور خودش رو داشته باشه هزینه هاش و مدیریتش هم پای خودش...

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

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

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

hassan iravani
چهارشنبه 08 اردیبهشت 1389, 11:52 صبح
سلام به همه
آیا امکان بازنویسی پرتال به زبان دیگه ای هست؟ اگه پاسختون بله باشه، سیلورلایت این امکان رو برامون فراهم کرده: هربار که برنامه میخواد بالا بیاد ورژن خودشون با سرور مقایسه می کنه و در صورت تغییر ورژن جدید رو دانلود میکنه، و فقط کافیه که کلاینت یه بار برنامه رو دوباره باز و بسته بکنه!
اگه نه، شما باید تو لود اصلی برنامه یه ترد یا ویندوز سرویس یا حتی یه پروسس بدون اینترفیس بع عنوان آپدیتر یا کنترل ورژن فایل اجرایی برنامه رو لانچ کنی و بهش؛ که ورژن فایل اگزه موجود در هر کلاینت رو با ورژن فایل اگزه در یه مسیر مشخص در سرور (و حتی در پایگاه داده) مقایسه کنه و درصورت وجود تغییر (ترجیحا به یه سوال از کاربر) اقدام به دانلود فایل کنه. اونها رو تو یه فایل تمپ نگه دار. بعد از کاربر بخواه که برنامه رو باز وبسته کنه. وظیفه دوم این آپدیتر اینه که بره تو پوشه تمپ که کنار برنامه ات هست و اگر فایل باشه اونها رو اوررایت کنه.
ترجیحا سعی کن همراه اون فایل ها هم فایل لوگ بذاری و هم اینکه فایل ها و دی ال ال های قبلی رو تو یه پوشه دیگه ای به عنوان بک آپ نگه داری.
مخلصیم
اگه منظورتون زبون دات نت یا غیر دات نت که فعلا تا دات نت هست ما هم هستیم. ولی در کل می خواستم روی آپدیت هایی که می کنم یک پنل مدیریتی داشته باشم . تا برای همه بی دردسر آپدیت انجام شه .

Alireza_Salehi
چهارشنبه 08 اردیبهشت 1389, 12:55 عصر
تجربه خلاف اینو به من ثابت کرده و اصولا مشکلات رو میندازند گردن software و bug هاش !
من هم همینو گفتم که ...

باید به وضوح نرم افزار را از بستر اجرای آن برای مشتری متمایز کرد وگرنه هر روز میره رو اعصاب آدم...

حالا اگر بسترش LAN باشه خوبه وای به روزی که بستر کار اینترنت باشه...

taghvajou
چهارشنبه 08 اردیبهشت 1389, 13:29 عصر
دوباره سلام به همه
دوست عزیز شما، دو تکه برنامه بنویس یکیش برای سرور که فایلها و اطلاعاتی که قراره آپدیت بشه رو باهاش مدیریت کنی، دومیش هم رو کلاینتها نصب کن که وظیفه آپدیتو روی کلایتنها انجام بده! مثلا شما میخوای یه dll یا یه عکسی رو تو همه کلاینت ها آپدیت کنی و یا حتی یه تغییری رو مثلا تو رجیستری برنامه ات:
فرض اول اینکه همه کلاینتها یکسان هستند. با این حساب یه جا باید یه فلگ داشته باشی. مثلا یه فایل تکست که تاریخ و زمان و ورژن آخرین آپدیت انجام شده توسط مادیراتور رو توش ذخیره کنی و نیز فایل و یا آدرسها (و یا حتی دستوراتی که اون برنامه آپدیترکلاینت انجام بده مثل یه فایل بت). برنامه کلاینت میاد فلگ (ورژن ها و تاریخ ها) رو چک میکنه و اگر با فلگ خودش یکسان نباشه، وظایف محوله شو مثل کپی کردن، ریپلیس کردن، حذف کردن، اعمال تغییرات و .. انجام میده.
فرض دوم که کلاینتها متفاوت بوده و بالتبع نیاز به رفتارهای متفاوت دارند، ساده ترین روش که اینکه به ازای هر کلاینت ( یا گروه کلاینتهایی با شرایط یکسان) فلگ تولید بشه و در سمت کلاینت هم، هر کدوم برن و فلگهای مربوط به خودشون رو بردارند.

دوست عزیز
سوالتون رو واضحتر مطرح کنین (با توجه به عنوان تاپیکتون) شاید بهتر و کاملتر بشه کمک کرد.

hassan iravani
چهارشنبه 08 اردیبهشت 1389, 14:18 عصر
دوباره سلام به همه
دوست عزیز شما، دو تکه برنامه بنویس یکیش برای سرور که فایلها و اطلاعاتی که قراره آپدیت بشه رو باهاش مدیریت کنی، دومیش هم رو کلاینتها نصب کن که وظیفه آپدیتو روی کلایتنها انجام بده! مثلا شما میخوای یه dll یا یه عکسی رو تو همه کلاینت ها آپدیت کنی و یا حتی یه تغییری رو مثلا تو رجیستری برنامه ات:
فرض اول اینکه همه کلاینتها یکسان هستند. با این حساب یه جا باید یه فلگ داشته باشی. مثلا یه فایل تکست که تاریخ و زمان و ورژن آخرین آپدیت انجام شده توسط مادیراتور رو توش ذخیره کنی و نیز فایل و یا آدرسها (و یا حتی دستوراتی که اون برنامه آپدیترکلاینت انجام بده مثل یه فایل بت). برنامه کلاینت میاد فلگ (ورژن ها و تاریخ ها) رو چک میکنه و اگر با فلگ خودش یکسان نباشه، وظایف محوله شو مثل کپی کردن، ریپلیس کردن، حذف کردن، اعمال تغییرات و .. انجام میده.
فرض دوم که کلاینتها متفاوت بوده و بالتبع نیاز به رفتارهای متفاوت دارند، ساده ترین روش که اینکه به ازای هر کلاینت ( یا گروه کلاینتهایی با شرایط یکسان) فلگ تولید بشه و در سمت کلاینت هم، هر کدوم برن و فلگهای مربوط به خودشون رو بردارند.

دوست عزیز
سوالتون رو واضحتر مطرح کنین (با توجه به عنوان تاپیکتون) شاید بهتر و کاملتر بشه کمک کرد.

هیچی نفهمیدم که؟
یعنی به نظرتون سرور مشترک باشه درنهایت؟

hassan iravani
چهارشنبه 08 اردیبهشت 1389, 14:26 عصر
دوست عزیز
سوالتون رو واضحتر مطرح کنین (با توجه به عنوان تاپیکتون) شاید بهتر و کاملتر بشه کمک کرد.

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

که هم آپدیت راحت باشه و هم بشه راحت و خوب پشتیبانی کرد. چون پروژه سه تا فاز داره و الان فاز یکش می خواد اجرا بشه.

taghvajou
چهارشنبه 08 اردیبهشت 1389, 16:51 عصر
سه باره سلام به همه و این دوست خوب پیگیرمون
دوست خوبم، شما بازهم گنگ میگی! ولی تا اونجایی که من از شما واضح سوال می پرسم تا شمارو بهتر بشه راهنمایی کرد.:بوس:
ضمنا خاطر جمع باش هدف از زیر زبون کشیدن اطلاعات پورتال یا سازمان مورد نظر نیست که این همه کلی میگین.:چشمک:
1- فاز اولش می خواد اجرا بشه یعنی چی؟:لبخند:
الف - تازه میخواد تحلیل و طراحیش میخواد شروع بشه
ب - تازه میخواد کدنویسی بشه
ج - کدنویسی شده میخواد استقرار انجام بشه
د - خریداری شده و قرار تو سازمان راه اندازی بشه
ه - سیستم راه اندازی شده و قراره بخشی از اون پشتیبانی ونگهداری بشه
و - هیچکدام:اشتباه:

این رو لطفا جواب بده تا بریم سراغ سوال بعدی

در مجموع در خدمتیم تا آخرش. بگو تا بگوییم (بر وزن بچرخ تا بچرخیم)

hassan iravani
شنبه 11 اردیبهشت 1389, 13:05 عصر
سلام چند باره
کلی کجا بود....
مفهوم درست نرسید...

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

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

taghvajou
شنبه 11 اردیبهشت 1389, 14:32 عصر
بسیار خوب
سوال دوم در مورد تکنولوژیها، زبان، نوع پایگاه داده و پلتفرم برنامه؟

hassan iravani
شنبه 11 اردیبهشت 1389, 14:59 عصر
ASP.NET
سی شارپ
SQL 2005

Alireza_Salehi
شنبه 11 اردیبهشت 1389, 18:07 عصر
وقتی برنامه شما با ASP.NET قرار است نوشته شود، یعنی Server-Side است.
کافیست فایلهای سرور آپدیت شوند، کلاینت ها بطور اتوماتیک تغییرات را دریافت خواهند کرد، فقط در صورتی که بخواهید در حین کار کردن کلاینت ها تغییرات را اعمال کنید باید به روشی آخرین نسخه را تشخیص دهید و در صورت تغییر کلاینت ها را مجبور به بستن و باز کردن مرورگر نمائید.

اگر همه پرتال ها روی یک سرور هستند با رجیستر کردن اسمبلی ها روی GAC می توانید کاری کنید که همه پرتال ها از یک مخزن مشترک استفاده کنند. و به محض تغییر در این مخزن همه به طور اتوماتیک تغییرات را دریافت خواهند کرد.

hassan iravani
یک شنبه 12 اردیبهشت 1389, 09:00 صبح
ممنون از پاسختون
البته سوال اول من این بود که کدوم راه بهتره؟
1- یک سرور مشترک داشته باشیم و پرتال رو اون نصب شه
2- خودمون درگیر سرور و این حرفا نکنیم و هر کی واسه خودش هاست بگیره

مزایا، معایب ، امنیت، کارائی ، راحتی پشتیبانی ، ...؟

taghvajou
یک شنبه 12 اردیبهشت 1389, 09:32 صبح
سلام به همه
یه حساب سرانگشتی از تعداد کاربرهایی که قراره استفاده کنند، پهنای باند مورد نیاز، رم و پروسسی که برنامه می بره واسه خودت دربیار!
مثلا اگه سیستم یه چیزی مثل اتوماسیونه اداری و نامه نگاریه خیلی فرق داره مثل یه سیستم ثبت اموال و ...
تعداد کاربرها و پریود استفاده شون خیلی تعیین کننده است.
از شما اطلاعات بیشتر و از ما راهنمایی بیشترتر!:چشمک:

hassan iravani
یک شنبه 12 اردیبهشت 1389, 12:41 عصر
یه پرتال آموزشگاهی که تعداد کاربرا (ممکن نه مطمئنا) خیلی زیاده ....
چه اطلاعاتی می خواین؟ بگین تا بگم

taghvajou
یک شنبه 12 اردیبهشت 1389, 14:33 عصر
با این تفاصیل پیشنهادی که به ذهنم میرسه، تو همین فاز از یه سرور استفاده کن، البته انتخاب سرور و کانفیگش فوق العاده موثره. فعلا! بعدها که فازهای بعدی راه افتاد متناسب با حجم دیتا و میزان پروسس کار میشه پایگاه داده رو یه سرور و اپلیکشن رو یه سرور قرارداد و با پورت بهم وصل کرد ای حتی فازها رو سرور های مستقل اجرا کرد.
ولی حالا مهم انتخاب سروره!
در مورد نگهداری سامانه هم باتوجه به تحت وب بودنش، کارتون که فوق العاده ساده است.

Alireza_Salehi
یک شنبه 12 اردیبهشت 1389, 19:17 عصر
چند تا سوال پیش میاد :
1. این پرتال کاملا آنلاینه (اینترنت) یا به صورت آفلاین (اینترانت) هم قراراه کارکنه؟
2. پرتال عمومیه یا کاربران خاص داره؟
3. چقدر فعالیت آموزشگا ها وابسته به این پرتال خواهد شد؟ یعنی در صورت از کار افتادن پرتال ضرر و زیانی متوجه مشتری می شود؟
4. آیا تیم برنامه نویسی شما از نرم افزار کنترل پروژه (مثل Team Foundation) استفاده می کند؟
5. آیا پرتال شما قابلیت نصب در محیط های Shared را دارد یا جهت عملکرد صحیح نیازمند نصب ابزارهایی خاص و در نتیجه سرور اختصاصی است؟

این ها را پاسخ دهید تا با دقت بیشتری بتوان نظر داد.

taghvajou
یک شنبه 12 اردیبهشت 1389, 20:43 عصر
سوالهای خیلی خوبیند؟ لطفا دقیق جواب بدین. خیلی بهتر میشه راهنمایی کرد.

hassan iravani
یک شنبه 12 اردیبهشت 1389, 20:47 عصر
1- پرتال کاملا آنلاینه مگر اینکه بخوان بخشی از اون رو روی سرور خودشون (آموزشگاه) اجرا کنند
2- پرتال عمومیه شدید
3-می تونم بگم وقتی فازهاش کامل شه همه فعالیت های آموزشگاه توسط این سیستم انجام می شه (همه)
4-متاسفانه بارها تلاش کردم نصبش کنم ولی موفق نشدم در نتیجه از روش سنتی(مرج) استفاده می شه(البته بدم نمیاد دوباره امتحان کنم و نصبش کنم)
5-نه هیچ ابزار خاصی نمی خواد

Alireza_Salehi
یک شنبه 12 اردیبهشت 1389, 21:55 عصر
از نظر من اگر شما کنترل دقیق روی پروژه داشته باشید، و با شماره گذاری نسخه ها و این که بدانید کدام نسخه ها پایدار هستند (خطاها رفع شده و بدون مشکل کار می کند)

با این شرایط آپدیت کردن کاربر در حد یک Copy/Paste هستش و نه بیشتر، چند لحظه وب سایت را آفلاین می کنید، فایلها را جایگزین می کنید، اسکریپت های دیتابیس را اجرا می کنید و تمام...
با قابلیت های VS 2010 هم که براحتی می توان برنامه را برای شرایط تست، توسعه و اجرا تنظیم کرد و با چند کلیک سایت را پابلیش کرد.

نکته مهم: با داشتن Team Foundation Server (حتی اگر یک نفره کار می کنید) براحتی می توانید نسخه های مختلف برنامه را کنترل کنید و به محض پایدار شدن پروژه، یک انشعاب جدید ایجاد می کنید (تا نسخه پایدار دیگر تغییر نکند و تغییرات در محل جدیدی اعمال گردد) و ادامه می دهید به تغییرات و آپدیت ها و....
نسخه پایدار با چند کلیک قابل بارگذاری، کامپایل و پابلیش است. علاوه بر این سابقه تغییرات هر کاربر در هر لحظه قابل دستیابی است. و بسیاری قابلیت های دیگر...

برای آشنائی با مفاهیم کنترل پروژه به این لینک مراجعه کنید:
http://betterexplained.com/articles/a-visual-guide-to-version-control/
--------------------------------------------------------------------------------------------------------
با توجه به این که پرتال عمومی است و همچنین در نهایت اتوماسیون کامل به روی پرتال منتقل می شود و عملکرد آموزشگاه به پرتال وابسته می شود:
1. امنیت سرور بسیار مهم است.
2.پایداری سرور بسیار مهم است.

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

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

جمع بندی:
1. می توانید به ازای هر مشتری یک سرور اختصاصی (یا پلن اشتراکی) بخرید (اگر مشتری ها کم هستند و ترافیک سبک است)
2. به عنوان Reseller امکانات از شرکت های هاستینگ تهیه کنید و همه مشتری ها را در سرور های خودتان میزبانی کنید.
3. توی محل شرکت سرور راه اندازی کنید، خرید آی پی ، لینک پرسرعت، مدیریت و امنیت سرور و ... را خودتان انجام دهید.